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