diff options
author | Tomas Janousek <tomi@nomi.cz> | 2021-04-26 11:45:17 +0100 |
---|---|---|
committer | Tomas Janousek <tomi@nomi.cz> | 2021-04-26 14:17:37 +0100 |
commit | dd8584af1ac7c2853c4db0ee2d1bfe1f71e62fde (patch) | |
tree | 0b1b13faf69e4fe3bd0e0c4ed02fde63e55457a3 | |
parent | 82461417abbcd2e03e4329d68df4a15866885dd2 (diff) | |
download | xmobar-dd8584af1ac7c2853c4db0ee2d1bfe1f71e62fde.tar.gz xmobar-dd8584af1ac7c2853c4db0ee2d1bfe1f71e62fde.tar.bz2 |
Fix off-by-one in strut calculation for Static position
Pixel intervals in _NET_WM_STRUT_PARTIAL are closed, not open [1], so
xmobar of width 1920 at x=0 needs to be encoded as ⟨0, 1919⟩, not ⟨0,
1920). The code already does this for Top/Bottom positioning, but Static
has been buggy for years.
[1]: https://specifications.freedesktop.org/wm-spec/1.5/ar01s05.html#idm46075117229424
Fixes: https://old.reddit.com/r/xmonad/comments/mynegr/xmobar_dual_monitor_bug/
Fixes: https://github.com/jaor/xmobar/issues/530
-rw-r--r-- | src/Xmobar/X11/Window.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Xmobar/X11/Window.hs b/src/Xmobar/X11/Window.hs index 8c3c698..796e213 100644 --- a/src/Xmobar/X11/Window.hs +++ b/src/Xmobar/X11/Window.hs @@ -175,7 +175,7 @@ getStaticStrutValues (Static cx cy cw ch) rwh where st = cy + ch sb = rwh - cy xs = cx -- a simple calculation for horizontal (x) placement - xe = xs + cw + xe = xs + cw - 1 getStaticStrutValues _ _ = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] drawBorder :: Border -> Int -> Display -> Drawable -> GC -> Pixel |