{June 9, 2008}   soc week 2

well, I pretty much covered it in my last post: I haz code now. yays.
since then I’ve cleaned up some little things and created my own containment without all the useless desktoppy stuff, so I’m back on schedule. :) I poked at the appearing-below-screensaver issue, and fredrikh gave me some pointers, but… I’d actually totally forgotten about that until a minute ago. luckily I still have the window open, so perhaps I’ll work on it tonight. looks like I also have to make a dbus interface for the lock process and the plasma one to talk to each other.

once I’ve got that dbus stuff running, I guess I’ll have to figure out once and for all whether there’s any feasible alternative to using composite.

actually, I just had an interesting thought, right this second.
see, for desktop containments, in 4.2 we’re planning to have background-drawing plugins, so that you can do things like using a folderview as a containment and having wallpaper in it too. I wonder… if a way to draw screensavers in the plasma process were to come along later, could it be done as one of those plugins? if it could, then it could be done later, if someone figures out a way after soc is over.

just a thought. might not necessarily be doable – drawing on the canvas would be sucky. but to get behind widgets you basically have to be drawing on the canvas, or drawing in the view’s background-painting function (and it’s not like that gets called at 20fps or anything), so there aren’t that many non-composite options for screensaver stuff in the first place.

Thomas Zander says:

One question thats on my mind is why do you want to keep using an old-school screensaver.

In my mind this project is not about screensavers, its about selecting a workspace with selected plasmoids and not being able to get out of that (to access the rest of the system) without typing a password.
Merging this with the concept of a screensaver seems a bit artificial to me…

Kitsune says:

As a totally-non-expert wrt this, I think the answer would be that then you’d have to re-implement a LOT of KScreenSaver’s functionality. I thought (also not a expert on this :P) that the only session locking functionality that existed in X was intended for screensavers so it might end up looking a lot like KScreenSaver anyways.

Although I’m probably just spouting lots of hot air, but maybe my blind swinging will get some-what close to the correct answer :P

yman says:

I imagine it will be not so different from the normal locked Plasma desktop, except be Plasmoid only, and run with guest permissions.

Chani says:

ok, so… there are three main parts of this whole screensavery thing to deal with.

first there’s kscreensaver. individual screensavers inherit it and do pretty drawing things. most screensaver processes seem to just constantly draw into the x11 window they’re handed.
not all screensavers inherit kscreensaver, of course; there are a bunch of x11 ones that do their own thing (I haven’t looked into their code).

second, there’s the LockProcess, aka krunner_lock. that process is the one in control. it starts and stops the screensaver process (and plasma too, but not very well yet), brings up the unlock dialog, and makes sure that your screen isn’t shown again until it’s properly unlocked.

third, there’s plasma-overlay. that’s mine. :) and I think you can guess what it does.

so… where was I going with all this?
oh, right. kscreensaver isn’t what would need reimplementing. lockprocess is. but Kitsune has the right idea.
as for why I want the screensaver and plasma visible at the same time then, well… it’s pretty! :) that and some people still need to save their screens. I don’t want to have to choose between having my favourite shiny screensaver or having useful things like a clock and a volume control.

Comments are closed.

et cetera
%d bloggers like this: