summaryrefslogtreecommitdiff
path: root/openbox/actions/activate.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-06-22 14:09:57 +0000
committerDana Jansens <danakj@orodu.net>2007-06-22 14:09:57 +0000
commit6c5f6ed1f5d501c79977a55c0f2430ebdd32ef6c (patch)
treea597f90dd3de04e455a0942f79307dcb65428caa /openbox/actions/activate.c
parentd642be361fde438e2b29b7374b4d6465f47ad9e9 (diff)
remove the activate action, make the focus action "activate" but not raise or unshade
Diffstat (limited to 'openbox/actions/activate.c')
-rw-r--r--openbox/actions/activate.c70
1 files changed, 0 insertions, 70 deletions
diff --git a/openbox/actions/activate.c b/openbox/actions/activate.c
deleted file mode 100644
index c3f3f98e..00000000
--- a/openbox/actions/activate.c
+++ /dev/null
@@ -1,70 +0,0 @@
-#include "openbox/actions.h"
-#include "openbox/event.h"
-#include "openbox/client.h"
-#include "openbox/focus.h"
-
-typedef struct {
- gboolean here;
- gboolean raise;
- gboolean unshade;
-} Options;
-
-static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
-static void free_func(gpointer options);
-static gboolean run_func(ObActionsData *data, gpointer options);
-
-void action_activate_startup()
-{
- actions_register("Activate",
- setup_func,
- free_func,
- run_func,
- NULL, NULL);
-}
-
-static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
-{
- xmlNodePtr n;
- Options *o;
-
- o = g_new0(Options, 1);
- o->raise = TRUE;
- o->unshade = TRUE;
-
- if ((n = parse_find_node("here", node)))
- o->here = parse_bool(doc, n);
- if ((n = parse_find_node("raise", node)))
- o->raise = parse_bool(doc, n);
- if ((n = parse_find_node("unshade", node)))
- o->unshade = parse_bool(doc, n);
- return o;
-}
-
-static void free_func(gpointer options)
-{
- Options *o = options;
-
- g_free(o);
-}
-
-/* Always return FALSE because its not interactive */
-static gboolean run_func(ObActionsData *data, gpointer options)
-{
- Options *o = options;
-
- if (data->client) {
- if (data->button == 0 || client_mouse_focusable(data->client) ||
- data->context != OB_FRAME_CONTEXT_CLIENT ||
- data->context != OB_FRAME_CONTEXT_FRAME)
- {
- client_activate(data->client, o->here, o->raise, o->unshade, TRUE);
- }
- } else {
- /* focus action on something other than a client, make keybindings
- work for this openbox instance, but don't focus any specific client
- */
- focus_nothing();
- }
-
- return FALSE;
-}