From 4a0cf0de9879f016490fee6e4b3b8197d54be29c Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Tue, 24 Dec 2019 18:43:52 +0100 Subject: [PATCH] fix(emacs.d): Avoid advising split-window-* functions Advising these functions apparently breaks things internally. --- tools/emacs/config/desktop.el | 3 +++ tools/emacs/config/init.el | 14 +++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/tools/emacs/config/desktop.el b/tools/emacs/config/desktop.el index d923ab584..05402f68b 100644 --- a/tools/emacs/config/desktop.el +++ b/tools/emacs/config/desktop.el @@ -210,4 +210,7 @@ (exwm-input-set-key (kbd "s-m h") #'randr-layout-hdmi1-extend) (exwm-input-set-key (kbd "s-m s") #'randr-layout-single) +;; Use edwina for window management shortcuts +(edwina-mode 1) + (provide 'desktop) diff --git a/tools/emacs/config/init.el b/tools/emacs/config/init.el index 307699536..4129de4d3 100644 --- a/tools/emacs/config/init.el +++ b/tools/emacs/config/init.el @@ -61,11 +61,15 @@ (edwina-arrange)) :matcher #'ivy--switch-buffer-matcher :caller 'ivy-switch-buffer)) - :bind (:map edwina-mode-map - ("s-w b" . #'edwina-split-to-buffer)) - :config - (advice-add 'split-window-below :after 'edwina-arrange) - (edwina-mode 1)) + ;; Using an advice for this functionality breaks various internal + ;; things in split-window, hence a new interactive function. + (defun edwina-split-arrange () + (interactive) + (split-window-below) + (edwina-arrange)) + :bind (("C-x 2" . edwina-split-arrange) + :map edwina-mode-map + ("s-w b" . #'edwina-split-to-buffer))) (use-package gruber-darker-theme) (use-package ht)