let windows that cant iconify still iconify with their parents, but not non-normal windows. let you focus windows that wouldnt normally by clicking on their decor (if they have any)
Dana Jansens danakj@orodu.net
3 files changed,
12 insertions(+),
5 deletions(-)
M
openbox/action.c
→
openbox/action.c
@@ -1199,7 +1199,9 @@
void action_activate(union ActionData *data) { if (data->client.any.c) { - if (!data->any.button || client_mouse_focusable(data->client.any.c)) { + if (!data->any.button || client_mouse_focusable(data->client.any.c) || + data->any.context != OB_FRAME_CONTEXT_CLIENT) + { /* if using focus_delay, stop the timer now so that focus doesn't go moving on us */ event_halt_focus_delay();@@ -1217,7 +1219,9 @@
void action_focus(union ActionData *data) { if (data->client.any.c) { - if (!data->any.button || client_mouse_focusable(data->client.any.c)) { + if (!data->any.button || client_mouse_focusable(data->client.any.c) || + data->any.context != OB_FRAME_CONTEXT_CLIENT) + { /* if using focus_delay, stop the timer now so that focus doesn't go moving on us */ event_halt_focus_delay();
M
openbox/client.c
→
openbox/client.c
@@ -2814,7 +2814,9 @@ ob_debug("%sconifying window: 0x%lx\n", (iconic ? "I" : "Uni"),
self->window); if (iconic) { - if (self->functions & OB_CLIENT_FUNC_ICONIFY) { + /* don't let non-normal windows iconify along with their parents + or whatever */ + if (client_normal(self)) { self->iconic = iconic; /* update the focus lists.. iconic windows go to the bottom of
M
openbox/client.h
→
openbox/client.h
@@ -339,8 +339,9 @@ (utilty, menu, etc) */
gboolean client_helper(ObClient *self); /*! Return if the client is a type which should be given focus from mouse - actions like button presses. This doesn't count for focus cycling, different - rules apply to that. */ + presses on the *client* window. This doesn't affect clicking on the + decorations. This doesn't count for focus cycling, different rules apply to + that. */ gboolean client_mouse_focusable(ObClient *self); /*! Return if the client is a type which should be given focus from the