summaryrefslogtreecommitdiff
path: root/emacs/inits/00-exwm.el
diff options
context:
space:
mode:
authortslil clingman <>2020-04-26 20:33:27 -0700
committertslil clingman <>2020-04-26 20:34:45 -0700
commit55209d38b970a34adf04a7afc87b1e9dba5b8586 (patch)
tree0e9402285046e3ba9102f9754dcf2c9ece61cfcc /emacs/inits/00-exwm.el
parentb15702ecef80740f8d2284eb5afad7e62028a1ef (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.el30
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)