Wrong information in WM standard
Frank Schmitt
ich at frank-schmitt.net
Wed Oct 29 03:03:17 PDT 2008
Hello,
When you look at
http://standards.freedesktop.org/wm-spec/latest/ar01s05.html#id2569669
it clearly states, that each pixel is represented by a 32 bit
integer. In fact the data type is however CARDINAL. CARDINAL is long and
long is 64 bit under Linux and therefore if you do something like
UINT32* buffer = (UINT32*)malloc((16*16+2)*4);
buffer[0]=w;
buffer[1]=h;
memset(buffer+2,0,16*16*4);
XChangeProperty(dpy, top, net_wm_icon, cardinal, 32,
PropModeReplace, (const unsigned char*) buffer, 2+16*16);
you get a transparent icon under 32 bit but not under 64 bit
systems. There buffer must be from a 64 bit type which contradicts the
standard.
Further on, it is totally unclear to what happens when your xserver is
on a 32 bit system and the client on a 64 bit system or vice versa.
Yours,
Frank
--
Have you ever considered how much text can fit in eighty columns? Given that a
signature typically contains up to four lines of text, this space allows you to
attach a tremendous amount of valuable information to your messages. Seize the
opportunity and don't waste your signature on bullshit that nobody cares about.
More information about the xdg
mailing list