From 77d46eb5e1ef27f111012adbe966b82238d38fec Mon Sep 17 00:00:00 2001 From: William Carroll Date: Sat, 18 Jan 2020 22:47:11 +0000 Subject: [PATCH] Debug failed initialization of keybindings Some more pains of weening off of Dropbox is that my Emacs initialization is sensitive to dependencies and missing require statements. I'm still debugging everything. Some modules called `exwm-input-set-key` before the `window-manager` module loaded, which itself requires EXWM. This broke initialization. To get around this I could've called `(require 'exwm)` in each of those modules. I chose to define a `keybindings.el` module to whitelist some of my EXWM keybindings. I'm not sure if this is the best way forward, but it is *some* way forward. --- configs/shared/.emacs.d/wpc/clipboard.el | 3 -- configs/shared/.emacs.d/wpc/keybindings.el | 35 +++++++++++++++++++ configs/shared/.emacs.d/wpc/pulse-audio.el | 13 ------- .../shared/.emacs.d/wpc/screen-brightness.el | 9 ----- 4 files changed, 35 insertions(+), 25 deletions(-) create mode 100644 configs/shared/.emacs.d/wpc/keybindings.el diff --git a/configs/shared/.emacs.d/wpc/clipboard.el b/configs/shared/.emacs.d/wpc/clipboard.el index 8955261cd..0688c9d87 100644 --- a/configs/shared/.emacs.d/wpc/clipboard.el +++ b/configs/shared/.emacs.d/wpc/clipboard.el @@ -40,8 +40,5 @@ "Return the contents of the clipboard as a string." (substring-no-properties (current-kill 0))) -(exwm-input-set-key - (kbd "C-M-v") #'ivy-clipmenu/copy) - (provide 'clipboard) ;;; clipboard.el ends here diff --git a/configs/shared/.emacs.d/wpc/keybindings.el b/configs/shared/.emacs.d/wpc/keybindings.el new file mode 100644 index 000000000..62505d965 --- /dev/null +++ b/configs/shared/.emacs.d/wpc/keybindings.el @@ -0,0 +1,35 @@ +;;; 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) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; 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) + +(keybindings/exwm "" #'pulse-audio/toggle-mute) +(keybindings/exwm "" #'pulse-audio/decrease-volume) +(keybindings/exwm "" #'pulse-audio/increase-volume) +(keybindings/exwm "" #'pulse-audio/toggle-microphone) + +(provide 'keybindings) +;;; keybindings.el ends here diff --git a/configs/shared/.emacs.d/wpc/pulse-audio.el b/configs/shared/.emacs.d/wpc/pulse-audio.el index b81f88c1b..dba4151a9 100644 --- a/configs/shared/.emacs.d/wpc/pulse-audio.el +++ b/configs/shared/.emacs.d/wpc/pulse-audio.el @@ -20,9 +20,6 @@ (defconst pulse-audio/step-size 5 "The size by which to increase or decrease the volume.") -(defconst pulse-audio/install-kbds? t - "When t, install keybindings defined herein.") - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Library ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -65,15 +62,5 @@ pulse-audio/step-size)) (pulse-audio/message "Volume increased.")) -(when pulse-audio/install-kbds? - (exwm-input-set-key - (kbd "") #'pulse-audio/toggle-mute) - (exwm-input-set-key - (kbd "") #'pulse-audio/decrease-volume) - (exwm-input-set-key - (kbd "") #'pulse-audio/increase-volume) - (exwm-input-set-key - (kbd "") #'pulse-audio/toggle-microphone)) - (provide 'pulse-audio) ;;; pulse-audio.el ends here diff --git a/configs/shared/.emacs.d/wpc/screen-brightness.el b/configs/shared/.emacs.d/wpc/screen-brightness.el index 715fc7bae..ad51e7578 100644 --- a/configs/shared/.emacs.d/wpc/screen-brightness.el +++ b/configs/shared/.emacs.d/wpc/screen-brightness.el @@ -21,9 +21,6 @@ (defconst screen-brightness/step-size 15 "The size of the increment or decrement step for the screen's brightness.") -(defcustom screen-brightness/install-kbds? t - "If t, install the keybindings to control screen brightness.") - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Library ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -44,11 +41,5 @@ :command (string/format "xbacklight -dec %s" screen-brightness/step-size)) (message "[screen-brightness.el] Decreased screen brightness.")) -(when screen-brightness/install-kbds? - (exwm-input-set-key - (kbd "") #'screen-brightness/increase) - (exwm-input-set-key - (kbd "") #'screen-brightness/decrease)) - (provide 'screen-brightness) ;;; screen-brightness.el ends here