summaryrefslogtreecommitdiff
path: root/home/dots/.emacs.d/elisp/custom-keymaps.el
diff options
context:
space:
mode:
authorMarc Coquand <marc@mccd.space>2024-10-24 08:13:54 +0300
committerMarc Coquand <marc@mccd.space>2024-10-24 08:13:54 +0300
commitabe17b042ca23eb3fb4c759cc62214440691fb1f (patch)
treeca203e43df2c3a2188b723ab878177400ebc2987 /home/dots/.emacs.d/elisp/custom-keymaps.el
parentba51d8509f78361f3049900861f492e100116a8c (diff)
downloadguix-abe17b042ca23eb3fb4c759cc62214440691fb1f.tar.gz
guix-abe17b042ca23eb3fb4c759cc62214440691fb1f.tar.bz2
guix-abe17b042ca23eb3fb4c759cc62214440691fb1f.zip
.
Diffstat (limited to 'home/dots/.emacs.d/elisp/custom-keymaps.el')
-rw-r--r--home/dots/.emacs.d/elisp/custom-keymaps.el28
1 files changed, 28 insertions, 0 deletions
diff --git a/home/dots/.emacs.d/elisp/custom-keymaps.el b/home/dots/.emacs.d/elisp/custom-keymaps.el
new file mode 100644
index 0000000..7c6d614
--- /dev/null
+++ b/home/dots/.emacs.d/elisp/custom-keymaps.el
@@ -0,0 +1,28 @@
+(defvar keymaps-mode-map (make-sparse-keymap)
+ "Keymap for `keymaps-mode'")
+
+;;;###autoload
+(define-minor-mode keymaps-mode
+ "A minor mode so that my key settings override annoying major modes."
+ ;; If init-value is not set to t, this mode does not get enabled in
+ ;; `fundamental-mode' buffers even after doing \"(global-my-mode 1)\".
+ ;; More info: http://emacs.stackexchange.com/q/16693/115
+ :init-value t
+ :lighter " keymaps"
+ :keymap keymaps-mode-map)
+
+;;;###autoload
+(define-globalized-minor-mode global-keymaps-mode keymaps-mode keymaps-mode)
+
+;; https://github.com/jwiegley/use-package/blob/master/bind-key.el
+;; The keymaps in `emulation-mode-map-alists' take precedence over
+;; `minor-mode-map-alist'
+(add-to-list 'emulation-mode-map-alists `((keymaps-mode . ,keymaps-mode-map)))
+
+;; Turn off the minor mode in the minibuffer
+(defun turn-off-keymaps-mode ()
+ "Turn off keymaps-mode."
+ (keymaps-mode -1))
+(add-hook 'minibuffer-setup-hook #'turn-off-keymaps-mode)
+
+(provide 'custom-keymaps)