summaryrefslogtreecommitdiff
path: root/openbox/actions.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-06-22 14:24:23 +0000
committerDana Jansens <danakj@orodu.net>2007-06-22 14:24:23 +0000
commita07465f376b0a33270532501127ec812efe2c2b2 (patch)
tree43af75958d6e3f7b9a7e36c1ece9cd3e09d2302c /openbox/actions.c
parent6c5f6ed1f5d501c79977a55c0f2430ebdd32ef6c (diff)
add raise action
Diffstat (limited to 'openbox/actions.c')
-rw-r--r--openbox/actions.c32
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);
+ }
+ }
+ }
+}