Fix detection of `exwm-workspace--window-y-offset'
* exwm-workspace.el (exwm-workspace--update-offsets): Explicitly request the geometry of the container for the first workspace as it may not align with the top of the root X window.
This commit is contained in:
parent
9eed52ee2b
commit
1e9be0de38
1 changed files with 10 additions and 4 deletions
|
@ -417,13 +417,19 @@ NIL if FRAME is not a workspace"
|
|||
(with-slots (y)
|
||||
(xcb:+request-unchecked+reply exwm--connection
|
||||
(make-instance 'xcb:GetGeometry
|
||||
:drawable (frame-parameter frame 'exwm-outer-id)))
|
||||
:drawable (frame-parameter frame
|
||||
'exwm-container)))
|
||||
(with-slots ((y* y))
|
||||
(xcb:+request-unchecked+reply exwm--connection
|
||||
(make-instance 'xcb:GetGeometry
|
||||
:drawable (frame-parameter frame 'exwm-id)))
|
||||
(setq exwm-workspace--frame-y-offset (- y* y)
|
||||
exwm-workspace--window-y-offset (- (elt edges 1) y)))))))
|
||||
:drawable (frame-parameter frame
|
||||
'exwm-outer-id)))
|
||||
(with-slots ((y** y))
|
||||
(xcb:+request-unchecked+reply exwm--connection
|
||||
(make-instance 'xcb:GetGeometry
|
||||
:drawable (frame-parameter frame 'exwm-id)))
|
||||
(setq exwm-workspace--frame-y-offset (- y** y*)
|
||||
exwm-workspace--window-y-offset (- (elt edges 1) y))))))))
|
||||
|
||||
(defun exwm-workspace--set-active (frame active)
|
||||
"Make frame FRAME active on its monitor."
|
||||
|
|
Loading…
Reference in a new issue