X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/blobdiff_plain/78d731e133fcef8464acb1d0eb8a51864d0189cd..8d2509621f333e2fd04b936ac48954c464bf6570:/.emacs.d/lisp/bandali-exwm.el diff --git a/.emacs.d/lisp/bandali-exwm.el b/.emacs.d/lisp/bandali-exwm.el index 92f9b31..e7f83ce 100644 --- a/.emacs.d/lisp/bandali-exwm.el +++ b/.emacs.d/lisp/bandali-exwm.el @@ -1,6 +1,6 @@ ;;; bandali-exwm.el --- bandali's EXWM configuration -*- lexical-binding: t; -*- -;; Copyright (C) 2018-2022 Amin Bandali +;; Copyright (c) 2018-2023 Amin Bandali ;; Author: Amin Bandali ;; Keywords: tools @@ -27,8 +27,7 @@ (add-to-list 'load-path (b/lisp "xelb")) (add-to-list 'load-path (b/lisp "exwm")) (require 'exwm) -(setq ;; exwm-replace t - exwm-workspace-show-all-buffers t) +;; (setq exwm-replace t) ;; make class name the buffer name, truncating beyond 60 characters (defun b/exwm-rename-buffer () (interactive) @@ -90,30 +89,26 @@ 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 command nil command))) ([s-return] . (lambda () (interactive) - (start-process "" nil "urxvt"))) + (start-process "" nil "xterm"))) ([S-s-return] . (lambda () (interactive) - (start-process "" nil "urxvt" + (start-process "" nil "xterm" "-name" "floating"))) ([?\C-\s-\s] . counsel-linux-app) - ([?\M-\s-\s] . (lambda () - (interactive) - (start-process-shell-command - "rofi-pass" nil "rofi-pass"))) ([?\s-h] . windmove-left) ([?\s-j] . windmove-down) ([?\s-k] . windmove-up) @@ -171,7 +166,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) @@ -182,30 +177,58 @@ around if needed." ([?\s-\'] . (lambda () (interactive) (start-process-shell-command - "rofi-light" nil "rofi-light"))) + "dmneu-light" nil "dmenu-light"))) + ([?\s-\;] . (lambda () + (interactive) + (start-process-shell-command + "dmneu-pamixer" nil "dmenu-pamixer") + (b/volume-update))) ([XF86AudioMute] . ; borken on my X200 :-( (lambda () (interactive) - (start-process "" nil "pamixer" "--toggle-mute"))) + (start-process "" nil "pamixer" "--toggle-mute") + (b/volume-update))) + ([\s-XF86AudioMute] . ; toggle mic mute + (lambda () + (interactive) + (start-process + "" nil "pamixer" "--default-source" "--toggle-mute") + (b/volume-update))) ([XF86Launch1] . (lambda () (interactive) - (start-process "" nil "pamixer" "--toggle-mute"))) + (start-process "" nil "pamixer" "--toggle-mute") + (b/volume-update))) ([\s-XF86Launch1] . ; toggle mic mute (lambda () (interactive) (start-process - "" nil "pamixer" "--default-source" "--toggle-mute"))) + "" nil "pamixer" "--default-source" "--toggle-mute") + (b/volume-update))) ([XF86AudioLowerVolume] . (lambda () (interactive) (start-process - "" nil "pamixer" "--allow-boost" "--decrease" "5"))) + "" nil "pamixer" "--allow-boost" "--decrease" "5") + (b/volume-update))) ([XF86AudioRaiseVolume] . (lambda () (interactive) (start-process - "" nil "pamixer" "--allow-boost" "--increase" "5"))) + "" nil "pamixer" "--allow-boost" "--increase" "5") + (b/volume-update))) + ([\s-XF86AudioLowerVolume] . + (lambda () + (interactive) + (start-process + "" nil "pamixer" "--default-source" "--decrease" "5") + (b/volume-update))) + ([\s-XF86AudioRaiseVolume] . + (lambda () + (interactive) + (start-process + "" nil "pamixer" "--default-source" "--increase" "5") + (b/volume-update))) ([XF86AudioPlay] . (lambda () (interactive) @@ -228,8 +251,8 @@ around if needed." (start-process "" nil "light" "-A" "5"))) ([XF86ScreenSaver] . (lambda () - (interactive) - (start-process "" nil "dm-tool" "lock"))) + (interactive) + (start-process "" nil "dm-tool" "lock"))) ([\s-XF86Back] . previous-buffer) ([\s-XF86Forward] . next-buffer))) @@ -262,8 +285,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 @@ -279,7 +304,7 @@ around if needed." (exwm-input-set-local-simulation-keys `(,@exwm-input-simulation-keys ([?\C-\S-d] . [?\C-d])))) - ((member exwm-class-name '("URxvt" "Mate-terminal")) + ((member exwm-class-name '("XTerm" "Mate-terminal")) (exwm-input-set-local-simulation-keys '(([?\C-c ?\C-c] . [?\C-c]) ([?\C-c ?\C-u] . [?\C-u])))) @@ -309,5 +334,19 @@ around if needed." (add-to-list 'load-path (b/lisp "exwm-edit")) (require 'exwm-edit) +(with-eval-after-load 'exwm-workspace + (setq exwm-workspace-show-all-buffers t) + (setq-default + mode-line-format + (append + mode-line-format + '((:eval + (format + " [%s]" (number-to-string + exwm-workspace-current-index))))))) + +(with-eval-after-load 'exwm-layout + (setq exwm-layout-show-all-buffers t)) + (provide 'bandali-exwm) ;;; bandali-exwm.el ends here