- ObAction *a;
-
- if (self->data.normal.actions) {
- a = self->data.normal.actions->data;
- action_run(self->data.normal.actions, a->data.any.c, state, time);
+ ObClient *t = self->data.normal.data;
+ if (t) { /* it's set to NULL if its destroyed */
+ gboolean here = state & ShiftMask;
+
+ client_activate(t, TRUE, here, TRUE, TRUE, TRUE);
+ /* if the window is omnipresent then we need to go to its
+ desktop */
+ if (!here && t->desktop == DESKTOP_ALL)
+ screen_set_desktop(self->id, FALSE);