;; -*- lexical-binding: t; -*- (defun bd/exwm-update-class () "Changes the buffer name to reflect the class name for that buffer." (exwm-workspace-rename-buffer exwm-class-name)) (winner-mode 1) (use-package exwm :config (add-hook 'exwm-update-class-hook #'bd/exwm-update-class) ;; order is important (require 'exwm-randr) (exwm-randr-enable) ;; (start-process-shell-command "xrandr" nil "/home/bdunahu/.config/emacs/exwm_xrandr.sh") (start-process-shell-command "picom" nil "picom") (start-process-shell-command "bg" nil "set-bg") (start-process-shell-command "xmodmap" nil "xmodmap ~/.config/xmodmap.config") (start-process-shell-command "xrate" nil "xset r rate 250 70") (dolist (k '(("s-L" "slock") ("s-B" "icecat") ("s-" "st") ("s-O" "xdotool type $(grep -v '^#' /home/bdunahu/Personal/scripts/bookmarks.txt | dmenu -i -l 12 | awk '{print $NF}')") ("s-P" "passmenu --type") ("s-" "brightnessctl set 1%-") ("s-" "brightnessctl set 1%+") ("s-" "pactl set-sink-mute @DEFAULT_SINK@ toggle") ("s-" "pactl set-sink-volume @DEFAULT_SINK@ -10%") ("s-" "pactl set-sink-volume @DEFAULT_SINK@ +5%") ("s-" "mpc prev") ("s-" "mpc next") ("" "flameshot launcher"))) (let ((f (lambda () (interactive) (save-window-excursion (start-process-shell-command (cadr k) nil (cadr k)))))) (exwm-input-set-key (kbd (car k)) f) (define-key exwm-mode-map (kbd (car k)) f))) (define-key exwm-mode-map [?\C-q] 'exwm-input-send-next-key) (exwm-enable) (server-start) :custom (exwm-workspace-number 10) (exwm-input-prefix-keys '(?\C-x ?\C-u ?\C-g ?\C-h ?\C-z ?\M-x ?\M-` ?\M-& ?\M-: )) (exwm-input-global-keys `(([?\s-n] . other-window) ([?\s-p] . (lambda () (interactive) (other-window -1))) ([?\s-r] . exwm-reset) ([?\s-q] . kill-current-buffer) ;; ([?\s-] . emms-pause) ; see rest of mpc commands above--mpc pause performed poorly ([?\s-x] . (lambda (command) (interactive (list (read-shell-command "s-x "))) (start-process-shell-command command nil command))) ,@(mapcar (lambda (i) `(,(kbd (format "s-%s" (car i))) . (lambda () (interactive (exwm-workspace-switch-create ,(car (cdr i))))))) '((! 0) (@ 1) (\# 2) ($ 3) (% 4) (^ 5) (& 6) (* 7) (\( 8) (\) 9))))) (exwm-randr-workspace-monitor-plist '(0 "DVI-D-1" 2 "DVI-D-1" 4 "DVI-D-1" 6 "DVI-D-1" 8 "DVI-D-1")))