From 5cbd698ef115ce19de36eef84f134c5cfbd1ce1e Mon Sep 17 00:00:00 2001 From: Zofia Szweda Date: Thu, 17 Sep 2026 20:07:10 +0200 Subject: emacs: add exwm config --- doom/.config/doom/+exwm.el | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 doom/.config/doom/+exwm.el diff --git a/doom/.config/doom/+exwm.el b/doom/.config/doom/+exwm.el new file mode 100644 index 0000000..beab45e --- /dev/null +++ b/doom/.config/doom/+exwm.el @@ -0,0 +1,60 @@ +;;; $DOOMDIR/+exwm.el -*- lexical-binding: t; -*- +(when (getenv "USE_EXWM") + (use-package! exwm + :config + (require 'exwm-randr) + (exwm-randr-enable) + + (setq exwm-manage-configurations + '(((string= exwm-class-name "confirmreset") floating t) + ((string= exwm-class-name "makebranch") floating t) + ((string= exwm-class-name "maketag") floating t) + ((string= exwm-class-name "ssh-askpass") floating t) + ((string= exwm-class-name "Blueman-manager") floating t) + ((string= exwm-class-name "Pavucontrol") floating t) + ((string= exwm-title "branchdialog") floating t) + ((string= exwm-title "pinentry") floating t))) + + (setq exwm-input-prefix-keys '(?\s-x)) + + (setq exwm-input-global-keys + `((,(kbd "s-") . (lambda () (interactive) (start-process-shell-command "term" nil "alacritty"))) + (,(kbd "s-p") . (lambda () (interactive) (start-process-shell-command "dmenu" nil "j4-dmenu-desktop"))) + (,(kbd "s-c") . (lambda () (interactive) (start-process-shell-command "emacs" nil "emacs"))) + (,(kbd "s-t") . (lambda () (interactive) (start-process-shell-command "thunderbird" nil "thunderbird"))) + (,(kbd "s-w") . (lambda () (interactive) (start-process-shell-command "vivaldi" nil "vivaldi"))) + (,(kbd "s-e") . (lambda () (interactive) (start-process-shell-command "thunar" nil "thunar"))) + (,(kbd "s-s") . (lambda () (interactive) (start-process-shell-command "vesktop" nil "vesktop"))) + (,(kbd "s-x") . (lambda () (interactive) (start-process-shell-command "lock" nil "loginctl lock-session"))) + (,(kbd "s-m") . (lambda () (interactive) (start-process-shell-command "ncmpcpp" nil "alacritty -e ncmpcpp"))) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "screenshot" nil "screenshot"))) + (,(kbd "S-") . (lambda () (interactive) (start-process-shell-command "screenrecord" nil "screenrecord"))) + (,(kbd "s-S-s") . (lambda () (interactive) (start-process-shell-command "screenshot-select" nil "screenshot select"))) + (,(kbd "s-S-r") . (lambda () (interactive) (start-process-shell-command "screenrecord-select" nil "screenrecord select"))) + (,(kbd "s-q") . kill-buffer) + (,(kbd "s-f") . exwm-layout-toggle-fullscreen) + (,(kbd "s-.") . exwm-workspace-switch-create) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "vol-up" nil "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"))) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "vol-down" nil "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"))) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "vol-mute" nil "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"))) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "play" nil "playerctl play-pause"))) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "next" nil "playerctl next"))) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "prev" nil "playerctl previous"))) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "stop" nil "playerctl stop"))) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "bright-up" nil "brightnessctl set +5%"))) + (,(kbd "") . (lambda () (interactive) (start-process-shell-command "bright-down" nil "brightnessctl set 5%-"))))) + + (use-package! edwina + :config + (edwina-mode 1) + (setq exwm-input-global-keys + (append exwm-input-global-keys + `((,(kbd "s-j") . edwina-select-next-window) + (,(kbd "s-k") . edwina-select-previous-window) + (,(kbd "s-h") . edwina-dec-mfact) + (,(kbd "s-l") . edwina-inc-mfact) + (,(kbd "s-S-h") . edwina-dec-nmaster) + (,(kbd "s-S-l") . edwina-inc-nmaster) + (,(kbd "s-") . edwina-cycle-layout))))) + + (exwm-enable))) -- cgit v1.2.3