#include "openbox/session.h"
#include "gettext.h"
-#ifndef USE_SM
-void action_logout_startup(void) {}
-#else
-
typedef struct {
gboolean prompt;
gboolean silent;
} Options;
-static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
+static gpointer setup_func(xmlNodePtr node);
static gboolean logout_func(ObActionsData *data, gpointer options);
void action_session_startup(void)
NULL, NULL);
}
-static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
+static gpointer setup_func(xmlNodePtr node)
{
xmlNodePtr n;
Options *o;
o = g_new0(Options, 1);
+ o->prompt = TRUE;
- if ((n = parse_find_node("prompt", node)))
- o->prompt = parse_bool(doc, n);
+ if ((n = obt_parse_find_node(node, "prompt")))
+ o->prompt = obt_parse_node_bool(n);
return o;
}
static void prompt_cb(ObPrompt *p, gint result, gpointer data)
{
Options *o = data;
- if (result)
+ if (result) {
+#ifndef USE_SM
session_request_logout(o->silent);
+#else
+ g_message(_("The SessionLogout actions is not available since Openbox was built without session management support"));
+#endif
+ }
g_free(o);
prompt_unref(p);
}
return FALSE;
}
-
-#endif