This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
RE: question about multiwindow mode and application icons
- From: "Earle F. Philhower, III" <earle at ziplabel dot com>
- To: cygwin-xfree at cygwin dot com
- Date: Fri, 16 May 2003 18:46:05 -0000
- Subject: RE: question about multiwindow mode and application icons
- Reply-to: cygwin-xfree at cygwin dot com
Howdy again,
---------- Original Message -------------
Subject: RE: question about multiwindow mode and application icons
From: "Ralf Habacker" <Ralf.Habacker@freenet.de>
..
But what about the taskbar and ALT-TAB window handling ? The win32 build in
handling of windows require a registered icon, which requires different
WindowClasses for each application.
Otherwise I have to do all stuff manual, which seems not so easy. :-)
-----------------------------------
Good point, I forgot. Under WinXP you get a message you can handle to
draw the icon in the task switcher, but under older OSs you're 100%
correct.
--------------------
From: "Ralf Habacker" <Ralf.Habacker@freenet.de>
Do you see a problem using different RegisterClass, which would make it very
simple (initialize icon and forget) ?
--------------------
Not under any modern OS. Under Win95, 98, and ME, though, I believe
there is a limited number of window classes allowed because they
share a 16-bit context somewhere. Under NT/2K/XP this restriction
shouldn't be there, each app has its own GDI and contexts...
You do NOT want to be running W98 on a machine that runs out of GDI
resources. It's a neat effect as fonts start getting lost and window
borders disappear, until the whole thing blue screens.
--------------------
I'm very near at this goal. The only thing I'm missing is how to get a WMInfoPtr
and Window reference from the WindowPtr. See the source below:
...
--------------------
I'm not too sure, but I sent a message earlier today with a
suggestion. Does winGetWindowID(pWin) get a valid WindowID?
If so, then with a iWindow and Display* you should be able
to get the pWMInfo. You may want to look at the X porting manual
to see if they give some hints in the callback sections of the
X servers.
If you can't get the info then and there, you should be able to
defer the processing until the WM_CREATE is called and then
just SetClassWord(newicon(XClass))? You won't cause any visual
artifacts since the window isn't drawn until you get a WM_SHOW,
well after the WM_CREATE message.
--
-Earle F. Philhower, III
earle@ziplabel.com
http://www.ziplabel.com