]> Dogcows Code - chaz/openbox/blobdiff - plugins/keyboard/keyboard.c
changes to the timer api, pass the timer to the callback function.
[chaz/openbox] / plugins / keyboard / keyboard.c
index 0fc43e83e1d72c00554dfb4d3c135bee8e020fba..1597b06376aa74cdf233f1dd838ad0632f36e526 100644 (file)
@@ -1,4 +1,5 @@
 #include "kernel/focus.h"
+#include "kernel/screen.h"
 #include "kernel/frame.h"
 #include "kernel/dispatch.h"
 #include "kernel/openbox.h"
@@ -68,7 +69,7 @@ static void parse_key(xmlDocPtr doc, xmlNodePtr node, GList *keylist)
 
 static void parse_xml(xmlDocPtr doc, xmlNodePtr node, void *d)
 {
-    parse_key(doc, node, NULL);
+    parse_key(doc, node->xmlChildrenNode, NULL);
 }
 
 void plugin_setup_config()
@@ -103,7 +104,7 @@ static void grab_keys(gboolean grab)
 {
     GList *it;
 
-    grab_for_window(focus_backup, grab);
+    grab_for_window(screen_support_win, grab);
     for (it = client_list; it; it = g_list_next(it))
         grab_for_window(((ObClient*)it->data)->frame->window, grab);
 }
@@ -120,7 +121,7 @@ static void reset_chains()
     }
 }
 
-static void chain_timeout(void *data)
+static void chain_timeout(ObTimer *t, void *data)
 {
     reset_chains();
 }
@@ -145,7 +146,7 @@ gboolean kbind(GList *keylist, Action *action)
     while (t->first_child) t = t->first_child;
 
     if (conflict) {
-        g_message("conflict with binding");
+        g_warning("conflict with binding");
         tree_destroy(tree);
         return FALSE;
     }
@@ -238,11 +239,21 @@ static void event(ObEvent *e, void *foo)
                                 act->data.cycle.cancel = FALSE;
                             }
 
+                            if (act->func == action_moveresize) {
+                                screen_pointer_pos(&act->data.moveresize.x,
+                                                   &act->data.moveresize.y);
+                            }
+
                             if (act->func == action_cycle_windows &&
                                 !grabbed_key && grab_keyboard(TRUE)) {
                                 grabbed_key = p;
                             }
 
+                            if (act->func == action_showmenu) {
+                                act->data.showmenu.x = e->data.x.e->xkey.x_root;
+                                act->data.showmenu.y = e->data.x.e->xkey.y_root;
+                            }
+
                             act->data.any.c = focus_client;
                             act->func(&act->data);
                         }
This page took 0.024329 seconds and 4 git commands to generate.