This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
RE: Custom icons per window class/name patch
- From: "Earle F. Philhower III" <earle at ziplabel dot com>
- To: cygwin-xfree at cygwin dot com
- Date: Mon, 26 May 2003 10:27:46 -0700
- Subject: RE: Custom icons per window class/name patch
- References: <5.1.1.6.2.20030522230929.00aaeb78@mail.ziplabel.com>
- Reply-to: cygwin-xfree at cygwin dot com
Howdy Ralf,
At 09:39 AM 5/26/2003 +0200, you wrote:
while testing some KDE3 applications, I recognized that the application window
class distinction by WM_CLASS isn't enough, because kde applications uses
different icons for different windows of an application. This applications
uses
the WM_WINDOW_ROLE property to distingh for example message box windows from
basic windows. Currently the icons of the main window are overwritten, because
all the windows of an application share the same window class.
The appended patch fix this. (Additional this patch fixes one segfault in
GetClassHint, I have recognized causes by a null WindowPtr)
I'm not a KDE user so I can't test this directly, but are you
sure that the window role name is unique between applications?
Would it make sense to use the Windows class name a function of
both the res_role, res_name and res_class? Or is there only one
KDE "file open box" that all apps would share?
...
2. KDE uses 16x16x16 sized icons for "modal dialogs" (48x48x16 for regular
icons), which seems to be not designed for displaying un the task bar or
ALT-TAB
process switching window. Currently this type of icons are displayed wrongly.
CreateIcon() seems to stretch this icon so this result in displaying black
horizontal stripes. This problem would be solved, when issue 1. would be
implemented.
Can you check the raw bits that are being passed to the CreateBitmap
for this icon? I've run several 16x16 icon apps (ethereal and konqueror)
and they all work fine. (Of course windows will pixel double the 16x16
icon to 32x32 for the task switcher...). CreateIcon does work for
16x16 bitmaps, but if there was a 32x32 icon registered for the window
class before, maybe Windoze doesn't like swapping it for a 16x16 with
the GCL_HICON...
-Earle F. Philhower, III
earle@ziplabel.com
cdrlabel - ZipLabel - FlpLabel
http://www.cdrlabel.com