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.
This commit is contained in:
parent
ebcc9591f3
commit
badf1c30a0
2 changed files with 19 additions and 26 deletions
|
@ -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).")
|
||||
|
||||
|
|
20
exwm.el
20
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)
|
||||
|
|
Loading…
Reference in a new issue