void action_activate(union ActionData *data)
{
- if (data->client.c)
- client_activate(data->client.c);
+ if (data->activate.c)
+ client_activate(data->activate.c, data->activate.here);
}
void action_focus(union ActionData *data)
return;
if ((nf = client_find_directional(data->diraction.c,
data->diraction.direction)))
- client_activate(nf);
+ client_activate(nf, FALSE);
}
void action_movetoedge(union ActionData *data)
struct _ObClient *c;
};
+struct Activate {
+ struct _ObClient *c;
+ gboolean here; /* bring it to the current desktop */
+};
+
struct MoveResizeRelative {
struct _ObClient *c;
int delta;
struct DirectionalAction diraction;
struct Execute execute;
struct ClientAction client;
+ struct Activate activate;
struct MoveResizeRelative relative;
struct SendToDesktop sendto;
struct SendToDesktopDirection sendtodir;
/* Execute */
void action_execute(union ActionData *data);
-/* ClientAction */
+/* ActivateAction */
void action_activate(union ActionData *data);
/* ClientAction */
void action_focus(union ActionData *data);