diff --git a/openbox/actions/session.c b/openbox/actions/session.c deleted file mode 100644 index b9e33b74..00000000 --- a/openbox/actions/session.c +++ /dev/null @@ -1,78 +0,0 @@ -#include "openbox/actions.h" -#include "openbox/prompt.h" -#include "openbox/session.h" -#include "gettext.h" - -typedef struct { - gboolean prompt; - gboolean silent; -} Options; - -static gpointer setup_func(xmlNodePtr node); -static gboolean logout_func(ObActionsData *data, gpointer options); - -void action_session_startup(void) -{ - actions_register("SessionLogout", setup_func, NULL, logout_func, - NULL, NULL); -} - -static gpointer setup_func(xmlNodePtr node) -{ - xmlNodePtr n; - Options *o; - - o = g_new0(Options, 1); - o->prompt = TRUE; - - if ((n = obt_parse_find_node(node, "prompt"))) - o->prompt = obt_parse_node_bool(n); - - return o; -} - -static gboolean prompt_cb(ObPrompt *p, gint result, gpointer data) -{ - if (result) { -#ifdef USE_SM - Options *o = data; - session_request_logout(o->silent); -#else - /* TRANSLATORS: Don't translate the word "SessionLogout" as it's the - name of the action you write in rc.xml */ - g_message(_("The SessionLogout action is not available since Openbox was built without session management support")); -#endif - } - return TRUE; /* call cleanup func */ -} - -static void prompt_cleanup(ObPrompt *p, gpointer data) -{ - g_free(data); - prompt_unref(p); -} - -/* Always return FALSE because its not interactive */ -static gboolean logout_func(ObActionsData *data, gpointer options) -{ - Options *o = options; - - if (o->prompt) { - Options *o2; - ObPrompt *p; - ObPromptAnswer answers[] = { - { _("Cancel"), 0 }, - { _("Log Out"), 1 } - }; - - o2 = g_memdup(o, sizeof(Options)); - p = prompt_new(_("Are you sure you want to log out?"), - _("Log Out"), - answers, 2, 0, 0, prompt_cb, prompt_cleanup, o2); - prompt_show(p, NULL, FALSE); - } - else - prompt_cb(NULL, 1, o); - - return FALSE; -} diff --git a/po/POTFILES.in b/po/POTFILES.in index 200e9ca3..45097149 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -13,7 +13,6 @@ openbox/menu.c openbox/mouse.c openbox/openbox.c openbox/screen.c -openbox/session.c openbox/startupnotify.c openbox/translate.c openbox/prompt.c