Lots of users use the GNOME 2.x's gnome-session-properties to specify applications to be autostarted when they next log in. Things like xchat, empathy, etc seem to be the most common (not a real study here, just got these from some users' feedback). Since gnome-session-properties doesn't show up anymore in any UI in GNOME 3.x, maybe we need another way to provide this functionality to users.
With gnome-session-properties there was a big problem, which is that it shows not only user-specified applications, but also system services, like Bluetooth, at-spi, etc:
First of all, it makes the feature quite confusing, as it's hard to find the stuff normal users would want to disable/enable. Also, we really don't want users to be disabling system-wide stuff that might be needed for the desktop session to work correctly.
Solution 1: Implement user-only version in gnome-control-center
This would offer the same functionality than gnome-session-properties, but only using ~/.config/autostart, rather than all the system-wide services. Where to put this in gnome-control-center is another thing that needs discussion. First thought is to add it to System Info panel, where the default applications selection is:
But, as it happens with default applications, I'm not sure System Info is indeed the best place to have selection of default and autostartable applications.
EmmanueleBassi: it seems to me that "System Info" is a misnomer anyway: there's the system information page, but it also holds the switch to fallback mode. If we could make the current "System Info" panel be more about Operating System and Applications meta-operations then we could have default applications and auto-started applications as well. It could even have more panels: list of pending OS updates; find more applications (instead of having the "add and remove" launcher in the applications list); list of installed application (version, update button, remove button); list of running applications (plus "terminate" button). something similar to the Android "System" menu, with touch of the Gnome system monitor and the package manager.
RodrigoMoya: yes, darkmatter proposed on #gnome-design to have "an environment panel for bits like services, default apps, etc. Sysinfo isn't the obvious place for that. sys info should be sysinfo+access to related utilities. so you could have a "drives" section that would show basic info/capacity/graph or such, with a button to open the disk utility to frmat/relable/resize/whatever other device/partition bits, and the graphics bit should have the display and card"
Solution 2: Add 'Run at login' for launchers
This would just add a 'Run at login' item to the right click menu for launchers in gnome-shell (and 'Don't run at login' counterpart for apps already autostarted) and just do the right thing behind the scenes (put the .desktop file in user's ~/.config/autostart).
Milan Bouchet-Valat: Seems to me this solution is the best because it's incredibly simple and intuitive (even though the mockups for Solution 1 are quite good) There's been a bug open in the Shell about that for about a year: https://bugzilla.gnome.org/show_bug.cgi?id=620398
RodrigoMoya: I'm also starting to like this solution better, but what would users do when they want to remove an app from the autostart list? Having to look for the launchers of the apps you added to autostart might not be the most user-friendly thing, right?