# FBO as desktop wallpaper

**URL:** <https://discourse.libcinder.org/t/fbo-as-desktop-wallpaper/340>\
**Category:** Using Cinder\
**Created:** [October 22, 2016, 5:55pm UTC](https://discourse.libcinder.org/t/fbo-as-desktop-wallpaper/340 "2016-10-22T17:55:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Regis](https://avatars.discourse-cdn.com/v4/letter/r/77aa72/32.png) [@Regis](https://discourse.libcinder.org/u/Regis)\
**Post date:** [October 22, 2016, 5:55pm UTC](https://discourse.libcinder.org/t/fbo-as-desktop-wallpaper/340/1 "2016-10-22T17:55:16Z")

</div>

Hello Everyone,

I was wondering if there’s a way to use an FBO as a dynamic desktop wallpaper (any platform).

- is that technically possible?
- If so, what sort of performance can I expect in terms of frame rates?

I’m trying to visualize a few ‘live-desktop’ ideas. I’m aiming for ‘sketch/prototype’ level of fidelity. I can fake it with layered images (for icons and other desktop elements) but I was hoping to push it a notch.

Any opinions, links, insights, etc. appreciated!

Thanks.

---

<div class="post-metadata">

**Author:** ![Regis](https://avatars.discourse-cdn.com/v4/letter/r/77aa72/32.png) [@Regis](https://discourse.libcinder.org/u/Regis)\
**Post date:** [October 26, 2016, 6:38am UTC](https://discourse.libcinder.org/t/fbo-as-desktop-wallpaper/340/2 "2016-10-26T06:38:20Z")

</div>

Ping on this. Anyone?

---

<div class="post-metadata">

**Author:** ![seph](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@seph](https://discourse.libcinder.org/u/seph)\
**Post date:** [October 26, 2016, 2:44pm UTC](https://discourse.libcinder.org/t/fbo-as-desktop-wallpaper/340/3 "2016-10-26T14:44:38Z")

</div>

Hi,

I don’t know any doable solution with a FBO.  
But I did remember doing a similar thing 6yrs back…that was on windows XP.

It was a live sketch app that allows you draw directly on the desktop wallpaper.  
I approached with a pretty dumb solution by first reading the wallpaper file into the memory,  
then capturing mouse position/clicks to draw. Every time a new stroke is done, the wallpaper file is saved.

I’m not sure if windows now allows for a FBO approach(not likely), but it depends on how often you want to update your wallpaper, some dumb solution might just work.

-seph

---

<div class="post-metadata">

**Author:** ![nay](https://avatars.discourse-cdn.com/v4/letter/n/8e7dd6/32.png) [@nay](https://discourse.libcinder.org/u/nay)\
**Post date:** [October 27, 2016, 12:54am UTC](https://discourse.libcinder.org/t/fbo-as-desktop-wallpaper/340/4 "2016-10-27T00:54:03Z")

</div>

Not very sophisticated but I made an app a few years ago on OSX that would periodically save over the top of an image and then call some applescript via command line to reset the wallpaper image. I guess you could make an app to do that with what’s in your FBO and see what kind of speeds you can get. I doubt there’s a way to do this with texture sharing but would be great if possible.

---

<div class="post-metadata">

**Author:** ![Regis](https://avatars.discourse-cdn.com/v4/letter/r/77aa72/32.png) [@Regis](https://discourse.libcinder.org/u/Regis)\
**Post date:** [October 31, 2016, 7:05am UTC](https://discourse.libcinder.org/t/fbo-as-desktop-wallpaper/340/5 "2016-10-31T07:05:38Z")

</div>

Hi, thanks for all the recommendations! I’ve been experimenting a little bit on windows and so far I have the ability to get the context between the desktop wallpaper and the icons (which is what I want). Unfortunately what I can draw is just this:  
TextOut(hdc, 10, 10, “hello”, 12);  
The hdc I obtain through various FindWindow processes. It’s basically a device context handle \*(HDC GetDC)

The question then is, how would I go about using that context area or as the drawing area? Meaning, how would I assign the context handle to cinder window (which I can then try to customize and make transparent/no frame etc.? Are there some ‘magic’ commands which would allow me to do that? I don’t expect to interact with it on desktop, just show ‘data’ and update accordingly. I do need high fps’s though.

You can see the little hello world sign behind the chrome icon. The blue is the desktop wallpaper.

![](https://canada1.discourse-cdn.com/flex030/uploads/libcinder/original/1X/0f03994a7c5cff007eff5715138d9754b810bae3.jpg)
