Changes for version 0.29
- Fix MoveMouseAbs() always reporting success regardless of whether the underlying XTestFakeMotionEvent() call actually succeeded.
- Portability: Makefile.PL now locates X11/XTest via pkg-config or a real compile+link probe instead of guessing from a fixed directory list; extended fallback paths for Solaris, HP-UX, AIX, and NetBSD.
- Portability: <strings.h> is now included for strcasecmp(), which isn't guaranteed to be declared by <string.h> outside of glibc.
- Portability: guard against a NULL _NET_WM_NAME property value in GetWindowName().
- Portability (x11guirecord): GCC-only warning flags no longer break the build on Solaris/AIX/HP-UX vendor compilers; X11 is now located via AC_PATH_XTRA instead of hardcoded paths; popt is now probed for with a clear configure-time error if missing; GNU gettext (not native on AIX/HP-UX) is now an optional dependency instead of a hard requirement.
- Fix a latent buffer-overflow risk in x11guirecord's script_file.c (vsprintf -> vsnprintf).
- Fix a latent buffer-overflow risk in x11guirecord's ProcessEvent(), where a long keysym name (e.g. an XF86 media key) could in principle grow the key-accumulation buffer past its fixed size; key/modifier text is now assembled as one unit and the buffer is flushed first if it wouldn't otherwise fit, rather than appended to unconditionally.
- Fix several signed/unsigned comparison mismatches in x11guirecord; record_event.h's "data" field was declared int, too narrow to safely hold a KeySym on any platform without risking truncation.
- Fix the recorder's locale directory being hardcoded to /usr/share/locale regardless of --prefix.
- Removed an unused <X11/Xlocale.h> include.
- Documentation: noted the recorder's XRECORD extension and build-time dependencies (autoconf, automake, popt, X11 dev headers); documented how to opt into the X11_GUITEST_USING_XINERAMA build; added a note on XWayland/Wayland compatibility; fixed a stale 'docs/Changes' reference.
- Updated copyright years.
- Documentation updates.
Modules
Provides GUI testing/interaction routines.