Properly handle windows unsetting WM_TRANSIENT_FOR (Thanks Janus)

fixes #1351
This commit is contained in:
Michael Stapelberg
2014-08-26 10:00:14 +02:00
parent 9058fc44e6
commit 2fecf57699
4 changed files with 33 additions and 3 deletions

View File

@ -99,4 +99,25 @@ is($x->input_focus, $child->id, "Child window focused");
}
################################################################################
# Verify that transient_for can be set and unset.
################################################################################
$tmp = fresh_workspace;
$fwindow = open_window({ dont_map => 1 });
$fwindow->transient_for($right);
$fwindow->map;
my $floating_con = get_ws($tmp)->{floating_nodes}[0]->{nodes}[0];
is($floating_con->{window_properties}->{transient_for}, $right->id, 'WM_TRANSIENT_FOR properly parsed');
$x->delete_property($fwindow->id, $x->atom(name => 'WM_TRANSIENT_FOR')->id);
$x->flush;
sync_with_i3;
$floating_con = get_ws($tmp)->{floating_nodes}[0]->{nodes}[0];
is($floating_con->{window_properties}->{transient_for}, undef, 'WM_TRANSIENT_FOR properly removed');
done_testing;