From 23f1ca740d61d435a3bceadddecad8422a05d3fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Medra=C3=B1o=20Calvo?= Date: Fri, 9 Jun 2023 00:00:00 +0000 Subject: [PATCH] Selectively ignore left & right struts in horizontally aligned monitors * exwm-workspace.el (exwm-workspace--update-workareas): Simplify cross-monitor strut conditionals and apply them to horizontally aligned monitors. --- exwm-workspace.el | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/exwm-workspace.el b/exwm-workspace.el index 490d83a..626d292 100644 --- a/exwm-workspace.el +++ b/exwm-workspace.el @@ -370,6 +370,7 @@ FRAME may be either a workspace frame or a workspace position." (`left (setq delta (- size x)) (when (and (< 0 delta) + (< delta width) (or (not position) (< (max beg y) (min end (+ y height))))) @@ -378,6 +379,7 @@ FRAME may be either a workspace frame or a workspace position." (`right (setq delta (- size (- root-width x width))) (when (and (< 0 delta) + (< delta width) (or (not position) (< (max beg y) (min end (+ y height))))) @@ -385,22 +387,19 @@ FRAME may be either a workspace frame or a workspace position." (`top (setq delta (- size y)) (when (and (< 0 delta) + (< delta height) (or (not position) (< (max beg x) - (min end (+ x width)))) - (< size (+ y height)) - (> size y)) + (min end (+ x width))))) (cl-decf height delta) (setf y size))) (`bottom (setq delta (- size (- root-height y height))) (when (and (< 0 delta) + (< delta height) (or (not position) (< (max beg x) - (min end (+ x width)))) - (< (- root-height size) - (+ y height)) - (> (- root-height size) y)) + (min end (+ x width))))) (cl-decf height delta)))))))) ;; Save the result. (setq exwm-workspace--workareas workareas)