njsmith / partiwm

[defunct] Experiments with window managers in Python + GTK+, including the original version of xpra
GNU General Public License v2.0
23 stars 3 forks source link

Support nasty ICCCM methods for setting icons #2

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
We support EWMH's method for setting a window icon (_NET_WM_ICON containing
ARGB data), but at the moment ignore the classic ICCCM methods -- see
section 4.1.9. There are three parts to this:

    * set WM_ICON_SIZE on the root window to a list of allowable icon sizes
    * the client might set the icon_pixmap (and optionally icon_mask) in
WM_HINTS to an X pixmap (or two)
    * the client might set the icon_window field of WM_HINTS to an X pixmap
(or two)

These are mostly annoying because client-allocated pixmaps and windows
might disappear at any time, so we have to handle them with kid gloves.
(For the window case the best thing to do would probably even be to use
compositing -- NameWindowPixmap? or the wrapper window trick. Pixmaps are
easier, because the client cannot expect us to notice when they change,
ergo they must be static, ergo we can just copy the suckers out into our
own (ARGB!) pixmap, thanks.)

Waiting for someone to find an app they care about where this actually
matters... 

Original issue reported on code.google.com by njsmith@ucsd.edu on 7 Nov 2009 at 5:09