summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmin Bandali <bandali@gnu.org>2022-12-24 19:52:34 -0500
committerAmin Bandali <bandali@gnu.org>2022-12-24 19:53:49 -0500
commit5d40c938921c6df2af77df6a453eff70d60cf685 (patch)
tree874a115b032ed4ff3c1be78bc8b196c5bb732255
parent78619ba4c53776ab14ca21a87852926885bbb56d (diff)
downloadconfigs-5d40c938921c6df2af77df6a453eff70d60cf685.tar.gz
configs-5d40c938921c6df2af77df6a453eff70d60cf685.tar.xz
configs-5d40c938921c6df2af77df6a453eff70d60cf685.zip
Various tweaks and fixes for using EXWM
* .Xresources.d/xterm: Allow send events, needed for EXWM's simulation keys to work. * .emacs.d/init.el: Check additionally that we're in a graphical environment, though not in another window manager or desktop environment, before running EXWM. Also, use the EXWM-provided function for switching buffers that also works for EXWM windows, including windows in other workspaces or those that are floating. * .emacs.d/lisp/bandali-exwm.el: Tweak and add to global and simulation keys for more convenience. * .gnupg/gpg-agent.conf: It seems we need to explicitly set a pinentry-program, otherwise GPG will pick the tty or ncurses one even when we're not in a tty or terminal, which will not work and cause problems when using EXWM.
-rw-r--r--.Xresources.d/xterm3
-rw-r--r--.emacs.d/init.el10
-rw-r--r--.emacs.d/lisp/bandali-exwm.el28
-rw-r--r--.gnupg/gpg-agent.conf2
4 files changed, 27 insertions, 16 deletions
diff --git a/.Xresources.d/xterm b/.Xresources.d/xterm
index b0af6ac..44c4eea 100644
--- a/.Xresources.d/xterm
+++ b/.Xresources.d/xterm
@@ -13,3 +13,6 @@
!*VT100.utf8Fonts.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
!*VT100.utf8Fonts.font: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
!*VT100.utf8Fonts.font: -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso10646-1
+
+! for EXWM simulation keys
+*allowSendEvents: true
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index b4a16cc..7f6ef96 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -491,8 +491,14 @@ for all frames."
(expand-file-name
(convert-standard-filename "lisp") user-emacs-directory))
-(when (member (system-name) '("chaman"))
- (require 'bandali-exwm))
+(when
+ (and
+ (display-graphic-p)
+ ;; we're not running in another WM/DE
+ (not (getenv "XDG_CURRENT_DESKTOP"))
+ (member (system-name) '("chaman")))
+ (require 'bandali-exwm)
+ (global-set-key (kbd "C-x b") #'exwm-workspace-switch-to-buffer))
(require 'bandali-org)
diff --git a/.emacs.d/lisp/bandali-exwm.el b/.emacs.d/lisp/bandali-exwm.el
index bd28d5b..dca5d70 100644
--- a/.emacs.d/lisp/bandali-exwm.el
+++ b/.emacs.d/lisp/bandali-exwm.el
@@ -90,14 +90,14 @@ around if needed."
exwm-workspace-number 10
exwm-input-global-keys
`(([?\s-R] . exwm-reset)
- ([?\s-b] . exwm-workspace-switch-to-buffer)
- ([?\s-\\] . exwm-workspace-switch)
+ ;; ([?\s-b] . exwm-workspace-switch-to-buffer)
+ ([?\s-/] . exwm-workspace-switch)
([?\s-\s] . dmenu)
- ;; ([?\s-\s] . (lambda ()
- ;; (interactive)
- ;; (start-process-shell-command
- ;; "rofi" nil "rofi -show run")))
- ([?\S-\s-\s] . (lambda (command) ; doesn't work in X windows
+ ([?\s-\\] . (lambda ()
+ (interactive)
+ (start-process-shell-command
+ "passmenu" nil "passmenu --type")))
+ ([?\S-\s-\s] . (lambda (command)
(interactive
(list (read-shell-command "➜ ")))
(start-process-shell-command
@@ -110,10 +110,6 @@ around if needed."
(start-process "" nil "xterm"
"-name" "floating")))
([?\C-\s-\s] . counsel-linux-app)
- ([?\M-\s-\s] . (lambda ()
- (interactive)
- (start-process-shell-command
- "passmenu" nil "passmenu --type")))
([?\s-h] . windmove-left)
([?\s-j] . windmove-down)
([?\s-k] . windmove-up)
@@ -171,7 +167,7 @@ around if needed."
(interactive)
(exwm-workspace-move-window ,i))))
(number-sequence 0 (1- exwm-workspace-number)))
- ([?\s-F] . exwm-floating-toggle-floating)
+ ([?\s-.] . exwm-floating-toggle-floating)
([?\s-f] . exwm-layout-toggle-fullscreen)
([?\s-W] . (lambda ()
(interactive)
@@ -183,6 +179,10 @@ around if needed."
(interactive)
(start-process-shell-command
"dmneu-light" nil "dmenu-light")))
+ ([?\s-\;] . (lambda ()
+ (interactive)
+ (start-process-shell-command
+ "dmneu-pamixer" nil "dmenu-pamixer")))
([XF86AudioMute] . ; borken on my X200 :-(
(lambda ()
(interactive)
@@ -262,8 +262,10 @@ around if needed."
([?\s-q] . [?\C-q])
;; misc
([?\C-s] . [?\C-f])
+ ([?\s-g] . [?\C-g])
([?\s-s] . [?\C-s])
- ([?\C-g] . [escape])))
+ ([?\C-g] . [escape])
+ ([?\C-/] . [?\C-z])))
(require 'exwm-manage)
(setq
diff --git a/.gnupg/gpg-agent.conf b/.gnupg/gpg-agent.conf
index f00d1c8..af2c254 100644
--- a/.gnupg/gpg-agent.conf
+++ b/.gnupg/gpg-agent.conf
@@ -5,7 +5,7 @@ max-cache-ttl 10000000
# max-cache-ttl-ssh 86400
# pinentry-program /home/bandali/.guix-profile/bin/pinentry-emacs
-# pinentry-program /usr/bin/pinentry-gtk-2
+pinentry-program /usr/bin/pinentry-gtk-2
# pinentry-program /usr/bin/pinentry-tty
allow-emacs-pinentry
allow-loopback-pinentry