aboutsummaryrefslogtreecommitdiff
path: root/src/session-menu-mgr.c
diff options
context:
space:
mode:
authorDmitrijs Ledkovs <dmitrijs.ledkovs@canonical.com>2012-10-17 23:46:05 +0100
committerDmitrijs Ledkovs <dmitrijs.ledkovs@canonical.com>2012-10-17 23:46:05 +0100
commit82491e95e6f91096d014dacbd78779aa32c53188 (patch)
treef223e1365aefb9f7525bd2a5d6c0389a3a4d0211 /src/session-menu-mgr.c
parent57b62d5fa18525811e1a4b413b1c6b966b5f28f8 (diff)
downloadayatana-indicator-session-82491e95e6f91096d014dacbd78779aa32c53188.tar.gz
ayatana-indicator-session-82491e95e6f91096d014dacbd78779aa32c53188.tar.bz2
ayatana-indicator-session-82491e95e6f91096d014dacbd78779aa32c53188.zip
Hide "Start Screen Saver" action, if it is locked down.
Diffstat (limited to 'src/session-menu-mgr.c')
-rw-r--r--src/session-menu-mgr.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/session-menu-mgr.c b/src/session-menu-mgr.c
index 394110c..697218f 100644
--- a/src/session-menu-mgr.c
+++ b/src/session-menu-mgr.c
@@ -65,7 +65,8 @@ typedef enum
SWITCHER_MODE_SCREENSAVER,
SWITCHER_MODE_LOCK,
SWITCHER_MODE_SWITCH,
- SWITCHER_MODE_SWITCH_OR_LOCK
+ SWITCHER_MODE_SWITCH_OR_LOCK,
+ SWITCHER_MODE_NONE
}
SwitcherMode;
@@ -956,9 +957,12 @@ build_user_menuitems (SessionMenuMgr * mgr)
g_list_free (users);
/* separator */
- mi = mi_new_separator ();
- dbusmenu_menuitem_child_add_position (mgr->top_mi, mi, pos++);
- items = g_slist_prepend (items, mi);
+ if (mode != SWITCHER_MODE_SCREENSAVER && !is_guest && guest_allowed)
+ {
+ mi = mi_new_separator ();
+ dbusmenu_menuitem_child_add_position (mgr->top_mi, mi, pos++);
+ items = g_slist_prepend (items, mi);
+ }
if (current_real_name != NULL)
{
@@ -1147,7 +1151,7 @@ get_switcher_mode (SessionMenuMgr * mgr)
if (!can_lock && !can_switch) /* hmm, quite an extreme lockdown */
{
- mode = SWITCHER_MODE_SCREENSAVER;
+ mode = SWITCHER_MODE_NONE;
}
else if (is_this_live_session()) /* live sessions can't lock or switch */
{