Hello,
After seeing Kevin Ottens suggestion for a "Welcome" activity (1) I decided to
try setting up such an activity.
I want this to be the only activity that is started at boot/login to give a
fast boot since many times I'm not gonna do same activity as what I did when I
last shut down my laptop.
I also agree that this first activity should not be made special other than by configuration. It
could perhaps be an idea to make a special "welcome" applet or desktop containment and by
default have that one configured to be shown only in this default activity. That welcome applet can
then show a list of other available activities for easy starting. It could also have a button for
the discussed function of "move all windows from this activity to a newly created one".
For my experiment I decided to show the desktop component of homerun in the
"Welcome" activity which gets me pretty close to what I want.
So much for the background, now the problem:
I wanted to use the "restore manually saved session" option of ksmserver in order to
always start the "Welcome" activity and nothing else.
But kactivitymanagerd does not communicate with the session manager, it always
keeps its rc-file updated with which activities are running and which is the
current one. It then resumes to that state upon startup.
I started looking into making the activity manager speak to the session
manager, but ten years of writing kde applications and using kde full time has
taught me very little about how the session startup works.
Currently it seems kactivitymanagerd is started via klauncher by some kded module, and
that happens before the start of ksmserver. If I add "--no-kded" option to
kdeinit4 in the startkde script then the activity manager gets started after ksmserver
and can work the way I want it to.
1: Ivan, do you agree that it would be desirable to make kactivitymanagerd only save
state in the QApplication::saveState() function? At least when the "resume last
session" option is not active?
2: If so, how should things be reshuffled to make it start after the session
manager? Is it even possible? Looks possible to me, first thing that seems to
need it is kwin, which is started after ksmserver.
I'm not currently involved in any of these projects but I have been thinking of
the need for a session manager in a wayland-world and that it could be
interesting for me to get involved with that. This issue then serves as a good
reason to learn more about these things. I've already spent two days on this
and learned a lot.
If you read all the way here, thank you.
Simon
(1) http://mail.kde.org/pipermail/plasma-devel/2013-May/025153.html
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel