Login Items

Gnome 2 allowed opening applications at login, using the “Startup Applications” preferences window. For someone upgrading to Gnome 3, these settings are still in effect, but can’t be changed, which is bad. More importantly, opening items automatically at login is quite useful — especially if it includes documents, bookmarks etc, not just applications. So including this in System Settings would be handy.

Participants

MatthewPaulThomas, Sebastien Bacher

Status

  • {*} Needs design

    {*} Design in progress

    {*} Needs implementation

    {o} Implementation in progress

    {o} Stable

Use cases

  • An Internet cafe, where the Web browser should always start on login.
  • An office worker opens their timesheet at the start of every day.
  • An enlightened being runs an equivalent of Awareness throughout their session, to remind them how long they’ve been using the computer.

  • A student runs a Pomodoro timer throughout their session, to remind them to take a break every half an hour.

  • A museum kiosk is configured to automatically open a bookmark to the Web page about the exhibit that’s next to the kiosk.

Relevant art

Windows 7

Startup folder

Accessed by choosing Start → “All Programs”, then right-clicking “Startup” and choosing “Open”.

w7-startup-folder.small.png

Applications and documents can be dragged into the folder.

System Configuration (msconfig)

Accessed by choosing Start → “Run”, then typing “msconfig”.

w7-msconfig.small.png

Group Policy Editor

Accessed by choosing Start → “Run”, then typing “gpedit.msc”.

w7-group-policy-editor.small.png

OS X 10.7

Gnome 2

gnome2-startup-applications.small.png

Design approaches

  • A “Login Items” folder (inside ~.config/ or somewhere).

    • Pro: Items can be dragged in just like any other folder.

    • Con: Hard to temporarily disable items.

    • Con: No interface for extra options, e.g. command-line flags.

    • Con: Items dragged in would normally be moved, when people would expect just shortcuts created.

    • Hmm: Would still need an access point somewhere else.

  • An individual System Settings panel.
    • Pro: Simple.

    • Pro: Could easily be hidden by policy.

    • Pro: Could have login items for user groups.

    • Con: Adds an extra panel to System Settings.

    • Con: Changing other people’s login items would mean the System Settings involve duplicating the user account list from the “User Accounts” panel.

    • Con: Couldn’t obviously set login items for guest session.

  • Part of the “User Accounts” System Settings panel.
    • Pro: Could set login items for guest session.

    • Pro: Administrators could add or troubleshoot login items for other user accounts.

    • Pro: Could have login items for user groups, when they are added to the panel.

    • Con: Might complicate the User Accounts panel a bit.

  • A “Launch at Every Login” launcher quicklist item.
    • Pro: Direct manipulation.

    • Hmm: Might be distracting amongst other items in the quicklist.

    • Con: Couldn’t set login items for guest session.

    • Con: No interface for extra options, e.g. command-line flags.

    • Con: Wouldn’t work for items that don’t appear in the launcher, e.g. documents, terminal commands.

  • In an “Applications” panel with default applications.
    • Hmm: Login items aren’t necessarily applications at all. (They can also be documents, bookmarks, or even shell commands.)

  • In a “System” panel with default applications and removable media.

Any others?

  • In application settings
    • Pro: Direct manipulation

    • Pro: Discoverability (provided the option is presented in the right way)

    • Hmm: Would need to be part of the HIG

    • Con: Wouldn’t work for items that aren’t applications, e.g. documents, terminal commands.

Proposal

open-at-login.png

In the “User Accounts” panel, alongside the list of accounts, the controls for the selected account should be split across three tabs: “Name & Photo” (or “Name & Picture”?), “Security”, and “Open at Login”. (Other names that were considered: “Login Items”, “Start at Login”, and “Launch at Login”. “Open” best covers both applications and documents.)

The “Open at Login” tab should begin with an explanatory sentence: “Applications, bookmarks, and other files can be opened automatically each time this account logs in.”.

This should be followed by a listbox with two columns, “Open” and “Name”. The list should be empty for a new user account, and if it is not empty no item should be selected by default. If an item is in the list, and its “Open” checkbox is checked, it should open at every future login until either of those things changes.

Below the listbox should be three buttons: an Add menubutton, a Remove button, and a Change button.

Choosing “Add Application…” from the Add menu should open an “Add Application” application picker. (This should be the same as used for Nautilus’s “Open With Other Application…” command, which probably means it needs to be factored out of Nautilus and into GTK+ alongside the filepickers.)

“Choosing “Add File…” should open an “Add File” file picker, defaulting to the previous folder if there is one, or the home folder if not.

Choosing “Add Custom Command…” should open an “Add Custom Command” dialog. The “Command:” field in the dialog should auto-complete pathnames.

add-command.png

The Remove and Change buttons should be sensitive whenever an item is selected. Activating the Remove button should remove that item. Activating the Change button should open the relevant dialog for the type of item — a “Change Application” application picker, a “Change File” file picker, or a “Change Shell Command” dialog — with the current value pre-selected or pre-filled.

Dragging an application, bookmark, or file into the listbox should add it to the list. Dragging an item from the list to the Trash should remove it from the list.

What should the keyboard combos be?

Future enhancement: For applications, have an extra checkbox for whether they should open minimized. [idea from “tommy”]

Future enhancement: When adding an item as an administrator to someone else’s account, have a checkbox for whether that person can remove it. [idea from “tommy”]

Future enhancement: Automatically stagger launches to avoid disk contention. [idea from Evan Huus]

Comments

I think I'd like to see a high-level discussion of this before committing to a settings panel (it would be great if we could keep to a low number of panels). What are the principal use cases? How do the alternative approaches stack up? How does it fit in with suspend/resume, session management, etc? -- AllanDay

Maybe it makes sense to merge this with 'default apps' into an Applications panel? Or default apps + removable media + startup apps in a System panel? -- RodrigoMoya

'Guest session' is irrelevant since we don't have it.

  • It’s not displayed in the User Accounts list currently, but it should be, even if only to allow turning it on/off. -- MatthewPaulThomas

I'm not entirely convinced about all the use cases. Kiosk administrators should have their own tools, in my opinion. Also, opening documents on startup doesn't seem like a very nice user experience. Documents should be within easy reach, not in your face. :) That just leaves a small number of applications that could offer their own options. -- AllanDay

  • The interface for a kiosk administrator to do something shouldn’t be gratuitously different from the interface for other people to do exactly the same thing. Opening documents at login is no more “in your face” than opening applications on login — the window would be exactly the same size either way. And that there’s “just a small number of applications” isn’t true; it’s easy to think of use cases for Totem, LibreOffice Base, any IM client, any IRC client, any Web browser, any e-mail checking utility, Awareness, Pomodoro, ad infinitum. — MatthewPaulThomas

Design/SystemSettings/Proposals/LoginItems (last edited 2012-03-26 12:16:49 by MatthewPaulThomas)