diff options
author | sabetts <sabetts> | 2001-08-19 16:02:25 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2001-08-19 16:02:25 +0000 |
commit | 0051fb43b7b468621d7826a9dfa54bac147c9a92 (patch) | |
tree | 8d7cb6da5f656fdc6a0320d596a5d5e998775b0e | |
parent | 42f7ded762267cf4a94e1aef2368b21864969b2d (diff) | |
download | ratpoison-0051fb43b7b468621d7826a9dfa54bac147c9a92.zip |
window switching flicker bug fixed
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | src/events.c | 8 | ||||
-rw-r--r-- | src/list.c | 11 |
3 files changed, 18 insertions, 9 deletions
@@ -1,3 +1,11 @@ +2001-08-19 Shawn <sabetts@hotdog> + + * src/events.c (cleanup_frame): unhide the new active window + before hiding the last window + + * src/list.c (set_active_window): unhide the new active window + before hiding the last window. + 2001-08-18 Shawn <sabetts@hotdog> * src/actions.c (cmd_bind): Gobble whitespace between keystroke and command. diff --git a/src/events.c b/src/events.c index 29a43f5..16739f9 100644 --- a/src/events.c +++ b/src/events.c @@ -66,6 +66,10 @@ cleanup_frame (rp_window_frame *frame) win = find_window_other (); if (win) { + maximize (win); + unhide_transient_for (win); + unhide_window (win); + if (is_transient_ancestor (frame->win, win)) { hide_transient_for_between (frame->win, win); @@ -76,10 +80,6 @@ cleanup_frame (rp_window_frame *frame) } frame->win = win; - - maximize (frame->win); - unhide_transient_for (frame->win); - unhide_window (frame->win); } else { @@ -510,6 +510,12 @@ set_active_window (rp_window *win) if (last_win) PRINT_DEBUG ("last window: %s\n", last_win->name); PRINT_DEBUG ("new window: %s\n", win->name); + /* Make sure the window comes up full screen */ + unhide_transient_for (win); + maximize (win); + unhide_window (win); + + /* Hide the last window and its transients_fors */ if (is_transient_ancestor (win, last_win)) { /* Do nothing if last_win is a transient since it should stay visible */ @@ -529,11 +535,6 @@ set_active_window (rp_window *win) } } - /* Make sure the window comes up full screen */ - unhide_transient_for (win); - maximize (win); - unhide_window (win); - give_window_focus (win, last_win); /* Make sure the program bar is always on the top */ |