summaryrefslogtreecommitdiff
path: root/src/manage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/manage.c')
-rw-r--r--src/manage.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/manage.c b/src/manage.c
index 4f7fe14..f6d5657 100644
--- a/src/manage.c
+++ b/src/manage.c
@@ -347,7 +347,10 @@ void
unmanage (rp_window *w)
{
numset_release (rp_window_numset, w->number);
+
list_del (&w->node);
+ groups_del_window (w);
+
free_window (w);
#ifdef AUTO_CLOSE
@@ -724,6 +727,9 @@ map_window (rp_window *win)
list_del (&win->node);
insert_into_list (win, &rp_mapped_window);
+ /* Update all groups. */
+ groups_map_window (win);
+
/* The window has never been accessed since it was brought back from
the Withdrawn state. */
win->last_access = 0;
@@ -806,6 +812,9 @@ withdraw_window (rp_window *win)
list_move_tail(&win->node, &rp_unmapped_window);
+ /* Update the groups. */
+ groups_unmap_window (win);
+
ignore_badwindow++;
XRemoveFromSaveSet (dpy, win->w);