Skip to content

xfce4-panel does not properly calculate value of _NET_WM_STRUT_PARTIAL in multimonitor setup.

Submitted by Aaron Lancaster

Assigned to Nick Schermer

Link to original bug (#14593)

Description

xfce4-panel under certain multimonitor situations does not correctly set the value of the _NET_WM_STRUT_PARTIAL x11 window property to avoid causing stuff like maximizing windows to overlap

an example situation is as follows, my monitor layout is like this

monitor3-monitor1-monitor2

If i have a vertical panel on the left side of monitor 1 _NET_WM_STRUT_PARTIAL is set to:

_NET_WM_STRUT_PARTIAL(CARDINAL) = 33, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 0, 0

This reserves a 33 pixel wide space (the size of my panel) on the left edge of monitor 3, the result being that a window maximized on monitor 3 have a 33 pixel space gap on the left edge of the screen. When maximized on monitor 1, the window is overlapped on the left side by the panel, there is no space reserved.

the value should look like this:

_NET_WM_STRUT_PARTIAL(CARDINAL) = 1953, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 0, 0 . When it is edited with xprop(1) command to match these values, maximization on monitors 1 and 3 works correctly, with no deadspace on monitor 3, and no panel overlapping window on monitor 1.

Version: 4.13.3