Session restoration and autostart

Waldo Bastian bastian at kde.org
Fri Sep 2 12:09:12 BST 2005


On Tuesday 30 August 2005 23:34, David Jarvie wrote:
> 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.

That's what we have the different autostart phases for already.

> 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.

KApplication::isRestored() provides that information.

> 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,
Waldo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050902/44e9b8ad/attachment.sig>


More information about the kde-core-devel mailing list