diff options
| author | tslil clingman <> | 2020-04-26 20:33:27 -0700 |
|---|---|---|
| committer | tslil clingman <> | 2020-04-26 20:34:45 -0700 |
| commit | 55209d38b970a34adf04a7afc87b1e9dba5b8586 (patch) | |
| tree | 0e9402285046e3ba9102f9754dcf2c9ece61cfcc /emacs/inits/00-exwm.el | |
| parent | b15702ecef80740f8d2284eb5afad7e62028a1ef (diff) | |
Moved to statusbar.el when EXWM running, minibuffer-line when not
Diffstat (limited to 'emacs/inits/00-exwm.el')
| -rw-r--r-- | emacs/inits/00-exwm.el | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/emacs/inits/00-exwm.el b/emacs/inits/00-exwm.el index 4d503f5..8d9caa7 100644 --- a/emacs/inits/00-exwm.el +++ b/emacs/inits/00-exwm.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2020-04-24 17:52:54 (tslil@bison)> +;; Time-stamp: <2020-04-26 20:34:40 (tslil@bison)> (defun banish-rat () (interactive) @@ -67,25 +67,35 @@ ;; buffer and window management (exwm-input-set-key (kbd "s-SPC") 'switch-to-buffer) - (defvar exwm-workspace-last-index 0) + (defvar exwm-workspace-last-idx 0) + (defvar exwm-workspace-current-idx 0) - (defun exwm-workspace-lighter () - (format " @%d (*%d)" exwm-workspace-current-index exwm-workspace-last-index)) + (defvar exwm-workspace-lighter "") - (defun exwm-store-workspace-last-index-switch (frame-or-index &optional force) - (setq exwm-workspace-last-index exwm-workspace-current-index)) + (defun exwm-update-workspace-lighter () + (setq exwm-workspace-lighter (format "@%d (*%d)" exwm-workspace-current-idx exwm-workspace-last-idx))) - (advice-add 'exwm-workspace-switch :before #'exwm-store-workspace-last-index-switch) + (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 (> (1+ exwm-workspace-last-index) (exwm-workspace--count)) - (setq exwm-workspace-last-index exwm-workspace-current-index))) + (when (> (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-create exwm-workspace-last-index)) + (exwm-workspace-switch exwm-workspace-last-idx)) (defun exwm-last-buffer () (interactive) |
