Revert all commits for the Hooks feature to move it to a topic branch.
authorDana Jansens <danakj@orodu.net>
Sat, 21 Nov 2009 18:34:33 +0000 (13:34 -0500)
committerDana Jansens <danakj@orodu.net>
Sat, 21 Nov 2009 18:56:55 +0000 (13:56 -0500)
This reverts commit fd2f617be7ff57fcb187daa737f66d243544c8cd.
This reverts commit a47d0a53652a96ca1df96fc9268757df1431ae55.
This reverts commit a1908e076736e1a618bd305c5963dbfecaa30497.
This reverts commit dc2e6f6bf7143a56de360a393b33906735e63625.
This reverts commit 985e7dadf9a3ebf4bd265d955c3198e96405e5d2.
This reverts commit db781556d63d1a50bd1b1b4b6b5423ef703bf2c7.
This reverts commit feec8f663f0a11546c2da87575fecc8a88d97ca1.

Makefile.am
openbox/client.c
openbox/config.c
openbox/event.c
openbox/event.h
openbox/focus.c
openbox/hooks.c [deleted file]
openbox/hooks.h [deleted file]
openbox/misc.h
openbox/openbox.c
openbox/screen.c

index 0c1b9b0..3cd5bf9 100644 (file)
@@ -241,8 +241,6 @@ openbox_openbox_SOURCES = \
        openbox/grab.h \
        openbox/group.c \
        openbox/group.h \
-       openbox/hooks.c \
-       openbox/hooks.h \
        openbox/keyboard.c \
        openbox/keyboard.h \
        openbox/keytree.c \
index 5bf22fb..060499b 100644 (file)
@@ -33,7 +33,6 @@
 #include "focus.h"
 #include "stacking.h"
 #include "openbox.h"
-#include "hooks.h"
 #include "group.h"
 #include "config.h"
 #include "menuframe.h"
@@ -585,8 +584,6 @@ void client_manage(Window window, ObPrompt *prompt)
 
     ob_debug("Managed window 0x%lx plate 0x%x (%s)",
              window, self->frame->window, self->class);
-
-    hooks_queue(OB_HOOK_WIN_NEW, self);
 }
 
 ObClient *client_fake_manage(Window window)
@@ -661,9 +658,6 @@ void client_unmanage(ObClient *self)
     if (!self->prompt)
         XChangeSaveSet(obt_display, self->window, SetModeDelete);
 
-    /* this can't be queued to run later */
-    hooks_run(OB_HOOK_WIN_CLOSE, self);
-
     /* update the focus lists */
     focus_order_remove(self);
     if (client_focused(self)) {
@@ -2546,8 +2540,6 @@ gboolean client_show(ObClient *self)
            desktop!
         */
         client_change_wm_state(self);
-
-        hooks_queue(OB_HOOK_WIN_VISIBLE, self);
     }
     return show;
 }
@@ -2586,8 +2578,6 @@ gboolean client_hide(ObClient *self)
            desktop!
         */
         client_change_wm_state(self);
-
-        hooks_queue(OB_HOOK_WIN_INVISIBLE, self);
     }
     return hide;
 }
@@ -3181,9 +3171,6 @@ static void client_iconify_recursive(ObClient *self,
             frame_begin_iconify_animation(self->frame, iconic);
         /* do this after starting the animation so it doesn't flash */
         client_showhide(self);
-
-        hooks_queue((iconic ? OB_HOOK_WIN_ICONIC : OB_HOOK_WIN_UNICONIC),
-                    self);
     }
 
     /* iconify all direct transients, and deiconify all transients
@@ -3271,8 +3258,6 @@ void client_maximize(ObClient *self, gboolean max, gint dir)
 
     client_setup_decor_and_functions(self, FALSE);
     client_move_resize(self, x, y, w, h);
-
-    hooks_queue((max ? OB_HOOK_WIN_MAX : OB_HOOK_WIN_UNMAX), self);
 }
 
 void client_shade(ObClient *self, gboolean shade)
@@ -3286,8 +3271,6 @@ void client_shade(ObClient *self, gboolean shade)
     client_change_wm_state(self); /* the window is being hidden/shown */
     /* resize the frame to just the titlebar */
     frame_adjust_area(self->frame, FALSE, TRUE, FALSE);
-
-    hooks_queue((shade ? OB_HOOK_WIN_SHADE : OB_HOOK_WIN_UNSHADE), self);
 }
 
 static void client_ping_event(ObClient *self, gboolean dead)
