[comp.windows.x] backing-store implementation available

deboor@nutmeg.Berkeley.EDU.berkeley.edu (Adam R de Boor) (03/17/88)

I have placed on expo.lcs.mit.edu (18.30.0.212) in contrib and on
decwrl.dec.com (128.45.1.1 or 26.7.0.16) in pub a compressed shell
archive called bstore.shar.Z. This archive contains patches to server
source (dix, mfb, cfb, sun, mi and include) to implement backing-store and
save-unders for those servers that use the mfb and cfb output libraries.
Servers that don't use these libraries but wish to use the backing-store
should look at server/ddx/mi/mibstore.c once you've installed it and
follow the instructions there. It may also be helpful to examine the (small
number of) changes needed in mfb and cfb to make use of the backing-store
implementation.

In addition to server changes, I have modified uwm (to use save-unders for
menus on command) and xterm (to set the use of backing-store from the
resource database) to make use of these improvements. Uwm, when patched,
will set save_under true for all its menu windows if 'saveunder' is set in
the .uwmrc ('nosaveunder' will do the opposite). The 'backingStore'
(class 'BackingStore') resource for xterm causes the backing_store for the
main VT window to be set according to its value, which is one of
NotUseful, WhenMapped and Always (corresponding to their respective protocol
constants).

The implementation is not completely consistent with the protocol (e.g.
partially-obscured windows with Forget bit_gravity will not have the obscured
areas blanked when they are resized -- support was not extant in the server
to do this when I was writing it, though it could easily be added. In all other
respects I believe it behaves according to spec.), nor is it completely
bug-free -- what bugs do still exist, however, occur very, very rarely (in
fact, I haven't seen them since I installed the changes into R2). If anyone
can give me a repeatable case so I can find out what's wrong, I'd be much
obliged.

DISCLAIMER: THESE CHANGES ARE PROVIDED AS-IS. I don't really have time to
support them. In time, they will be blessed by the X Consortium and be
supported by them as much as they can. For now however, while I will accept
bug reports, I promise nothing. For reassurance, I offer you my use of the
system for the last month or so without mishap.

Any questions should be directed first to the protocol spec and, only where
that doesn't suffice, to me. Again, I haven't much time so don't expect prompt
responses or get angry with me, please.

a