diff options
| author | Dana Jansens <danakj@orodu.net> | 2009-11-21 13:34:33 -0500 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2009-11-21 13:56:55 -0500 |
| commit | c828154886a40fa48b0545fd5d22e277f6d210e9 (patch) | |
| tree | 5244d4a5acc0166260eaa81c6258ac3c2a41fae9 /openbox | |
| parent | fa0ae17adbc8f73b707c33836d37841e81b9303a (diff) | |
Revert all commits for the Hooks feature to move it to a topic branch.
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.
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/client.c | 23 | ||||
| -rw-r--r-- | openbox/config.c | 44 | ||||
| -rw-r--r-- | openbox/event.c | 15 | ||||
| -rw-r--r-- | openbox/event.h | 4 | ||||
| -rw-r--r-- | openbox/focus.c | 6 | ||||
| -rw-r--r-- | openbox/hooks.c | 118 | ||||
| -rw-r--r-- | openbox/hooks.h | 42 | ||||
| -rw-r--r-- | openbox/misc.h | 1 | ||||
| -rw-r--r-- | openbox/openbox.c | 3 | ||||
| -rw-r--r-- | openbox/screen.c | 3 |
10 files changed, 2 insertions, 257 deletions
diff --git a/openbox/client.c b/openbox/client.c index 5bf22fb7..060499b0 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -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); } } diff --git a/openbox/config.c b/openbox/config.c index 9e111b84..5c0691ca 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -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); diff --git a/openbox/event.c b/openbox/event.c index 2c73289e..e4292cbb 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -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); diff --git a/openbox/event.h b/openbox/event.h index fb8bb075..4fd72865 100644 --- a/openbox/event.h +++ b/openbox/event.h @@ -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 diff --git a/openbox/focus.c b/openbox/focus.c index baf88e81..2af0da9c 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -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 index 53586db8..00000000 --- a/openbox/hooks.c +++ /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 index 322f952d..00000000 --- a/openbox/hooks.h +++ /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 diff --git a/openbox/misc.h b/openbox/misc.h index 05b5ac85..c1ec4075 100644 --- a/openbox/misc.h +++ b/openbox/misc.h @@ -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; diff --git a/openbox/openbox.c b/openbox/openbox.c index dd8ba12d..e912c64c 100644 --- a/openbox/openbox.c +++ b/openbox/openbox.c @@ -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); } diff --git a/openbox/screen.c b/openbox/screen.c index 6aecaa05..be9f8fb7 100644 --- a/openbox/screen.c +++ b/openbox/screen.c @@ -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) |
