平衡点
2016/03/02
_ Emacs に powerline.el を入れた.
あるいは モードラインのダイエット(3/n)
...現実逃避以外の何者でもない.
Powerline の説明は以下:
導入して,default のテーマを有効にしてみた.確かに見た目は綺麗.
しかしながら,やはり SKK の indicator が気になってしまう. 何が気になるか,といえば:
ということで. つまるところSKK の有効or無効にかかわらず左側にASCII 二文字分の幅で状態を表示させておきたい, という欲求であるわけです.
どうするか?
安直にやります.
;; ddskk の状態を左側に表示したい
(defun my:skk-modeline-input-mode ()
"skk が読み込まれていない場合でも skk-modeline-input-mode に文字を入れて返す"
(cond
((not (boundp 'skk-modeline-input-mode))
(setq skk-modeline-input-mode "--[--]:"))
(t skk-modeline-input-mode)))
;; skk の on/off で modeline に状態が挿入されるので,それを止める.
(defadvice skk-setup-modeline (around my:disable-skk-setup-modeline activate)
"skk-setup-modeline による modeline の更新を無効化"
(setq skk-indicator-alist (skk-make-indicator-alist))
(force-mode-line-update t))
として,powerline の theme 指定で
(defun my:powerline-theme ()
"my powerline theme."
(interactive)
(my:skk-modeline-input-mode)
(setq-default
mode-line-format
'("%e"
(:eval
(let* ((active (powerline-selected-window-active))
(mode-line (if active 'mode-line 'mode-line-inactive))
(face1 (if active 'powerline-active1 'powerline-inactive1))
(face2 (if active 'powerline-active2 'powerline-inactive2))
(separator-left (intern (format "powerline-%s-%s"
(powerline-current-separator)
(car powerline-default-separator-dir))))
(separator-right (intern (format "powerline-%s-%s"
(powerline-current-separator)
(cdr powerline-default-separator-dir))))
(lhs (list
(powerline-raw (substring skk-modeline-input-mode 2 -1) nil 'l)
(powerline-raw "%*" nil 'l)
... 以下略
としました.
まとめ
まあ,これで良いかな,と.常に ddskk のモードが左側に同じ幅で出ているので良しとします.
あ,minor-mode の省略表示には diminish が良いのでは?
...現実逃避以外の何者でもない(大事なことなので二度ry.
[ツッコミを入れる]