@@ -3499,9 +3482,6 @@ static void client_set_desktop_recursive(ObClient *self,
             /* the new desktop's geometry may be different, so we may need to
                resize, for example if we are maximized */
             client_reconfigure(self, FALSE);
-
-        if (old != self->desktop)
-            hooks_queue(OB_HOOK_WIN_DESK_CHANGE, self);
     }
 
     /* move all transients */
@@ -3928,9 +3908,6 @@ void client_set_undecorated(ObClient *self, gboolean undecorated)
         self->undecorated = undecorated;
         client_setup_decor_and_functions(self, TRUE);
         client_change_state(self); /* reflect this in the state hints */
-
-        hooks_queue((undecorated ?
-                     OB_HOOK_WIN_UNDECORATED : OB_HOOK_WIN_DECORATED), self);
     }
 }
 
index 9e111b8..5c0691c 100644 (file)
@@ -22,7 +22,6 @@
 #include "mouse.h"
 #include "actions.h"
 #include "translate.h"
-#include "hooks.h"
 #include "client.h"
 #include "screen.h"
 #include "openbox.h"
@@ -345,47 +344,6 @@ static void parse_per_app_settings(xmlNodePtr node, gpointer d)
     }
 }
 
-static void parse_hook(xmlNodePtr node, gpointer d)
-{
-    gchar *name;
-    ObHook hook;
-    xmlNodePtr n;
-
-
-    if (!obt_parse_attr_string(node, "name", &name)) {
-        g_message(_("Hook in config file is missing a name"));
-        return;
-    }
-
-    hook = hooks_hook_from_name(name);
-    if (!hook)
-        g_message(_("Unknown hook \"%s\" in config file"), name);
-    else {
-        if ((n = obt_parse_find_node(node->children, "action")))
-            while (n) {
-                ObActionsAct *action;
-
-                action = actions_parse(n);
-                if (action)
-                    hooks_add(hook, action);
-                n = obt_parse_find_node(n->next, "action");
-            }
-    }
-
-    g_free(name);
-}
-
-static void parse_hooks(xmlNodePtr node, gpointer d)
-{
-    xmlNodePtr n;
-
-    if ((n = obt_parse_find_node(node->children, "hook")))
-        while (n) {
-            parse_hook(n, NULL);
-            n = obt_parse_find_node(n->next, "hook");
-        }
-}
-
 /*
 
 <keybind key="C-x">
@@ -1039,8 +997,6 @@ void config_startup(ObtParseInst *i)
 
     obt_parse_register(i, "menu", parse_menu, NULL);
 
-    obt_parse_register(i, "hooks", parse_hooks, NULL);
-
     config_per_app_settings = NULL;
 
     obt_parse_register(i, "applications", parse_per_app_settings, NULL);
index 2c73289..e4292cb 100644 (file)
@@ -33,7 +33,6 @@
 #include "menuframe.h"
 #include "keyboard.h"
 #include "mouse.h"
-#include "hooks.h"
 #include "focus.h"
 #include "focus_cycle.h"
 #include "moveresize.h"
@@ -743,11 +742,6 @@ static void event_process(const XEvent *ec, gpointer data)
              e->type == MotionNotify)
         event_handle_user_input(client, e);
 
-    XFlush(obt_display);
-
-    /* run all the hooks at once */
-    hooks_run_queue();
-
     /* if something happens and it's not from an XEvent, then we don't know
        the time */
     event_curtime = CurrentTime;
@@ -1916,16 +1910,11 @@ static void event_handle_user_input(ObClient *client, XEvent *e)
             if (!client || !frame_iconify_animating(client->frame))
                 mouse_event(client, e);
         } else
-            keyboard_event(event_target_client(client), e);
+            keyboard_event((focus_cycle_target ? focus_cycle_target :
+                            (client ? client : focus_client)), e);
     }
 }
 
