Session Management Considerations

Thomas Zander zander at planescape.com
Sat May 4 15:11:51 BST 2002


Looks very nice indeed :)

On Sat, May 04, 2002 at 03:18:16PM +0200, Matthias Ettrich wrote:
> Thanks for the wonderful responses to my reworked session manager, no
> response is also a response ;-)
I still run the BRANCH, so I could not check it.

> Here's my new and simplified scheme. If nobody objects or comes with
> something better, I'll implement it early next week.
> 
> 1. the "save session for future logins" or whatever it is called
>    today) checkbox in the logout dialog will go away.
> 
>    Instead, we _always_ save the current session during shutdown. The
>    reason I didn't want that in the first place was that it takes a bit
>    of time to save the data, but I do not believe this to be an issue
>    anymore. But we don't save the session as "default session as we
>    used to, but as "last session".
Agreed.


> 2. We need a new command to save the current session as "saved
>    session" to support user c). The current way with
> 	Alt-F2 dcop ksmserver default saveCurrentSessionAs saved
>    is not exactly userfriendy.
> 
>    The command may be in the K-Menu above or below "Lock screen". Or
>    we hide it a bit deeper, suggestions welcome. 

I want to propose that your name 'saved session' be renamed to 
  'default session'
and the menu item would then have the comment;
  'make the current session the default session'

I think that 'last session'/'default session' make more sense.
The GUI could be something along the lines of the attached .ui file.

> 4. In KDM, we don't just have KDE, but 
> 
>             KDE
>             KDE (last session)
>             KDE (saved session)

Why the 'normal' KDE?  Is there a way to start a KDE without any session?
Does that not mean things like klipper fail to start up?
I think that just:
             KDE (last session)
             KDE (default session)
would be more logical.

-- 
Thomas Zander                                            zander at earthling.net
The only thing worse than failure is the fear of trying something new
-------------- next part --------------
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
<class>Save_session</class>
<widget class="QDialog">
    <property name="name">
        <cstring>Save_session</cstring>
    </property>
    <property name="geometry">
        <rect>
            <x>0</x>
            <y>0</y>
            <width>462</width>
            <height>478</height>
        </rect>
    </property>
    <property name="caption">
        <string>Save Session</string>
    </property>
    <property name="sizeGripEnabled">
        <bool>true</bool>
    </property>
    <vbox>
        <property name="name">
            <cstring>unnamed</cstring>
        </property>
        <property name="margin">
            <number>11</number>
        </property>
        <property name="spacing">
            <number>6</number>
        </property>
        <widget class="QLabel">
            <property name="name">
                <cstring>TextLabel1</cstring>
            </property>
            <property name="text">
                <string><p>A <b>session</b> is a snapshot of the positions of your windows and the documents you have open on all your virtual desktops.</p>

