Review Request: Screen Locker daemon

2011-11-10 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103105/
---

Review request for kwin, Plasma, Aaron J. Seigo, and Oswald Buddenhagen.


Description
---

Yes I know it's late in the cycle :-) and yes not everything is implemented 
yet, but I am confident that I get these things finished today or at least till 
Beta tagging.

This is the new screenlocker work as discussed on kcd some time ago.

The screen locker is split into two parts:
1. A daemon (ksld) to just lock the screen and grab input
2. An unlock dialog (kscreenunlocker) which is executed as a separate process.

In case the unlocker fails/crashes the screen is still locked by
the lock daemon.

In case kscreenunlocker crashes or does not succeed, it gets
automatically restarted by the daemon.

Things I still need to do:
* D-Bus integration
* Grace time
* integration of existing screen savers into the QML
* cleanup KRunner
* several more things


Diffs
-

  CMakeLists.txt 9fa4c10 
  screenlocker/CMakeLists.txt PRE-CREATION 
  screenlocker/kcfg/kscreensaversettings.kcfg PRE-CREATION 
  screenlocker/kcfg/kscreensaversettings.kcfgc PRE-CREATION 
  screenlocker/ksld.desktop PRE-CREATION 
  screenlocker/ksldapp.h PRE-CREATION 
  screenlocker/ksldapp.cpp PRE-CREATION 
  screenlocker/lockwindow.h PRE-CREATION 
  screenlocker/lockwindow.cpp PRE-CREATION 
  screenlocker/main.cpp PRE-CREATION 
  screenlocker/unlocker/CMakeLists.txt PRE-CREATION 
  screenlocker/unlocker/main.cpp PRE-CREATION 
  screenlocker/unlocker/qml/lockscreen.qml PRE-CREATION 
  screenlocker/unlocker/unlockapp.h PRE-CREATION 
  screenlocker/unlocker/unlockapp.cpp PRE-CREATION 
  screenlocker/unlocker/unlocker.h PRE-CREATION 
  screenlocker/unlocker/unlocker.cpp PRE-CREATION 

Diff: http://git.reviewboard.kde.org/r/103105/diff/diff


Testing
---

* Screen locks
* Screen stays locked if unlocker crasher
* unlocker gets restarted


Thanks,

Martin Gräßlin

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: Review Request: Screen Locker daemon

2011-11-10 Thread Aaron J. Seigo

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103105/
---

(Updated Nov. 10, 2011, 12:16 p.m.)


Review request for kwin, Plasma and Oswald Buddenhagen.


Changes
---

already in the plasma group.


Description
---

Yes I know it's late in the cycle :-) and yes not everything is implemented 
yet, but I am confident that I get these things finished today or at least till 
Beta tagging.

This is the new screenlocker work as discussed on kcd some time ago.

The screen locker is split into two parts:
1. A daemon (ksld) to just lock the screen and grab input
2. An unlock dialog (kscreenunlocker) which is executed as a separate process.

In case the unlocker fails/crashes the screen is still locked by
the lock daemon.

In case kscreenunlocker crashes or does not succeed, it gets
automatically restarted by the daemon.

Things I still need to do:
* D-Bus integration
* Grace time
* integration of existing screen savers into the QML
* cleanup KRunner
* several more things


Diffs
-

  CMakeLists.txt 9fa4c10 
  screenlocker/CMakeLists.txt PRE-CREATION 
  screenlocker/kcfg/kscreensaversettings.kcfg PRE-CREATION 
  screenlocker/kcfg/kscreensaversettings.kcfgc PRE-CREATION 
  screenlocker/ksld.desktop PRE-CREATION 
  screenlocker/ksldapp.h PRE-CREATION 
  screenlocker/ksldapp.cpp PRE-CREATION 
  screenlocker/lockwindow.h PRE-CREATION 
  screenlocker/lockwindow.cpp PRE-CREATION 
  screenlocker/main.cpp PRE-CREATION 
  screenlocker/unlocker/CMakeLists.txt PRE-CREATION 
  screenlocker/unlocker/main.cpp PRE-CREATION 
  screenlocker/unlocker/qml/lockscreen.qml PRE-CREATION 
  screenlocker/unlocker/unlockapp.h PRE-CREATION 
  screenlocker/unlocker/unlockapp.cpp PRE-CREATION 
  screenlocker/unlocker/unlocker.h PRE-CREATION 
  screenlocker/unlocker/unlocker.cpp PRE-CREATION 

