mirror of
https://github.com/ch11ng/exwm.git
synced 2024-11-27 13:07:59 +01:00
Fix window size calculations
* When sending the synthetic ConfigureNotify event, make sure we are dealing with the correct Emacs window * When managing a floating window, ensure it can be easily pick up by the user
This commit is contained in:
parent
bb4ebde55b
commit
5f9f673791
2 changed files with 6 additions and 5 deletions
|
@ -98,8 +98,8 @@
|
||||||
width display-width))
|
width display-width))
|
||||||
;; Invalid width
|
;; Invalid width
|
||||||
(when (= 0 width) (setq width (/ display-width 2)))
|
(when (= 0 width) (setq width (/ display-width 2)))
|
||||||
;; Completely outsize
|
;; Make sure at least half of the window is visible
|
||||||
(when (or (> x display-width) (> 0 (+ x display-width)))
|
(when (or (> (+ x (/ width 2)) display-width) (> 0 (+ x (/ width 2))))
|
||||||
(setq x (/ (- display-width width) 2))))
|
(setq x (/ (- display-width width) 2))))
|
||||||
(if (> height display-height)
|
(if (> height display-height)
|
||||||
;; Too tall
|
;; Too tall
|
||||||
|
@ -107,8 +107,9 @@
|
||||||
height display-height)
|
height display-height)
|
||||||
;; Invalid height
|
;; Invalid height
|
||||||
(when (= 0 height) (setq height (/ display-height 2)))
|
(when (= 0 height) (setq height (/ display-height 2)))
|
||||||
;; Completely outside
|
;; Make sure at least half of the window is visible
|
||||||
(when (or (> y display-height) (> 0 (+ y display-height)))
|
(when (or (> (+ y (/ height 2)) display-height)
|
||||||
|
(> 0 (+ y (/ height 2))))
|
||||||
(setq y (/ (- display-height height) 2))))
|
(setq y (/ (- display-height height) 2))))
|
||||||
;; Center floating windows
|
;; Center floating windows
|
||||||
(when (and (= x 0) (= y 0))
|
(when (and (= x 0) (= y 0))
|
||||||
|
|
|
@ -289,7 +289,7 @@ corresponding buffer.")
|
||||||
(frame-pixel-height exwm-workspace--current))
|
(frame-pixel-height exwm-workspace--current))
|
||||||
(or exwm--floating-edges
|
(or exwm--floating-edges
|
||||||
(window-inside-absolute-pixel-edges
|
(window-inside-absolute-pixel-edges
|
||||||
(get-buffer-window)))))
|
(get-buffer-window buffer t)))))
|
||||||
(exwm--log "Reply with ConfigureNotify (edges): %s" edges)
|
(exwm--log "Reply with ConfigureNotify (edges): %s" edges)
|
||||||
(xcb:+request exwm--connection
|
(xcb:+request exwm--connection
|
||||||
(make-instance 'xcb:SendEvent
|
(make-instance 'xcb:SendEvent
|
||||||
|
|
Loading…
Reference in a new issue