summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsabetts <sabetts>2005-11-05 17:26:07 +0000
committersabetts <sabetts>2005-11-05 17:26:07 +0000
commit3d1616741850480028ca2bdeb6d937878e86b679 (patch)
treeb981ca060cec5a114f445af998a6a0448661b46c /src
parentfbdf3d4ae819ea9d9342ccc17d6d649495e4e7da (diff)
downloadratpoison-3d1616741850480028ca2bdeb6d937878e86b679.zip
* src/manage.h (unhide_all_windows): new prototype
* src/manage.c (unhide_all_windows): new function. * src/events.c (handle_signals): unhide windows before switching to a new wm
Diffstat (limited to 'src')
-rw-r--r--src/events.c1
-rw-r--r--src/manage.c10
-rw-r--r--src/manage.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/src/events.c b/src/events.c
index 8115b64..dbc2e94 100644
--- a/src/events.c
+++ b/src/events.c
@@ -904,6 +904,7 @@ handle_signals ()
PRINT_DEBUG (("Switching to %s\n", rp_exec_newwm));
putenv(current_screen()->display_string);
+ unhide_all_windows();
execlp(rp_exec_newwm, rp_exec_newwm, 0);
/* Failed. Clean up. */
diff --git a/src/manage.c b/src/manage.c
index 49e5fd1..9076b16 100644
--- a/src/manage.c
+++ b/src/manage.c
@@ -850,6 +850,16 @@ unhide_window (rp_window *win)
set_state (win, NormalState);
}
+void
+unhide_all_windows ()
+{
+ struct list_head *tmp, *iter;
+ rp_window *win;
+
+ list_for_each_safe_entry (win, iter, tmp, &rp_mapped_window, node)
+ unhide_window (win);
+}
+
/* same as unhide_window except that it makes sure the window is mapped
on the bottom of the window stack. */
void
diff --git a/src/manage.h b/src/manage.h
index ba49d34..d24c343 100644
--- a/src/manage.h
+++ b/src/manage.h
@@ -51,6 +51,7 @@ void grab_keys_all_wins ();
void hide_window (rp_window *win);
void unhide_window (rp_window *win);
+void unhide_all_windows ();
void unhide_window_below (rp_window *win);
void withdraw_window (rp_window *win);
void hide_others (rp_window *win);