X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fexit.c;h=875a181a4747ffa13eef86a65f47a3e09cb32d8a;hb=c716d1788bb4f4b9db403617023f06347ba48102;hp=8430729b16ed0121a94045b397565249ccace581;hpb=2c8bc0c9042d338aa14a4a03a3416aa979952776;p=chaz%2Fopenbox diff --git a/openbox/actions/exit.c b/openbox/actions/exit.c index 8430729b..875a181a 100644 --- a/openbox/actions/exit.c +++ b/openbox/actions/exit.c @@ -21,6 +21,7 @@ static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) Options *o; o = g_new0(Options, 1); + o->prompt = TRUE; if ((n = parse_find_node("prompt", node))) o->prompt = parse_bool(doc, n); @@ -28,10 +29,15 @@ static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) return o; } -static void prompt_cb(ObPrompt *p, gint result, gpointer data) +static gboolean prompt_cb(ObPrompt *p, gint result, gpointer data) { if (result) ob_exit(0); + return TRUE; /* call the cleanup func */ +} + +static void prompt_cleanup(ObPrompt *p, gpointer data) +{ prompt_unref(p); } @@ -43,12 +49,13 @@ static gboolean run_func(ObActionsData *data, gpointer options) if (o->prompt) { ObPrompt *p; ObPromptAnswer answers[] = { - { _("No"), 0 }, - { _("Yes"), 1 } + { _("Cancel"), 0 }, + { _("Exit"), 1 } }; p = prompt_new(_("Are you sure you want to exit Openbox?"), - answers, 2, 0, 0, prompt_cb, NULL); + _("Exit Openbox"), + answers, 2, 0, 0, prompt_cb, prompt_cleanup, NULL); prompt_show(p, NULL, FALSE); } else