平衡点
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.