remove the urgency indicator when a window is closed
Patch status: merged
Patch by Adrien Schildknecht
To apply this patch, use:
curl http://cr.i3wm.org/patch/19/raw.patch | git am
b/src/tree.c
14 |
@@ -200,6 +200,13 @@ bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent, bool |
15 |
was_mapped = _is_con_mapped(con); |
16 |
} |
17 |
|
18 |
+ /* remove the urgency hint of the worskpace (if set) */ |
19 |
+ if (con->urgent) { |
20 |
+ con->urgent = false; |
21 |
+ con_update_parents_urgency(con); |
22 |
+ workspace_update_urgent_flag(con_get_workspace(con)); |
23 |
+ } |
24 |
+ |
25 |
/* Get the container which is next focused */ |
26 |
Con *next = con_next_focused(con); |
27 |
DLOG("next = %p, focused = %p\n", next, focused); |
b/testcases/t/113-urgent.t
32 |
@@ -231,6 +231,25 @@ cmd "workspace $tmp"; |
33 |
|
34 |
does_i3_live; |
35 |
|
36 |
-exit_gracefully($pid); |
37 |
+############################################################################### |
38 |
+# Check if the urgency hint is still set when the urgent window is killed |
39 |
+############################################################################### |
40 |
|
41 |
+my $ws1 = fresh_workspace; |
42 |
+my $ws2 = fresh_workspace; |
43 |
+cmd "workspace $ws1"; |
44 |
+my $w1 = open_window; |
45 |
+my $w2 = open_window; |
46 |
+cmd "workspace $ws2"; |
47 |
+sync_with_i3; |
48 |
+$w1->add_hint('urgency'); |
49 |
+sync_with_i3; |
50 |
+cmd '[id="' . $w1->id . '"] kill'; |
51 |
+sync_with_i3; |
52 |
+my $w = get_ws($ws1); |
53 |
+is($w->{urgent}, 0, 'Urgent flag no longer set after killing the window ' . |
54 |
+ 'from another workspace'); |
55 |
+ |
56 |
+ |
57 |
+exit_gracefully($pid); |
58 |
done_testing; |