chore(workspaces): create siren-workspace-map to handle C-z prefix

Previously I've always kinda "hacked" things to get C-z prefixes for
various workspace-related packages to work. Now it's finally setup
correctly with a custom siren-workspace-map keymap bound to C-z, and
relevant packages adding keybindings to it.
This commit is contained in:
2020-08-16 14:07:13 +01:00
parent 208394ef00
commit bab7a08fc4
3 changed files with 69 additions and 50 deletions

View File

@@ -7,6 +7,7 @@
;;; Code:
(require 'siren-refine)
(require 'siren-workspace-map)
(use-package persp-mode
:hook
@@ -15,49 +16,49 @@
:bind
("s-}" . persp-next)
("s-{" . persp-prev)
(:map persp-mode-map
("C-z n" . persp-next)
("C-z C-n" . persp-next)
("C-z p" . persp-prev)
("C-z C-p" . persp-prev)
("C-z s" . persp-frame-switch)
("C-z C-s" . persp-frame-switch)
("C-z S" . persp-window-switch)
("C-z r" . persp-rename)
("C-z C-r" . persp-rename)
("C-z c" . persp-copy)
("C-z C-c" . persp-copy)
("C-z C" . persp-kill)
("C-z z" . persp-save-and-kill)
("C-z a" . persp-add-buffer)
("C-z C-a" . persp-add-buffer)
("C-z b" . persp-switch-to-buffer)
("C-z C-b" . siren-persp-mode-ibuffer)
("C-z t" . persp-temporarily-display-buffer)
("C-z i" . persp-import-buffers)
("C-z I" . persp-import-win-conf)
("C-z k" . persp-remove-buffer)
("C-z C-k" . persp-remove-buffer)
("C-z K" . persp-kill-buffer)
("C-z w" . persp-save-state-to-file)
("C-z W" . persp-save-to-file-by-names)
("C-z C-l" . siren-persp-mode-switch-to-most-recent)
("C-z l" . persp-load-state-from-file)
("C-z L" . persp-load-from-file-by-names)
("C-z ;" . siren-persp-mode-show-current-perspective-name)
("C-z C-;" . siren-persp-mode-show-current-perspective-name)
("C-z e" . siren-persp-mode-edit-names-cache)
("C-z C-e" . siren-persp-mode-edit-names-cache)
("C-z 0" . siren-persp-switch-to-index)
("C-z 1" . siren-persp-switch-to-index)
("C-z 2" . siren-persp-switch-to-index)
("C-z 3" . siren-persp-switch-to-index)
("C-z 4" . siren-persp-switch-to-index)
("C-z 5" . siren-persp-switch-to-index)
("C-z 6" . siren-persp-switch-to-index)
("C-z 7" . siren-persp-switch-to-index)
("C-z 8" . siren-persp-switch-to-index)
("C-z 9" . siren-persp-switch-to-index))
(:map siren-workspace-map
("n" . persp-next)
("C-n" . persp-next)
("p" . persp-prev)
("C-p" . persp-prev)
("s" . persp-frame-switch)
("C-s" . persp-frame-switch)
("S" . persp-window-switch)
("r" . persp-rename)
("C-r" . persp-rename)
("c" . persp-copy)
("C-c" . persp-copy)
("C" . persp-kill)
("z" . persp-save-and-kill)
("a" . persp-add-buffer)
("C-a" . persp-add-buffer)
("b" . persp-switch-to-buffer)
("C-b" . siren-persp-mode-ibuffer)
("t" . persp-temporarily-display-buffer)
("i" . persp-import-buffers)
("I" . persp-import-win-conf)
("k" . persp-remove-buffer)
("C-k" . persp-remove-buffer)
("K" . persp-kill-buffer)
("w" . persp-save-state-to-file)
("W" . persp-save-to-file-by-names)
("C-l" . siren-persp-mode-switch-to-most-recent)
("l" . persp-load-state-from-file)
("L" . persp-load-from-file-by-names)
(";" . siren-persp-mode-show-current-perspective-name)
("C-;" . siren-persp-mode-show-current-perspective-name)
("e" . siren-persp-mode-edit-names-cache)
("C-e" . siren-persp-mode-edit-names-cache)
("0" . siren-persp-switch-to-index)
("1" . siren-persp-switch-to-index)
("2" . siren-persp-switch-to-index)
("3" . siren-persp-switch-to-index)
("4" . siren-persp-switch-to-index)
("5" . siren-persp-switch-to-index)
("6" . siren-persp-switch-to-index)
("7" . siren-persp-switch-to-index)
("8" . siren-persp-switch-to-index)
("9" . siren-persp-switch-to-index))
:custom
(persp-auto-save-num-of-backups 10)

View File

@@ -0,0 +1,19 @@
;;; siren-workspace-map.el --- jimeh's Emacs Siren: workspaces-map setup.
;;; Commentary:
;; Setup of siren-workspace-map which other workspace modules can add
;; keybindings to.
;;; Code:
(use-package siren-workspace-map
:straight (:type built-in)
:no-require t
:bind
(:prefix-map siren-workspace-map
:prefix "C-z"))
(provide 'siren-workspace-map)
;;; siren-workspace-map.el ends here