]> git.sur5r.net Git - i3/i3/commitdiff
remove the urgency indicator when a window is closed
authorAdrien Schildknecht <adrien+dev@schischi.me>
Fri, 25 Jan 2013 17:32:43 +0000 (18:32 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Fri, 25 Jan 2013 17:53:59 +0000 (18:53 +0100)
src/tree.c
testcases/t/113-urgent.t

index c398ee1d36f6722a35fe4b77fb569ea3350d86d4..2973c4b8edfb713f616cf6b69bf8ec524b12548b 100644 (file)
@@ -200,6 +200,13 @@ bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent, bool
         was_mapped = _is_con_mapped(con);
     }
 
+    /* remove the urgency hint of the workspace (if set) */
+    if (con->urgent) {
+        con->urgent = false;
+        con_update_parents_urgency(con);
+        workspace_update_urgent_flag(con_get_workspace(con));
+    }
+
     /* Get the container which is next focused */
     Con *next = con_next_focused(con);
     DLOG("next = %p, focused = %p\n", next, focused);
index ff44e0ea0bc263ed52d29b0a789212c97ae1809f..8c8b74aba4ee3cf0bafadd17717eaaa90dce29c2 100644 (file)
@@ -231,6 +231,25 @@ cmd "workspace $tmp";
 
 does_i3_live;
 
-exit_gracefully($pid);
+###############################################################################
+# Check if the urgency hint is still set when the urgent window is killed
+###############################################################################
 
+my $ws1 = fresh_workspace;
+my $ws2 = fresh_workspace;
+cmd "workspace $ws1";
+my $w1 = open_window;
+my $w2 = open_window;
+cmd "workspace $ws2";
+sync_with_i3;
+$w1->add_hint('urgency');
+sync_with_i3;
+cmd '[id="' . $w1->id . '"] kill';
+sync_with_i3;
+my $w = get_ws($ws1);
+is($w->{urgent}, 0, 'Urgent flag no longer set after killing the window ' .
+    'from another workspace');
+
+
+exit_gracefully($pid);
 done_testing;