if (act->func == action_execute || act->func == action_restart) {
if ((n = parse_find_node("execute", node->xmlChildrenNode))) {
gchar *s = parse_string(doc, n);
- act->data.execute.path = ob_expand_tilde(s);
+ act->data.execute.path = parse_expand_tilde(s);
g_free(s);
}
} else if (act->func == action_showmenu) {
}
void action_run_full(ObAction *a, struct _ObClient *c,
- ObFrameContext context,
guint state, guint button, gint x, gint y,
gboolean cancel, gboolean done)
{
a->data.inter.cancel = cancel;
a->data.inter.final = done;
if (!(cancel || done))
- keyboard_interactive_grab(state, c, context, a);
+ keyboard_interactive_grab(state, c, a);
}
a->func(&a->data);
g_warning("failed to execute '%s': %s",
cmd, e->message);
}
+ g_free(cmd);
} else {
g_warning("failed to convert '%s' from utf8", data->execute.path);
}
{
int x, y, width, height, dest;
ObClient *c = data->diraction.any.c;
- Rect *a = screen_area(c->desktop);
+ Rect *a;
if (!c)
return;
+ a = screen_area(c->desktop);
x = c->frame->area.x;
y = c->frame->area.y;
width = c->frame->area.width;