+static Options* dup_options(Options *in)
+{
+ Options *o = g_new(Options, 1);
+ o->cmd = g_strdup(in->cmd);
+ o->sn = in->sn;
+ o->sn_name = g_strdup(in->sn_name);
+ o->sn_icon = g_strdup(in->sn_icon);
+ o->sn_wmclass = g_strdup(in->sn_wmclass);
+ o->prompt = NULL;
+ return o;
+}
+
+static gboolean run_func(ObActionsData *data, gpointer options);
+
+static void prompt_cb(ObPrompt *p, gint result, gpointer data)
+{
+ Options *options = data;
+
+ if (result)
+ run_func(NULL, options);
+
+ prompt_unref(p);
+
+ g_free(options->cmd);
+ g_free(options->sn_name);
+ g_free(options->sn_icon);
+ g_free(options->sn_wmclass);
+ g_free(options);
+}
+