From 25000533c8d2e5864fd770867acc60db112dd4c0 Mon Sep 17 00:00:00 2001 From: tslil clingman <> Date: Wed, 4 May 2022 21:31:08 -0500 Subject: Don't use EXWM by default --- emacs/inits/00-exwm.el | 170 ---------------------------------------------- emacs/inits/NO-00-exwm.el | 170 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+), 170 deletions(-) delete mode 100644 emacs/inits/00-exwm.el create mode 100644 emacs/inits/NO-00-exwm.el (limited to 'emacs') diff --git a/emacs/inits/00-exwm.el b/emacs/inits/00-exwm.el deleted file mode 100644 index 647c5c1..0000000 --- a/emacs/inits/00-exwm.el +++ /dev/null @@ -1,170 +0,0 @@ -;; Time-stamp: <2020-05-05 20:25:35 (tslil@bison)> - -(defun banish-rat () - (interactive) - (shell-command "xdotool mousemove 1280 800") - (message "Rat banished.")) - -(use-package exwm - :if (window-system) - :ensure t - :demand - :config - - (setq exwm-workspace-number 1 - exwm-workspace-switch-create-limit 5 - exwm-workspace-show-all-buffers nil) - - (add-hook 'exwm-update-class-hook - (lambda () - (exwm-workspace-rename-buffer exwm-class-name))) - - ;; ------------------------------------------------------------------- - ;; Global key binds - - (setq exwm-input-simulation-keys - '(([?\C-b] . [left]) - ([?\C-f] . [right]) - ([?\C-p] . [up]) - ([?\C-n] . [down]) - ([?\C-a] . [home]) - ([?\C-e] . [end]) - ([?\M-v] . [prior]) - ([?\C-v] . [next]) - ([?\C-s] . [C-f]) - ;;([?\C-d] . [delete]) - ;;([?\C-k] . [S-end delete]) - )) - - ;; IME - (defvar exwm-workman-intl t) - (defun exwm-toggle-intl-ime () - (interactive) - (let ((result (call-process-shell-command - (concat "setxkbmap -layout us -variant workman" - (if exwm-workman-intl "-intl" "") - " -option terminate:ctrl_alt_bksp -option ctrl:nocaps")))) - (if (not (= 0 result)) - (message "Unable to switch keyboard layouts.") - (message (concat (if exwm-workman-intl "INTERNATIONAL" "STANDARD") " layout selected.")) - (setq exwm-workman-intl (not exwm-workman-intl))))) - - (exwm-input-set-key (kbd "s-i") 'exwm-toggle-intl-ime) - - - ;; reset - (exwm-input-set-key (kbd "s-r") 'exwm-reset) - - ;; workspaces - (exwm-input-set-key (kbd "s-e") 'exwm-workspace-switch) - - (dotimes (i 10) - (exwm-input-set-key (kbd (format "s-%d" i)) - `(lambda () - (interactive) - (exwm-workspace-switch-create ,i)))) - - ;; buffer and window management - (exwm-input-set-key (kbd "s-SPC") 'switch-to-buffer) - - (defvar exwm-workspace-last-idx 0) - (defvar exwm-workspace-current-idx 0) - - (defvar exwm-workspace-lighter "") - - (defun exwm-update-workspace-lighter () - (setq exwm-workspace-lighter (format (concat "@%d" - (when (/= exwm-workspace-current-idx exwm-workspace-last-idx) - " (*%d)")) - exwm-workspace-current-idx exwm-workspace-last-idx))) - - (defun exwm-workspace-track-changes (frame-or-index &optional ignored) - (when (/= exwm-workspace-current-index exwm-workspace-current-idx) - (setq exwm-workspace-last-idx exwm-workspace-current-idx - exwm-workspace-current-idx exwm-workspace-current-index) - (exwm-update-workspace-lighter))) - - (exwm-update-workspace-lighter) - - (advice-add 'exwm-workspace-switch :after #'exwm-workspace-track-changes) - (advice-add 'exwm-workspace-switch-create :after #'exwm-workspace-track-changes) - - (defun exwm-sanitise-workspace-last-index () - (when (and (< 0 (exwm-workspace--count)) - (> (1+ exwm-workspace-last-idx) (exwm-workspace--count))) - (setq exwm-workspace-last-idx exwm-workspace-current-idx) - (exwm-update-workspace-lighter))) - - (push #'exwm-sanitise-workspace-last-index exwm-workspace-list-change-hook) - - (defun exwm-last-workspace () - (interactive) - (exwm-workspace-switch exwm-workspace-last-idx)) - - (defun exwm-last-buffer () - (interactive) - (switch-to-buffer (other-buffer (current-buffer) 1))) - - (exwm-input-set-key (kbd "s-o") 'exwm-last-buffer) - (exwm-input-set-key (kbd "s-") 'exwm-last-workspace) - - (exwm-input-set-key (kbd "s-b") 'banish-rat) - - ;; run command - (exwm-input-set-key (kbd "s-c") (lambda () - (interactive) - (start-process "" nil "st"))) - (exwm-input-set-key (kbd "s-q") (lambda () - (interactive) - (start-process "" nil "iceweasel"))) - (exwm-input-set-key (kbd "s-") (lambda () - (interactive) - (start-process "" nil "lock"))) - (exwm-input-set-key (kbd "s-p") (lambda (command) - (interactive (list (read-shell-command "$ "))) - (start-process-shell-command command nil command))) - - ;; ------------------------------------------------------------------- - ;; Tray - - (require 'exwm-systemtray) - (exwm-systemtray-enable) - (setq exwm-systemtray-height 24) - - ;; ------------------------------------------------------------------- - ;; RandR - - (require 'exwm-randr) - (exwm-randr-enable) - - (setq exwm-randr-workspace-monitor-plist - '(1 "LVDS1" 0 "VGA1")) - - (exwm-enable)) - -;; ----------------------------------------------------------------------------- -;; EXWM-edit - -(use-package exwm-edit - :ensure t - :if (and exwm-state (window-system)) - :config - (add-hook 'exwm-edit-compose-hook (lambda () - (text-mode)))) - -;; ----------------------------------------------------------------------------- -;; Statusbar.el - -(use-package posframe - :defer 1 ;; HACK: why can't i just run this immediately after EXWM? - :if (and (window-system) (fboundp 'exwm-systemtray-enable)) - :ensure t) - -(use-package statusbar - :if (and (window-system) (fboundp 'exwm-systemtray-enable)) - :after posframe - :load-path "~/.emacs.d/scripts/statusbar.el/" - :config - (advice-add 'exwm-update-workspace-lighter :after #'statusbar-refresh) - (setq statusbar-modeline-variables '(exwm-workspace-lighter display-time-string)) - (statusbar-mode +1)) diff --git a/emacs/inits/NO-00-exwm.el b/emacs/inits/NO-00-exwm.el new file mode 100644 index 0000000..647c5c1 --- /dev/null +++ b/emacs/inits/NO-00-exwm.el @@ -0,0 +1,170 @@ +;; Time-stamp: <2020-05-05 20:25:35 (tslil@bison)> + +(defun banish-rat () + (interactive) + (shell-command "xdotool mousemove 1280 800") + (message "Rat banished.")) + +(use-package exwm + :if (window-system) + :ensure t + :demand + :config + + (setq exwm-workspace-number 1 + exwm-workspace-switch-create-limit 5 + exwm-workspace-show-all-buffers nil) + + (add-hook 'exwm-update-class-hook + (lambda () + (exwm-workspace-rename-buffer exwm-class-name))) + + ;; ------------------------------------------------------------------- + ;; Global key binds + + (setq exwm-input-simulation-keys + '(([?\C-b] . [left]) + ([?\C-f] . [right]) + ([?\C-p] . [up]) + ([?\C-n] . [down]) + ([?\C-a] . [home]) + ([?\C-e] . [end]) + ([?\M-v] . [prior]) + ([?\C-v] . [next]) + ([?\C-s] . [C-f]) + ;;([?\C-d] . [delete]) + ;;([?\C-k] . [S-end delete]) + )) + + ;; IME + (defvar exwm-workman-intl t) + (defun exwm-toggle-intl-ime () + (interactive) + (let ((result (call-process-shell-command + (concat "setxkbmap -layout us -variant workman" + (if exwm-workman-intl "-intl" "") + " -option terminate:ctrl_alt_bksp -option ctrl:nocaps")))) + (if (not (= 0 result)) + (message "Unable to switch keyboard layouts.") + (message (concat (if exwm-workman-intl "INTERNATIONAL" "STANDARD") " layout selected.")) + (setq exwm-workman-intl (not exwm-workman-intl))))) + + (exwm-input-set-key (kbd "s-i") 'exwm-toggle-intl-ime) + + + ;; reset + (exwm-input-set-key (kbd "s-r") 'exwm-reset) + + ;; workspaces + (exwm-input-set-key (kbd "s-e") 'exwm-workspace-switch) + + (dotimes (i 10) + (exwm-input-set-key (kbd (format "s-%d" i)) + `(lambda () + (interactive) + (exwm-workspace-switch-create ,i)))) + + ;; buffer and window management + (exwm-input-set-key (kbd "s-SPC") 'switch-to-buffer) + + (defvar exwm-workspace-last-idx 0) + (defvar exwm-workspace-current-idx 0) + + (defvar exwm-workspace-lighter "") + + (defun exwm-update-workspace-lighter () + (setq exwm-workspace-lighter (format (concat "@%d" + (when (/= exwm-workspace-current-idx exwm-workspace-last-idx) + " (*%d)")) + exwm-workspace-current-idx exwm-workspace-last-idx))) + + (defun exwm-workspace-track-changes (frame-or-index &optional ignored) + (when (/= exwm-workspace-current-index exwm-workspace-current-idx) + (setq exwm-workspace-last-idx exwm-workspace-current-idx + exwm-workspace-current-idx exwm-workspace-current-index) + (exwm-update-workspace-lighter))) + + (exwm-update-workspace-lighter) + + (advice-add 'exwm-workspace-switch :after #'exwm-workspace-track-changes) + (advice-add 'exwm-workspace-switch-create :after #'exwm-workspace-track-changes) + + (defun exwm-sanitise-workspace-last-index () + (when (and (< 0 (exwm-workspace--count)) + (> (1+ exwm-workspace-last-idx) (exwm-workspace--count))) + (setq exwm-workspace-last-idx exwm-workspace-current-idx) + (exwm-update-workspace-lighter))) + + (push #'exwm-sanitise-workspace-last-index exwm-workspace-list-change-hook) + + (defun exwm-last-workspace () + (interactive) + (exwm-workspace-switch exwm-workspace-last-idx)) + + (defun exwm-last-buffer () + (interactive) + (switch-to-buffer (other-buffer (current-buffer) 1))) + + (exwm-input-set-key (kbd "s-o") 'exwm-last-buffer) + (exwm-input-set-key (kbd "s-") 'exwm-last-workspace) + + (exwm-input-set-key (kbd "s-b") 'banish-rat) + + ;; run command + (exwm-input-set-key (kbd "s-c") (lambda () + (interactive) + (start-process "" nil "st"))) + (exwm-input-set-key (kbd "s-q") (lambda () + (interactive) + (start-process "" nil "iceweasel"))) + (exwm-input-set-key (kbd "s-") (lambda () + (interactive) + (start-process "" nil "lock"))) + (exwm-input-set-key (kbd "s-p") (lambda (command) + (interactive (list (read-shell-command "$ "))) + (start-process-shell-command command nil command))) + + ;; ------------------------------------------------------------------- + ;; Tray + + (require 'exwm-systemtray) + (exwm-systemtray-enable) + (setq exwm-systemtray-height 24) + + ;; ------------------------------------------------------------------- + ;; RandR + + (require 'exwm-randr) + (exwm-randr-enable) + + (setq exwm-randr-workspace-monitor-plist + '(1 "LVDS1" 0 "VGA1")) + + (exwm-enable)) + +;; ----------------------------------------------------------------------------- +;; EXWM-edit + +(use-package exwm-edit + :ensure t + :if (and exwm-state (window-system)) + :config + (add-hook 'exwm-edit-compose-hook (lambda () + (text-mode)))) + +;; ----------------------------------------------------------------------------- +;; Statusbar.el + +(use-package posframe + :defer 1 ;; HACK: why can't i just run this immediately after EXWM? + :if (and (window-system) (fboundp 'exwm-systemtray-enable)) + :ensure t) + +(use-package statusbar + :if (and (window-system) (fboundp 'exwm-systemtray-enable)) + :after posframe + :load-path "~/.emacs.d/scripts/statusbar.el/" + :config + (advice-add 'exwm-update-workspace-lighter :after #'statusbar-refresh) + (setq statusbar-modeline-variables '(exwm-workspace-lighter display-time-string)) + (statusbar-mode +1)) -- cgit v1.2.3