while (p) {
if (p->key)
grab_key(p->key, p->state, obt_root(ob_screen),
- GrabModeSync);
+ GrabModeAsync);
p = p->next_sibling;
}
if (curpos)
grab_key(config_keyboard_reset_keycode,
config_keyboard_reset_state,
- obt_root(ob_screen), GrabModeSync);
+ obt_root(ob_screen), GrabModeAsync);
}
}
g_free(oldtext);
}
- a = screen_physical_area_active();
+ a = screen_physical_area_primary(FALSE);
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);
}
#endif
-void keyboard_event(ObClient *client, const XEvent *e)
+gboolean keyboard_event(ObClient *client, const XEvent *e)
{
KeyBindingTree *p;
+ gboolean used;
if (e->type == KeyRelease) {
grab_key_passive_count(-1);
- return;
+ return FALSE;
}
g_assert(e->type == KeyPress);
{
obt_main_loop_timeout_remove(ob_main_loop, chain_timeout);
keyboard_reset_chains(-1);
- return;
+ return TRUE;
}
+ used = FALSE;
if (curpos == NULL)
p = keyboard_firstnode;
else
0, OB_FRAME_CONTEXT_NONE, client);
}
break;
+ used = TRUE;
}
p = p->next_sibling;
}
-
- XAllowEvents(obt_display, AsyncKeyboard, event_curtime);
+ return used;
}
static void node_rebind(KeyBindingTree *node)
popup_free(popup);
popup = NULL;
}
-