ウィンドウ切替とwiden-window.el
というわけで、それなりに必要だと思っていた機能は揃ったので、 ver 0.0.4 から ver 0.1.0 へバージョンアップ。
大変便利です。ありがとうございます。
ところでワタクシは
(windmove-default-keybindings) (setq windmove-wrap-around t)
という設定*1をdot.emacsに書いており、window-systemなemacsを利用する際は [Shift] + カーソル でウィンドウ間の移動をするのが常であります。これによる移動の場合、widen-window.el の最新バージョン(0.1.0)ではウィンドウが広がってくれません。
追記注:以下に書くような「widen-window.el に直接手を加える」方法は賢明ではないと思います。下の追記参照。
これに対処するために widen-window.el に次のように手を加えます。
--- widen-window.el (ver0.1.0) +++ widen-window.el (working copy) @@ -88,6 +88,10 @@ mouse-drag-region delete-window add-change-log-entry-other-window + windmove-up + windmove-down + windmove-right + windmove-left ) "Functions to be advised. Window widening function `widen-current-window' is fired after advised function was called." :type '(list symbol)
これで解決。
;;; C-x ww で widen-window をトグル (define-key ctl-x-map "ww" 'global-widen-window-mode)
とdot.emacsに書き、手動 (C-x w w) でon/offするのが肌に合っています。
追記
widen-window.el に直接手を加えるのでは賢明ではないです。
コメント欄でid: hayamizさんのおっしゃるように M-x customize-variable を利用するか、またはdot.emacsに次のような設定を追記したほうがよいです。
(require 'widen-window) (global-widen-window-mode t) (setq ww-advised-functions (append ww-advised-functions '(windmove-up windmove-down windmove-right windmove-left)))
追記2 (08/12/19)
widen-window を中止するときに、各ウィンドウのサイズを均等割に直せるようにした。意外と重宝する。
(defun my-toggle-global-widen-window-mode () (interactive) (if global-widen-window-mode (if (y-or-n-p "Make windows ratio even? ") (balance-windows))) (call-interactively 'global-widen-window-mode)) ;; (define-key ctl-x-map "ww" 'global-widen-window-mode) (define-key ctl-x-map "ww" 'my-toggle-global-widen-window-mode)