Initial implementation brainstorm

Registered by Allen Lowe

This blueprint is for discussing, and documenting how we plan to implement the basic functions of pantheon-session

Blueprint information

Status:
Started
Approver:
Allen Lowe
Priority:
Essential
Drafter:
Allen Lowe
Direction:
Approved
Assignee:
Allen Lowe
Definition:
Approved
Series goal:
None
Implementation:
Good progress
Milestone target:
None
Started by
Allen Lowe

Related branches

Sprints

Whiteboard

pantheon-session needs to handle the following things:
    - starting essential system services
    - starting essential system apps
    - starting user defined apps/services
        - the preceding 3 steps should be done in separate phases
    - automatically restarting system components that are killed or fail
        - pantheon-session should have a counter that stops automatically relaunching a program after a certain number of tries
            - (maybe 50 or 100?)
    - running autostart and autoopen files on mounted media
    - handle sleep?, logout, shutdown, restart

pantheon-session will implement autostart in the following manner:
    -first it will read the users .session file, if the user has none, it will fallback to the shared system-wide .session file
        - the .session file contains the most fundamental apps/services
            - all of these apps/services will be automatically restarted if killed or crashed
                - unless they are marked with a "@" in the session file
    - next, it will read the .desktop files in /etc/xdg/autostart and ~/.config/autostart for the rest of the apps/services to start
        -largely, we will adhere to http://www.freedesktop.org/wiki/Specifications/autostart-spec with one(two) additions:
            #- a boolean key for X-Pantheon-AutoRestart will be available for other apps/services that should be restarted automatically after being killed or failure#
            - when handling the OnlyShowIn= key, we will start anything labeled as PANTHEON, or GNOME, for the time being. This will retain compatibility with all the gnome services/apps we currently use

pantheon-session will have a dbus server with any necessary methods to handle:
    - logout
    - shutdown
    - restart

**ISSUES**

because gnome-session-properties does not adhere to the FD.o spec at ALL, we will need to create a plug for editing the xdg-autostart desktop files.

non gnome-settings-daemon keybindings are stored in apps/metacity/global_keybindings. my theory for why those ones don't load is that compiz is using a different profile that doesn't have that feature enabled.

NOTE TO SELF: find the best way to solve the closed app clipboard issue by default in Pantheon

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.