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