summaryrefslogtreecommitdiff
path: root/openbox/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbox/keyboard.c')
-rw-r--r--openbox/keyboard.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/openbox/keyboard.c b/openbox/keyboard.c
index 0aade9ab..4c570dfb 100644
--- a/openbox/keyboard.c
+++ b/openbox/keyboard.c
@@ -51,8 +51,9 @@ static void grab_keys(gboolean grab)
if (grab) {
p = curpos ? curpos->first_child : keyboard_firstnode;
while (p) {
- grab_key(p->key, p->state, RootWindow(ob_display, ob_screen),
- GrabModeAsync);
+ if (p->key)
+ grab_key(p->key, p->state, RootWindow(ob_display, ob_screen),
+ GrabModeAsync);
p = p->next_sibling;
}
if (curpos)
@@ -264,6 +265,12 @@ void keyboard_event(ObClient *client, const XEvent *e)
}
}
+void keyboard_rebind(void)
+{
+ tree_rebind(keyboard_firstnode);
+ grab_keys(TRUE);
+}
+
void keyboard_startup(gboolean reconfig)
{
grab_keys(TRUE);