From ea66875d4bf595171a012efdd079268842fafe1c Mon Sep 17 00:00:00 2001 From: Lee Machin Date: Thu, 6 Mar 2014 23:15:21 +0000 Subject: [PATCH] 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. --- README.rst | 3 +++ eyebrowse.el | 24 +++++++++++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/README.rst b/README.rst index 3d21dbd..1ec4482 100644 --- a/README.rst +++ b/README.rst @@ -69,6 +69,9 @@ options. The more interesting ones would be ``eyebrowse-wrap-around-p`` and ``eyebrowse-switch-back-and-forth-p`` 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 enabled additionally either by executing ``M-: (eyebrowse-setup-opinionated-keys)`` interactively or inserting diff --git a/eyebrowse.el b/eyebrowse.el index adfb488..32151f2 100644 --- a/eyebrowse.el +++ b/eyebrowse.el @@ -47,6 +47,11 @@ manager." :group 'convenience :prefix "eyebrowse-") +(defcustom eyebrowse-keymap-prefix (kbd "C-c C-w") + "Prefix key for key-bindings." + :type 'string + :group 'eyebrowse) + (defcustom eyebrowse-lighter " ¬_¬" "Lighter for `eyebrowse-minor-mode'." :type 'string @@ -131,15 +136,16 @@ If t, switching to the same window config as (defvar eyebrowse-mode-map (let ((map (make-sparse-keymap))) - (define-key map (kbd "C-c C-w <") 'eyebrowse-prev-window-config) - (define-key map (kbd "C-c C-w >") 'eyebrowse-next-window-config) - (define-key map (kbd "C-c C-w '") 'eyebrowse-last-window-config) - (define-key map (kbd "C-c C-w \"") 'eyebrowse-close-window-config) - (-dotimes 10 (lambda (n) - (define-key map (kbd (s-concat "C-c C-w " - (number-to-string n))) - (lambda () (interactive) - (eyebrowse-switch-to-window-config n))))) + (let ((prefix-map (make-sparse-keymap))) + (define-key prefix-map (kbd "<") 'eyebrowse-prev-window-config) + (define-key prefix-map (kbd ">") 'eyebrowse-next-window-config) + (define-key prefix-map (kbd "'") 'eyebrowse-last-window-config) + (define-key prefix-map (kbd "\"") 'eyebrowse-close-window-config) + (-dotimes 10 (lambda (n) + (define-key prefix-map (kbd (number-to-string n)) + (lambda () (interactive) + (eyebrowse-switch-to-window-config n))))) + (define-key map eyebrowse-keymap-prefix prefix-map)) map) "Current key map. Can be set up with `eyebrowse-setup-keys'.")