-ObClient* event_target_client(ObClient *client)
-{
-    return (focus_cycle_target ? focus_cycle_target :
-            (client ? client : focus_client));
-}
-
 static void focus_delay_dest(gpointer data)
 {
     g_free(data);
index fb8bb07..4fd7286 100644 (file)
@@ -64,8 +64,4 @@ gboolean event_time_after(guint32 t1, guint32 t2);
 
 Time event_get_server_time(void);
 
-/*! Given a possible target client, returns what the target client really
-  should be for actions */
-struct _ObClient* event_target_client(struct _ObClient *client);
-
 #endif
index baf88e8..2af0da9 100644 (file)
@@ -27,7 +27,6 @@
 #include "focus_cycle.h"
 #include "screen.h"
 #include "keyboard.h"
-#include "hooks.h"
 #include "focus.h"
 #include "stacking.h"
 #include "obt/prop.h"
@@ -73,7 +72,6 @@ static void push_to_top(ObClient *client)
 void focus_set_client(ObClient *client)
 {
     Window active;
-    ObClient *old;
 
     ob_debug_type(OB_DEBUG_FOCUS,
                   "focus_set_client 0x%lx", client ? client->window : 0);
@@ -89,7 +87,6 @@ void focus_set_client(ObClient *client)
     focus_cycle_stop(focus_client);
     focus_cycle_stop(client);
 
-    old = focus_client;
     focus_client = client;
 
     if (client != NULL) {
@@ -104,9 +101,6 @@ void focus_set_client(ObClient *client)
         active = client ? client->window : None;
         OBT_PROP_SET32(obt_root(ob_screen), NET_ACTIVE_WINDOW, WINDOW, active);
     }
-
-    hooks_queue(OB_HOOK_WIN_UNFOCUS, old);
-    hooks_queue(OB_HOOK_WIN_FOCUS, client);
 }
 
 static ObClient* focus_fallback_target(gboolean allow_refocus,
diff --git a/openbox/hooks.c b/openbox/hooks.c
deleted file mode 100644 (file)
index 53586db..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#include "hooks.h"
-#include "actions.h"
-#include "client.h"
-#include "focus.h"
-#include "debug.h"
-#include "obt/display.h"
-
-#include <glib.h>
-
-static GSList *hooks[OB_NUM_HOOKS];
-static const gchar *names[OB_NUM_HOOKS];
-
-typedef struct {
-    ObHook hook;
-    struct _ObClient *client;
-} ObHookQueue;
-
-#define QUEUE_SIZE 20
-ObHookQueue run_queue[QUEUE_SIZE];
-gint        queue_size;
-
-void hooks_startup(gboolean reconfig)
-{
-    gint i;
-
-    for (i = 0; i < OB_NUM_HOOKS; ++i)
-        hooks[i] = NULL;
-
-    queue_size = 0;
-
-    names[OB_HOOK_WIN_NEW] = "WindowNew";
-    names[OB_HOOK_WIN_CLOSE] = "WindowClosed";
-    names[OB_HOOK_WIN_VISIBLE] = "WindowVisible";
-    names[OB_HOOK_WIN_INVISIBLE] = "WindowInvisible";
-    names[OB_HOOK_WIN_ICONIC] = "WindowIconified";
-    names[OB_HOOK_WIN_UNICONIC] = "WindowUniconified";
-    names[OB_HOOK_WIN_MAX] = "WindowMaximized";
-    names[OB_HOOK_WIN_UNMAX] = "WindowUnmaximized";
-    names[OB_HOOK_WIN_SHADE] = "WindowShaded";
-    names[OB_HOOK_WIN_UNSHADE] = "WindowUnshaded";
-    names[OB_HOOK_WIN_FOCUS] = "WindowFocused";
-    names[OB_HOOK_WIN_UNFOCUS] = "WindowUnfocused";
-    names[OB_HOOK_WIN_DESK_CHANGE] = "WindowOnNewDesktop";
-    names[OB_HOOK_WIN_DECORATED] = "WindowDecorated";
-    names[OB_HOOK_WIN_UNDECORATED] = "WindowUndecorated";
-    names[OB_HOOK_SCREEN_DESK_CHANGE] = "DesktopChanged";
-}
-
-void hooks_shutdown(gboolean reconfig)
-{
-    gint i;
-
-    for (i = 0; i < OB_NUM_HOOKS; ++i)
-        while (hooks[i]) {
-            actions_act_unref(hooks[i]->data);
-            hooks[i] = g_slist_delete_link(hooks[i], hooks[i]);
-        }
-}
-
-ObHook hooks_hook_from_name(const gchar *n)
-{
-    gint i;
-
-    for (i = 1; i < OB_NUM_HOOKS; ++i)
-        if (!g_ascii_strcasecmp(n, names[i]))
-            return (ObHook)i;
-    return OB_HOOK_INVALID;
-}
-
-void hooks_queue(ObHook hook, struct _ObClient *client)
-{
-    ObHookQueue *q;
-
-    g_assert(hook < OB_NUM_HOOKS && hook > OB_HOOK_INVALID);
-
-    //ob_debug("Queing hook %s for client 0x%x", names[hook],
-    //         (client ? client->window : 0));
-    q = &run_queue[queue_size++];
-    q->hook = hook;
-    q->client = client;
-
-    if (queue_size == QUEUE_SIZE)
-        /* queue is full */
-        hooks_run_queue();
-}
-
-void hooks_run(ObHook hook, struct _ObClient *c)
-{
-    hooks_queue(hook, c);
-    hooks_run_queue();
-}
-
-void hooks_add(ObHook hook, struct _ObActionsAct *act)
-{
-    g_assert(hook < OB_NUM_HOOKS && hook > OB_HOOK_INVALID);
-
-    /* append so they are executed in the same order as they appear in the
-       config file */
-    hooks[hook] = g_slist_append(hooks[hook], act);
-}
-
-void hooks_run_queue(void)
-{
-    gint i;
-
-    for (i = 0; i < queue_size; ++i) {
-        const ObHookQueue *q = &run_queue[i];
-
-        //ob_debug("Running hook %s for client 0x%x", names[q->hook],
-        //         (q->client ? q->client->window : 0));
-        actions_run_acts(hooks[q->hook],
-                         OB_USER_ACTION_HOOK,
-                         0, -1, -1, 0,
-                         OB_FRAME_CONTEXT_NONE,
-                         q->client);
-    }
-    queue_size = 0;
-}
diff --git a/openbox/hooks.h b/openbox/hooks.h
deleted file mode 100644 (file)
index 322f952..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef ob__hooks_h
-#define ob__hooks_h
-
-#include <glib.h>
-
-struct _ObActionsAct;
-struct _ObClient;
-
-typedef enum {
-    OB_HOOK_INVALID,
-    OB_HOOK_WIN_NEW,
-    OB_HOOK_WIN_CLOSE,
-    OB_HOOK_WIN_VISIBLE,
-    OB_HOOK_WIN_INVISIBLE,
-    OB_HOOK_WIN_ICONIC,
-    OB_HOOK_WIN_UNICONIC,
-    OB_HOOK_WIN_MAX,
-    OB_HOOK_WIN_UNMAX,
-    OB_HOOK_WIN_SHADE,
-    OB_HOOK_WIN_UNSHADE,
-    OB_HOOK_WIN_FOCUS,
-    OB_HOOK_WIN_UNFOCUS,
-    OB_HOOK_WIN_DESK_CHANGE,
-    OB_HOOK_WIN_DECORATED,
-    OB_HOOK_WIN_UNDECORATED,
-    OB_HOOK_SCREEN_DESK_CHANGE,
-    OB_NUM_HOOKS
-} ObHook;
-
-void hooks_startup(gboolean reconfig);
-void hooks_shutdown(gboolean reconfig);
-
-ObHook hooks_hook_from_name(const gchar *n);
-
-void hooks_queue(ObHook hook, struct _ObClient *c);
-void hooks_run(ObHook hook, struct _ObClient *c);
-
-void hooks_add(ObHook hook, struct _ObActionsAct *act);
-
-void hooks_run_queue(void);
-
-#endif
index 05b5ac8..c1ec407 100644 (file)
@@ -108,7 +108,6 @@ typedef enum {
     OB_USER_ACTION_MOUSE_DOUBLE_CLICK,
     OB_USER_ACTION_MOUSE_MOTION,
     OB_USER_ACTION_MENU_SELECTION,
-    OB_USER_ACTION_HOOK,
     OB_NUM_USER_ACTIONS
 } ObUserAction;
 
index dd8ba12..e912c64 100644 (file)
@@ -42,7 +42,6 @@
 #include "config.h"
 #include "ping.h"
 #include "prompt.h"
-#include "hooks.h"
 #include "gettext.h"
 #include "render/render.h"
 #include "render/theme.h"
@@ -235,7 +234,6 @@ gint main(gint argc, gchar **argv)
 
                 /* register all the available actions */
                 actions_startup(reconfigure);
-                hooks_startup(reconfigure);
                 /* start up config which sets up with the parser */
                 config_startup(i);
 
@@ -401,7 +399,6 @@ gint main(gint argc, gchar **argv)
             sn_shutdown(reconfigure);
             event_shutdown(reconfigure);
             config_shutdown();
-            hooks_shutdown(reconfigure);
             actions_shutdown(reconfigure);
         } while (reconfigure);
     }
index 6aecaa0..be9f8fb 100644 (file)
@@ -31,7 +31,6 @@
 #include "event.h"
 #include "focus.h"
 #include "popup.h"
-#include "hooks.h"
 #include "render/render.h"
 #include "gettext.h"
 #include "obt/display.h"
@@ -719,8 +718,6 @@ void screen_set_desktop(guint num, gboolean dofocus)
 
     if (event_curtime != CurrentTime)
         screen_desktop_user_time = event_curtime;
-
-    hooks_queue(OB_HOOK_SCREEN_DESK_CHANGE, NULL);
 }
 
 void screen_add_desktop(gboolean current)