From 3d1616741850480028ca2bdeb6d937878e86b679 Mon Sep 17 00:00:00 2001 From: sabetts Date: Sat, 5 Nov 2005 17:26:07 +0000 Subject: * 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 --- src/events.c | 1 + src/manage.c | 10 ++++++++++ src/manage.h | 1 + 3 files changed, 12 insertions(+) (limited to 'src') 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); -- cgit v1.2.3