branch: externals/exwm
commit badf1c30a04cdc008f189c1cdef93c3db7ee7b6d
Author: Chris Feng <[email protected]>
Commit: Chris Feng <[email protected]>
Raise all docks/panels when switching workspace
* exwm.el (exwm--update-struts-legacy, exwm--update-struts-partial):
Always set the struts value, even it's nil.
* exwm-workspace.el (exwm-workspace--update-struts): Check for nil
struts values.
---
exwm-workspace.el | 25 +++++++++++++------------
exwm.el | 20 ++++++--------------
2 files changed, 19 insertions(+), 26 deletions(-)
diff --git a/exwm-workspace.el b/exwm-workspace.el
index befa8e0..0e078b7 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -232,18 +232,19 @@ Value nil means to use the default position which is
fixed at bottom, while
(let (struts struts*)
(dolist (pair exwm-workspace--id-struts-alist)
(setq struts (cdr pair))
- (dotimes (i 4)
- (when (/= 0 (aref struts i))
- (setq struts*
- (vector (aref [left right top bottom] i)
- (aref struts i)
- (when (= 12 (length struts))
- (substring struts (+ 4 (* i 2)) (+ 6 (* i 2))))))
- (if (= 0 (mod i 2))
- ;; Make left/top processed first.
- (push struts* exwm-workspace--struts)
- (setq exwm-workspace--struts
- (append exwm-workspace--struts (list struts*)))))))))
+ (when struts
+ (dotimes (i 4)
+ (when (/= 0 (aref struts i))
+ (setq struts*
+ (vector (aref [left right top bottom] i)
+ (aref struts i)
+ (when (= 12 (length struts))
+ (substring struts (+ 4 (* i 2)) (+ 6 (* i 2))))))
+ (if (= 0 (mod i 2))
+ ;; Make left/top processed first.
+ (push struts* exwm-workspace--struts)
+ (setq exwm-workspace--struts
+ (append exwm-workspace--struts (list struts*))))))))))
(defvar exwm-workspace--workareas nil "Workareas (struts excluded).")
diff --git a/exwm.el b/exwm.el
index 0544308..6737443 100644
--- a/exwm.el
+++ b/exwm.el
@@ -268,13 +268,9 @@
:window id)))
(when reply
(setq struts (slot-value reply 'value))
- (if struts
- (if pair
- (setcdr pair struts)
- (push (cons id struts) exwm-workspace--id-struts-alist))
- (when pair
- (setq exwm-workspace--id-struts-alist
- (assq-delete-all id exwm-workspace--id-struts-alist))))
+ (if pair
+ (setcdr pair struts)
+ (push (cons id struts) exwm-workspace--id-struts-alist))
(exwm-workspace--update-struts))
;; Update workareas and set _NET_WORKAREA.
(exwm-workspace--update-workareas)
@@ -291,13 +287,9 @@
(when reply
(setq struts (slot-value reply 'value)
pair (assq id exwm-workspace--id-struts-alist))
- (if struts
- (if pair
- (setcdr pair struts)
- (push (cons id struts) exwm-workspace--id-struts-alist))
- (when pair
- (setq exwm-workspace--id-struts-alist
- (assq-delete-all id exwm-workspace--id-struts-alist))))
+ (if pair
+ (setcdr pair struts)
+ (push (cons id struts) exwm-workspace--id-struts-alist))
(exwm-workspace--update-struts))
;; Update workareas and set _NET_WORKAREA.
(exwm-workspace--update-workareas)