X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fkeyboard.c;h=d9ec4f88733d67e2ad43c908df77d043b37d9c78;hb=314c0566371d83305d723c883884555a24cc0ad8;hp=e62f5011292a21456533ce6777cb482a9af65d76;hpb=220e568d75eaad436be403cd66d4e47d31d42392;p=chaz%2Fopenbox diff --git a/openbox/keyboard.c b/openbox/keyboard.c index e62f5011..d9ec4f88 100644 --- a/openbox/keyboard.c +++ b/openbox/keyboard.c @@ -25,7 +25,7 @@ #include "event.h" #include "grab.h" #include "client.h" -#include "action.h" +#include "actions.h" #include "prop.h" #include "menuframe.h" #include "config.h" @@ -42,7 +42,7 @@ typedef struct { gboolean active; guint state; ObClient *client; - ObAction *action; + ObActionsAct *action; } ObInteractiveState; KeyBindingTree *keyboard_firstnode = NULL; @@ -98,11 +98,12 @@ static void set_curpos(KeyBindingTree *newpos) g_free(oldtext); } - a = screen_physical_area_monitor_active(); + a = screen_physical_area_active(); popup_position(popup, NorthWestGravity, a->x + 10, a->y + 10); /* 1 second delay for the popup to show */ popup_delay_show(popup, G_USEC_PER_SEC, text); g_free(text); + g_free(a); } else { popup_hide(popup); } @@ -141,7 +142,7 @@ void keyboard_chroot(GList *keylist) } } -gboolean keyboard_bind(GList *keylist, ObAction *action) +gboolean keyboard_bind(GList *keylist, ObActionsAct *action) { KeyBindingTree *tree, *t; gboolean conflict; @@ -276,7 +277,13 @@ void keyboard_event(ObClient *client, const XEvent *e) { KeyBindingTree *p; + if (e->type == KeyRelease) { + grab_key_passive_count(-1); + return; + } + g_assert(e->type == KeyPress); + grab_key_passive_count(1); if (e->xkey.keycode == config_keyboard_reset_keycode && e->xkey.state == config_keyboard_reset_state)