diff options
author | Tomas Janousek <tomi@nomi.cz> | 2009-11-19 15:50:43 +0100 |
---|---|---|
committer | Tomas Janousek <tomi@nomi.cz> | 2009-11-19 15:50:43 +0100 |
commit | db45f58694d887ff8fcb1a3ef5c5b1f821dd08cd (patch) | |
tree | 2b0b4f94a8a41556efc595a4e5da95cc6b817b49 /XMonad/Hooks/InsertPosition.hs | |
parent | 0aaeb686f913cd51fc812551016bbd49e6c64822 (diff) | |
download | XMonadContrib-db45f58694d887ff8fcb1a3ef5c5b1f821dd08cd.tar.gz XMonadContrib-db45f58694d887ff8fcb1a3ef5c5b1f821dd08cd.tar.xz XMonadContrib-db45f58694d887ff8fcb1a3ef5c5b1f821dd08cd.zip |
X.H.ManageDocks: ignore struts that cover an entire screen on that screen
Ignore-this: ad7bbf10c49c9f3e938cdc3d8588e202
Imagine a screen layout like this:
11111111
11111111
11111111
222222 <--- xmobar here
222222
222222
When placing xmobar as indicated, the partial strut property indicates that an
entire height of screen 1 is covered by the strut, as well as a few lines at
the top of screen 2. The original code would create a screen rectangle of
negative height and wreak havoc. This patch causes such strut to be ignored on
the screen it covers entirely, resulting in the desired behaviour of a small
strut at the top of screen 2.
Please note that this semantics of _NET_WM_STRUT and _NET_WM_STRUT_PARTIAL is
different to what is in wm-spec. The "correct" thing to do would be to discard
the covered portion of screen 1 leaving two narrow areas at the sides, but
this new behaviour is probably more desirable in many cases, at least for
xmonad/xmobar users.
The correct solution of having separate _NET_WM_STRUT_PARTIAL for each
Xinerama screen was mentioned in wm-spec maillist in 2007, but has never
really been proposed, discussed and included in wm-spec. Hence this "hack".
darcs-hash:20091119145043-c9ff5-b4494537b40d2d44abec5fbcec8ea7c3c3ef1a6b.gz
Diffstat (limited to 'XMonad/Hooks/InsertPosition.hs')
0 files changed, 0 insertions, 0 deletions