Handle strut partial changes for dock clients

Handle changes to the property _NET_WM_STRUT_PARTIAL by reallocating
screen space in the dock area when the dock client requests a new
position.

This will allow changes to the bar config directive `position` to be
effective on the `reload` command.

fixes #1294
This commit is contained in:
Tony Crisci
2015-03-25 19:45:42 -04:00
parent 3f3b2d9a3f
commit 49510427b9
2 changed files with 100 additions and 1 deletions

View File

@ -143,6 +143,22 @@ wait_for_map $window;
@docked = get_dock_clients('top');
is(@docked, 1, 'dock client on top');
# now change strut_partial to reserve space on the bottom and the dock should
# be moved to the bottom dock area
$x->change_property(
PROP_MODE_REPLACE,
$window->id,
$atomname->id,
$atomtype->id,
32, # 32 bit integer
12,
pack('L12', 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 1280, 0)
);
sync_with_i3;
@docked = get_dock_clients('bottom');
is(@docked, 1, 'dock client on bottom');
$window->destroy;
wait_for_unmap $window;