diff options
author | sabetts <sabetts> | 2001-10-11 18:02:57 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2001-10-11 18:02:57 +0000 |
commit | aaffa46c3bb46d00484d934fea40233ab689f916 (patch) | |
tree | a233f4d7e8e58bc65396fb556e6cf738c8b97821 | |
parent | a3b74d6958b354593c73a601e014738c0de3e4a8 (diff) | |
download | ratpoison-aaffa46c3bb46d00484d934fea40233ab689f916.zip |
fixed a raise request rudeness malady
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | src/events.c | 30 |
3 files changed, 23 insertions, 17 deletions
@@ -1,3 +1,8 @@ +2001-10-11 shawn <sabetts@vcn.bc.ca> + + * src/events.c (configure_request): Always check the rudeness + level before honouring a raise request. + 2001-10-09 shawn <sabetts@vcn.bc.ca> * src/split.c (remove_frame): Make sure the frame attempting to @@ -1,6 +1,11 @@ ratpoison NEWS --- history of user-visible changes. -*- outline -*- * Changes since 1.0.0 +** Raise requests don't change frame focus if rudeness doesn't allow it +If a window in another frame requests to be raised, a message pops up +just like everywhere else. The old behavior was to jump focus to the +windows frame regardless of the rudeness. + ** New windows formatting option %l Prints a last access number. The higher the number, the more recently the window was accessed. diff --git a/src/events.c b/src/events.c index dfd4f0b..1421b2d 100644 --- a/src/events.c +++ b/src/events.c @@ -258,28 +258,24 @@ configure_request (XConfigureRequestEvent *e) { /* Depending on the rudeness level, actually map the window. */ - if (win->state == IconicState) + if ((rp_honour_transient_raise && win->transient) + || (rp_honour_normal_raise && !win->transient)) { - if ((rp_honour_transient_raise && win->transient) - || (rp_honour_normal_raise && !win->transient)) - { - set_active_window (win); - } - else - { - if (win->transient) - marked_message_printf (0, 0, MESSAGE_RAISE_TRANSIENT, - win->number, window_name (win)); - else - marked_message_printf (0, 0, MESSAGE_RAISE_WINDOW, - win->number, window_name (win)); - } + if (win->state == IconicState) + set_active_window (win); + else if (find_windows_frame (win)) + goto_window (win); } else { - if (find_windows_frame (win)) - goto_window (win); + if (win->transient) + marked_message_printf (0, 0, MESSAGE_RAISE_TRANSIENT, + win->number, window_name (win)); + else + marked_message_printf (0, 0, MESSAGE_RAISE_WINDOW, + win->number, window_name (win)); } + } PRINT_DEBUG("request CWStackMode %d\n", e->detail); |