Allow the prefix key-binding to be customized

Defaults to `C-c C-w`, but can be changed with `customize-group` or in
init config to something different.
This commit is contained in:
Lee Machin
2014-03-06 23:15:21 +00:00
parent 8084eba0d3
commit ea66875d4b
2 changed files with 18 additions and 9 deletions

View File

@ -69,6 +69,9 @@ options. The more interesting ones would be
``eyebrowse-wrap-around-p`` and ``eyebrowse-switch-back-and-forth-p`` ``eyebrowse-wrap-around-p`` and ``eyebrowse-switch-back-and-forth-p``
which affect both wrap around and lazier switching. which affect both wrap around and lazier switching.
The prefix for each binding defaults to ``C-c C-w``, but you can change
it to something else by customizing ``eyebrowse-keymap-prefix``.
If you're not happy with the default keybindings, a riskier set can be If you're not happy with the default keybindings, a riskier set can be
enabled additionally either by executing ``M-: enabled additionally either by executing ``M-:
(eyebrowse-setup-opinionated-keys)`` interactively or inserting (eyebrowse-setup-opinionated-keys)`` interactively or inserting

View File

@ -47,6 +47,11 @@ manager."
:group 'convenience :group 'convenience
:prefix "eyebrowse-") :prefix "eyebrowse-")
(defcustom eyebrowse-keymap-prefix (kbd "C-c C-w")
"Prefix key for key-bindings."
:type 'string
:group 'eyebrowse)
(defcustom eyebrowse-lighter " ¬_¬" (defcustom eyebrowse-lighter " ¬_¬"
"Lighter for `eyebrowse-minor-mode'." "Lighter for `eyebrowse-minor-mode'."
:type 'string :type 'string
@ -131,15 +136,16 @@ If t, switching to the same window config as
(defvar eyebrowse-mode-map (defvar eyebrowse-mode-map
(let ((map (make-sparse-keymap))) (let ((map (make-sparse-keymap)))
(define-key map (kbd "C-c C-w <") 'eyebrowse-prev-window-config) (let ((prefix-map (make-sparse-keymap)))
(define-key map (kbd "C-c C-w >") 'eyebrowse-next-window-config) (define-key prefix-map (kbd "<") 'eyebrowse-prev-window-config)
(define-key map (kbd "C-c C-w '") 'eyebrowse-last-window-config) (define-key prefix-map (kbd ">") 'eyebrowse-next-window-config)
(define-key map (kbd "C-c C-w \"") 'eyebrowse-close-window-config) (define-key prefix-map (kbd "'") 'eyebrowse-last-window-config)
(define-key prefix-map (kbd "\"") 'eyebrowse-close-window-config)
(-dotimes 10 (lambda (n) (-dotimes 10 (lambda (n)
(define-key map (kbd (s-concat "C-c C-w " (define-key prefix-map (kbd (number-to-string n))
(number-to-string n)))
(lambda () (interactive) (lambda () (interactive)
(eyebrowse-switch-to-window-config n))))) (eyebrowse-switch-to-window-config n)))))
(define-key map eyebrowse-keymap-prefix prefix-map))
map) map)
"Current key map. Can be set up with `eyebrowse-setup-keys'.") "Current key map. Can be set up with `eyebrowse-setup-keys'.")