| The window manager IS fighting with you. It does not like it when you uninstall
the colormap that it believes should be installed. Don't install the colormap
yourself.
Chances are the problem on the FF is just what you said. What you need is the
ICCCM property for window colormaps. It tells the wm to install a certain cmap
when that window is selected regardless of the window attribute. Of course, the
XUI wm does not support this, so you need MWM.
The other thing is to try to convince the toolkit to use an 8-plane pseudo
window.
And finally, you could bite the bullet just figure out which mode is the right
one based on the depth and visual of the shell window and on how many colormaps
the display has.
Burns
|
|
Thanks Burns.
I gather from what you say that doing ICCCM property won't help since regular
DECwindows window manager (which of those letters you mentioned is *that*
window manager?) won't honor it anyway.
Have you any idea *how* I would convince toolkit to use an 8-plane pseudo
window, or whom I might talk to about this ?
My current solution (please comment) is to look at the depth and type of visual
that the toolkit has associated with the shell, and set flag VISUALS_MATCH_FLAG
iff this visual matches the one I use for my own tek colormap.
Then, if VISUALS_MATCH_FLAG is set, I do XSetWindowColormap to set shell
window's colormap to be the tek one. WHen I get FocusIn event, if
VISUALS_MATCH_FLAG is *not* set, I do XInstallColormap of the tek colormap.
How does this sound ? If bad, what do you suggest.
Thanks.
/Eric
|
| >I gather from what you say that doing ICCCM property won't help since regular
>DECwindows window manager (which of those letters you mentioned is *that*
>window manager?) won't honor it anyway.
XUI is the name of the interface that DECwindows currently uses. It will be
changing to Motif in DW V3.0, so it depends on the time frame of the emulator
whether you can use it or not.
>Have you any idea *how* I would convince toolkit to use an 8-plane pseudo
>window, or whom I might talk to about this ?
Nope. Try Mike Collins or Leo Treggiari.
>My current solution (please comment) is to look at the depth and type of visual
>that the toolkit has associated with the shell, and set flag VISUALS_MATCH_FLAG
>iff this visual matches the one I use for my own tek colormap.
>
>Then, if VISUALS_MATCH_FLAG is set, I do XSetWindowColormap to set shell
>window's colormap to be the tek one. WHen I get FocusIn event, if
>VISUALS_MATCH_FLAG is *not* set, I do XInstallColormap of the tek colormap.
This will not do what you want at some point. This is because you currently
have a coincidental situation where a workstation with a TrueColor visual
(which you can't use, I guess) also has multiple colormaps installable simultan-
eously (which is why you don't fight with the window manager on it). Some
future h/w will have TrueColor but only one cmap, and you'll be up the creek.
You really need to either assume MWM or another compliant window manager,
or get the toolkit to do the right thing.
Burns
|