;;; keybindings.el --- Centralizing my keybindings -*- lexical-binding: t -*- ;; Author: William Carroll ;;; Commentary: ;; Attempting to centralize my keybindings to simplify my configuration. ;;; Code: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dependencies ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'clipboard) (require 'screen-brightness) (require 'chrome) (require 'scrot) (require 'ivy-clipmenu) (require 'general) (require 'window-manager) (require 'vterm-mgt) (require 'buffer) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Configuration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defmacro keybinding/exwm (c fn) "Bind C to FN using `exwm-input-set-key' with `kbd' applied to C." `(exwm-input-set-key (kbd ,c) ,fn)) (keybinding/exwm "C-M-v" #'ivy-clipmenu/copy) (keybinding/exwm "" #'screen-brightness/increase) (keybinding/exwm "" #'screen-brightness/decrease) (keybinding/exwm "" #'pulse-audio/toggle-mute) (keybinding/exwm "" #'pulse-audio/decrease-volume) (keybinding/exwm "" #'pulse-audio/increase-volume) (keybinding/exwm "" #'pulse-audio/toggle-microphone) (keybinding/exwm "C-M-c" #'chrome/browse) (keybinding/exwm (kbd/raw 'x11 "s") #'scrot/select) (keybinding/exwm "" #'exwm/switch-to-exwm-buffer) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Vterm ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Show or hide a vterm buffer. I'm intentionally not defining this in ;; vterm-mgt.el because it consumes `buffer/show-previous', and I'd like to ;; avoid bloating vterm-mgt.el with dependencies that others may not want. (general-define-key (kbd/raw 'x11 "t") (lambda () (interactive) (if (vterm-mgt--instance? (current-buffer)) (switch-to-buffer (first (buffer/source-code-buffers))) (call-interactively #'vterm-mgt-find-or-create)))) (general-define-key :keymaps '(vterm-mode-map) "C-S-n" #'vterm-mgt-instantiate "C-S-w" #'vterm-mgt-kill "" #'vterm-mgt-next "" #'vterm-mgt-prev "" #'vterm-mgt-rename-buffer) (provide 'keybindings) ;;; keybindings.el ends here