On Sun, Jan 13, 2002 at 09:12:32AM -0800, Sean 'Shaleh' Perry wrote:
> On 13-Jan-2002 Anh Lai wrote:
> > yeah, figured it out, forgot bsetroot does gradient stuff of bb that
> > Eterm does not understand.  So it only works for actual files.
> > 
> 
> So Eterm will not use a bsetroot generated background for transparency?  If
> this is true, it should be easily fixed.  A bug in bsetroot even.

We went through this in #blackbox a couple of months ago.  You see it in
reverse with applications like aterm remembering old backgrounds:

1. use bsetroot to set the background.
2. aterm et al respect the background setting and transparency works.
3. Eterm complains about unsupported transparency.

Now use Esetroot to set the background...

4. all applications respect the background and transparency works

Now change the background again, with, for example, display...

5. all applications continue to use the old background (cookie cutter
effect).

Esetroot sets some property on the root window that the rest do not.  Only
Eterm seems to care whether or not that property is set or not.  Some nice
person in #blackbox (I disremember who) inspected the properties set on the
root window by various utilities, and came up with the attached to reset
whatever Esetroot does that the others do not (to get rid of the cookie
cutter effect).

Perhaps this can tell you what's actually going on.


-- 
Marc Wilson
[EMAIL PROTECTED]
[EMAIL PROTECTED]

#include <X11/Xutil.h>
#include <stdlib.h>

int
main()
{
  Display *Xdisplay;
  Window Xroot;
 
  Xdisplay = XOpenDisplay(getenv("DISPLAY"));
  Xroot = RootWindow(Xdisplay, DefaultScreen(Xdisplay));

  XDeleteProperty(Xdisplay, Xroot,
		  XInternAtom(Xdisplay, "_XSETROOT_ID", True));
  XDeleteProperty(Xdisplay, Xroot,
		  XInternAtom(Xdisplay, "_XROOTPMAP_ID", True));
  XDeleteProperty(Xdisplay, Xroot,
		  XInternAtom(Xdisplay, "ESETROOT_PMAP_ID", True));

  XSetCloseDownMode(Xdisplay, DestroyAll);
  XFlush(Xdisplay);
  return 0;
}

/*
 * Local Variables:
 * compile-command: "gcc -o fix_Esetroot fix_Esetroot.c -L/usr/X11R6/lib -lX11"
 * End:
 */

Reply via email to