xse - An interface to XSendEvent() part02/03 REPOST

George Ferguson ferguson at cs.rochester.edu
Fri Aug 17 05:36:57 AEST 1990


#! /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 2 (of 3)."
# Contents:  Makefile xse.man
# Wrapped by ferguson at swan.cs.rochester.edu on Thu Aug 16 15:17:59 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Makefile'\"
else
echo shar: Extracting \"'Makefile'\" \(12752 characters\)
sed "s/^X//" >'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 <Imakefile>
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 at 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	- at 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 at 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 '<Key>d,<Key>a,<Key>t,<Key>e,<Key>Return'
X.ad
X.fi
X
XIt could also be specified as
X
X.nf
X.na
X	% xse '<Key>d' '<Key>a' '<Key>t' '<Key>e' '<Key>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 at 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 at cs.rochester.edu
University of Rochester		UUCP: {decvax,rutgers}!rochester!ferguson
Rochester  NY  14627		VOX:  (716) 275-2527



More information about the Alt.sources mailing list