I was talking with Thomas Zander on irc last night about the Plasma desktop shell and how it's shaping up. I was going on about how happy I am that we're able to ship the thinnest default panel we've been able to thus far in a KDE release: KDE 3 had a 46px default, 4.0 had a 48px default, 4.1 had a more reasonable 38px default ... and 4.2 will have a much slimmer 35px default. Personally I prefer really, really thin panels but for the default we're constrained by things like the size of systemtray icons and making it look nice with them. (I have some thoughts about how we can mitigate this in 4.3 with a variable height panel ... but that's not for 4.2.)
Still, being able to shave 11 pixels off the KDE3 default and 3 more pixels off of 4.1 (which shed a few pounds already) is great. Thomas noted, however, that he has wide panels and hides them. Fair enough, that's one of the beautiful things about autohiding panels.
He noted, however, that Plasma only unhides the panel when you move the mouse in the space the panel actually exists. So, for example, if you have a panel taking up 50% of the right side of the screen and it is vertically centered, the top and bottom quarter of the screen won't untrigger a hide.
Whereas Kicker would just unhide everything on a screen edge when you came in contact with it, Plasma tries to respect people's choice of panel size. I often have a small panel in the top left of my screen for quick launch the handful of apps I use-and-close throughout the day; I really don't need it popping out when my mouse reaches for the left side of a maximized window. So Plasma's size sensitivity is a nice improvement (and it does it without polling the mouse.. woo!).
Thomas said it'd be neat if the panel 'glowed' when off screen. I thought about it for all of about 2 seconds before running off to implement it. It was just too cool of an idea to not do it right now. Excitability: 1, Sleep: 0.
I figured that if I made the input only window Plasma uses to trigger unhiding a bit bigger, say 30 px larger than necessary on all sides, and painted a small glow where the panel was when the mouse entered that input only window ... it would look to the user like the panel "sensed" the mouse was near and announced its existence. This would give Thomas a hint as to where his panel actually was without having to hunt too much: just get near it and then follow the glow. Since input-only windows don't paint to screen nor capture events (unless they go out of their way to do so), this wouldn't otherwise interfere with the user interacting with other windows. It should be completely seamless.
How hard could it be, right?
I had a proof of concept up and running in less than five minutes. I spent another hour or so on various details before going to bed (somewhere around 03:00 *sigh*) and then implemented the painting of the glow today (SVG makes this stuff sooo easy) and committed.
The only caveat is that the glow painting looks horrible without window compositing. So even though all the mechanics work perfectly without composite, there is no glow when there is no window compositor due to aesthetics. If we come up with an aesthetically pleasing solution for the non-composited scenario, turning it on is a matter of deleting a couple lines of code.
So, the end result (other than me losing an hour more sleep last night) is that if you have composite and you have a hidden panel, it will glow as your mouse nears. Think of it as your panel saying, "Oh! Hello! I was wondering when you'd return!" =)