- (let ((l))
- (setq l (list (powerline-raw " workspace " lface)))
- (mapc (lambda (i)
- (setq l (append l (list (powerline-raw i lface))))
- (setq l (append l (list (funcall separator lface face1)))))
- (my-get-ws-name-list))
+ (let ((l)
+ (selected-name (my-get-selected-ws-name))
+ (name-list (my-get-ws-name-list)))
+ (if (string= selected-name (car name-list))
+ (progn
+ (setq l (list (funcall separator lface 'my-powerline-hl-ws)
+ (powerline-raw (car name-list) 'my-powerline-hl-ws)
+ (funcall separator 'my-powerline-hl-ws face1)))
+ (dolist (i (cdr name-list))
+ (nconc l (list (powerline-raw i face1)
+ (funcall separator face1 face1)))))
+ (setq l (list (funcall separator lface face1)))
+ (while name-list
+ (let ((current-selected (string= selected-name (car name-list)))
+ (next-selected (string= selected-name (cadr name-list))))
+ (nconc l (list (powerline-raw (car name-list) (if current-selected 'my-powerline-hl-ws face1))
+ (funcall separator (if current-selected 'my-powerline-hl-ws face1) (if next-selected 'my-powerline-hl-ws face1)))))
+ (pop name-list)))