Move KBDs from window-manager.el to keybindings.el

Assuming (hoping) that this doesn't break anything.
This commit is contained in:
William Carroll 2020-10-04 13:56:01 +01:00
parent 6eac1de187
commit 6df182d45e
2 changed files with 37 additions and 55 deletions

View file

@ -37,6 +37,7 @@
(require 'fonts) (require 'fonts)
(require 'bookmark) (require 'bookmark)
(require 'constants) (require 'constants)
(require 'window-manager)
;; Note: The following lines must be sorted this way. ;; Note: The following lines must be sorted this way.
(setq evil-want-integration t) (setq evil-want-integration t)
@ -147,6 +148,41 @@
(keybindings-exwm (kbd-raw 'workspace "j") #'fonts-decrease-size) (keybindings-exwm (kbd-raw 'workspace "j") #'fonts-decrease-size)
(keybindings-exwm (kbd-raw 'workspace "0") #'fonts-reset-size) (keybindings-exwm (kbd-raw 'workspace "0") #'fonts-reset-size)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Window sizing
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(keybindings-exwm "C-M-=" #'balance-windows)
(keybindings-exwm "C-M-j" #'shrink-window)
(keybindings-exwm "C-M-k" #'enlarge-window)
(keybindings-exwm "C-M-h" #'shrink-window-horizontally)
(keybindings-exwm "C-M-l" #'enlarge-window-horizontally)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Window Management
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(keybindings-exwm "M-h" #'windmove-left)
(keybindings-exwm "M-j" #'windmove-down)
(keybindings-exwm "M-k" #'windmove-up)
(keybindings-exwm "M-l" #'windmove-right)
(keybindings-exwm "M-\\" #'evil-window-vsplit)
(keybindings-exwm "M--" #'evil-window-split)
(keybindings-exwm "M-q" #'delete-window)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Miscellaneous
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(keybindings-exwm "M-:" #'eval-expression)
(keybindings-exwm "M-SPC" #'ivy-helpers-run-external-command)
(keybindings-exwm "M-x" #'counsel-M-x)
(keybindings-exwm "<M-tab>" #'window-manager-next-workspace)
(keybindings-exwm "<M-S-iso-lefttab>" #'window-manager-prev-workspace)
(keybindings-exwm "C-M-\\" #'ivy-pass)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Workspaces
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(keybindings-exwm (kbd-raw 'workspace "l") #'window-manager-logout)
(general-define-key (general-define-key
:keymaps 'override :keymaps 'override
"M-q" #'delete-window "M-q" #'delete-window

View file

@ -115,59 +115,7 @@
(list i (window-manager--named-workspace-display x)))) (list i (window-manager--named-workspace-display x))))
-flatten)) -flatten))
(evil-set-initial-state 'exwm-mode 'emacs) (evil-set-initial-state 'exwm-mode 'emacs)
(setq exwm-workspace-number (setq exwm-workspace-number (list-length window-manager--named-workspaces))
(list-length window-manager--named-workspaces))
(let ((kbds `(
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Window sizing
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(:key "C-M-=" :fn balance-windows)
;; TODO: Make sure these don't interfere with LISP KBDs.
(:key "C-M-j" :fn shrink-window)
(:key "C-M-k" :fn enlarge-window)
(:key "C-M-h" :fn shrink-window-horizontally)
(:key "C-M-l" :fn enlarge-window-horizontally)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Window traversing
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(:key "M-h" :fn windmove-left)
(:key "M-j" :fn windmove-down)
(:key "M-k" :fn windmove-up)
(:key "M-l" :fn windmove-right)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Window splitting
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(:key "M-\\" :fn evil-window-vsplit)
(:key "M--" :fn evil-window-split)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Window deletion
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(:key "M-q" :fn delete-window)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Miscellaneous
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(:key "M-:" :fn eval-expression)
(:key "M-SPC" :fn ivy-helpers-run-external-command)
(:key "M-x" :fn counsel-M-x)
(:key "<M-tab>" :fn window-manager-next-workspace)
(:key "<M-S-iso-lefttab>" :fn window-manager-prev-workspace)
(:key "<M-iso-lefttab>" :fn window-manager-prev-workspace)
(:key "C-M-\\" :fn ivy-pass)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Workspaces
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(:key ,(kbd-raw 'workspace "l") :fn window-manager-logout))))
(setq exwm-input-global-keys
(->> kbds
(-map (lambda (plist)
`(,(kbd (plist-get plist :key)) .
,(plist-get plist :fn)))))))
(setq exwm-input-simulation-keys (setq exwm-input-simulation-keys
;; TODO: Consider supporting M-d and other readline style KBDs. ;; TODO: Consider supporting M-d and other readline style KBDs.
'(([?\C-b] . [left]) '(([?\C-b] . [left])
@ -184,8 +132,6 @@
([?\C-c] . [C-c]))) ([?\C-c] . [C-c])))
(exwm-enable)) (exwm-enable))
;; TODO: Package workspace management in another module.
;; Here is the code required to allow EXWM to cycle workspaces. ;; Here is the code required to allow EXWM to cycle workspaces.
(defconst window-manager--workspaces (defconst window-manager--workspaces
(->> window-manager--named-workspaces (->> window-manager--named-workspaces