sillysloft / fluxbox

Fluxbox Window Manager (Mirror)
http://fluxbox.org/news/
Other
0 stars 1 forks source link

Fluxbox does not respect _NET_WM_STRUT for _NET_WM_WINDOW_TYPE_DOCK windows #1133

Open sillysloft opened 9 years ago

sillysloft commented 9 years ago

Fluxbox does not respect _NET_WM_STRUT for _NET_WM_WINDOW_TYPE_DOCK windows.

Cairo Dock, and Docky both show this behaviour.

When Auto hide of the Window is disabled xprop reports something like _NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 320, 1708

When Auto hide is disabled the _NET_WM_STRUT_PARTIAL var is unset.

Fluxbox enables the STRUT even when the _NET_WM_STRUT_PARTIAL is unset. Tested this in KDE 4 and it respects this behavior removing the STRUT when the _NET_WM_STRUT_PARTIAL var is unset.

I tested this by changing setWindowType in Window.cc to set TYPE_DOCK windows to the ResourceLayer::Desktop.

When the Window is set to the Desktop layer it exhibits the correct behaviour, it Removes/Adds the strut as expected.

Reported by: shazeal001

sillysloft commented 9 years ago

Sorry this line should have read...

When Auto hide is enabled the _NET_WM_STRUT_PARTIAL var is unset.

Original comment by: shazeal001

sillysloft commented 8 years ago

Can you try this patch (no dockers at hand ;-)

diff --git a/src/Ewmh.cc b/src/Ewmh.cc index 0da4190..03a824f 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc @@ -1402,6 +1402,8 @@ void Ewmh::updateStrut(WinClient &winclient) { data[0], data[1], data[2], data[3])); winclient.screen().updateAvailableWorkspaceArea();

Original comment by: baghira-style

sillysloft commented 8 years ago

this one's fixed, commit 69b0f0f

Original comment by: baghira-style

sillysloft commented 8 years ago

Original comment by: akir