[Kde-kiosk] Autologout feature

Lubos Lunak l.lunak at suse.cz
Mon Aug 15 16:58:20 BST 2005


On Saturday 13 of August 2005 17:55, Martijn Klingens wrote:
> On Saturday 13 August 2005 15:21, Friedrich W. H. Kossebau wrote:
> > Am Samstag, 13. August 2005 11:12, schrieb Martijn Klingens:
> > > On Saturday 13 August 2005 00:39, Jonathan Chen (jonachen) wrote:
> > > > > Since KDE 3.4 it is possible to automatically logout users that
> > > > > have been idle for a certain period of time.
> > > > >
> > > > > WARNING: Be careful with this option, logging out a user may
> > > > > result in dataloss!
> > > >
> > > > How does it cause dataloss?   I assume it can be caused if someone
> > > > did save their work and you logged them off?
> > >
> > > I assume you mean "did *NOT* save their work", and if so: yes, that
> > > will be the cause of dataloss.
> >
> > There used to be support for automatically saving unsaved stuff within
> > the session management. Can anybody tell why this was removed? Because
> > the user could start another dm-type session (say, windowmaker) or non-X
> > logins and have the synchronisation broken this way?
>
> I didn't even know we have ever had this feature... But I guess the answer
> lies on core-devel or a similar list and not on the Kiosk list, so
> cross-posting there. :)

 XSMP, the protocol for session management, has 2 types of asking the 
application to save its data, global and local (3 actually, also these two 
together). If you look at the description of the SaveYourself request 
(http://netmirror.org/mirror/xfree86.org/4.1.0/doc/xsmp.TXT, grepping for 
'processor' will go right to an example), global means saving the data, more 
or less like when quiting the application, while local means saving all the 
application's state temporarily, somewhere, without affecting the actual 
data.

 QApplication::commitData() corresponds to global saving, 
QApplication::saveState() to local saving. However Qt's docs on this are 
rather vague and I bet nobody actually knows this. At least I'd bet I 
wouldn't have trouble finding apps that mix this randomly, and I don't think 
there's any KDE app that saves its documents to a temporary file for local 
saving. It used to work in KDE1 though IIRC.

 And for these reasons ksmserver supports only the simplest 
save->logout->login->restore way of working, because anything like 
checkpoints wouldn't work anyway. Hell, we still have apps that cannot handle 
even this properly.

 If you wanted to implement this, I think the ksmserver part should be rather 
simple, there's already some kind of support for it anyway. And it would let 
you close #60894 ;). The harder part would be making this actually useful for 
some apps.

 And also there'd be a small nuisance that'd probably need solving somehow 
about the fact that ksmserver tells apps to do local save right after they 
start, as that as a side-effect also tells ksmserver some info about the 
apps. Making all apps save to temporaries right during KDE startup would be 
plain stupid.

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l.lunak at suse.cz , l.lunak at kde.org
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/




More information about the kde-core-devel mailing list