This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Custom icons per window class/name patch


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]