Fix systemtray position
* exwm-workspace.el (exwm-workspace--update-workareas-hook): New hook run when workareas get updated. (exwm-workspace--update-workareas): Run the hook. * exwm-systemtray.el (exwm-systemtray--on-workspace-switch) (exwm-systemtray--on-randr-refresh): Take struts into account when calculating the position for systemtray. (exwm-systemtray--on-struts-update): Alias of `exwm-systemtray--on-randr-refresh'. (exwm-systemtray--init, exwm-systemtray--exit): Manipulate `exwm-workspace--update-workareas-hook'.
This commit is contained in:
parent
0ae1e7327e
commit
f299ca5ed7
2 changed files with 20 additions and 3 deletions
|
|
@ -247,6 +247,8 @@ Value nil means to use the default position which is fixed at bottom, while
|
|||
(append exwm-workspace--struts (list struts*))))))))))
|
||||
|
||||
(defvar exwm-workspace--workareas nil "Workareas (struts excluded).")
|
||||
(defvar exwm-workspace--update-workareas-hook nil
|
||||
"Normal hook run when workareas get updated.")
|
||||
|
||||
(defun exwm-workspace--update-workareas ()
|
||||
"Update `exwm-workspace--workareas'."
|
||||
|
|
@ -309,7 +311,8 @@ Value nil means to use the default position which is fixed at bottom, while
|
|||
(cl-incf (aref w 3) delta))))))
|
||||
;; Save the result.
|
||||
(setq exwm-workspace--workareas workareas)
|
||||
(xcb:flush exwm--connection)))
|
||||
(xcb:flush exwm--connection))
|
||||
(run-hooks 'exwm-workspace--update-workareas-hook))
|
||||
|
||||
(defvar exwm-workspace--fullscreen-frame-count 0
|
||||
"Count the fullscreen workspace frames.")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue