Cleaning up "Startup Applications"

Registered by Jason Warner

It is useful for people to be able to set up particular applications to launch whenever they log in.

In theory, the "Startup Applications" preferences would cater for this. In practice, "Startup Aplications" in a default Ubuntu installation is
filled with random system components, making it hard for people to tell whether they have added any items themselves.

* review each item in the default list
* identify whether it should be graphically configurable at all
* if so, identify where that configuration should be better placed
* allocate the work of moving each component out.

Blueprint information

Status:
Complete
Approver:
Martin Pitt
Priority:
Low
Drafter:
Matthew Paul Thomas
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
Accepted for oneiric
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-11.10-beta-1
Started by
Martin Pitt
Completed by
Martin Pitt

Whiteboard

Work items:
[rodrigo-moya] Move login sound option to a checkbox in the Sound Preferences: POSTPONED
[ubuntuone-desktop+] Move Ubuntu One start-at-login option to the Control Panel, if it should be exposed at all: DONE
[mterry] Use the NoDisplay key to hide every individual item that appears by default in Startup Applications: DONE

Work items (ubuntu-11.10-beta-2):
[mpt] Design integration of minor enhancements to Startup Applications, and post to ubuntu-desktop@: DONE
[seb128] Implement minor enhancements to Startup Applications, or find someone else to do it: POSTPONED

Work items for ubuntu-11.10:
[jibel] With QA team, arrange a regression test ensuring new items don't appear in Startup Applications by default. Test added to QA automated iso testing: DONE
------------

[Anonymous suggestion] Have a tab for system processes and a tab for user added programs.
[Ian Scott] Development of this feature is done at http://git.gnome.org/browse/gnome-session
[jhunt] There is a high probability of Upstart in Oneiric having users sessions enabled. User sessions provide the ability for users to start/stop applications *when certain conditions are met*, rather than just blindly when the user logs in. We should consider providing a gnome startup "application" per user which just emits a well-known Upstart event when the user logs in. This would provide a hook for user jobs to be started.

== UDS session notes ==

Login applications:

The setting lets you set an application, script, or other command to run every time you log in.

The problem is that there is 21 applications listed in that dialog in the default installation:
- some can break their system if turned off
- some have confusing descriptions

Upstart will (should?) have user session management in Oneiric

Almost all items in the list should just be hidden.

(E.g. Remote Desktop is off by default anyway.)

Exceptions:
- Gnome Login Sound:
  > not actually a duplicate of System>Login Screen>Play login sound
[rodrigo-moya] move to a checkbox in the Sound Preferences

- Ubuntu One:
  - move to Ubuntu One control panel
  - open at login only if you have registered with Ubuntu One (and set in its options to do that - loading it could be heavy if you sync many files).

We can't just ignore everything in the system directories, because we haven't reviewed things in Universe for usefulness
- Instead, use the NoDisplay key to hide these individual ones

[mterry] Hide all items by default
[Ian Scott] There then should be an option to view hidden icons. Have a way to switch between hidden and visible icons; perhaps a button in the menu?

How would we prevent this from regressing?
- screenshot the window and compare it
[seb128] Discuss with QA team whether there's a better way to do it

gnome-session-properties
- Should be hidden entirely from the Dash launcher
- It's not visible in Gnome Shell by default
- Do we even need to ship this app at all?
What would we do instead?
- Maybe move it into USC?
  - pro: it's where people go to manage their software
  - con: it wouldn't (obviously) let you start arbitrary commands, scripts etc
- Alternatively in User Accounts settings
  - could let, e.g., administrators change the login items of other users
  - Of course, technical users could put a .desktop in ~/.config/autostart/
  - A small, simple gui could be written/ported to System Settings 3

Other possibilities for improving the UI:
- Make it (or verify that it is) possible to drag applications into the list
- Add a hint that you can drag and drop into the list
- Use the application picker for the "Add..." button (but we'd need a separate field for entering a custom command)
[mpt] Design integration of these minor enhancements and post to ubuntu-desktop@
[seb128] Implement the enhancements

(?)

Work Items