whee! only thusday and already I have my goal for the week done. I have plasma-overlay displaying properly over the screensaver. on my laptop, where composite is on, I can see them both together. on my desktop, where composite is off, I only see plasma (and the screensaver process should be nicely suspended). I have a screenshot of the composited one, and as usual the code is up on gitorious. :)
I had to set up a dbus interface before this would work – need to pass the winid n’stuff. There are some nice techbase tutorials, but I still ended up banging my head against the wall a few times :P I’ve never worked with dbus before. still, in the end I managed to do everything in a way that feels nice. :) I’m quite happy that I managed to get cmake generating both the xml and the adaptor-class for me. :)
once dbus was working, then I had to get the window stacking order right, so that plasma-overlay was above the saver and under the lock dialog. ohhh, the headaches that caused. as I was on my way to a party last night I realised that half my problem was that I was using the wrong winId. :) so when I got home of course I had to go bacck on the computer and test this, and bam! plasma-overlay shows up. :D
…and then I discover that I can’t get rid of it. the screensaver won’t respond. killing krunner_lock crashed X. doh. turns out I had an infinite loop in the stacking code because I ignored a comment about infinite loops… :) once I had that fixed, I polished off a few things, and… well, it works now.
of course, when I say “works”, I mean it displays the way I want it to. I still have the problem that the unlock dialog steals all input, so I can’t actually *interact* with plasma from the screensaver. but that’s next week’s goal. :)
I guess now I can spend the rest of the week seeing if non-compositing ways of trying to draw the screensaver are really as bad as I think they are. or fixing plasma bugs. or just enjoying the sunshine. :)