Commit 41149d49 authored by Vincent Bernat's avatar Vincent Bernat

Imported Upstream version 3.02

parent 996ba676
Xnee / bugs and limitations
---------------------------
BUGS are
Bugs
----
No known bugs
BUGS are reported to either
Limitations
-----------
See TODO for limtations
* the mailing list bug-xnee@gnu.org
* the project page at http://savannah.gnu.org
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
OBSOLETE
See doc/xnee.txt
which also can be found in various formats in the
Xnee Documentation Package that can be found at:
http://xnee.sourceforge.net
Xnee / DEVELOPMENT
------------------
Download the Xnee Document Package from
http://xnee.sourceforge.net
for further information
Xnee / EXAMPLES
---------------
*** This file is in BETA condition ****
1 Recording
----------
1.1 Record all mouse/keyboard events
xnee --record --all-events
1.2 Record all mouse/keyboard events and save output
in a file called test1.xnee
xnee --record --device-event-range 2-6 -o test1.xnee
1.3 Record all mouse/keyboard and event 15 to 19 and save output
in a file called test2.xnee
xnee --record --device-event-range 2-6 --delivered-event-range 15-19 -o test2.xnee
1.4 Record all mouse/keyboard and event 15 to 17 and 19 and save output
in a file called test3.xnee
xnee --record --device-event-range 2-6 --delivered-event-range 15-17,19 -o test3.xnee
1.5 Record all mouse/keyboard and event 15 to 17 and 19 on display 0 on host 192.168.1.120
and save output in a file called test3.xnee
xnee --record --device-event-range 2-6 --delivered-event-range 15-17,19 -o test3.xnee --display 192.168.1.120:0
2 Replay/playback without synchronisation
---------------------------------------
2.1 Replay the session recorded in 1.2
xnee --replay --all-events -f test1.xnee --no-sync
2.2 Replay the session recorded in 1.3
xnee --replay -f test2.xnee --no-sync
2.3 Replay the session recorded in 1.4
xnee --replay -f test3.xnee --no-sync
2.4 Replay the session recorded in 1.4 to display 0 on host 192.168.1.123
xnee --replay -f test3.xnee --no-sync --display 192.168.1.123:0
2.5 Replay the session recorded in 1.4 to display 0 on default display
xnee --replay -f test3.xnee --no-sync
3 Replay/playback with synchronisation
------------------------------------
3.1 Replay the session recorded in 1.2
xnee --replay --all-events -f test1.xnee --no-sync
3.2 Replay the session recorded in 1.3
xnee --replay -f test2.xnee --no-sync
3.3 Replay the session recorded in 1.4
xnee --replay -f test3.xnee --no-sync
3.4 Replay the session recorded in 1.4 to display 0 on host 192.168.1.123
xnee --replay -f test3.xnee --display 192.168.1.123:0
3.5 Replay the session recorded in 1.4 to display 0 on default display
xnee --replay -f test3.xnee
4 Distribution
--------------
4.1 Distribute your mouse/keyboard actions to display 0 on host 192.168.1.120
xnee --record --distribute 192.168.1.120:0
4.2 Distribute your mouse/keyboard actions to display 0 on hosts
192.168.1.120, 192.168.1.121
xnee --record --distribute 192.168.1.120:0,192.168.1.121:0
4.3 Replay the session recorded in 1.4 with synchronisation (on default display)
and distribute it to display 0 on hosts 192.168.1.120, 192.168.1.121
xnee --replay -f test3.xnee --no-sync \
--distribute 192.168.1.120:0,192.168.1.121:0
Resource
------
1.5 Record using netscape resource
xnee --record -p resources/netscape.xns
1.6 Replay using netscape resource
xnee --replay -p resources/netscape.xns
See Xnee manual and cnee man/info pages
Xnee / FAQ
------------------
*** GNU Xnee FAQ ***
FAQ is now influded in the file
doc/xnee.txt
which can be found in various formats in the
(this file was generated from the complete GNU Xnee Manual)
Xnee Documentation Package that can be found at:
http://xnee.sourceforge.net
`Where do I send questions?'
<info-xnee@gnu.org>
`Where and how do I report bugs?'
Turn on verbose mode `cnee --verbose' and save the printouts.
Include all printouts and log files in the mail which is sent to
<xnee-bug@gnu.org>
`When setting ranges (integers), how do I know what numbers belong'
to X11 data? You can either type the data name directly (e.g
MotionNotify) or you can use the print-xxx-name options.
* `--print-data-name'
* `--print-event-name'
* `--print-error-name'
* `--print-reply-name'
* `--print-request-name'
`Can Xnee record more than one display?'
No, but we are considering adding the functionality (see the TODO
file)
`Where is the CVS repository?'
You can find a CVS tree at `http://savannah.gnu.org'. You are
more than welcome to join
`Is there a GUI frontend for Xnee ?'
Yes! Gnee.
`What license is Xnee released under ?'
GPL. Which can be found at `http://www.gnu.org/copyleft/gpl.html'
`Why the name Xnee?'
We wanted to use a recursive acronym, as GNU ("GNU's Not Unix').
After having read the Wine documentation, we thought that Xnee is
not an Event Emulator would work fine since Xnee is Not an Event
Emulator but rather a event recorder and faker.
`What does the name Gnee mean?'
Gnee's not an Emulator Either
`What doesn't the name Gnee mean?'
Gnee's not an Event Emulator
`Can you add xxx functionality to Xnee'
Send an email to <xnee-devel@gnu.org> and we'll consider it.
`When starting Xnee I get noticed that I am missing RECORD extension'
Your X server doesn't have the RECORD extension either loaded or
compiled. To solve this you have to, depending on what Xserver you
have do the following:
* XFree86 4.0 and higher Make sure that the RECORD extension is
loaded. This is done by letting the Module section in the X
config file (e.g /etc/X11/XF86Config-4) look something like:
`Section "Module"'
`Load "dbe" # Double-buffering'
`Load "GLcore" # OpenGL support'
`Load "dri" # Direct rendering infrastructure'
`Load "glx" # OpenGL X protocol interface'
`Load "extmod" # Misc. required extensions'
`Load "v4l" # Video4Linux'
`# Load "pex5" # PHIGS for X 3D environment (obsolete)'
`Load "record" # X event recorder'
`# Load "xie" # X Image Extension (obsolete)'
`# You only need the following two modules if you do not use
xfs.'
`# Load "freetype" # TrueType font handler'
`# Load "type1" # Adobe Type 1 font handler'
EndSection
The important load directive (in this case) is the following
line
`Load "record" # X event recorder'
* X.org, XFree86 (3.3 and lower) or any other Xserver
Recompile and reinstall the Xserver and make sure that RECORD
extension is built into the Xserver. Please look at the
documentation from your Xserver "vendor" on how to do that.
`How do I build VNC so that I can use Xnee together with it?'
Download vnc source from:
`http://www.uk.research.att.com/vnc/xvnchistory.html'
In the file `Xvnc/config/cf/vnc.def' change NO on the following
items to YES as below:
`#define BuildRECORD YES'
`#define BuildRECORDlib YES'
Download the Xfree86 distribution from `http://www.xfree86.org'.
Specifically, the following dir, (currently in the file
`X430src-3.tgz file' ):
`tar zxvf \'
`X430src-3.tgz '
`xc/programs/Xserver/record/'
`xc/programs/Xserver/record/Imakefile'
`xc/programs/Xserver/record/record.c'
`xc/programs/Xserver/record/recordmod.c'
`xc/programs/Xserver/record/set.c'
`xc/programs/Xserver/record/set.h'
`xc/programs/Xserver/record/module/'
`xc/programs/Xserver/record/module/Imakefile'
`cp -rf \'
`xc/programs/Xserver/record \'
`vnc_unixsrc/Xvnc/programs/Xserver'
`cd libvncauth/' `xmkmf' `make all'
`cd Xvnc' `make World |& tee LOG'
Verify the build by running `xdpyinfo' in an xterm in the vncserver
and verify that RECORD and XTEST extensions are loaded.
`How do I ensure that the mouse, during replay, is at the same position (x,y) as when recorded?'
Use the `--store-mouse-pos' option. This will cause Xnee to store
the mouse position before starting to record. This position will
be used to set the start position before replaying of recorded
data starts.
`How do I ensure that the same window is focused as when recorded?'
It's simple, just make sure that you record the window get focus.
This diff is collapsed.
OBSOLETE
See doc/
AUTOMAKE_OPTIONS = gnu
SUBDIRS = libxnee xnee
## -------------------- ##
## Forwarding targets. ##
## -------------------- ##
doc: html pdf info text man txt ps
html pdf info text man txt ps :
cd xnee/doc && $(MAKE) $(AM_MAKEFLAGS) $@
api-doc:
cd libxnee/doc && $(MAKE) $(AM_MAKEFLAGS) $@
devel-doc: doc
cd libxnee/doc && $(MAKE) $(AM_MAKEFLAGS) $@
test:
cd xnee/test && ./test_all.sh
.PHONY: html pdf text info xnee.1 devel
## -------------------- ##
## EO Forwarding targets##
## -------------------- ##
EXTRA_DIST = MANUAL \
DEVELOPMENT EXAMPLES USAGE \
TODO DESCRIPTION FAQ BUGS \
build*.sh depcomp \
resources/*.xnr sessions/*.xns \
Makefile.xnee Makefile.openbsd Makefile.cvs
SUBDIRS = ${LIB_DIR} ${CLI_DIR} ${GUI_DIR} ${GNOME_APPLET_DIR} ${DOC_DIR} share examples sessions ${PIXMAP_DIR} man
AUTOMAKE_OPTIONS = gnu
EXTRA_DIST = Makefile.xnee Makefile.cvs autotools/* projects/test.xnp sessions/example1.xns README README.debian BUGS FAQ EXAMPLES doc/Makefile.am doc/Makefile.in ChangeLog
devel-doc:
-rm -fr src-html/
mkdir src-html/
DATE="$(shell date)" && \
grep AM_INIT_AUTOMAKE configure.in | sed -e 's/AM_INIT_AUTOMAKE//g' -e 's/\,[a-zA-Z0-9\.]*//g' -e 's,[()]*,,g' && \
XNEE_NAME="$(shell grep AM_INIT_AUTOMAKE configure.in | sed -e 's/AM_INIT_AUTOMAKE//g' -e 's/\,[a-zA-Z0-9\.]*//g' -e 's,[()]*,,g') " && \
XNEE_VERSION="$(shell grep AM_INIT_AUTOMAKE configure.in | sed -e 's/AM_INIT_AUTOMAKE//g' -e 's/[a-zA-Z0-9\.]*\,//g' -e 's,[()]*,,g') " && \
echo "Date: \"$$DATE\" $$XNEE_NAME $$XNEE_VERSION " && \
cat tmpl/header.html.tmpl | sed \
-e "s,PRODUCT_TMPL,$$XNEE_NAME (libxnee),g" \
-e "s,PRODUCT_VERSION_TMPL,$$XNEE_VERSION,g" \
-e "s,PRODUCT_BUILD_TMPL,$$DATE,g" \
-e "s,GNU_WWW_TMPL,http://www\.gnu\.org,g" \
-e "s,XNEE_WWW_TMPL,http://www\.gnu\.org/software/xnee,g" \
> libxnee/src/header.html
cat tmpl/header.html.tmpl | sed \
-e 's,PRODUCT_TMPL,$$XNEE_NAME (cnee),g' \
-e 's,PRODUCT_VERSION_TMPL,$$XNEE_VERSION,g' \
-e 's,PRODUCT_BUILD_TMPL,$$DATE,g' \
-e "s,GNU_WWW_TMPL,http://www\.gnu\.org,g" \
-e "s,XNEE_WWW_TMPL,http://www\.gnu\.org/software/xnee,g" \
> cnee/src/header.html && \
mkdir -p src-html/libxnee/src
mkdir -p src-html/libxnee/include/libxnee
mkdir -p src-html/cnee/src
cd libxnee/src/ && ${MAKE} devel-doc
# cd cnee/src/ && ${MAKE} src-html && cp *.html ../../src-html/cnee/src
manual:
cd ./doc/ && $(MAKE) all manual
man:
cd ./cnee/src && make man
cd pnee/man && make
cd gnee/man && make
test:
cd libxnee/test && make clean all test
cvs:
generate:
# @echo "*** intltoolize (in pnee) ** "
libtoolize --automake --copy --force
@echo "*** Retrieving configure tests needed by configure.in"
@aclocal
@aclocal -I ./autotools/
@ # echo "*** Scanning for include statements"
@ # autoheader
@autoheader
@echo "*** Building Makefile templates (step one)"
@automake
@automake --add-missing
@echo "*** Building Makefile templates (step two)"
@autoconf
@if grep "ac_kw foo" configure &>/dev/null; then perl -p -i -e "s/ac_kw foo/ac_kw int foo/" configure; fi
......
This diff is collapsed.
PACKAGE=\"xnee\"
VERSION=\"1.07\"
#
# This is an unmaintained Makefile for the Xnee project
#
# ...... if you do not wish to use configure you can use
# this one instead. You are on your own though :)
#
PACKAGE=\"Xnee\"
VERSION=\"2.06\"
#
# gnee uses config.h (copied from config.xnee)
#
CC=gcc
CFLAGS = -W -Wall -pedantic -pedantic-errors -Werror -DPACKAGE=${PACKAGE} -DVERSION=${VERSION} -I/usr/X11R6/include -I./libxnee/include/ -Ixnee/src -g -DHAVE_STDARG_H=1
#-Werror
PEDANTIC_FLAGS = -W -Wall -pedantic \
-Wpointer-arith -Wcast-qual \
-Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wmissing-noreturn \
-Wformat=2 -Wimplicit -Wmain \
-Wcomment -Wformat-nonliteral \
-Wmissing-braces -Wparentheses -Wreturn-type \
-Wswitch -Wunused -Wundef \
-Wbad-function-cast -Wcast-qual -Wcast-align \
-Wredundant-decls -Wnested-externs
# -Wswitch-default -Wswitch-enum -Wendif-labels
# -Werror
LDFLAGS = -L/usr/X11R6/lib -L./lib -L/usr/X/lib
LINT=splint
LINT_TAR=Xnee-lint.tar
##XOSD_LIB=-lxosd
XOSD_LIB=
# These flags seem to break compilation due to cygwin
# use on non-cygwin platform only
#SEMI_FLAGS = \
# -pedantic-errors
LIBS = -lX11 -lXext -lXtst -lpthread
CLI_OBJS = xnee/src/parse.o xnee/src/main.o
COMM_OBJS = libxnee/src/xnee.o libxnee/src/xnee_record.o libxnee/src/xnee_replay.o libxnee/src/print.o libxnee/src/print_varargs.o libxnee/src/datastrings.o libxnee/src/xnee_dl.o libxnee/src/xnee_sem.o libxnee/src/xnee_setget.o libxnee/src/xnee_fake.o libxnee/src/xnee_km.o libxnee/src/xnee_resolution.o libxnee/src/xnee_resource.o libxnee/src/xnee_buffer.o libxnee/src/xnee_callback.o libxnee/src/xnee_km.o libxnee/src/xnee_grab.o libxnee/src/xnee_time.o libxnee/src/xnee_threshold.o
GUI_C_FLAGS= -I. -Ilibxnee/include -Ignee/src -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/local//locale"\" -DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
GUI_LD_FLAGS= -L/usr/X11R6/lib -L. -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lfontconfig -lXrandr -lXext -lXcursor -lpango-1.0 -lXrender -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lxnee
CFLAGS = -DPACKAGE=${PACKAGE} -DVERSION=${VERSION} -DHAVE_STDARG_H=1 \
-I/usr/X11R6/include -I./libxnee/include/ -Icnee/include -g \
${PEDANTIC_FLAGS}
LINTFLAGS = -DPACKAGE=${PACKAGE} -DVERSION=${VERSION} -DHAVE_STDARG_H=1 \
-I/usr/X11R6/include -I./libxnee/include/ -Ixnee/src \
-D__GNUC__ \
-warnposix -mustfreefresh -temptrans -compdef -mustfreeonly
LDFLAGS = -L/usr/X11R6/lib -L./lib -L/usr/X/lib
LIBS = -lX11 -lXext -lXtst -lpthread ${XOSD_LIB}
CLI_SRC = cnee/src/parse.c cnee/src/main.c cnee/src/cnee_strings.c cnee/src/cnee_printer.c cnee/src/cnee_fake.c cnee/src/cnee_demo.c
GUI_SRC = gnee/src/callbacks.c gnee/src/gnee_xnee.c gnee/src/interface.c gnee/src/main.c gnee/src/recordables.c gnee/src/support.c
COMM_SRC = libxnee/src/datastrings.c \
libxnee/src/feedback.c \
libxnee/src/print.c \
libxnee/src/print_varargs.c \
libxnee/src/xnee.c \
libxnee/src/xnee_buffer.c \
libxnee/src/xnee_callback.c \
libxnee/src/xnee_dl.c \
libxnee/src/xnee_error.c \
libxnee/src/xnee_expr.c \
libxnee/src/xnee_fake.c \
libxnee/src/xnee_grab.c \
libxnee/src/xnee_km.c \
libxnee/src/xnee_range.c \
libxnee/src/xnee_record.c \
libxnee/src/xnee_replay.c \
libxnee/src/xnee_resolution.c \
libxnee/src/xnee_resource.c \
libxnee/src/xnee_sem.c \
libxnee/src/xnee_setget.c \
libxnee/src/xnee_threshold.c \
libxnee/src/xnee_time.c \
libxnee/src/xnee_utils.c \
libxnee/src/xnee_keysym.c \
libxnee/src/xnee_strings.c \
libxnee/src/xnee_display.c \
libxnee/src/xnee_alloc.c \
libxnee/src/xnee_session.c \
libxnee/src/xnee_fileop.c \
libxnee/src/xnee_plugin.c \
libxnee/src/xnee_settings.c \
libxnee/src/xnee_window.c
CLI_OBJS := $(CLI_SRC:%.c=%.o)
#GUI_OBJS := $(GUI_SRC:%.c=%.o)
COMM_OBJS := $(COMM_SRC:%.c=%.o)
CLI_LINT := $(CLI_SRC:%.c=%.lint)
COMM_LINT := $(COMM_SRC:%.c=%.lint)
${COMM_OBJS}: Makefile.xnee
OBJS = ${COMM_OBJS}
.c.o:
.c.o:
${CC} -g ${CFLAGS} -c $< -o $@
.c.lint:
@echo "Doing lint...: ${LINT} $< to $@"
-${LINT} ${LINTFLAGS} $< > $@
XNEELIB = libxnee.a
XNEE_CLI= xnee/src/xnee
XNEE_CLI= cnee/src/cnee
XNEE_GUI= gnee/src/gnee
all : ${XNEE_CLI}
all: config ${XNEE_CLI} ${XNEE_GUI}
rm config.h
clean:
\rm -fr ${OBJS} ${XNEE_CLI} ${XNEELIB} src/*/*~ *~ src/*/*.o */a.out core
\rm -fr ${OBJS} ${CLI_OBJS} ${GUI_OBJS} ${XNEE_CLI} ${XNEE_GUI} ${XNEELIB} src/*/*~ *~ src/*/*.o */a.out core
lib : ${XNEELIB}
${XNEELIB}: ${OBJS}
${XNEELIB}: ${OBJS} ${COMM_OBJS}
ar -rv ${XNEELIB} ${OBJS}
bin : ${XNEE_CLI}
cli : ${XNEE_CLI}
gui : ${XNEE_GUI}
bin : cli gui
bin2 : ${XNEE_CLI} ${XNEE_GUI}
${XNEE_CLI}: ${XNEELIB} ${CLI_OBJS}
${CC} -o ${XNEE_CLI} ${CLI_OBJS} ${LDFLAGS} ${LIBS} -L./ -lxnee ${LIBS}
config:
cp config.xnee config.h
#${XNEE_GUI}: ${XNEELIB} ${GUI_OBJS}
${XNEE_GUI}: ${GUI_OBJS} config.h
${CC} -o ${XNEE_GUI} ${GUI_C_FLAGS} ${GUI_SRC} ${GUI_LD_FLAGS} ${LIBS}
lintsave: ${COMM_LINT} ${CLI_LINT}
tar cvf ${LINT_TAR} ${COMM_LINT} ${CLI_LINT}
gzip ${LINT_TAR}
@echo "Created ${LINT_TAR}.gz"
lint: ${COMM_SRC} ${CLI_SRC}
@echo " ${LINT} $< "
-${LINT} ${LINTFLAGS} $<
This diff is collapsed.
Xnee / README
-------------
Xnee is a GNU package. For more information about GNU, please visit
Xnee is a GNU package.
For more information about GNU, please visit
http://www.gnu.org
The following files contains information about Xnee
Xnee consists of three parts:
----------------------------------------------
1) libxnee (libxnee is basically xnee)
A library containing most of the functionality.
2) xnee (xnee's not an event emulator)
A command line program using libxnee
3) gnee (gnee's not an emulator either)
A GUI program using libxnee
4) pnee
A Gnome Panel Applet
To build these three programs do the following:
-----------------------------------------------
./configure
make
make install
if you need help on the configure options, do
./configure --help
Typically you can:
* disable building gnee (--disable-gui)
* disable building documentation (--disable-doc)
* enable building of pnee (--enable-gnome-applet)
Name Description
---------------------------
AUTHORS List of authors, contributors etc
BUGS Known bugs and limitations
Changelog Log of source code changes
COPYING Contains the Xnee license
DESCRIPTION Obsolete*
DEVELOPMENT Obsolete*
EXAMPLES Obsolete*
FAQ Obsolete*
INSTALL Contains information about how to build and install Xnee
NEWS Contains information about what is new in "this" release
README This file
TODO List of features, fixes, docs, ... to implement
USAGE A printout of Xnee's built in doc, 'xnee --help'
To compile for Debian (Debian based distros (e.g Ubuntu)) don't forget to set the prefix during configure. Otherwise pnee (Gnome Panel Applet) will not be started.
Example:
./configure --enable-gnome-applet --prefix=/usr