From bdc10887cbb7a51c1231978806963e622619e2f9 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 17 Sep 2003 08:11:59 +0000 Subject: [PATCH] provide a way to remove all bindings --- openbox/keyboard.c | 15 ++++++++++----- openbox/keyboard.h | 1 + openbox/mouse.c | 8 ++++---- openbox/mouse.h | 5 +++-- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/openbox/keyboard.c b/openbox/keyboard.c index 8786cd2c..54de380c 100644 --- a/openbox/keyboard.c +++ b/openbox/keyboard.c @@ -98,6 +98,14 @@ void keyboard_reset_chains() } } +void keyboard_unbind_all() +{ + tree_destroy(keyboard_firstnode); + keyboard_firstnode = NULL; + grab_keys(FALSE); + curpos = NULL; +} + gboolean keyboard_bind(GList *keylist, ObAction *action) { KeyBindingTree *tree, *t; @@ -297,16 +305,13 @@ void keyboard_shutdown(gboolean reconfig) if (!reconfig) client_remove_destructor(keyboard_interactive_end_client); - tree_destroy(keyboard_firstnode); - keyboard_firstnode = NULL; - for (it = interactive_states; it; it = g_slist_next(it)) g_free(it->data); g_slist_free(interactive_states); interactive_states = NULL; ob_main_loop_timeout_remove(ob_main_loop, chain_timeout); - grab_keys(FALSE); - curpos = NULL; + + keyboard_unbind_all(); } diff --git a/openbox/keyboard.h b/openbox/keyboard.h index 95181065..be181bd7 100644 --- a/openbox/keyboard.h +++ b/openbox/keyboard.h @@ -34,6 +34,7 @@ void keyboard_startup(gboolean reconfig); void keyboard_shutdown(gboolean reconfig); gboolean keyboard_bind(GList *keylist, ObAction *action); +void keyboard_unbind_all(); void keyboard_event(struct _ObClient *client, const XEvent *e); void keyboard_reset_chains(); diff --git a/openbox/mouse.c b/openbox/mouse.c index 251251b7..703ea36b 100644 --- a/openbox/mouse.c +++ b/openbox/mouse.c @@ -128,7 +128,7 @@ static void grab_all_clients(gboolean grab) mouse_grab_for_client(it->data, grab); } -static void clearall() +void mouse_unbind_all() { int i; GSList *it; @@ -295,8 +295,8 @@ void mouse_event(ObClient *client, XEvent *e) } } -gboolean mouse_bind(char *buttonstr, char *contextstr, ObMouseAction mact, - ObAction *action) +gboolean mouse_bind(const gchar *buttonstr, const gchar *contextstr, + ObMouseAction mact, ObAction *action) { guint state, button; ObFrameContext context; @@ -347,5 +347,5 @@ void mouse_startup(gboolean reconfig) void mouse_shutdown(gboolean reconfig) { grab_all_clients(FALSE); - clearall(); + mouse_unbind_all(); } diff --git a/openbox/mouse.h b/openbox/mouse.h index f4504347..a570a16a 100644 --- a/openbox/mouse.h +++ b/openbox/mouse.h @@ -28,8 +28,9 @@ void mouse_startup(gboolean reconfig); void mouse_shutdown(gboolean reconfig); -gboolean mouse_bind(char *buttonstr, char *contextstr, ObMouseAction mact, - ObAction *action); +gboolean mouse_bind(const gchar *buttonstr, const gchar *contextstr, + ObMouseAction mact, ObAction *action); +void mouse_unbind_all(); void mouse_event(struct _ObClient *client, XEvent *e); -- 2.44.0