use wine as screensaver for x

Detlef Riekenberg at
Wed Oct 18 17:04:39 CDT 2006


While waiting for the commit of my localspl-Patches, 
i want to picked up an fun project:

Has anyone an Idea, how to modify "user32.dll" and
"winex11.drv" to open a Window, when I already have the
X11 Window-ID (example: XSCREENSAVER_WINDOW=0x280020)? 

My Idea is to include the wrapper code in explorer.exe
and use similar code as already present for "/desktop".

The Window width and height is not known on startup
and does not match a well-known Desktop Size.
I think, I need to add an Export to winex11.drv to fetch
the size and reuse "X11DRV_create_desktop()" or add an Export
to someting similar as "X11DRV_create_desktop()".

The client registers a Window Class with a known name
("WindowsScreenSaverClass") and then CreateWindowEx must be 
redirected to the already created X11-Window.

A lightwight solution might be to implement minimal features
from "scrsave.lib" (RegisterClass) in "explorer.exe"
and then call "ScreenSaverProc" directly.

Any Ideas?

By by ... Detlef

More information about the wine-devel mailing list