Perhaps now that there is someone around with access to a
box where this happens Brad or Sean will be able to fix it.
I thought that "-depth 24 -class TrueColor" would fix it
too, I think that did it for Solaris. I was working with
0.61.1, and added just enough debugging code to figure out
what was going on, but gave up on fixing it, since I hardly
ever used the box I was having the problem on. [patch
attached] Maybe if this hasn't changed too much since
0.61.1 it will at least give you some place to start
looking in the code. Clearly fixing BB is a better solution
that making your X server only offer one depth, but not a
lot of people seem to use BB on Irix or Solaris (with
multiple depths).
Good luck. If this isn't fixed in Sept. when I go back to
school, maybe I'll play some more, but for now I don't have
access to a box w/ this problem.
-James
On Fri, 14 Jun 2002, Brian Hechinger wrote:
> On Fri, Jun 14, 2002 at 12:30:54PM -0400, James E. Flemer wrote:
> >
> > Take a look at this:
> > http://www.mail-archive.com/[email protected]/msg01336.html
> >
> > I have had this problem on Solaris 8 (sparc), when the
> > display has lots of color depths. xdpyinfo says something
> > like (I am doing this from memory):
> >
> > screen #0:
> > dimensions: ....
> > resolution: 75x75 dpi
> > depths (4): 32 16 8 2
>
> dimensions: 1280x1024 pixels (350x280 millimeters)
> resolution: 93x93 dots per inch
> depths (5): 1, 8, 12, 15, 24
>
> but i thought i solved that with -depth 24 -class TrueColor in
> /usr/lib/X11/xdm/Xservers? it at least solved remote X apps problem where they
> would ask for default and get 8. hmmm. so now we know why it is happening,
> but how do we get it to do the right thing?
>
> -brian
>
diff -bru blackbox-0.61.1-orig/src/BaseDisplay.cc blackbox-0.61.1/src/BaseDisplay.cc
--- blackbox-0.61.1-orig/src/BaseDisplay.cc Thu Oct 5 17:05:40 2000
+++ blackbox-0.61.1/src/BaseDisplay.cc Tue Jan 29 20:04:29 2002
@@ -581,4 +581,6 @@
visual = DefaultVisual(basedisplay->getXDisplay(), screen_number);
colormap = DefaultColormap(basedisplay->getXDisplay(), screen_number);
}
+ fprintf(stderr,"JEF: Depth: %d\n", depth);
+ fprintf(stderr,"JEF: Visual: %d\n", visual->c_class);
}
diff -bru blackbox-0.61.1-orig/src/Image.cc blackbox-0.61.1/src/Image.cc
--- blackbox-0.61.1-orig/src/Image.cc Thu Oct 5 17:05:40 2000
+++ blackbox-0.61.1/src/Image.cc Tue Jan 29 20:02:00 2002
@@ -1886,6 +1886,9 @@
if (bits_per_pixel >= 24) setDither(False);
red_offset = green_offset = blue_offset = 0;
+
+ fprintf(stderr, "JEF: Visual %d/%d, Depth %d, BPP %d\n",
+ getVisual()->c_class, TrueColor, screen_depth, bits_per_pixel);
switch (getVisual()->c_class) {
case TrueColor: