diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-06-22 14:24:23 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-06-22 14:24:23 +0000 |
| commit | a07465f376b0a33270532501127ec812efe2c2b2 (patch) | |
| tree | 43af75958d6e3f7b9a7e36c1ece9cd3e09d2302c /openbox/actions.c | |
| parent | 6c5f6ed1f5d501c79977a55c0f2430ebdd32ef6c (diff) | |
add raise action
Diffstat (limited to 'openbox/actions.c')
| -rw-r--r-- | openbox/actions.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/openbox/actions.c b/openbox/actions.c index a4308e62..67dc3d31 100644 --- a/openbox/actions.c +++ b/openbox/actions.c @@ -20,6 +20,10 @@ #include "gettext.h" #include "grab.h" #include "screen.h" +#include "event.h" +#include "config.h" +#include "client.h" +#include "debug.h" #include "actions/all.h" @@ -307,3 +311,31 @@ gboolean actions_interactive_input_event(XEvent *e) } return used; } + +void actions_client_move(ObActionsData *data, gboolean start) +{ + static gulong ignore_start = 0; + if (start) + ignore_start = event_start_ignore_all_enters(); + else if (config_focus_follow && + data->context != OB_FRAME_CONTEXT_CLIENT) + { + if (!data->button && data->client && !config_focus_under_mouse) + event_end_ignore_all_enters(ignore_start); + else { + struct _ObClient *c; + + /* usually this is sorta redundant, but with a press action + that moves windows our from under the cursor, the enter + event will come as a GrabNotify which is ignored, so this + makes a fake enter event + */ + if ((c = client_under_pointer()) && c != data->client) { + ob_debug_type(OB_DEBUG_FOCUS, + "Generating fake enter because we did a " + "mouse-event action"); + event_enter_client(c); + } + } + } +} |
