diff options
author | sabetts <sabetts> | 2001-06-01 11:33:51 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2001-06-01 11:33:51 +0000 |
commit | 8161a84a50dde1a2af5707b25e2130ea2819470a (patch) | |
tree | 8eaa096f92d6800f2ebfa40d8f4194613603875f /src/events.c | |
parent | 7329ec0e6d192dc8f4046e3776d5a3bc07cd3f12 (diff) | |
download | ratpoison-8161a84a50dde1a2af5707b25e2130ea2819470a.zip |
transients appear overtop of other windows
Diffstat (limited to 'src/events.c')
-rw-r--r-- | src/events.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/events.c b/src/events.c index 26edccb..bb1ddbc 100644 --- a/src/events.c +++ b/src/events.c @@ -58,12 +58,31 @@ new_window (XCreateWindowEvent *e) static void cleanup_frame (rp_window_frame *frame) { - frame->win = find_window_other (); - if (frame->win) + rp_window *win; + + win = find_window_other (); + if (win) { + if (frame->win->transient + && find_window (win->transient_for) == frame->win) + { + } + else + { + hide_transient_for (frame->win); + } + + frame->win = win; + maximize (frame->win); + unhide_transient_for (frame->win); unhide_window (frame->win); } + else + { + hide_transient_for (frame->win); + frame->win = NULL; + } } void |