[Fix #1277] Make it possible to disable the creation of Super-based keybindings

This commit is contained in:
Bozhidar Batsov 2020-09-15 11:21:36 +03:00
parent d02eaf2e26
commit 16727e3c70
4 changed files with 21 additions and 10 deletions

View file

@ -9,6 +9,7 @@
### Changes
* [#1278](https://github.com/bbatsov/prelude/issues/1278): Don't disable `menu-bar-mode` unless `prelude-minimalistic-ui` is enabled.
* [#1277](https://github.com/bbatsov/prelude/issues/1277): Make it possible to disable the creation of `Super`-based keybindings via `prelude-super-keybindings`.
### Bugs fixed

View file

@ -43,6 +43,14 @@ Note that the toolbar is always hidden regardless of this setting."
:group 'prelude
:package-version '(prelude . "1.1"))
(defcustom prelude-super-keybindings t
"Controls whether to use the Super key in keybindings.
They can be problematic in some operating systems (e.g. Windows)
or desktop environments that make heavy use of them."
:type 'boolean
:group 'prelude
:package-version '(prelude . "1.1"))
(defcustom prelude-auto-save t
"Non-nil values enable Prelude's auto save."
:type 'boolean

View file

@ -55,7 +55,6 @@ Windows external keyboard from time to time."
(message "Command is now bound to SUPER and Option is bound to META.")))
(define-key prelude-mode-map (kbd "C-c w") 'prelude-swap-meta-and-super)
(define-key prelude-mode-map (kbd "s-/") 'hippie-expand)
;; There's no point in hiding the menu bar on macOS, so let's not do it
(menu-bar-mode +1)

View file

@ -66,17 +66,20 @@
(define-key map (kbd "C-c S") 'crux-find-shell-init-file)
(define-key map (kbd "C-c i") 'imenu-anywhere)
;; extra prefix for projectile
(define-key map (kbd "s-p") 'projectile-command-map)
(when prelude-super-keybindings
(define-key map (kbd "s-p") 'projectile-command-map))
(define-key map (kbd "C-c p") 'projectile-command-map)
;; make some use of the Super key
(define-key map (kbd "s-r") 'crux-recentf-find-file)
(define-key map (kbd "s-j") 'crux-top-join-line)
(define-key map (kbd "s-k") 'crux-kill-whole-line)
(define-key map (kbd "s-m m") 'magit-status)
(define-key map (kbd "s-m l") 'magit-log)
(define-key map (kbd "s-m f") 'magit-log-buffer-file)
(define-key map (kbd "s-m b") 'magit-blame)
(define-key map (kbd "s-o") 'crux-smart-open-line-above)
(when prelude-super-keybinds
(define-key map (kbd "s-r") 'crux-recentf-find-file)
(define-key map (kbd "s-j") 'crux-top-join-line)
(define-key map (kbd "s-k") 'crux-kill-whole-line)
(define-key map (kbd "s-m m") 'magit-status)
(define-key map (kbd "s-m l") 'magit-log)
(define-key map (kbd "s-m f") 'magit-log-buffer-file)
(define-key map (kbd "s-m b") 'magit-blame)
(define-key map (kbd "s-o") 'crux-smart-open-line-above)
(define-key prelude-mode-map (kbd "s-/") 'hippie-expand))
(easy-menu-define prelude-mode-menu map
"Prelude's menu."
'("Prelude"