From a19f2f8bc9964b89a500a2c5aac0b8d3a3dc2ff4 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sat, 2 Feb 2008 22:17:32 -0500 Subject: when focusing or raising a window which is modal child for a direct parent, raise its parent and move it to the top of the stacking order too, ie. treat them like one window (this is already done elsewhere, like when moving between desktops for example) --- openbox/focus.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'openbox/focus.c') diff --git a/openbox/focus.c b/openbox/focus.c index a4eb2cfa..c2d7e11e 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -57,6 +57,14 @@ void focus_shutdown(gboolean reconfig) static void push_to_top(ObClient *client) { + ObClient *p; + + /* if it is modal for a single window, then put that window at the top + of the focus order first, so it will be right after ours. the same is + done with stacking */ + if (client->modal && (p = client_direct_parent(client))) + push_to_top(p); + focus_order = g_list_remove(focus_order, client); focus_order = g_list_prepend(focus_order, client); } -- cgit v1.2.3