<p>KDE allows you to save a session so you get the windows and documents back when you login by selecting that session.</p></string>
            </property>
        </widget>
        <widget class="QGroupBox">
            <property name="name">
                <cstring>GroupBox1</cstring>
            </property>
            <property name="title">
                <string>Session list</string>
            </property>
            <hbox>
                <property name="name">
                    <cstring>unnamed</cstring>
                </property>
                <property name="margin">
                    <number>11</number>
                </property>
                <property name="spacing">
                    <number>6</number>
                </property>
                <widget class="QLayoutWidget">
                    <property name="name">
                        <cstring>Layout18</cstring>
                    </property>
                    <vbox>
                        <property name="name">
                            <cstring>unnamed</cstring>
                        </property>
                        <property name="margin">
                            <number>0</number>
                        </property>
                        <property name="spacing">
                            <number>6</number>
                        </property>
                        <widget class="QListBox">
                            <item>
                                <property name="text">
                                    <string>Default</string>
                                </property>
                            </item>
                            <item>
                                <property name="text">
                                    <string>Thesis</string>
                                </property>
                            </item>
                            <item>
                                <property name="text">
                                    <string>Travel</string>
                                </property>
                            </item>
                            <item>
                                <property name="text">
                                    <string>Last</string>
                                </property>
                            </item>
                            <property name="name">
                                <cstring>ListBox1</cstring>
                            </property>
                        </widget>
                        <widget class="QLayoutWidget">
                            <property name="name">
                                <cstring>Layout17</cstring>
                            </property>
                            <hbox>
                                <property name="name">
                                    <cstring>unnamed</cstring>
                                </property>
                                <property name="margin">
                                    <number>0</number>
                                </property>
                                <property name="spacing">
                                    <number>6</number>
                                </property>
                                <widget class="QPushButton">
                                    <property name="name">
                                        <cstring>PushButton6</cstring>
                                    </property>
                                    <property name="text">
                                        <string>&New</string>
                                    </property>
                                </widget>
                                <widget class="QPushButton">
                                    <property name="name">
                                        <cstring>PushButton7</cstring>
                                    </property>
                                    <property name="text">
                                        <string>Delete</string>
                                    </property>
                                </widget>
                                <spacer>
                                    <property name="name" stdset="0">
                                        <cstring>Spacer5</cstring>
                                    </property>
                                    <property name="orientation">
                                        <enum>Horizontal</enum>
                                    </property>
                                    <property name="sizeType">
                                        <enum>Expanding</enum>
                                    </property>
                                    <property name="sizeHint">
                                        <size>
                                            <width>20</width>
                                            <height>20</height>
                                        </size>
                                    </property>
                                </spacer>
                            </hbox>
                        </widget>
                    </vbox>
                </widget>
                <widget class="QLayoutWidget">
                    <property name="name">
                        <cstring>Layout15</cstring>
                    </property>
                    <vbox>
                        <property name="name">
                            <cstring>unnamed</cstring>
                        </property>
                        <property name="margin">
                            <number>0</number>
                        </property>
                        <property name="spacing">
                            <number>6</number>
                        </property>
                        <widget class="QLayoutWidget">
                            <property name="name">
                                <cstring>Layout8</cstring>
                            </property>
                            <hbox>
                                <property name="name">
                                    <cstring>unnamed</cstring>
                                </property>
                                <property name="margin">
                                    <number>0</number>
                                </property>
                                <property name="spacing">
                                    <number>6</number>
                                </property>
                                <widget class="QLabel">
                                    <property name="name">
                                        <cstring>TextLabel3</cstring>
                                    </property>
                                    <property name="text">
                                        <string>Name:</string>
                                    </property>
                                </widget>
                                <widget class="QLineEdit">
                                    <property name="name">
                                        <cstring>LineEdit1</cstring>
                                    </property>
                                    <property name="text">
                                        <string>Last</string>
                                    </property>
                                </widget>
                            </hbox>
                        </widget>
                        <widget class="QLabel">
                            <property name="name">
                                <cstring>TextLabel2</cstring>
                            </property>
                            <property name="text">
                                <string><p>This session is updated everytime you logout allowing you to quickly start where you left off.</string>
                            </property>
                        </widget>
                        <spacer>
                            <property name="name" stdset="0">
                                <cstring>Spacer3</cstring>
                            </property>
                            <property name="orientation">
                                <enum>Vertical</enum>
                            </property>
                            <property name="sizeType">
                                <enum>Expanding</enum>
                            </property>
                            <property name="sizeHint">
                                <size>
                                    <width>20</width>
                                    <height>20</height>
                                </size>
                            </property>
                        </spacer>
                    </vbox>
                </widget>
            </hbox>
        </widget>
        <widget class="QLayoutWidget">
            <property name="name">
                <cstring>Layout1</cstring>
            </property>
            <hbox>
                <property name="name">
                    <cstring>unnamed</cstring>
                </property>
                <property name="margin">
                    <number>0</number>
                </property>
                <property name="spacing">
                    <number>6</number>
                </property>
                <spacer>
                    <property name="name" stdset="0">
                        <cstring>Horizontal Spacing2</cstring>
                    </property>
                    <property name="orientation">
                        <enum>Horizontal</enum>
                    </property>
                    <property name="sizeType">
                        <enum>Expanding</enum>
                    </property>
                    <property name="sizeHint">
                        <size>
                            <width>20</width>
                            <height>20</height>
                        </size>
                    </property>
                </spacer>
                <widget class="QPushButton">
                    <property name="name">
                        <cstring>buttonOk</cstring>
                    </property>
                    <property name="text">
                        <string>&Save</string>
                    </property>
                    <property name="accel">
                        <number>276824147</number>
                    </property>
                    <property name="autoDefault">
                        <bool>true</bool>
                    </property>
                    <property name="default">
                        <bool>true</bool>
                    </property>
                </widget>
                <widget class="QPushButton">
                    <property name="name">
                        <cstring>buttonCancel</cstring>
                    </property>
                    <property name="text">
                        <string>&Cancel</string>
                    </property>
                    <property name="accel">
                        <number>276824131</number>
                    </property>
                    <property name="autoDefault">
                        <bool>true</bool>
                    </property>
                </widget>
            </hbox>
        </widget>
    </vbox>
</widget>
<connections>
    <connection>
        <sender>buttonOk</sender>
        <signal>clicked()</signal>
        <receiver>Save_session</receiver>
        <slot>accept()</slot>
    </connection>
    <connection>
        <sender>buttonCancel</sender>
        <signal>clicked()</signal>
        <receiver>Save_session</receiver>
        <slot>reject()</slot>
    </connection>
</connections>
<layoutdefaults spacing="6" margin="11"/>
</UI>


More information about the kde-core-devel mailing list