only do shit with the grabbed_* when a grab is in place
This commit is contained in:
parent
8529aab619
commit
a9ce3ba266
1 changed files with 31 additions and 31 deletions
|
@ -127,47 +127,47 @@ gboolean keyboard_process_interactive_grab(const XEvent *e,
|
||||||
if (interactive_grab) {
|
if (interactive_grab) {
|
||||||
*client = grabbed_client;
|
*client = grabbed_client;
|
||||||
*context = grabbed_context;
|
*context = grabbed_context;
|
||||||
}
|
|
||||||
|
|
||||||
if ((e->type == KeyRelease &&
|
if ((e->type == KeyRelease &&
|
||||||
!(grabbed_state & e->xkey.state)))
|
!(grabbed_state & e->xkey.state)))
|
||||||
done = TRUE;
|
|
||||||
else if (e->type == KeyPress) {
|
|
||||||
if (e->xkey.keycode == ob_keycode(OB_KEY_RETURN))
|
|
||||||
done = TRUE;
|
done = TRUE;
|
||||||
else if (e->xkey.keycode == ob_keycode(OB_KEY_ESCAPE)) {
|
else if (e->type == KeyPress) {
|
||||||
|
if (e->xkey.keycode == ob_keycode(OB_KEY_RETURN))
|
||||||
|
done = TRUE;
|
||||||
|
else if (e->xkey.keycode == ob_keycode(OB_KEY_ESCAPE)) {
|
||||||
|
if (grabbed_action->func == action_cycle_windows) {
|
||||||
|
grabbed_action->data.cycle.cancel = TRUE;
|
||||||
|
}
|
||||||
|
if (grabbed_action->func == action_desktop_dir) {
|
||||||
|
grabbed_action->data.desktopdir.cancel = TRUE;
|
||||||
|
}
|
||||||
|
if (grabbed_action->func == action_send_to_desktop_dir)
|
||||||
|
{
|
||||||
|
grabbed_action->data.sendtodir.cancel = TRUE;
|
||||||
|
}
|
||||||
|
done = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (done) {
|
||||||
if (grabbed_action->func == action_cycle_windows) {
|
if (grabbed_action->func == action_cycle_windows) {
|
||||||
grabbed_action->data.cycle.cancel = TRUE;
|
grabbed_action->data.cycle.final = TRUE;
|
||||||
}
|
}
|
||||||
if (grabbed_action->func == action_desktop_dir) {
|
if (grabbed_action->func == action_desktop_dir) {
|
||||||
grabbed_action->data.desktopdir.cancel = TRUE;
|
grabbed_action->data.desktopdir.final = TRUE;
|
||||||
}
|
}
|
||||||
if (grabbed_action->func == action_send_to_desktop_dir)
|
if (grabbed_action->func == action_send_to_desktop_dir) {
|
||||||
{
|
grabbed_action->data.sendtodir.final = TRUE;
|
||||||
grabbed_action->data.sendtodir.cancel = TRUE;
|
|
||||||
}
|
}
|
||||||
done = TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (done) {
|
|
||||||
if (grabbed_action->func == action_cycle_windows) {
|
|
||||||
grabbed_action->data.cycle.final = TRUE;
|
|
||||||
}
|
|
||||||
if (grabbed_action->func == action_desktop_dir) {
|
|
||||||
grabbed_action->data.desktopdir.final = TRUE;
|
|
||||||
}
|
|
||||||
if (grabbed_action->func == action_send_to_desktop_dir) {
|
|
||||||
grabbed_action->data.sendtodir.final = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
grabbed_action->func(&grabbed_action->data);
|
grabbed_action->func(&grabbed_action->data);
|
||||||
|
|
||||||
interactive_grab = FALSE;
|
interactive_grab = FALSE;
|
||||||
grab_keyboard(FALSE);
|
grab_keyboard(FALSE);
|
||||||
grab_pointer(FALSE, None);
|
grab_pointer(FALSE, None);
|
||||||
keyboard_reset_chains();
|
keyboard_reset_chains();
|
||||||
|
|
||||||
handled = TRUE;
|
handled = TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return handled;
|
return handled;
|
||||||
|
|
Loading…
Reference in a new issue