summaryrefslogtreecommitdiff
path: root/src/events.c
diff options
context:
space:
mode:
authorsabetts <sabetts>2005-04-17 16:39:45 +0000
committersabetts <sabetts>2005-04-17 16:39:45 +0000
commitd91136073725f69fc2529fe7407b3767eed7af42 (patch)
tree7e8a2ef58d03fb846652d61a61b3330622a1b8e5 /src/events.c
parent4a8f59504e36145ecf41e4fc1e8d247666a0c591 (diff)
downloadratpoison-d91136073725f69fc2529fe7407b3767eed7af42.zip
* src/messages.h (MESSAGE_RAISE_TRANSIENT_GROUP): new define
(MESSAGE_RAISE_WINDOW_GROUP): likewise * src/group.h (groups_find_group_by_window): new prototype * src/group.c (groups_find_group_by_window): new function. * src/events.c (show_rudeness_raise_msg): new function (map_request): call show_rudeness_raise_msg (configure_request): likewise
Diffstat (limited to 'src/events.c')
-rw-r--r--src/events.c41
1 files changed, 27 insertions, 14 deletions
diff --git a/src/events.c b/src/events.c
index 5921244..b190bc6 100644
--- a/src/events.c
+++ b/src/events.c
@@ -42,6 +42,31 @@
action.c which need to forward events to other windows. */
XEvent rp_current_event;
+void
+show_rudeness_raise_msg (rp_window *win)
+{
+ rp_group *g = groups_find_group_by_window (win);
+ rp_window_elem *elem = group_find_window (&g->mapped_windows, win);
+ if (g == rp_current_group)
+ {
+ if (win->transient)
+ marked_message_printf (0, 0, MESSAGE_RAISE_TRANSIENT,
+ elem->number, window_name (win));
+ else
+ marked_message_printf (0, 0, MESSAGE_RAISE_WINDOW,
+ elem->number, window_name (win));
+ }
+ else
+ {
+ if (win->transient)
+ marked_message_printf (0, 0, MESSAGE_RAISE_TRANSIENT_GROUP,
+ elem->number, window_name (win), g->name);
+ else
+ marked_message_printf (0, 0, MESSAGE_RAISE_WINDOW_GROUP,
+ elem->number, window_name (win), g->name);
+ }
+}
+
static void
new_window (XCreateWindowEvent *e)
{
@@ -171,14 +196,7 @@ map_request (XEvent *ev)
|| (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));
- }
+ show_rudeness_raise_msg (win);
}
break;
}
@@ -250,12 +268,7 @@ configure_request (XConfigureRequestEvent *e)
}
else if (current_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));
+ show_rudeness_raise_msg (win);
}
}