Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!udel!rochester!ferguson From: ferguson@cs.rochester.edu (George Ferguson) Newsgroups: alt.sources Subject: xse - An interface to XSendEvent() part02/03 REPOST Message-ID: <1990Aug16.193657.11352@cs.rochester.edu> Date: 16 Aug 90 19:36:57 GMT Reply-To: ferguson@cs.rochester.edu (George Ferguson) Distribution: alt Organization: U of Rochester, CS Dept, Rochester, NY Lines: 934 #! /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 'Makefile' <<'END_OF_FILE' X# Makefile generated by imake - do not edit! X# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $ X# X# The cpp used on this machine replaces all newlines and multiple tabs and X# spaces in a macro expansion with a single space. Imake tries to compensate X# for this, but is not always successful. X# X X########################################################################### X# Makefile generated from "Imake.tmpl" and X# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $ X# X# Platform-specific parameters may be set in the appropriate .cf X# configuration files. Site-wide parameters may be set in the file X# site.def. Full rebuilds are recommended if any parameters are changed. X# X# If your C preprocessor doesn't define any unique symbols, you'll need X# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing X# "make Makefile", "make Makefiles", or "make World"). X# X# If you absolutely can't get imake to work, you'll need to set the X# variables at the top of each Makefile as well as the dependencies at the X# bottom (makedepend will do this automatically). X# X X########################################################################### X# platform-specific configuration parameters - edit sun.cf to change X X# platform: $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $ X# operating system: SunOS 4.0.3 X X########################################################################### X# site-specific configuration parameters - edit site.def to change X X# site: $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $ X X SHELL = /bin/sh X X TOP = . X CURRENT_DIR = . X X AR = ar cq X BOOTSTRAPCFLAGS = X CC = cc X X COMPRESS = compress X CPP = /lib/cpp $(STD_CPP_DEFINES) X PREPROCESSCMD = cc -E $(STD_CPP_DEFINES) X INSTALL = install X LD = ld X LINT = lint X LINTLIBFLAG = -C X LINTOPTS = -axz X LN = ln -s X MAKE = make X MV = mv X CP = cp X RANLIB = ranlib X RANLIBINSTFLAGS = X RM = rm -f X STD_INCLUDES = X STD_CPP_DEFINES = X STD_DEFINES = X EXTRA_LOAD_FLAGS = X EXTRA_LIBRARIES = X TAGS = ctags X X SHAREDCODEDEF = -DSHAREDCODE X SHLIBDEF = -DSUNSHLIB X X PROTO_DEFINES = X X INSTPGMFLAGS = X X INSTBINFLAGS = -m 0755 X INSTUIDFLAGS = -m 4755 X INSTLIBFLAGS = -m 0664 X INSTINCFLAGS = -m 0444 X INSTMANFLAGS = -m 0444 X INSTDATFLAGS = -m 0444 X INSTKMEMFLAGS = -g kmem -m 2755 X X DESTDIR = X X TOP_INCLUDES = -I$(INCROOT) X X CDEBUGFLAGS = -O X CCOPTIONS = X COMPATFLAGS = X X ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES) X ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS) X CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES) X LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) X LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) X LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) X LDCOMBINEFLAGS = -X -r X X MACROFILE = sun.cf X RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut X X IMAKE_DEFINES = X X IRULESRC = $(CONFIGDIR) X IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) X X ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \ X $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \ X $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES) X X########################################################################### X# X Window System Build Parameters X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $ X X########################################################################### X# X Window System make variables; this need to be coordinated with rules X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $ X X PATHSEP = / X USRLIBDIR = /usr/staff/lib X BINDIR = /usr/staff/bin X INCROOT = /usr/staff/include X BUILDINCROOT = $(TOP) X BUILDINCDIR = $(BUILDINCROOT)/X11 X BUILDINCTOP = .. X INCDIR = $(INCROOT)/X11 X ADMDIR = /tmp X LIBDIR = $(USRLIBDIR)/X11 X CONFIGDIR = $(LIBDIR)/config X LINTLIBDIR = $(USRLIBDIR)/lint X X FONTDIR = $(LIBDIR)/fonts X XINITDIR = $(LIBDIR)/xinit X XDMDIR = $(LIBDIR)/xdm X AWMDIR = $(LIBDIR)/awm X TWMDIR = $(LIBDIR)/twm X GWMDIR = $(LIBDIR)/gwm X MANPATH = $(DESTDIR)/usr/staff/man X MANSOURCEPATH = $(MANPATH)/man X MANDIR = $(MANSOURCEPATH)1 X LIBMANDIR = $(MANSOURCEPATH)3 X XAPPLOADDIR = $(LIBDIR)/app-defaults XXFILESEARCHPATHDEFAULT = $(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S X ERRORDB = $(LIBDIR)/XtErrorDB X X SOXLIBREV = 4.2 X SOXTREV = 4.0 X SOXAWREV = 4.0 X SOOLDXREV = 4.0 X SOXMUREV = 4.0 X SOXEXTREV = 4.0 X X FONTCFLAGS = -t X X INSTAPPFLAGS = $(INSTDATFLAGS) X X IMAKE = imake X DEPEND = makedepend X RGB = rgb X FONTC = bdftosnf X MKFONTDIR = mkfontdir X MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh X X CONFIGSRC = $(TOP)/config X CLIENTSRC = $(TOP)/clients X DEMOSRC = $(TOP)/demos X LIBSRC = $(TOP)/lib X FONTSRC = $(TOP)/fonts X INCLUDESRC = $(TOP)/X11 X SERVERSRC = $(TOP)/server X UTILSRC = $(TOP)/util X SCRIPTSRC = $(UTILSRC)/scripts X EXAMPLESRC = $(TOP)/examples X CONTRIBSRC = $(TOP)/../contrib X DOCSRC = $(TOP)/doc X RGBSRC = $(TOP)/rgb X DEPENDSRC = $(UTILSRC)/makedepend X IMAKESRC = $(CONFIGSRC) X XAUTHSRC = $(LIBSRC)/Xau X XLIBSRC = $(LIBSRC)/X X XMUSRC = $(LIBSRC)/Xmu X TOOLKITSRC = $(LIBSRC)/Xt X AWIDGETSRC = $(LIBSRC)/Xaw X OLDXLIBSRC = $(LIBSRC)/oldX X XDMCPLIBSRC = $(LIBSRC)/Xdmcp X BDFTOSNFSRC = $(FONTSRC)/bdftosnf X MKFONTDIRSRC = $(FONTSRC)/mkfontdir X EXTENSIONSRC = $(TOP)/extensions X X DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a X EXTENSIONLIB = -lXext X X DEPXLIB = $(DEPEXTENSIONLIB) X XLIB = $(EXTENSIONLIB) -lX11 X X DEPXAUTHLIB = $(USRLIBDIR)/libXau.a X XAUTHLIB = -lXau X X DEPXMULIB = X XMULIB = -lXmu X X DEPOLDXLIB = X OLDXLIB = -loldX X X DEPXTOOLLIB = X XTOOLLIB = -lXt X X DEPXAWLIB = X XAWLIB = -lXaw X X LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln X LINTXLIB = $(USRLIBDIR)/llib-lX11.ln X LINTXMU = $(USRLIBDIR)/llib-lXmu.ln X LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln X LINTXAW = $(USRLIBDIR)/llib-lXaw.ln X X DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB) X X DEPLIBS1 = $(DEPLIBS) X DEPLIBS2 = $(DEPLIBS) X DEPLIBS3 = $(DEPLIBS) X X########################################################################### X# Imake rules for building libraries, programs, scripts, and data files X# rules: $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $ X X########################################################################### X# start of Imakefile X X# X# Imakefile for xse - An interface to XSendEvent() X# X# George Ferguson, ferguson@cs.rochester.edu, 1 Jun 1990. X# X# $Id: Imakefile,v 1.2 90/08/15 10:22:32 ferguson Exp $ X# X XDEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB) XLOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB) XCDEBUGFLAGS = -g X XSRCS = xse.c parse.c translate.c XOBJS = xse.o parse.o translate.o XINCS = app-resources.h parse.h translate.h X X PROGRAM = xse X Xall:: xse X Xxse: $(OBJS) $(DEPLIBS) X $(RM) $@ X $(CC) -o $@ $(OBJS) $(LDOPTIONS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) X Xsaber_xse: X #load $(ALLDEFINES) $(SRCS) $(LOCAL_LIBRARIES) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) X Xosaber_xse: X #load $(ALLDEFINES) $(OBJS) $(LOCAL_LIBRARIES) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) X Xinstall:: xse X $(INSTALL) -c $(INSTPGMFLAGS) xse $(BINDIR) X Xinstall.man:: xse.man X $(INSTALL) -c $(INSTMANFLAGS) xse.man $(MANDIR)/xse.1 X Xdepend:: X $(DEPEND) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS) X Xlint: X $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS) Xlint1: X $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS) X Xclean:: X $(RM) $(PROGRAM) X X# X# C code for fallback resources X# XXse.ad.h: Xse.ad X ad2c Xse.ad >Xse.ad.h X X# X# Misc X# X Xci: X ci -u -q -m' ' -t/dev/null Imakefile $(SRCS) $(INCS) xse.man X Xclean:: X rm Xse.ad.h X X########################################################################### X# common rules for all Makefiles - do not edit X Xemptyrule:: X Xclean:: X $(RM_CMD) \#* X XMakefile:: X -@if [ -f Makefile ]; then \ X echo " $(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \ X $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \ X else exit 0; fi X $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) X Xtags:: X $(TAGS) -w *.[ch] X $(TAGS) -xw *.[ch] > TAGS X Xsaber: X #load $(ALLDEFINES) $(SRCS) X Xosaber: X #load $(ALLDEFINES) $(OBJS) X X########################################################################### X# empty rules for directories that do not have SUBDIRS - do not edit X Xinstall:: X @echo "install in $(CURRENT_DIR) done" X Xinstall.man:: X @echo "install.man in $(CURRENT_DIR) done" X XMakefiles:: X Xincludes:: X X########################################################################### X# dependencies generated by makedepend X X# DO NOT DELETE X Xxse.o: /usr/staff/include/X11/Intrinsic.h /usr/staff/include/X11/Xlib.h Xxse.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h Xxse.o: /usr/staff/include/X11/X.h /usr/staff/include/X11/Xutil.h Xxse.o: /usr/staff/include/X11/Xresource.h /usr/staff/include/X11/Xos.h Xxse.o: /usr/include/strings.h /usr/include/sys/file.h Xxse.o: /usr/include/sys/fcntlcom.h /usr/include/sys/time.h Xxse.o: /usr/include/sys/time.h /usr/staff/include/X11/Core.h Xxse.o: /usr/staff/include/X11/Composite.h /usr/staff/include/X11/Constraint.h Xxse.o: /usr/staff/include/X11/Object.h /usr/staff/include/X11/RectObj.h Xxse.o: /usr/staff/include/X11/StringDefs.h /usr/staff/include/X11/Shell.h Xxse.o: /usr/staff/include/X11/Xaw/Form.h /usr/staff/include/X11/Xaw/Command.h Xxse.o: /usr/staff/include/X11/Xaw/Label.h /usr/staff/include/X11/Xaw/Simple.h Xxse.o: /usr/staff/include/X11/Xmu/Converters.h Xxse.o: /usr/staff/include/X11/Xaw/Cardinals.h app-resources.h translate.h Xxse.o: parse.h Xse.ad.h /usr/staff/include/X11/cursorfont.h Xparse.o: /usr/include/stdio.h /usr/include/ctype.h /usr/include/string.h Xparse.o: /usr/staff/include/X11/Xlib.h /usr/include/sys/types.h Xparse.o: /usr/include/sys/sysmacros.h /usr/staff/include/X11/X.h Xparse.o: /usr/staff/include/X11/keysym.h /usr/staff/include/X11/keysymdef.h Xparse.o: parse.h Xtranslate.o: /usr/staff/include/X11/Intrinsic.h /usr/staff/include/X11/Xlib.h Xtranslate.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h Xtranslate.o: /usr/staff/include/X11/X.h /usr/staff/include/X11/Xutil.h Xtranslate.o: /usr/staff/include/X11/Xresource.h /usr/staff/include/X11/Xos.h Xtranslate.o: /usr/include/strings.h /usr/include/sys/file.h Xtranslate.o: /usr/include/sys/fcntlcom.h /usr/include/sys/time.h Xtranslate.o: /usr/include/sys/time.h /usr/staff/include/X11/Core.h Xtranslate.o: /usr/staff/include/X11/Composite.h Xtranslate.o: /usr/staff/include/X11/Constraint.h Xtranslate.o: /usr/staff/include/X11/Object.h /usr/staff/include/X11/RectObj.h Xtranslate.o: /usr/staff/include/X11/StringDefs.h Xtranslate.o: /usr/staff/include/X11/Xaw/Command.h Xtranslate.o: /usr/staff/include/X11/Xaw/Label.h Xtranslate.o: /usr/staff/include/X11/Xaw/Simple.h Xtranslate.o: /usr/staff/include/X11/Xmu/Converters.h Xtranslate.o: /usr/staff/include/X11/Xaw/Grip.h Xtranslate.o: /usr/staff/include/X11/Xaw/List.h Xtranslate.o: /usr/staff/include/X11/Xaw/Scrollbar.h Xtranslate.o: /usr/staff/include/X11/Xaw/StripChart.h Xtranslate.o: /usr/staff/include/X11/Xaw/Toggle.h Xtranslate.o: /usr/staff/include/X11/Xaw/SimpleMenu.h Xtranslate.o: /usr/staff/include/X11/Shell.h Xtranslate.o: /usr/staff/include/X11/Xaw/SmeBSB.h Xtranslate.o: /usr/staff/include/X11/Xaw/Sme.h Xtranslate.o: /usr/staff/include/X11/Xaw/SmeLine.h Xtranslate.o: /usr/staff/include/X11/Xaw/MenuButton.h Xtranslate.o: /usr/staff/include/X11/Xaw/AsciiText.h Xtranslate.o: /usr/staff/include/X11/Xaw/Text.h Xtranslate.o: /usr/staff/include/X11/Xaw/TextSink.h Xtranslate.o: /usr/staff/include/X11/Xaw/TextSrc.h Xtranslate.o: /usr/staff/include/X11/Xaw/AsciiSrc.h Xtranslate.o: /usr/staff/include/X11/Xaw/AsciiSink.h Xtranslate.o: /usr/staff/include/X11/Xaw/Box.h Xtranslate.o: /usr/staff/include/X11/Xaw/Dialog.h Xtranslate.o: /usr/staff/include/X11/Xaw/Form.h Xtranslate.o: /usr/staff/include/X11/Xaw/Paned.h Xtranslate.o: /usr/staff/include/X11/Xaw/Viewport.h END_OF_FILE if test 12752 -ne `wc -c <'Makefile'`; then echo shar: \"'Makefile'\" unpacked with wrong size! fi # end of 'Makefile' fi if test -f 'xse.man' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'xse.man'\" else echo shar: Extracting \"'xse.man'\" \(11655 characters\) sed "s/^X//" >'xse.man' <<'END_OF_FILE' X.\" X.\" xse - an interface to XSendEvent() X.\" X.\" George Ferguson, ferguson@cs.rochester.edu, 19 Jun 1990. X.\" X.\" $Id: xse.man,v 1.1 90/08/15 10:23:02 ferguson Exp $ X.\" X.TH XSE 1 "19/6/1990" X.ds ]W U of Rochester X.SH NAME Xxse \- an interface to XSendEvent() X.SH SYNOPSIS X.B xse X[XToolkit options] X[options] X[event specs] X.sp X.SH DESCRIPTION X.PP XXse provides a way to send an arbitrary XEvent to an arbitrary window. It Xprovides both command line and widget-based interfaces. X.PP XIf extra arguments are given on the command line, they are taken to be Xevent specifiers (see below) and no tool is created. Each argument is Xparsed into an event sequence which is sent to the desired window (see XOptions, below). A window can be specified by giving it's name, in which Xcase the first child of the root window whose name matches the given string Xwill be used, or by giving it's XID, as obtained, e.g. from X.BR xev (1), Xor by using one of the keywords X.BR PointerWindow , X.BR InputFocus , Xor X.BR ClickWindow . XPointerWindow will send the event to the window that the pointer is over, XInputFocus will send it to the window with the input focus, and ClickWindow Xwill allow you to select the window which will receive the event by clicking Xin it. The default is InputFocus. X.PP XIf no extra arguments are present, then a tool is created using the Xresources in the application default file. To customize this tool, see Xbelow under Customizing. X.sp X.SH OPTIONS X.PP XThe following resources can be set on the command line or in a resource Xfile: X.IP "\fB-window\fP win" XSend events to specified window unless the actions explicitly override Xthis. X.sp X.SH "SPECIFYING EVENTS" X.PP XThe syntax for specifying events is modelled after that described in XAppendix B of the XToolkit Intrinsics (Xt) manual for specifying Xtranslations. It is extended to allow more complete specification of fields Xthat are not needed for recognition but are useful for generation. X.PP XAn event sequence is a comma-separated list of events. X.PP XAn event is an optional list of modifiers, followed by an event type Xdescription in angle brackets (`<' and `>'), followed by optional Xfield specifiers. X.PP XThe list of modifiers is a whitespace-separated list of the following Xsymbols: X.na X.nf X Shift s Mod1 Button1 X Lock l Mod2 Button2 X Ctrl c Mod3 Button3 X Meta m Mod4 Button4 X Hyper h Mod5 Button5 X Super su X Alt a X.fi X.ad XThe effect of specifying these is to inclusively-OR them into the state Xfield of events for which this field exists. They are ignored for other Xevents. X.PP XThe event type should be one of the following list, which includes all Xpossible types of XEvent. They are described along with possible field Xspecifiers. Certain event types have shorthands that are also described. XExcept in keysyms and atoms, case is not significant. Where integers are Xcalled for, a leading zero (`0') indicates octal, and a leading `0x' or X`0X' indicates hexadecimal. An XID is an integer, usually in hex. X.LP X\fBKey\fP detail x y xroot yroot X.br X\fBKeyPress\fP detail x y xroot yroot X.br X\fBKeyDown\fP detail x y xroot yroot X.br X\fBKeyRelease\fP detail x y xroot yroot X.br X\fBKeyUp\fP detail x y xroot yroot X.in +\n(INu XThis sets the state field from the modifier list and sets same_screen to True. XIt uses XStringToKeysym(3X) and XKeysymToKeycode(3X) to translate the Xdetail (a keysym) to the keycode to send. X.LP X\fBCtrl\fP detail x y xroot yroot X.br X\fBShift\fP detail x y xroot yroot X.br X\fBMeta\fP detail x y xroot yroot X.in +\n(INu XThese are shorthand for a X.B KeyPress Xevent with the appropriate modifier bit set. X.LP X\fBButtonPress\fP detail X.br X\fBBtnDown\fP detail X.br X\fBButtonRelease\fP detail X.br X\fBBtnUp\fP detail X.in +\n(INu XSets the detail (which button) field and sets the state from the modifier Xlist. The same_screen field is set to True. X.LP X\fBBtn1Down\fP X.br X\fBBtn2Down\fP X.br X\fBBtn3Down\fP X.br X\fBBtn4Down\fP X.br X\fBBtn5Down\fP X.in +\n(INu XShorthand for a X.B ButtonPress Xevent with the appropriate detail. X.LP X\fBBtn1Up\fP X.br X\fBBtn2Up\fP X.br X\fBBtn3Up\fP X.br X\fBBtn4Up\fP X.br X\fBBtn5Up\fP X.in +\n(INu XShorthand for a X.B ButtonRelease Xevent with the appropriate detail. X.LP X\fBMotionNotify\fP detail X.br X\fBPtrMoved\fP detail X.br X\fBMotion\fP detail X.br X\fBMouseMoved\fP detail X.br X\fBBtnMotion\fP detail X.in +\n(INu XThe detail should be one of X.B Normal Xor X.BR Hint . XThe same_screen field is set to True. X.LP X\fBBtn1Motion\fP detail X.br X\fBBtn2Motion\fP detail X.br X\fBBtn3Motion\fP detail X.br X\fBBtn4Motion\fP detail X.br X\fBBtn5Motion\fP detail X.in +\n(INu XShorthand for a X.B MotionNotify Xevent with the appropriate modifier bit set. X.LP X\fBEnterNotify\fP mode detail X.br X\fBEnter\fP mode detail X.br X\fBEnterWindow\fP mode detail X.br X\fBLeaveNotify\fP mode detail X.br X\fBLeave\fP mode detail X.br X\fBLeaveWindow\fP mode detail X.in +\n(INu XThe mode should be one of X.BR Normal , X.BR Grab , X.BR Ungrab , Xor X.BR WhileGrabbed . XThe detail can be one of X.BR Ancestor , X.BR Virtual , X.BR Inferior , X.BR Nonlinear , X.BR NonlinearVirtual , X.BR Pointer , X.BR PointerRoot , Xor X.BR DetailNone . XThe state field is set from the modifier list and the same_screen field is Xset to True. X.LP X\fBFocusIn\fP mode detail X.br X\fBFocusOut\fP mode detail X.in +\n(INu XThe mode and detail should be as above. X.LP X\fBKeymapNotify\fP key_vector X.in +\n(INu XThe key_vector should be a whitespace-separated list of up to thirty-two Xintegers representing the keyboard bitmap. X.LP X\fBExpose\fP x y width height count X.br X\fBGraphicsExpose\fP x y width height count X.br X\fBGrExp\fP x y width height count maj_code min_code X.br X\fBNoExpose\fP maj_code min_code X.br X\fBNoExp\fP maj_code min_code X.in +\n(INu XAll field specifiers should be integers. X.LP X\fBCirculateNotify\fP detail X.br X\fBCirc\fP detail X.br X\fBCirculateRequest\fP detail X.br X\fBCircReq\fP detail X.in +\n(INu XThe detail should be one of X.BR PlaceOnTop , X.BR OnTop , X.BR PlaceOnBottom , Xor X.BR OnBottom . X.LP X\fBConfigureNotify\fP x y width height border_width above override X.br X\fBConfigure\fP x y width height border_width above override X.br X\fBConfigureRequest\fP x y width height border_width above override X.br X\fBConfigureReq\fP x y width height border_width above override X.in +\n(INu XAll fields should be integers except above which should be Xan XID and override which should be a boolean. X.LP X\fBCreateNotify\fP x y width height border_width override X.br X\fBCreate\fP x y width height border_width override X.in +\n(INu XAll fields should be integers except override which should be a Xboolean. X.LP X\fBDestroyNotify\fP window X.br X\fBDestroy\fP window X.in +\n(INu XThe window field should be an XID in any base. X.LP X\fBGravityNotify\fP x y X.br X\fBGrav\fP x y X.in +\n(INu XBoth fields should be integers. X.LP X\fBMapNotify\fP override X.br X\fBMap\fP override X.br X\fBMapRequest\fP override X.br X\fBMapReq\fP override X.in +\n(INu XThe override field should be a boolean. X.LP X\fBMappingNotify\fP request [first_keycode count] X.br X\fBMapping\fP request [first_keycode count] X.in +\n(INu XThe request field should be one of X.BR Modifier , X.BR Keyboard , Xor X.BR Pointer . XIf it is X.BR Keyboard , Xthen first_keycode and count should be integers. X.LP X\fBReparentNotify\fP parent x y override X.br X\fBReparent\fP parent x y override X.in +\n(INu XThe parent field should be an XID, x and y should be Xintegers, and override should be a boolean. X.LP X\fBUnmapNotify\fP from_configure X.br X\fBUnmap\fP from_configure X.in +\n(INu XThe from_configure field should be a boolean. X.LP X\fBVisibilityNotify\fP state X.br X\fBVisible\fP state X.in +\n(INu XThe state field should be one of X.BR Unobscured , X.BR PartiallyObscured , Xor X.BR FullyObscured . X.LP X\fBResizeRequest\fP width height X.br X\fBResReq\fP width height X.in +\n(INu XBoth fields should be integers. X.LP X\fBClientMessage\fP message_type format data X.br X\fBMessage\fP message_type format data X.in +\n(INu XThe message_type field should be an atom. The format field can be X.BR b , X.BR c , X.BR s , Xor X.BR l , Xin which case the data field is a whitespace-separated list of twenty bytes, Xtwenty characters, ten shorts or five longs respectively. These can be in Xany base, except characters which are taken as is. X.LP X\fBPropertyNotify\fP atom state X.br X\fBProp\fP atom state X.in +\n(INu XThe atom field should be an atom and the state field should be one of X.B NewValue Xor X.BR Delete . X.LP X\fBSelectionClear\fP selection X.br X\fBSelClr\fP selection X.in +\n(INu XThe selection field should be an atom. The time field is set to XCurrentTime. X.LP X\fBSelectionRequest\fP selection target property X.br X\fBSelReq\fP selection target property X.in +\n(INu XThe selection and target fields should be atoms. The property field should Xbe an atom or the special value X.BR None . XThe time field is set to CurrentTime. X.LP X\fBSelectionNotify\fP selection target property X.br X\fBSelect\fP selection target property X.in +\n(INu XThe selection and target fields should be atoms. The property field should Xbe an atom or the special value X.BR None . XThe time field is set to CurrentTime. X.sp X.SH EXAMPLES X.PP XThe following command would cause the date command to be executed if the Xmouse is clicked in a shell window: X X.nf X.na X % xse -win ClickWindow 'd,a,t,e,Return' X.ad X.fi X XIt could also be specified as X X.nf X.na X % xse 'd' 'a' 't' 'e' 'Return' X.ad X.fi X Xand this time the events would go to the window with the keyboard focus. X.sp X.SH "CUSTOMIZING XSE" X.PP XWhen xse operates in tool mode, it displays a form filled with an Xarbitrary number and arrangement of Command buttons. To customize the Xbehaviour, copy the default application defaults file (see below under XFiles) and edit it to add your own buttons and actions. X.PP XThe application class is X.BR Xse . XThe resource X.B numButtons Xdetermines how many buttons will be created. They are named `buttonN' where XN ranges from 1 to numButtons. The widget hierarchy is X X.nf X.na X Xse toplevel X Form form X Command buttonN X.ad X.fi X XYou can create different versions of xse from the same application Xdefaults file by specifying different program names in place of `Xse', and Xmaking links to the xse executable with those names. Thus X`xsevi.numButtons' applies when the command `xse-vi' is executed, Xand this should be a link to xse. X.sp X.SH "Translation Actions" X.PP XThere are only two translation actions: X.B xse-quit() Xexits the tool and X.B xse_send() Xsends an event sequence to a window. If only one argument is given, it is Xtaken to be an event sequence and the events are sent to the default window. XIf two arguments are given, the first is the window and the second the event Xsequence. Embedded commas in the event sequence must be escaped. X.sp X.SH ENVIRONMENT X.PP X.ad X.nf XXAPPLRESDIR application defaults directory X.fi X.ad X.sp X.SH FILES X.PP X.ad X.nf X/u/ferguson/lib/app-default/Xse default app-defaults file X.fi X.ad X.sp X.SH DIAGNOSTICS X.PP XA variety of messages can be generated if xse cannot parse an event Xsequence. These should give enough information and context for debugging. XIn addition, bad window specifications and the like are flagged by the Xdefault X mechanism of printing lots of error messages and exiting. X.sp X.SH BUGS X.PP XXse cannot send X.B ColormapNotify Xevents, at least not yet. X.PP XNot really a bug, but if you are using xse with X.BR xterm (1), Xmake sure to enable send events using the main menu or the allowSendEvents Xresource. X.PP XAlso not really a bug, but note that while sending a X.B Unmap Xevent will cause a window to disappear, sending a X.B Map Xevent will not make it reappear. X.sp X.SH SEE ALSO X.PP XXSendEvent(3X), Xxev(1). X.sp X.SH AUTHOR X.PP XGeorge Ferguson (ferguson@cs.rochester.edu). END_OF_FILE if test 11655 -ne `wc -c <'xse.man'`; then echo shar: \"'xse.man'\" unpacked with wrong size! fi # end of 'xse.man' fi echo shar: End of archive 2 \(of 3\). cp /dev/null ark2isdone MISSING="" for I in 1 2 3 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 3 archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- George Ferguson ARPA: ferguson@cs.rochester.edu University of Rochester UUCP: {decvax,rutgers}!rochester!ferguson Rochester NY 14627 VOX: (716) 275-2527