X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=plugins%2Fkeyboard%2Fkeyboard.c;h=a583a2e6218f95a1e2affcceb2e53dff6e9c8204;hb=62f1473c651a564391e53548e0cb7daa5303776d;hp=0fc43e83e1d72c00554dfb4d3c135bee8e020fba;hpb=85112c4d0831067251de1295fbb6974db94af2ba;p=chaz%2Fopenbox diff --git a/plugins/keyboard/keyboard.c b/plugins/keyboard/keyboard.c index 0fc43e83..a583a2e6 100644 --- a/plugins/keyboard/keyboard.c +++ b/plugins/keyboard/keyboard.c @@ -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); } @@ -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); }