mikew@wyse.wyse.com (Mike Wexler) (02/22/89)
Submitted-by: kmw@ardent (Ken Wallich) Posting-number: Volume 3, Issue 28 Archive-name: awm2/part12 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 12 (of 12)." # Contents: AUTHOR Grab.c MENUS VERSION bitmaps/README # bitmaps/blank.bm bitmaps/destroy.bm bitmaps/die.bm bitmaps/foc.bm # bitmaps/ic.bm bitmaps/mac_close.bm bitmaps/raise.bm bitmaps/res.bm # bitmaps/resize.bm def.awmrc menus/Makefile menus/README # menus/eventstack.h menus/gray1.h menus/rtlmnu.opt.h neaten.def.h # neaten.ext.h patchlevel.h support.h # Wrapped by mikew@wyse on Fri Feb 17 10:50:37 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'AUTHOR' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'AUTHOR'\" else echo shar: Extracting \"'AUTHOR'\" \(521 characters\) sed "s/^X//" >'AUTHOR' <<'END_OF_FILE' X(Message inbox:899) XReturn-Path: mips!ardent!kmw XReceived: by wyse.wyse.com (5.58/Wyse master/5-13-88) X id AA02751; Thu, 16 Feb 89 18:02:22 PST XReceived: by mips.com id AA18851(1.0); Thu, 16 Feb 89 17:31:35 PST XReceived: by ardent.com; from sim; id AA01770; Thu, 16 Feb 89 16:35:50 PST XReceived: by sim.ardent.com (1.1/SMI-3.0DEV3) X id AA06620; Thu, 16 Feb 89 16:36:19 PST XDate: Thu, 16 Feb 89 16:36:19 PST XFrom: mips!ardent.com!kmw (Ken Wallich) XMessage-Id: <8902170036.AA06620@sim.ardent.com> XTo: mips!wyse.com!mikew X END_OF_FILE if test 521 -ne `wc -c <'AUTHOR'`; then echo shar: \"'AUTHOR'\" unpacked with wrong size! fi # end of 'AUTHOR' fi if test -f 'Grab.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Grab.c'\" else echo shar: Extracting \"'Grab.c'\" \(1476 characters\) sed "s/^X//" >'Grab.c' <<'END_OF_FILE' X X X X#ifndef lint Xstatic char *rcsid_Grab_c = "$Header: /usr/graph2/X11.3/contrib/windowmgrs/awm/RCS/Grab.c,v 1.2 89/02/07 20:05:05 jkh Exp $"; X#endif lint X X#include "X11/copyright.h" X/* X * X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca. X * X * Copyright 1987 by Jordan Hubbard. X * X * X * All Rights Reserved X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of Ardent Computer X * Corporation or Jordan Hubbard not be used in advertising or publicity X * pertaining to distribution of the software without specific, written X * prior permission. X * X */ X X/* X * MODIFICATION HISTORY X * X * 002 -- Jordan Hubbard, Ardent Computer X * Modifications for addition contexts. X */ X X#include "X11/Xlib.h" X#include "awm.h" X Xvoid grab_pointer() X{ X Entry("grab_pointer") X X if (XGrabPointer( dpy, RootWindow(dpy, scr), X TRUE, (unsigned int) EVENTMASK, GrabModeAsync, X GrabModeAsync, None, X ArrowCrossCursor, CurrentTime ) X != GrabSuccess ) X fprintf(stderr, "awm (grab_pointer): Can't grab the mouse."); X Leave_void X} X Xvoid ungrab_pointer() X{ X Entry("ungrab_pointer") X X XUngrabPointer(dpy, CurrentTime); X Leave_void X} END_OF_FILE if test 1476 -ne `wc -c <'Grab.c'`; then echo shar: \"'Grab.c'\" unpacked with wrong size! fi # end of 'Grab.c' fi if test -f 'MENUS' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'MENUS'\" else echo shar: Extracting \"'MENUS'\" \(2087 characters\) sed "s/^X//" >'MENUS' <<'END_OF_FILE' XThe menu package you'll find in this release is derived from the RTL Xmenu package, version 2.0. RTL is currently at revision level 3, which Xno doubt fixes many of the bugs in version 2, but I cannot easily update Xto it. Here's why: X XThe RTL menus, as they come "out of the box" give you the ability Xto create hierarchical walking menus. Each pane is in a fixed font Xand can have, in addition to text, a check mark (denoting some boolean Xcondition), an arrow (denoting an adjacent pull-right menu) or grey-stippled Xtext (denoting a disabled item). This was almost ideal for my purposes Xsince I needed checkmarks for boolean variables and arrows for pull-right Xmenus (not to mention the pull-right menus themselves). However, since Xawm tries hard to present a pictoral interface (with gadget boxes and Xthe like), it was necessary to make modifications to the menu package Xto support: X Xo Arbitrary pixmaps in menus panes, rather than just text. X Xo A "bold" font for panes that is used for menu titles (which users X of uwm, awm's predecessor, had come to expect). X Xo The removal of the "all menu panes must be the same height" restriction X to accomodate the two features mentioned above. X X XThere were also a number of internel changes, such as the removal of Xthe AssocTable code that forced a dependence on the X10 compatability Xlibrary. The positioning of the pointer within windows and the positioning Xof the pull-right menus themselves was also changed somewhat, since Xusing the menu package from a window manager required that the menu Xpackage be a little less exacting about things and give the user more Xroom for error. X XFinally, there were a few changes made for the window manager itself, Xsuch as support for the "AutoSelect" mode people had come to know Xand love(?) from uwm. X X XIf anyone feels ambitious enough to reverse-engineer these changes into XRTL's version 3 package, or to author a totally new menu package with Xthe features I need, I'll be more than happy to adopt it. In the mean Xtime, I have other issues which are, unfortunately, more pressing. X X X Jordan Hubbard END_OF_FILE if test 2087 -ne `wc -c <'MENUS'`; then echo shar: \"'MENUS'\" unpacked with wrong size! fi # end of 'MENUS' fi if test -f 'VERSION' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'VERSION'\" else echo shar: Extracting \"'VERSION'\" \(272 characters\) sed "s/^X//" >'VERSION' <<'END_OF_FILE' XRev Files Reason X1.1 First release X1.2 FocusChng.c, awm.c, exp_path.c vax compatability X1.2 Gadget.c incorrect gadget calcs. X1.2 Icons.c correct clip GC, hPad, vPad X1.2 gram.y cast, gadgets X1.2 awm.man title.push, hPad, vPad X1.2 awm.c hPad, vPad. END_OF_FILE if test 272 -ne `wc -c <'VERSION'`; then echo shar: \"'VERSION'\" unpacked with wrong size! fi # end of 'VERSION' fi if test -f 'bitmaps/README' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/README'\" else echo shar: Extracting \"'bitmaps/README'\" \(545 characters\) sed "s/^X//" >'bitmaps/README' <<'END_OF_FILE' XHere are a few contributed bitmaps (as well as some of my own) that Xmight be useful to people designing interfaces with awm. As noted Xin the man page, care should be taken when constructing menu panes Xwith these as they are not all the same size. Your contributions Xto this collections are welcomed. X XIt should be noted that hackers don't usually make very good artists. XIf someone more artistically inclined (and willing to work within the Xlimits of a 16x16 or 32x32 frame) is interested in adding to this Xcollection, please do! X X - Jordan END_OF_FILE if test 545 -ne `wc -c <'bitmaps/README'`; then echo shar: \"'bitmaps/README'\" unpacked with wrong size! fi # end of 'bitmaps/README' fi if test -f 'bitmaps/blank.bm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/blank.bm'\" else echo shar: Extracting \"'bitmaps/blank.bm'\" \(278 characters\) sed "s/^X//" >'bitmaps/blank.bm' <<'END_OF_FILE' X#define blank_width 16 X#define blank_height 16 Xstatic char blank_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; END_OF_FILE if test 278 -ne `wc -c <'bitmaps/blank.bm'`; then echo shar: \"'bitmaps/blank.bm'\" unpacked with wrong size! fi # end of 'bitmaps/blank.bm' fi if test -f 'bitmaps/destroy.bm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/destroy.bm'\" else echo shar: Extracting \"'bitmaps/destroy.bm'\" \(284 characters\) sed "s/^X//" >'bitmaps/destroy.bm' <<'END_OF_FILE' X#define destroy_width 16 X#define destroy_height 16 Xstatic char destroy_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0xe0, 0x7f, X 0x20, 0x02, 0xf0, 0x01, 0x78, 0x00, 0x1c, 0x00, 0x1c, 0x00, 0x1c, 0x00, X 0x1c, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00}; END_OF_FILE if test 284 -ne `wc -c <'bitmaps/destroy.bm'`; then echo shar: \"'bitmaps/destroy.bm'\" unpacked with wrong size! fi # end of 'bitmaps/destroy.bm' fi if test -f 'bitmaps/die.bm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/die.bm'\" else echo shar: Extracting \"'bitmaps/die.bm'\" \(260 characters\) sed "s/^X//" >'bitmaps/die.bm' <<'END_OF_FILE' X#define die_width 15 X#define die_height 15 Xstatic char die_bits[] = { X 0x00, 0x00, 0x2e, 0x3d, 0x22, 0x15, 0xc2, 0x14, 0xc6, 0x14, 0x22, 0x15, X 0x22, 0x15, 0x2e, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0c, 0xfe, 0x3f, X 0xfe, 0x3f, 0x00, 0x0c, 0x00, 0x02}; END_OF_FILE if test 260 -ne `wc -c <'bitmaps/die.bm'`; then echo shar: \"'bitmaps/die.bm'\" unpacked with wrong size! fi # end of 'bitmaps/die.bm' fi if test -f 'bitmaps/foc.bm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/foc.bm'\" else echo shar: Extracting \"'bitmaps/foc.bm'\" \(260 characters\) sed "s/^X//" >'bitmaps/foc.bm' <<'END_OF_FILE' X#define foc_width 15 X#define foc_height 15 Xstatic char foc_bits[] = { X 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0xfc, 0x9f, 0x54, 0x95, X 0xfc, 0x9f, 0x54, 0x95, 0xfc, 0x9f, 0x04, 0x90, 0xfc, 0x9f, 0x00, 0x80, X 0x00, 0x80, 0x00, 0x80, 0x00, 0x80}; END_OF_FILE if test 260 -ne `wc -c <'bitmaps/foc.bm'`; then echo shar: \"'bitmaps/foc.bm'\" unpacked with wrong size! fi # end of 'bitmaps/foc.bm' fi if test -f 'bitmaps/ic.bm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/ic.bm'\" else echo shar: Extracting \"'bitmaps/ic.bm'\" \(257 characters\) sed "s/^X//" >'bitmaps/ic.bm' <<'END_OF_FILE' X#define ic_width 15 X#define ic_height 15 Xstatic char ic_bits[] = { X 0x00, 0x80, 0x00, 0x80, 0x7c, 0x9f, 0x7c, 0x9f, 0x7c, 0x9f, 0x7c, 0x9f, X 0x7c, 0x9f, 0x00, 0x80, 0x7c, 0x9f, 0x7c, 0x9f, 0x7c, 0x9f, 0x7c, 0x9f, X 0x7c, 0x9f, 0x00, 0x80, 0x00, 0x80}; END_OF_FILE if test 257 -ne `wc -c <'bitmaps/ic.bm'`; then echo shar: \"'bitmaps/ic.bm'\" unpacked with wrong size! fi # end of 'bitmaps/ic.bm' fi if test -f 'bitmaps/mac_close.bm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/mac_close.bm'\" else echo shar: Extracting \"'bitmaps/mac_close.bm'\" \(215 characters\) sed "s/^X//" >'bitmaps/mac_close.bm' <<'END_OF_FILE' X#define mac_close_width 10 X#define mac_close_height 10 Xstatic char mac_close_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; END_OF_FILE if test 215 -ne `wc -c <'bitmaps/mac_close.bm'`; then echo shar: \"'bitmaps/mac_close.bm'\" unpacked with wrong size! fi # end of 'bitmaps/mac_close.bm' fi if test -f 'bitmaps/raise.bm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/raise.bm'\" else echo shar: Extracting \"'bitmaps/raise.bm'\" \(269 characters\) sed "s/^X//" >'bitmaps/raise.bm' <<'END_OF_FILE' X#define g1_width 16 X#define g1_height 16 Xstatic char g1_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0x80, 0x00, X 0x80, 0x00, 0x9e, 0x3c, 0x9e, 0x3c, 0x80, 0x00, 0x80, 0x00, 0xe0, 0x03, X 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00}; END_OF_FILE if test 269 -ne `wc -c <'bitmaps/raise.bm'`; then echo shar: \"'bitmaps/raise.bm'\" unpacked with wrong size! fi # end of 'bitmaps/raise.bm' fi if test -f 'bitmaps/res.bm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/res.bm'\" else echo shar: Extracting \"'bitmaps/res.bm'\" \(260 characters\) sed "s/^X//" >'bitmaps/res.bm' <<'END_OF_FILE' X#define res_width 15 X#define res_height 15 Xstatic char res_bits[] = { X 0x00, 0x80, 0xfe, 0xbf, 0x00, 0xa0, 0x00, 0xa0, 0xaa, 0xa6, 0x00, 0xa4, X 0x00, 0xa0, 0x00, 0xa4, 0x7e, 0xa0, 0x40, 0xa4, 0x40, 0xa0, 0x40, 0xa4, X 0x40, 0xa0, 0x40, 0xa4, 0x00, 0x80}; END_OF_FILE if test 260 -ne `wc -c <'bitmaps/res.bm'`; then echo shar: \"'bitmaps/res.bm'\" unpacked with wrong size! fi # end of 'bitmaps/res.bm' fi if test -f 'bitmaps/resize.bm' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'bitmaps/resize.bm'\" else echo shar: Extracting \"'bitmaps/resize.bm'\" \(281 characters\) sed "s/^X//" >'bitmaps/resize.bm' <<'END_OF_FILE' X#define resize_width 16 X#define resize_height 16 Xstatic char resize_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x00, 0x38, 0x00, 0x24, X 0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x12, 0x00, X 0x0e, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x00, 0x00}; END_OF_FILE if test 281 -ne `wc -c <'bitmaps/resize.bm'`; then echo shar: \"'bitmaps/resize.bm'\" unpacked with wrong size! fi # end of 'bitmaps/resize.bm' fi if test -f 'def.awmrc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'def.awmrc'\" else echo shar: Extracting \"'def.awmrc'\" \(1960 characters\) sed "s/^X//" >'def.awmrc' <<'END_OF_FILE' X# $Source $ X# $Author $ X# $Header $ X# Copyright (c) 1987 by the Massachusetts Institute of Technology. X# X# This is a startup file for uwm that produces an xwm lookalike, X# but adds two useful menus. It is patterned on the public X# distribution ../lib/X/uwm/jg.uwmrc file by Jim Gettys. X# Xresetbindings Xresetmenus Xresetgadgets X X# FUNCTION KEYS CONTEXT MOUSE BUTTON ACTIONS Xf.newiconify= meta :window|icon: delta left Xf.raise= meta :window|icon: delta left Xf.lower= meta :window|icon: left up Xf.raise= meta :window: middle down Xf.resize= meta :window: delta middle Xf.iconify= meta :icon: middle up Xf.raise= meta :window|icon: right down Xf.move= meta :window|icon: delta right Xf.circledown= meta :root: left down Xf.circleup= meta :root: right down Xf.circledown= m|s :: left down Xf.menu= :root: middle down : "WindowOps" Xf.menu= m|s :: middle down : "WindowOps" Xf.menu= m|s :root: left down : "Preferences" Xf.menu= m|s :: left down : "Preferences" Xf.circleup= m|s :: right down Xf.iconify= m|c :window|icon: left down Xf.newiconify= m|l :window|icon: left down Xf.raise= m|l :window|icon: left up Xf.pushright= m|l :window|icon: right down Xf.pushleft= m|c :window|icon: right down Xf.pushup= m|l :window|icon: middle down Xf.pushdown= m|c :window|icon: middle down X Xmenu = "Preferences" { XBell Loud: !"xset b 7&" XBell Normal: !"xset b 3&" XBell Off: !"xset b off&" XClick Loud: !"xset c 8&" XClick Soft: !"xset c on&" XClick Off: !"xset c off&" XLock On: !"xset l on&" XLock Off: !"xset l off&" XMouse Fast: !"xset m 4 2&" XMouse Normal: !"xset m 2 5&" XMouse Slow: !"xset m 1 1&" X} X Xmenu = "WindowOps" { XPreferences: f.menu: "Preferences" XNew Window: !"xterm&" XRefreshScreen: f.refresh XRedraw: f.redraw XMove: f.move XResize: f.resize XLower: f.lower XRaise: f.raise XCircUp: f.circleup XCircDown: f.circledown XAutoIconify: f.iconify XLowerIconify: f.newiconify XNewIconify: f.newiconify XFocus: f.focus XFreeze: f.pause XUnFreeze: f.continue XRestart: f.restart X} END_OF_FILE if test 1960 -ne `wc -c <'def.awmrc'`; then echo shar: \"'def.awmrc'\" unpacked with wrong size! fi # end of 'def.awmrc' fi if test -f 'menus/Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'menus/Makefile'\" else echo shar: Extracting \"'menus/Makefile'\" \(1555 characters\) sed "s/^X//" >'menus/Makefile' <<'END_OF_FILE' X# makefile for example menu program X# This should be generated by imake, but it's not. X# sometime "soon". In the meantime, change the directories X# to suite your system. X X# if using DBUG package, point this to the object files X# DBUGDIR = X XOBJS = rtlmenu.o track_menu.o eventsave.o eventstack.o menu.o XSRCS = rtlmenu.c track_menu.c eventsave.c eventstack.c menu.c XINCS = menu.h menu.def.h menu.ext.h rtlmenu.h std_defs.h eventstack.h \ X arrow_icon.h dbug.h gray1.h null_icon.h dbug.h rtlmnu.ext.h \ X rtlmnu.opt.h X X# compiler flags XFLAGS = $(CFLAGS) X X# if you want to use the DBUG package (and you have it around), define X# DBUGFLAG to be empty XDBUGFLAG = DBUG_OFF X Xrtlmenu.a : $(OBJS) X rm -f rtlmenu.a X ar clq rtlmenu.a $(OBJS) X ranlib rtlmenu.a X Xrtlmenu.o : rtlmenu.c menu.h menu.def.h menu.ext.h rtlmenu.h std_defs.h X $(CC) $(FLAGS) -D$(DBUGFLAG) -c rtlmenu.c X Xtrack_menu.o : track_menu.c eventstack.h dbug.h \ X menu.def.h menu.h menu.ext.h null_icon.h \ X arrow_icon.h std_defs.h X $(CC) $(FLAGS) -D$(DBUGFLAG) -c track_menu.c X Xeventsave.o : eventsave.c eventstack.h dbug.h std_defs.h X $(CC) $(FLAGS) -D$(DBUGFLAG) -c eventsave.c X Xeventstack.o : eventstack.c eventstack.h dbug.h std_defs.h X $(CC) $(FLAGS) -D$(DBUGFLAG) -c eventstack.c X Xmenu.o : menu.c arrow_icon.h gray1.h menu.def.h menu.h std_defs.h dbug.h X $(CC) $(FLAGS) -D$(DBUGFLAG) -c menu.c X Xclean: X rm -f *.o *.a core *~ #* X Xnoident: X @echo Removing ident lines from menus... X @for i in $(SRCS) $(INCS); do \ X sed -e '/#ident/D' < $$i > /tmp/x.$$i && \ X mv /tmp/x.$$i $$i ; \ X done END_OF_FILE if test 1555 -ne `wc -c <'menus/Makefile'`; then echo shar: \"'menus/Makefile'\" unpacked with wrong size! fi # end of 'menus/Makefile' fi if test -f 'menus/README' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'menus/README'\" else echo shar: Extracting \"'menus/README'\" \(1892 characters\) sed "s/^X//" >'menus/README' <<'END_OF_FILE' XLast changed February 8th, 1989 X XMenus panes are now redrawn differently. Rather than waiting for Xa "side-effect" expose from a copy area, trackmenu() just draws them Xitself. This should result in substantially better behaviour on colour Xsystems. A number of nits have been cleaned up as well. X X Jordan Hubbard X X----- X XRTLMenus Version 1.0 Release 2.1 X XThis menu package was written at Siemens Research and XTechnologies Laboratory, Princeton, NJ, in the second half Xkof 1987. X XThe original basis for the source file menu.c was the menu Xpackage for version X10/6.6 of xterm (misc.c). We thank the Xprogrammers who gave us this basis from which to expand. X XWe wrote this package to meet the needs of the RTL Tiled XWindows window manager which is under development here. XWe have simulated much of the functionality of the SunWindows XToolkit menus. The package has been tested only on Suns. XWe welcome enhancements and changes, and we would appreciate Xhearing about them. We'll be glad to accept bug reports, but Xwe can't support this package beyond our own needs. We are Xmaking it available because you 1) may be able to use it, Xand 2) may learn some tricks from it. X XWe found the DBUG C Program Debugging Package by Fred Fish to Xbe useful in debugging track_menu.c. The DBUG macros remain, Xso you can use them to trace the code if you have DBUG Xavailable. The Makefile assumes you do NOT have DBUG, and Xturns it off. X XAdam J. Richter of UC Berkeley wrote an initial version of the Xmenus while he was here last summer. Joe Camaratta and Mike XBerman designed and built the present version. This work was Xperformed with the guidance of Ellis Cohen and the assistance Xof Mark Biggers. X XWe thank those who beta-tested the menus; in particular, Xthanks to George Sherouse and Mark Baushke for their useful Xsuggestions. X X--Mike Berman X berman%siemens@princeton.edu X (609)734-6500 x2293 X END_OF_FILE if test 1892 -ne `wc -c <'menus/README'`; then echo shar: \"'menus/README'\" unpacked with wrong size! fi # end of 'menus/README' fi if test -f 'menus/eventstack.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'menus/eventstack.h'\" else echo shar: Extracting \"'menus/eventstack.h'\" \(1576 characters\) sed "s/^X//" >'menus/eventstack.h' <<'END_OF_FILE' X X/* X#ifndef lint Xstatic char sccs_id[] = "@(#)eventstack.h 2.1 12/16/87 Siemens Corporate Research and Support, Inc."; X#endif X*/ X X X/* X * RTL Menu Package Version 1.0 X * by Joe Camaratta and Mike Berman, Siemens RTL, Princeton NJ, 1987 X * X * eventstack.h: data structure definitions for eventstack package. X * rewritten almost entirely by Jordan Hubbard, Ardent Computer corp. X * Previous version did not agree with many compilers. X * X */ X X#include "X11/copyright.h" X/* X * X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca. X * X * Copyright 1987 by Jordan Hubbard. X * X * X * All Rights Reserved X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of Ardent Computer X * Corporation or Jordan Hubbard not be used in advertising or publicity X * pertaining to distribution of the software without specific, written X * prior permission. X * X */ X X#ifndef _XLIB_H_ X#include "X11/Xlib.h" X#endif X X#include "std_defs.h" X X#define EventStackIsEmpty(stk) (*stk == (struct Ev_q *)0) X Xstruct Ev_q { X struct Ev_q *prev; X XEvent *event; X}; X X Xextern void SaveEvents(), RestoreEvents(), DisposeEvents(), X DiscardEventStore(), AddEventToStore(), RemoveEventFromStore(); X Xextern Boolean EventStoreIsEmpty(); Xextern void PushEvent(); Xextern XEvent *PopEvent(); X X X END_OF_FILE if test 1576 -ne `wc -c <'menus/eventstack.h'`; then echo shar: \"'menus/eventstack.h'\" unpacked with wrong size! fi # end of 'menus/eventstack.h' fi if test -f 'menus/gray1.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'menus/gray1.h'\" else echo shar: Extracting \"'menus/gray1.h'\" \(279 characters\) sed "s/^X//" >'menus/gray1.h' <<'END_OF_FILE' X X#define gray1_width 16 X#define gray1_height 16 Xstatic char gray1_bits[] = { X 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, X 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, X 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa}; END_OF_FILE if test 279 -ne `wc -c <'menus/gray1.h'`; then echo shar: \"'menus/gray1.h'\" unpacked with wrong size! fi # end of 'menus/gray1.h' fi if test -f 'menus/rtlmnu.opt.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'menus/rtlmnu.opt.h'\" else echo shar: Extracting \"'menus/rtlmnu.opt.h'\" \(1856 characters\) sed "s/^X//" >'menus/rtlmnu.opt.h' <<'END_OF_FILE' X X/* X#ifndef lint Xstatic char sccs_id[] = "@(#)rtlmenu.options.h 2.1 12/16/87 Siemens Corporate Research and Support, Inc."; X#endif X*/ X X X/* X RTL Menu Package Version 1.0 X by Joe Camaratta and Mike Berman, Siemens RTL, Princeton NJ, 1987 X X rtlmenu.options.h: option flags for rtlmenu user X*/ X X/* X XCopyright 1987 by X Siemens Corporate Research and Support, Inc., Princeton, New Jersey X XPermission to use, copy, modify, and distribute this software Xand its documentation for any purpose and without fee is Xhereby granted, provided that the above copyright notice Xappear in all copies and that both that copyright notice and Xthis permission notice appear in supporting documentation, and Xthat the name of Siemens not be used in advertising or Xpublicity pertaining to distribution of the software without Xspecific, written prior permission. Siemens makes no Xrepresentations about the suitability of this software for any Xpurpose. It is provided "as is" without express or implied Xwarranty. X X*/ X X#ifndef OPTION_FLAGS X#define OPTION_FLAGS X X/* flags for menu operation */ X Xtypedef unsigned int MenuOptionsMask; X X#define clickokay (1L<<0) /* accept click-click as equivalent to press-release */ X#define savebits (1L<<1) /* attempt to save/restore area under menu */ X#define fixedchild (1L<<2) /* pull up child in fixed position relative to parent */ X#define rightoffset (1L<<3) /* when pulling up on right edge, should child be */ X /* offset to left, allowing parent to remain visible */ X#define bigoffset (1L<<4) /* valid only when rightoffset=1. if bigoffset=1, */ X /* offset child far enough to see most of parent; */ X /* else, just far enough to get back to parent. */ X X#define RTLMenu_Option_Set(mask, option) (mask |= option) X#endif END_OF_FILE if test 1856 -ne `wc -c <'menus/rtlmnu.opt.h'`; then echo shar: \"'menus/rtlmnu.opt.h'\" unpacked with wrong size! fi # end of 'menus/rtlmnu.opt.h' fi if test -f 'neaten.def.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'neaten.def.h'\" else echo shar: Extracting \"'neaten.def.h'\" \(1141 characters\) sed "s/^X//" >'neaten.def.h' <<'END_OF_FILE' X X X X#ifndef lint Xstatic char *rcsid_neaten_def_h = "$Header: /usr/graph2/X11.3/contrib/windowmgrs/awm/RCS/neaten.def.h,v 1.2 89/02/07 21:25:30 jkh Exp $"; X#endif lint X X#include "X11/copyright.h" X/* X * X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca. X * X * Copyright 1987 by Jordan Hubbard. X * X * X * All Rights Reserved X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of Ardent Computer X * Corporation or Jordan Hubbard not be used in advertising or publicity X * pertaining to distribution of the software without specific, written X * prior permission. X * X */ X X#define NEATEN_DEFINE X Xtypedef enum { X Place_Closest, X Place_Top, X Place_Bottom, X Place_Left, X Place_Right, X Place_Center X} Placement; X X#define NEATEN_TRUE 1 X#define NEATEN_FALSE 0 X X#define MAX_PRIORITY 100 X#define MIN_PRIORITY -100 END_OF_FILE if test 1141 -ne `wc -c <'neaten.def.h'`; then echo shar: \"'neaten.def.h'\" unpacked with wrong size! fi # end of 'neaten.def.h' fi if test -f 'neaten.ext.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'neaten.ext.h'\" else echo shar: Extracting \"'neaten.ext.h'\" \(1301 characters\) sed "s/^X//" >'neaten.ext.h' <<'END_OF_FILE' X X X X#ifndef lint Xstatic char *rcsid_neaten_ext_h = "$Header: /usr/graph2/X11.3/contrib/windowmgrs/awm/RCS/neaten.ext.h,v 1.2 89/02/07 21:25:41 jkh Exp $"; X#endif lint X X#include "X11/copyright.h" X/* X * X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca. X * X * Copyright 1987 by Jordan Hubbard. X * X * X * All Rights Reserved X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of Ardent Computer X * Corporation or Jordan Hubbard not be used in advertising or publicity X * pertaining to distribution of the software without specific, written X * prior permission. X * X */ X X#ifndef NEATEN_DEFINE X#include "neaten.def.h" X#endif X Xextern void Neaten_Desktop(); Xextern void Neaten_Initialize(); Xextern void Neaten_Icon_Placement(); Xextern void Neaten_Identify(); Xextern int Neaten_Set_Desired(); Xextern int Neaten_Set_Min(); Xextern int Neaten_Set_Max(); Xextern void Neaten_Prorate(); Xextern int Neaten_Get_Geometry(); Xextern void Neaten_Set_Priorities(); Xextern void Neaten_Set_Options(); END_OF_FILE if test 1301 -ne `wc -c <'neaten.ext.h'`; then echo shar: \"'neaten.ext.h'\" unpacked with wrong size! fi # end of 'neaten.ext.h' fi if test -f 'patchlevel.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patchlevel.h'\" else echo shar: Extracting \"'patchlevel.h'\" \(21 characters\) sed "s/^X//" >'patchlevel.h' <<'END_OF_FILE' X#define PATCHLEVEL 9 END_OF_FILE if test 21 -ne `wc -c <'patchlevel.h'`; then echo shar: \"'patchlevel.h'\" unpacked with wrong size! fi # end of 'patchlevel.h' fi if test -f 'support.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'support.h'\" else echo shar: Extracting \"'support.h'\" \(1781 characters\) sed "s/^X//" >'support.h' <<'END_OF_FILE' X X#ifndef lint Xstatic char *rcsid_support_h = "$Header: /usr/graph2/X11.3/contrib/windowmgrs/awm/RCS/support.h,v 1.2 89/02/07 21:25:51 jkh Exp $"; X#endif lint X X#include "X11/copyright.h" X/* X * X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca. X * X * Copyright 1987 by Jordan Hubbard. X * X * X * All Rights Reserved X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of Ardent Computer X * Corporation or Jordan Hubbard not be used in advertising or publicity X * pertaining to distribution of the software without specific, written X * prior permission. X * X */ X X#undef STACK_RTNAMES X#undef TRACE X X#ifdef TRACE X#define Entry(woo) { printf("Pushing to %s\n", woo); push_rtn(woo); } X#define Leave(woo) { printf("Pop from %s with %x\n", curr_rtn(), woo); pop_rtn(); return(woo); } X#define Leave_void { printf("Pop from %s (void)\n", curr_rtn()); pop_rtn(); return; } X#define Trace_on _rtn_trace = 1; X#define Trace_off _rtn_trace = 0; Xextern char *curr_rtn(); Xextern int _rtn_level; Xextern int _rtn_trace; X#else X#ifdef SAVERTNAME X#define Entry(woo) push_rtn(woo); X#define Leave(woo) { pop_rtn(); return(woo); } X#define Leave_void { pop_rtn(); return; } X#define Trace_on _rtn_trace = 1; X#define Trace_off _rtn_trace = 0; Xextern char *curr_rtn(); Xextern int _rtn_level; Xextern int _rtn_trace; X#else X#define Entry(s) X#define Leave(s) return(s); X#define Leave_void return; X#define Trace_on X#define Trace_off X#define Curr_rtn() X#endif /* SAVERTNAME */ X#endif /* TRACE */ END_OF_FILE if test 1781 -ne `wc -c <'support.h'`; then echo shar: \"'support.h'\" unpacked with wrong size! fi # end of 'support.h' fi echo shar: End of archive 12 \(of 12\). cp /dev/null ark12isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 12 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- Mike Wexler(wyse!mikew) Phone: (408)433-1000 x1330 Moderator of comp.sources.x