On Thu, Sep 25, 2008 at 06:28:38PM +0100, Jeremy Henty wrote:
On Thu, Sep 25, 2008 at 06:04:07PM +0200, Johannes Hofmann wrote:
Maybe you know that already, but the fltk2 method from the test/image.cxx example also sets the _NET_WM_ICON hint:
No, I missed that. Thanks for pointing it out! It seems that window.icon() sets the hint. I don't know what to do if you wanted to set _NET_WM_ICON to a list of icons (of different sizes) rather than just one. But maybe that's not necessary: test/image specifies a large icon (64x64) so perhaps it's relying on the desktop to scale it down as necessary. IIRC the freedesktop.org docs say that the window manager MAY do that.
BTW, how do fltk::Window::xclass() and fltk::Window::icon() work? All they do is set private variables. Somewhere those variables must be sent to X11 so that something actually happens on the desktop, but I'm darned if I can see where the FLTK code does it. It seems to be happening by voodoo. Are we meddling with forces that humanity was not meant to wield? :-)
They hide that stuff in deep in their source tree. It's in src/x11/run.cxx ;-) Johannes