Patrick wrote:CircleDock wrote:Oh ... that's annoying. Can I make that a request for inclusion in the API please?
Hm. The preview images used in SevenDex and other places (at least for desktops already visited) are static screenshots. So you're asking me to swap out the wallpaper in a screenshot programmatically or find a way to generate the previews dynamically. Let me think about it.
I just knew you'd like that challenge!
Another way around this problem would be to only change the wallpaper on the active desktop: either change the wallpaper every thirty minutes on the desktop which happens to be active at that time and leave all other desktops untouched, or keep track of how much time the user has spent on each desktop and then change the wallpaper when thirty minutes have accumulated for the active desktop.
That - in bold text - is basically how it's done. But the (cosmetic) problem is that all the previews will show the same background as the active desktop unless and until there is a switch of desktops. So it would be nice if I could somehow tell you what the images will be for the other desktops.
While we're at it, throwing around feature requests... I agree with selden, offering the same update intervals as Windows seems like a reasonable idea. Also, it would be really cool if we could have a blending transition when changing from one wallpaper to the next.
There are variable time intervals now but not as many as Windows 7 offers. I really don't see the point of offering an interval of less than (say) 5 minutes: in practice, such intervals would rarely ever be used and simply increase the amount of time both my plug-in and Dexpot would be busy.
As for a blend transition, yes it would be nice for the timed interval changes but you certainly would not want that when you switch desktops. Right now, the background changes immediately the desktop is switched and is seemless; having that done by a blend transition would look out of place I feel.
But implementing a blend transition for timed intervals is something I plan (for a future release) once I figure out exactly how Microsoft does it - it certainly isn't by the method they (kind of) document using SystemParametersInfo. I suspect they're using a low-level - and probably undocumented - method call to DirectX to manipulate hDC(0) which is the Desktop Background.
As Dexpot itself can change Desktop Background images, I think it's rather necessary to create a new Windows message:
DEX_BACKGROUNDSWITCHER where LParam = 0 to instruct Dexpot not to change backgrounds and non-zero to allow it to change backgrounds.
Otherwise there will be a conflict!
Mark
[quote="Patrick"][quote="CircleDock"]Oh ... that's annoying. Can I make that a request for inclusion in the API please?[/quote]
Hm. The preview images used in SevenDex and other places (at least for desktops already visited) are static screenshots. So you're asking me to swap out the wallpaper in a screenshot programmatically or find a way to generate the previews dynamically. Let me think about it.[/quote]
I just knew you'd like that challenge! :D
[quote][b]Another way around this problem would be to only change the wallpaper on the active desktop: either change the wallpaper every thirty minutes on the desktop which happens to be active at that time and leave all other desktops untouched[/b], or keep track of how much time the user has spent on each desktop and then change the wallpaper when thirty minutes have accumulated for the active desktop.[/quote]
That - in bold text - is basically how it's done. But the (cosmetic) problem is that all the previews will show the same background as the active desktop unless and until there is a switch of desktops. So it would be nice if I could somehow tell you what the images will be for the other desktops.
[quote]While we're at it, throwing around feature requests... I agree with selden, offering the same update intervals as Windows seems like a reasonable idea. Also, it would be really cool if we could have a blending transition when changing from one wallpaper to the next.[/quote]
There are variable time intervals now but not as many as Windows 7 offers. I really don't see the point of offering an interval of less than (say) 5 minutes: in practice, such intervals would rarely ever be used and simply increase the amount of time both my plug-in and Dexpot would be busy.
As for a blend transition, yes it would be nice for the timed interval changes but you certainly would not want that when you switch desktops. Right now, the background changes immediately the desktop is switched and is seemless; having that done by a blend transition would look out of place I feel.
But implementing a blend transition for timed intervals is something I plan (for a future release) once I figure out exactly how Microsoft does it - it certainly isn't by the method they (kind of) document using SystemParametersInfo. I suspect they're using a low-level - and probably undocumented - method call to DirectX to manipulate hDC(0) which is the Desktop Background.
As Dexpot itself can change Desktop Background images, I think it's rather necessary to create a new Windows message:
DEX_BACKGROUNDSWITCHER where LParam = 0 to instruct Dexpot not to change backgrounds and non-zero to allow it to change backgrounds.
Otherwise there will be a conflict!
Mark