act->data.showmenu.y = y;
}
- if (act->func == action_desktop_dir)
- {
- act->data.desktopdir.final = FALSE;
- act->data.desktopdir.cancel = FALSE;
- }
- if (act->func == action_send_to_desktop_dir)
- {
- act->data.sendtodir.final = FALSE;
- act->data.sendtodir.cancel = FALSE;
- }
-
- if (config_desktop_popup &&
- (act->func == action_desktop_dir ||
- act->func == action_send_to_desktop_dir))
- {
+ if (act->data.any.interactive) {
+ act->data.inter.cancel = FALSE;
+ act->data.inter.final = FALSE;
keyboard_interactive_grab(state, c, context, act);
}
grab_all_clients(FALSE);
+ /* when there are no modifiers in the binding, then the action cannot
+ be interactive */
+ if (!state && action->data.any.interactive) {
+ action->data.any.interactive = FALSE;
+ action->data.inter.final = TRUE;
+ }
+
/* add the binding */
b = g_new0(ObMouseBinding, 1);
b->state = state;