static ObActionsAct *interactive_act = NULL;
static guint interactive_initial_state = 0;
-static gboolean stop_running = FALSE;
struct _ObActionsDefinition {
guint ref;
data->client = client;
}
-void actions_stop_running()
-{
- stop_running = TRUE;
-}
-
void actions_run_acts(GSList *acts,
ObUserAction uact,
guint state,
GSList *it;
gboolean update_user_time;
- stop_running = FALSE;
-
/* Don't allow saving the initial state when running things from the
menu */
if (uact == OB_USER_ACTION_MENU_SELECTION)
if (!act->def->run(&data, act->options)) {
if (actions_act_is_interactive(act)) {
actions_interactive_end_act();
- } else if (stop_running) {
- stop_running = FALSE;
- break;
}
if (client && client == focus_client &&
act->def->modifies_focused_window)
actions_register("Stop", NULL, NULL, run_func_stop);
actions_register("Continue", NULL, NULL, run_func_continue);
actions_register("ForEach", setup_func, free_func, run_func_foreach);
+
+ actions_set_can_stop("Stop", TRUE);
//actions_register("GroupMembers", setup_func, free_func, run_func_group);
}
g_free(s);
}
}
- if ((n = obt_xml_find_node(node, "screendesktop"))) {
- gchar *s;
- if ((s = obt_xml_node_string(n))) {
- q->screendesktop_number = atoi(s);
- g_free(s);
- }
- }
if ((n = obt_xml_find_node(node, "activedesktop"))) {
q->screendesktop_number = obt_xml_node_int(n);
}
static gboolean run_func_continue(ObActionsData *data, gpointer options)
{
- actions_stop_running();
+
}
/*