Diff: http://git.reviewboard.kde.org/r/103105/diff/diff


Testing
---

* Screen locks
* Screen stays locked if unlocker crasher
* unlocker gets restarted


Thanks,

Martin Gräßlin

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: Review Request: Screen Locker daemon

2011-11-10 Thread Aaron J. Seigo

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103105/#review8095
---


it looks like we're pretty much right back to the situation we had prior to the 
screenlocking being moved to kwin, except that now we have yet another daemon 
which also links to kdeui just so it can be a unique app.

if we are going to go this route, i highly recommend that the daemon becomes a 
kded plugin.

other than that -> how does kwin handle a locked desktop with this new system? 
e.g. turning effects and other window painting off ...

- Aaron J. Seigo


On Nov. 10, 2011, 12:16 p.m., Martin Gräßlin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/103105/
> ---
> 
> (Updated Nov. 10, 2011, 12:16 p.m.)
> 
> 
> Review request for kwin, Plasma and Oswald Buddenhagen.
> 
> 
> Description
> ---
> 
> Yes I know it's late in the cycle :-) and yes not everything is implemented 
> yet, but I am confident that I get these things finished today or at least 
> till Beta tagging.
> 
> This is the new screenlocker work as discussed on kcd some time ago.
> 
> The screen locker is split into two parts:
> 1. A daemon (ksld) to just lock the screen and grab input
> 2. An unlock dialog (kscreenunlocker) which is executed as a separate process.
> 
> In case the unlocker fails/crashes the screen is still locked by
> the lock daemon.
> 
> In case kscreenunlocker crashes or does not succeed, it gets
> automatically restarted by the daemon.
> 
> Things I still need to do:
> * D-Bus integration
> * Grace time
> * integration of existing screen savers into the QML
> * cleanup KRunner
> * several more things
> 
> 
> Diffs
> -
> 
>   CMakeLists.txt 9fa4c10 
>   screenlocker/CMakeLists.txt PRE-CREATION 
>   screenlocker/kcfg/kscreensaversettings.kcfg PRE-CREATION 
>   screenlocker/kcfg/kscreensaversettings.kcfgc PRE-CREATION 
>   screenlocker/ksld.desktop PRE-CREATION 
>   screenlocker/ksldapp.h PRE-CREATION 
>   screenlocker/ksldapp.cpp PRE-CREATION 
>   screenlocker/lockwindow.h PRE-CREATION 
>   screenlocker/lockwindow.cpp PRE-CREATION 
>   screenlocker/main.cpp PRE-CREATION 
>   screenlocker/unlocker/CMakeLists.txt PRE-CREATION 
>   screenlocker/unlocker/main.cpp PRE-CREATION 
>   screenlocker/unlocker/qml/lockscreen.qml PRE-CREATION 
>   screenlocker/unlocker/unlockapp.h PRE-CREATION 
>   screenlocker/unlocker/unlockapp.cpp PRE-CREATION 
>   screenlocker/unlocker/unlocker.h PRE-CREATION 
>   screenlocker/unlocker/unlocker.cpp PRE-CREATION 
> 
> Diff: http://git.reviewboard.kde.org/r/103105/diff/diff
> 
> 
> Testing
> ---
> 
> * Screen locks
> * Screen stays locked if unlocker crasher
> * unlocker gets restarted
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: Review Request: Screen Locker daemon

2011-11-10 Thread Martin Gräßlin


> On Nov. 10, 2011, 12:19 p.m., Aaron J. Seigo wrote:
> > it looks like we're pretty much right back to the situation we had prior to 
> > the screenlocking being moved to kwin, except that now we have yet another 
> > daemon which also links to kdeui just so it can be a unique app.
> > 
> > if we are going to go this route, i highly recommend that the daemon 
> > becomes a kded plugin.
> > 
> > other than that -> how does kwin handle a locked desktop with this new 
> > system? e.g. turning effects and other window painting off ...

