} else {
ObClient *c;
+ /* usually this is sorta redundant, but with a press action
+ the enter event will come as a GrabNotify which is
+ ignored, so this will handle that case */
if ((c = client_under_pointer()))
event_enter_client(c);
}
}
}
-typedef struct ActionString {
+typedef struct
+{
const gchar *name;
void (*func)(union ActionData *);
void (*setup)(ObAction **, ObUserAction uact);
data->desktopdir.inter.any.interactive,
data->desktopdir.inter.final,
data->desktopdir.inter.cancel);
- screen_set_desktop(d);
+ if (!data->sendtodir.inter.any.interactive ||
+ !data->sendtodir.inter.final)
+ {
+ screen_set_desktop(d);
+ }
}
void action_send_to_desktop_dir(union ActionData *data)
data->sendtodir.inter.any.interactive,
data->sendtodir.inter.final,
data->sendtodir.inter.cancel);
- client_set_desktop(c, d, data->sendtodir.follow);
- if (data->sendtodir.follow)
- screen_set_desktop(d);
+ if (!data->sendtodir.inter.any.interactive ||
+ !data->sendtodir.inter.final)
+ {
+ client_set_desktop(c, d, data->sendtodir.follow);
+ if (data->sendtodir.follow)
+ screen_set_desktop(d);
+ }
}
void action_desktop_last(union ActionData *data)