Session restoration and autostart
David Jarvie
lists at astrojar.org.uk
Tue Aug 30 22:34:43 BST 2005
Currently, session restoration and autostart are not compatible for a
KUniqueApplication, since there is no guarantee that the application will be
activated by session restoration before it is autostarted. If it is activated
by session restoration after it has been autostarted, it cannot detect that
it is supposed to restore the session.
Although in general applications only need to use one or other of these
facilities, there can be a need to use both - as in the case of kalarm. It
needs to ensure that it is started in the system tray at login, regardless of
whether the session is being restored or whether it was still running at
logout. But it is also desirable that it should act in the same was as any
other KDE application when the session is restored, i.e. that any of its main
windows are restored if they were visible at logout.
I can see a few ways of addressing this problem, where an application is
configured to be both restored and autostarted. In decreasing order of
preference for the application developer:
1) Provide a means to guarantee that autostart will only occur once the
application has been restored (if it actually is scheduled to be restored).
This would allow the application to be configured to use both methods without
having to take any special precautions.
2) When the application is activated to restore the session, provide a means
for it to detect that it is being restored so that it can take the
appropriate action.
3) Use another autostarted task to "auto"start the application. That task
would allow an arbitrary period of time to elapse, in the hope that session
restoration will have occurred, before starting the application. (But of
course, what is a safe length of time?) Or alternatively, if that task was
provided with the means to detect whether the application was scheduled for
session restoration, it could then know whether it actually needed to start
the application or not.
I don't know what the practicalities are of addressing this issue - I'm
willing to spend some time on it given some guidance.
Cheers,
--
David Jarvie.
KAlarm author and maintainer.
http://www.astrojar.org.uk/linux/kalarm.html
More information about the kde-core-devel
mailing list