diff options
author | sabetts <sabetts> | 2005-11-05 17:26:07 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2005-11-05 17:26:07 +0000 |
commit | 3d1616741850480028ca2bdeb6d937878e86b679 (patch) | |
tree | b981ca060cec5a114f445af998a6a0448661b46c /src | |
parent | fbdf3d4ae819ea9d9342ccc17d6d649495e4e7da (diff) | |
download | ratpoison-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.c | 1 | ||||
-rw-r--r-- | src/manage.c | 10 | ||||
-rw-r--r-- | src/manage.h | 1 |
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); |