[comp.windows.x] uwm patches

jkh@COGSCI.BERKELEY.EDU (Jordan K. Hubbard) (12/13/87)

Well, here it is. uwm with titlebars. This is NOT the final release of
these changes, nor have they been blessed by MIT. This is purely a beta
release during which I hope to fix bugs, add planned (and unplanned) features
and generally get informed of all the ways I did it wrong. This was one
of those "learning" projects for me, so don't be afraid to point out
any gross defects in the code. I'll fix anything that's reported in enough
detail. On the plus side, it seems to work and it's free.

Currently known bugs/deficiencies/quirks & wishes are:

Occasionally gets erroneous child window information back from
XTranslateCoordinates, causing grabs in titles to be ignored. Compile
uwm.c with -DDEBUG for detail information that will show the problem
(when and if it occurs). The problem is transient and hard to reproduce
perhaps someone have better luck than I (hope so).

Sizing windows is less intuitive now, since the title bar size is
not included in the rubber band. I like it this way, but am open to argument.

Likewise, hilighting is only done the pointer is in the "titled" window,
not when it's in the title itself. I think that the hilite should follow
the focus in the "titled" window, but some disagree. Again, I'm open to
argument.

Numeric and string variables should be allowed in menus. This raises more
issues than just changing the grammer. If one changed the menufont, for
instance, one would expect the next menu invocation to respect this. In
the current scenario, all the font allocation is done at startup so changing
the font name afterward wouldn't do much of anything. I'm contemplating
another field in the KeywordTable that points to a function to be invoked
whenever the variable is referenced. This will require some restructuring
of the code.

Currently, property changes are not looked for. As I understand more
about the types of things I should look for (aside from name changes),
I'll add support. I'd like to make the title bars the same color as
the windows to which they're attached, but I don't know of any standard
properties containing this information (at least that anyone can agree on :)

Hacking on other peoples code tends to be messy. This is no exception.


Installation should be straightforward, just do the following.

1. Move the 3 shar files into $(TOPDIR)/clients
2. Make sure your current working directory is $(TOPDIR)/clients
3. Unpack the first shar file. It will make a copy of your current uwm
   in uwm.new (if this is the "stock" version of uwm, you're fine. If
   you've hacked on it significantly, you may have to apply some/all of the
   patches by hand) and create some additional files.
4. Apply the 2 patch kits.
5. cd uwm.new
6. imake (or make)
7. Look at the updated man page for some anemic documentation.

If this seems confusing, just look at the first shar file..


Please report any problems/suggestions you may have to:

				Jordan Hubbard
				jkh@violet.berkeley.edu
				dana!jkh@hplabs.hp.com

			    Thanks!