This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
question about multiwindow mode and application icons
- From: "Ralf Habacker" <Ralf dot Habacker at freenet dot de>
- To: "Cygwin-Xfree" <cygwin-xfree at sources dot redhat dot com>
- Date: Tue, 13 May 2003 10:00:36 +0200
- Subject: question about multiwindow mode and application icons
- Reply-to: cygwin-xfree at cygwin dot com
Hi all,
currently I'm testing the Xwin server multiwindow mode with the KDE-cygwin
applications, which give very nice results. Great work.
While working with the test server I recognized, that for all X applications the
same icon is used in the applications left top corner and the task panel and I'm
searching for a way to fix this limitation.
Because I'm not very familiary with x programming I can only give some general
concept hints, which I have found while analysing. Perhaps somebody could use
this initial work and got the honor for implementing this stuff. :-)
1. I've find out, that x applications has already support for this through the
XSetWMHints calls, but unfortunally the format of the bitmap is incompatible to
the Win32 Icon format.
2. There seems to be a way converting such an image through the CreateIcon()
call (see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/Win
dowsUserInterface/Resources/Icons/UsingIcons.asp
3. Because the icon is set with the XSetWMHints() call and could not be set on
the RegisterClass() call in winCreateWindowsWindow(), it must be set later. If
have found two way for doing this, but I can't say which of the functions would
be better.
A. setting the class icon
SetClassLong(hwnd, // window handle
GCL_HICON, // changes icon
(LONG) LoadIcon(hinst, MAKEINTRESOURCE(480))
);
B. using a message
SendMessage(WM_SetIcon,...)
4. The icon is set by a client call of XSetWMHints() (I found this in the QT
sources), but I haven't found the corresponding part in the server.
PS: It may be that I'm are able to implement this, but currently I have no idea
how much work this would be, especially
1. the image conversation stuff
2. the server related XSetWMHints() stuff
Any comments ?
Cheers
Ralf