> it looks like we're pretty much right back to the situation we had prior to 
> the screenlocking being moved to kwin
Unfortunately yes, but if we want to make it secure, so that the screen does 
not get unlocked if something unrelated to screen locking crashes (e.g. the 
lock window or the OpenGL driver used by KWin) it needs to be in it's own 
process.

> if we are going to go this route, i highly recommend that the daemon becomes 
> a kded plugin.
there was concern that kded is too unstable as everything links to it, so e.g. 
a crashing other kded plugin could unlock the screen

> other than that -> how does kwin handle a locked desktop with this new 
> system? e.g. turning effects and other window painting off ...
It can use the property to recognize that there are screenlocker windows and 
disable painting of other windows and effects


- Martin


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103105/#review8095
---


On Nov. 10, 2011, 12:16 p.m., Martin Gräßlin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/103105/
> ---
> 
> (Updated Nov. 10, 2011, 12:16 p.m.)
> 
> 
> Review request for kwin, Plasma and Oswald Buddenhagen.
> 
> 
> Description
> ---
> 
> Yes I know it's late in the cycle :-) and yes not everything is implemented 
> yet, but I am confident that I get these things finished today or at least 
> till Beta tagging.
> 
> This is the new screenlocker work as discussed on kcd some time ago.
> 
> The screen locker is split into two parts:
> 1. A daemon (ksld) to just lock the screen and grab input
> 2. An unlock dialog (kscreenunlocker) which is executed as a separate process.
> 
> In case the unlocker fails/crashes the screen is still locked by
> the lock daemon.
> 
> In case kscreenunlocker crashes or does not succeed, it gets
> automatically restarted by the daemon.
> 
> Things I still need to do:
> * D-Bus integration
> * Grace time
> * integration of existing screen savers into the QML
> * cleanup KRunner
> * several more things
> 
> 
> Diffs
> -
> 
>   CMakeLists.txt 9fa4c10 
>   screenlocker/CMakeLists.txt PRE-CREATION 
>   screenlocker/kcfg/kscreensaversettings.kcfg PRE-CREATION 
>   screenlocker/kcfg/kscreensaversettings.kcfgc PRE-CREATION 
>   screenlocker/ksld.desktop PRE-CREATION 
>   screenlocker/ksldapp.h PRE-CREATION 
>   screenlocker/ksldapp.cpp PRE-CREATION 
>   screenlocker/lockwindow.h PRE-CREATION 
>   screenlocker/lockwindow.cpp PRE-CREATION 
>   screenlocker/main.cpp PRE-CREATION 
>   screenlocker/unlocker/CMakeLists.txt PRE-CREATION 
>   screenlocker/unlocker/main.cpp PRE-CREATION 
>   screenlocker/unlocker/qml/lockscreen.qml PRE-CREATION 
>   screenlocker/unlocker/unlockapp.h PRE-CREATION 
>   screenlocker/unlocker/unlockapp.cpp PRE-CREATION 
>   screenlocker/unlocker/unlocker.h PRE-CREATION 
>   screenlocker/unlocker/unlocker.cpp PRE-CREATION 
> 
> Diff: http://git.reviewboard.kde.org/r/103105/diff/diff
> 
> 
> Testing
> ---
> 
> * Screen locks
> * Screen stays locked if unlocker crasher
> * unlocker gets restarted
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: Review Request: Screen Locker daemon

2011-11-10 Thread Aaron J. Seigo
On Thursday, November 10, 2011 13:00:20 Martin Gräßlin wrote:
> > it looks like we're pretty much right back to the situation we had prior
> > to the screenlocking being moved to kwin
> Unfortunately yes, but if we want to make it secure, so that the screen does
> not get unlocked if something unrelated to screen locking crashes (e.g. the
> lock window or the OpenGL driver used by KWin) it needs to be in it's own
> process.

fair enough ... however, at least when it was in krunner it wasn't going to
spontaneously erupt as the user had no access to the krunner ui. now we have a
separate process. more below on this 

