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!