action_directional_focus,
setup_action_directional_focus_northwest
},
+ {
+ "activate",
+ action_activate,
+ NULL,
+ },
{
"focus",
action_focus,
action_iconify,
NULL
},
+ {
+ "raiselower",
+ action_raiselower,
+ NULL
+ },
{
"raise",
action_raise,
} else if (act->func == action_send_to_desktop_dir) {
if ((n = parse_find_node("wrap", node->xmlChildrenNode)))
act->data.sendtodir.wrap = parse_bool(doc, n);
+ } else if (act->func == action_activate) {
+ if ((n = parse_find_node("here", node->xmlChildrenNode)))
+ act->data.activate.here = parse_bool(doc, n);
}
}
g_free(actname);
}
}
+void action_activate(union ActionData *data)
+{
+ if (data->activate.c)
+ client_activate(data->activate.c, data->activate.here);
+}
+
void action_focus(union ActionData *data)
{
if (data->client.c)
client_iconify(data->client.c, TRUE, TRUE);
}
+void action_raiselower(union ActionData *data)
+{
+ if (data->client.c) {
+ if (data->client.c->frame->obscured)
+ stacking_raise(CLIENT_AS_WINDOW(data->client.c));
+ else
+ stacking_lower(CLIENT_AS_WINDOW(data->client.c));
+ }
+}
+
void action_raise(union ActionData *data)
{
if (data->client.c)
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)