]> Dogcows Code - chaz/openbox/blobdiff - openbox/keyboard.c
dont reparse the config file when the keyboard map changes. just rebind everything...
[chaz/openbox] / openbox / keyboard.c
index 0aade9ab25459e38f99517d91e27f677fd217d82..eddda577c6f113e878263d320ee43aad8e4f9fc6 100644 (file)
@@ -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()
+{
+    tree_rebind(keyboard_firstnode);
+    grab_keys(TRUE);
+}
+
 void keyboard_startup(gboolean reconfig)
 {
     grab_keys(TRUE);
This page took 0.023868 seconds and 4 git commands to generate.