From 3ba8642efd15456ab882a5f548bd6a28169ca3d0 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 24 Sep 2013 06:36:08 +0200 Subject: [PATCH] tests: fix setting the urgency hint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X11::XCB < 0.08 had a bug which caused this code to work even though it shouldn’t. --- testcases/t/113-urgent.t | 5 ++++- testcases/t/200-urgency-timer.t | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/testcases/t/113-urgent.t b/testcases/t/113-urgent.t index 2eb853de..bb913819 100644 --- a/testcases/t/113-urgent.t +++ b/testcases/t/113-urgent.t @@ -24,8 +24,11 @@ my $_NET_WM_STATE_TOGGLE = 2; sub set_urgency { my ($win, $urgent_flag, $type) = @_; if ($type == 1) { + # Because X11::XCB does not keep track of clearing the urgency hint + # when receiving focus, we just delete it in all cases and then re-set + # it if appropriate. + $win->delete_hint('urgency'); $win->add_hint('urgency') if ($urgent_flag); - $win->delete_hint('urgency') if (!$urgent_flag); } elsif ($type == 2) { my $msg = pack "CCSLLLLLL", X11::XCB::CLIENT_MESSAGE, # response_type diff --git a/testcases/t/200-urgency-timer.t b/testcases/t/200-urgency-timer.t index 730a950a..0fb8c8be 100644 --- a/testcases/t/200-urgency-timer.t +++ b/testcases/t/200-urgency-timer.t @@ -85,6 +85,7 @@ my $w2 = open_window; is($x->input_focus, $w2->id, 'window 2 focused'); cmd "workspace $tmp2"; +$w->delete_hint('urgency'); $w->add_hint('urgency'); sync_with_i3;