SessionMenu

The session menu should contain items for locking the session, switching to guest sessions and other user accounts, logging out, sleeping, restarting, and switching the computer off.

Rationale

The session menu is for when you want to stop using the computer, either temporarily or indefinitely.

The menu’s most prominent items aim for convenient security: locking the session, using a guest session, switching user accounts, and logging out.

The less prominent items are fallbacks for functions that generally have a more visible interface on most computers: Sleep/Hibernate (vs. closing a notebook’s lid), Restart (vs. being prompted when it is actually required), and Shut Down (vs. pressing the power button).

Artwork requirements

  • The power icon for the menu title.
  • A classy-looking symbol for logged-in user accounts (visually distinct from the normal checkmark for boolean menu items).

Design

session-menu.jpg

Keyboard navigation

The menu should open if you type Super+S.

As with a normal menu, pressing Left or Right while the session menu is open should close the menu and open the menu to the left and right, wrapping in both directions. For Lucid, this should be whichever menu to the left or right is hosted by indicator-applet. Test case: Type Super+S; the session menu should open. Press Right; the session menu should close, and wrapping around, the leftmost indicator-applet menu (e.g. the messaging menu) should open.

Title

The title of the menu should be a power icon. title.jpg Its accessible name should be “Session”.

Contents

For the purpose of displaying in the session menu, an account display name consists of the full name (e.g. “Iain Farrell”), unless:

  1. the full name is empty or consists only of whitespace characters, in which case the display name should be the login name (bug 872908).

  2. there is, even after applying the previous rule, more than one account with the same display name, in which case the display name of each of them should be their full name followed by a space and then the login name in brackets (e.g. “Iain Farrell (iain2)”).

The contents of the menu should be, in order:

  1. An item for locking the screen and/or starting the screensaver. If the gconf key “desktop/gnome/lockdown/disable_lock_screen” is true, or if the Screensaver Preferences setting “Lock screen when the screensaver is active” is unchecked, the item should be “Start Screensaver”. Otherwise, it should be “Lock”. (We deliberately do not vary this based on whether the account logs in automatically.)

  2. A separator.
  3. “Guest Session”, which switches immediately to the guest session. If the guest session is already in use, there should be a logged-in symbol at the trailing side of the menu, and its accessible name should be “Guest Session (in use)”. (We must not use a normal checkmark item for this, because that would wrongly suggest we can “turn off” the session merely by deselecting the item.) This item should always be present, but if the session you are using is already a guest one, it should be insensitive. (It is not a security risk for the item to always to be present, because you need to log in to another account before accessing it.)
  4. User account switching items, displayed only if (a) the gconf key “desktop/gnome/lockdown/disable_user_switching” is not true, (b) account switching is supported by the video driver, and (c) there are any other user accounts:

    1. “Switch From {your account display name}…”, which locks your session and then displays the login screen. If your account display name is wider than 20 em, only the first characters up to 20 em should be displayed, with no extra ellipsis added to the one that is already there.
    2. Alphabetically sorted items for up to the n user accounts (6 by default, with a gconf key for adjusting it) who were logged in to this system most recently. These items should be present only if the login screen is set to display user accounts, because the same security consideration applies. (Except in the last case, you can still switch to any account, provided you know its name, using the “Switch From…” item.) Each item should consist of:

      1. At its leading end, the user account icon.
      2. The account display name, ellipsized in the middle if it is wider than 20 em. (Ideally we would use set-based ellipsis instead.) If there happen to be at least two accounts in the recent set with the same account display name, each of those should be followed by a space and then the login name in brackets, e.g. “Robert Smith (rjsmith)”. (This is the same approach used for disambiguating software items in the Ubuntu Software Center.)

      3. At the trailing side of the menu, a logged-in symbol if that account is currently logged in. (For the same reason as for a guest session, we must not use a normal checkmark item here.) In this case, the item should have an accessible name of the form “John Lea (logged in)”.
  5. A separator.
  6. “Log Out…”, which opens the confirmation alert for logging out. This item should not be available in the live session.
  7. “Sleep”, which suspends the computer to memory.
  8. “Hibernate”, which suspends the computer to disk.
  9. “Restart…”, which opens the confirmation alert for restarting the computer. If software updates that require a restart have been partially installed, this item should instead say “Restart to complete update…”, and be in the themed symbolic "warning" (in Ubuntu's case, red) color.
  10. “Shut Down…”, which opens the confirmation alert for shutting down.

Fading of background

When the confirmation alert for logging out, restarting, or shutting down is open, the rest of the screen should linearly take 1 second to desaturate completely.

If you click “Cancel”, or if any application interrupts session exit, the desaturation should reverse instantly.

Behavior if you confirm the logout/restart/shutdown is covered by DesktopTeam/Specs/Lucid/ShutdownAndRestartExperience.

Handling upgrades

When first running gnome-panel in a version of Ubuntu that includes the session menu, the top panel (if any) should automatically acquire the session menu at its trailing end.

A 'System Settings' link underneath the 'Shut Down...' opens the Gnome Control Center. The 'Shut Down...' and 'System Settings' links should be separated by a horizontal separator.

Future work

  • Investigate visual treatments for highlighting menu items in general, so that perhaps the “Restart…” item (and the menu title) could be highlighted when updates require a restart to complete.
  • Investigate whether we can have a more straightforward, but Atlantic-compatible, term for “Shut Down”. (Apparently “Switch Off” is too British while “Turn Off” is too American.)

Unresolved issues

SessionMenu (last edited 2013-12-19 13:22:44 by mpt)