> > if we are going to go this route, i highly recommend that the daemon
> > becomes a kded plugin.
> there was concern that kded is too unstable as everything links to it, so
> e.g. a crashing other kded plugin could unlock the screen

similar can be said for everything in kded. if there is a need for two kded
instances, one for "trusted, critical" plugins and one for "things
applications wish to shove into there" then we can probably do that.

i don't like how we have one daemon for activities, now another for screen
locking ... both of which link to libkdeui even though they have no ui. it's
pretty much the exact opposite direction we need to be going for mobile
devices.

> > other than that -> how does kwin handle a locked desktop with this new
> > system? e.g. turning effects and other window painting off ...
> It can use the property to recognize that there are screenlocker windows and
> disable painting of other windows and effects

ok; that's a key feature.

i suppose my only remaining concern is that any window could masquerade as a
screenlocker window and "blank" the desktop? and if that is possible, that's a
relatively minor issue.

--
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks


signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: Review Request: Screen Locker daemon

2011-11-11 Thread Oswald Buddenhagen

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/103105/#review8125
---


for now only a quick note from me: i won't give you the "ship it" with such a 
todo list; it completely perverts the idea of feature freeze. but, as coolo 
said long ago "feature freeze only means that everybody gets a bad conscience 
when submitting features". it's perfectly ok if you submit it three days after 
the deadline if you promise to personally coerce at least two and a half people 
to do Thorough Testing ™ for you.

fwiw, i'd rename kscreenunlocker to ksld_greet for clarity and consistency with 
kdm. also, ksld is not too well chosen, as it does't naturally associate with 
anything - kscreenlocker should be fine, no?

- Oswald Buddenhagen


On Nov. 10, 2011, 12:16 p.m., Martin Gräßlin wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/103105/
> ---
> 
> (Updated Nov. 10, 2011, 12:16 p.m.)
> 
> 
> Review request for kwin, Plasma and Oswald Buddenhagen.
> 
> 
> Description
> ---
> 
> Yes I know it's late in the cycle :-) and yes not everything is implemented 
> yet, but I am confident that I get these things finished today or at least 
> till Beta tagging.
> 
> This is the new screenlocker work as discussed on kcd some time ago.
> 
> The screen locker is split into two parts:
> 1. A daemon (ksld) to just lock the screen and grab input
> 2. An unlock dialog (kscreenunlocker) which is executed as a separate process.
> 
> In case the unlocker fails/crashes the screen is still locked by
> the lock daemon.
> 
> In case kscreenunlocker crashes or does not succeed, it gets
> automatically restarted by the daemon.
> 
> Things I still need to do:
> * D-Bus integration
> * Grace time
> * integration of existing screen savers into the QML
> * cleanup KRunner
> * several more things
> 
> 
> Diffs
> -
> 
>   CMakeLists.txt 9fa4c10 
>   screenlocker/CMakeLists.txt PRE-CREATION 
>   screenlocker/kcfg/kscreensaversettings.kcfg PRE-CREATION 
>   screenlocker/kcfg/kscreensaversettings.kcfgc PRE-CREATION 
>   screenlocker/ksld.desktop PRE-CREATION 
>   screenlocker/ksldapp.h PRE-CREATION 
>   screenlocker/ksldapp.cpp PRE-CREATION 
>   screenlocker/lockwindow.h PRE-CREATION 
>   screenlocker/lockwindow.cpp PRE-CREATION 
>   screenlocker/main.cpp PRE-CREATION 
>   screenlocker/unlocker/CMakeLists.txt PRE-CREATION 
>   screenlocker/unlocker/main.cpp PRE-CREATION 
>   screenlocker/unlocker/qml/lockscreen.qml PRE-CREATION 
>   screenlocker/unlocker/unlockapp.h PRE-CREATION 
>   screenlocker/unlocker/unlockapp.cpp PRE-CREATION 
>   screenlocker/unlocker/unlocker.h PRE-CREATION 
>   screenlocker/unlocker/unlocker.cpp PRE-CREATION 
> 
> Diff: http://git.reviewboard.kde.org/r/103105/diff/diff
> 
> 
> Testing
> ---
> 
> * Screen locks
> * Screen stays locked if unlocker crasher
> * unlocker gets restarted
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel