From e01f7b2ac063d275c6d01a0e6fe58da6733fb880 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 30 Nov 2002 06:21:43 +0000 Subject: Add XFIXES extension --- xfixesproto.h | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ xfixeswire.h | 70 ++++++++++++++++++++++++ 2 files changed, 241 insertions(+) create mode 100644 xfixesproto.h create mode 100644 xfixeswire.h diff --git a/xfixesproto.h b/xfixesproto.h new file mode 100644 index 0000000..6fbd2f1 --- /dev/null +++ b/xfixesproto.h @@ -0,0 +1,171 @@ +/* + * $XFree86: $ + * + * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _XFIXESPROTO_H_ +#define _XFIXESPROTO_H_ + +#include +#include + +#define Window CARD32 +#define Drawable CARD32 +#define Font CARD32 +#define Pixmap CARD32 +#define Cursor CARD32 +#define Colormap CARD32 +#define GContext CARD32 +#define Atom CARD32 +#define VisualID CARD32 +#define Time CARD32 +#define KeyCode CARD8 +#define KeySym CARD32 + +/* + * requests and replies + */ +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + CARD32 majorVersion B32; + CARD32 minorVersion B32; +} xXFixesQueryVersionReq; + +#define sz_xXFixesQueryVersionReq 12 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + CARD32 majorVersion B32; + CARD32 minorVersion B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXFixesQueryVersionReply; + +#define sz_xXFixesQueryVersionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + BYTE mode; /* SetModeInsert/SetModeDelete*/ + BYTE target; /* SaveSetNearest/SaveSetRoot*/ + BYTE map; /* SaveSetMap/SaveSetUnmap */ + BYTE pad1; + Window window; +} xXFixesChangeSaveSetReq; + +#define sz_xXFixesChangeSaveSetReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; + Atom selection B32; + CARD32 eventMask B32; +} xXFixesSelectSelectionInputReq; + +#define sz_xXFixesSelectSelectionInputReq 16 + +typedef struct { + CARD8 type; + CARD8 subtype; + CARD16 sequenceNumber B16; + Window window B32; + Window owner B32; + Atom selection B32; + Time timestamp B32; + Time selectionTimestamp B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xXFixesSelectionNotifyEvent; + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; + CARD32 eventMask B32; +} xXFixesSelectCursorInputReq; + +#define sz_xXFixesSelectCursorInputReq 12 + +typedef struct { + CARD8 type; + CARD8 subtype; + CARD16 sequenceNumber B16; + Window window B32; + CARD32 cursorSerial B32; + Time timestamp; + CARD32 pad1 B32; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; +} xXFixesCursorNotifyEvent; + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; +} xXFixesGetCursorImageReq; + +#define sz_xXFixesGetCursorImageReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + CARD16 xhot B16; + CARD16 yhot B16; + CARD32 cursorSerial B32; + CARD32 pad2 B32; + CARD32 pad3 B32; +} xXFixesGetCursorImageReply; + +#define sz_xXFixesGetCursorImageReply 32 + +#undef Window +#undef Drawable +#undef Font +#undef Pixmap +#undef Cursor +#undef Colormap +#undef GContext +#undef Atom +#undef VisualID +#undef Time +#undef KeyCode +#undef KeySym + +#endif /* _XFIXESPROTO_H_ */ diff --git a/xfixeswire.h b/xfixeswire.h new file mode 100644 index 0000000..d51e0ad --- /dev/null +++ b/xfixeswire.h @@ -0,0 +1,70 @@ +/* + * $XFree86: $ + * + * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + + +#ifndef _XFIXESWIRE_H_ +#define _XFIXESWIRE_H_ + +#define XFIXES_NAME "XFIXES" +#define XFIXES_MAJOR 1 +#define XFIXES_MINOR 0 + +#define X_XFixesQueryVersion 0 +#define X_XFixesChangeSaveSet 1 +#define X_XFixesSelectSelectionInput 2 +#define X_XFixesSelectCursorInput 3 +#define X_XFixesGetCursorImage 4 + +#define XFixesNumberRequests (X_XFixesGetCursorImage+1) + +/* Selection events share one event number */ +#define XFixesSelectionNotify 0 + +/* Within the selection, the 'subtype' field distinguishes */ +#define XFixesSetSelectionOwnerNotify 0 +#define XFixesSelectionWindowDestroyNotify 1 +#define XFixesSelectionClientCloseNotify 2 + +#define XFixesSetSelectionOwnerNotifyMask (1L << 0) +#define XFixesSelectionWindowDestroyNotifyMask (1L << 1) +#define XFixesSelectionClientCloseNotifyMask (1L << 2) + +/* There's only one cursor event so far */ +#define XFixesCursorNotify 1 + +#define XFixesDisplayCursorNotify 0 + +#define XFixesDisplayCursorNotifyMask (1L << 0) + +#define XFixesNumberEvents (2) + +#define XFixesNumberErrors (0) + +#define SaveSetNearest 0 +#define SaveSetRoot 1 + +#define SaveSetMap 0 +#define SaveSetUnmap 1 + +#endif /* _XFIXESWIRE_H_ */ -- cgit v1.2.3 From 698d42ea5e9a609fff1b566e0d6160b694d78700 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 30 Nov 2002 20:58:31 +0000 Subject: Add XFIXES protocol document --- protocol | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 protocol diff --git a/protocol b/protocol new file mode 100644 index 0000000..70fc146 --- /dev/null +++ b/protocol @@ -0,0 +1,198 @@ + The XFIXES Extension + Version 1.0 + 2002-11-30 + Keith Packard + keithp@xfree86.org + +1. Introduction + +X applications have often needed to work around various shortcomings in the +core X window system. This extension is designed to provide the minimal +server-side support necessary to eliminate problems caused by these +workarounds. + +2. Acknowledgements + +This extension is a direct result of requests made by application +developers, in particular, + + + Owen Taylor for describing the issues raised with the XEMBED + mechanisms and SaveSet processing and his initial extension + to handle this issue. + + + Bill Haneman for the design for cursor image tracking. + + + Havoc Pennington + +3. Basic Premise + +Requests in this extension may seem to wander all over the map of X server +capabilities, but they are tied by a simple rule -- resolving issues raised +by application interaction with core protocol mechanisms that cannot be +adequately worked around on the client side of the wire. + +4. Extension initialization + +The client must negotiate the version of the extension before executing +extension requests. Behavior of the server is undefined otherwise. + +QueryVersion + + client-major-version: CARD32 + client-minor-version: CARD32 + + -> + + major-version: CARD32 + minor-version: CARD32 + + The client sends the highest supported version to the server and + the server sends the highest version it supports, but no higher than + the requested version. Major versions changes can introduce + incompatibilities in existing functionality, minor version + changes introduce only backward compatible changes. It is + the clients responsibility to ensure that the server supports + a version which is compatible with its expectations. + +5. Save Set processing changes + +Embedding one application within another provides a way of unifying +disparate documents and views within a single framework. From the X +protocol perspective, this appears similar to nested window managers; the +embedding application "manages" the embedded windows much as a window +manager does for top-level windows. To protect the embedded application +from embedding application failure, it is reasonable to use the core SaveSet +mechanism so that embedding application failure causes embedded windows to +be preserved instead of destroyed. + +The core save set mechanism defines the target for each save set member +window as the nearest enclosing window not owned by the terminating client. +For embedding applications, this nearest window is usually the window +manager frame. The problem here is that the window manager will not +generally expect to receive and correctly manage new windows appearing within +that window by the save set mechanism, and will instead destroy the frame +window in response to the client window destruction. This causes the +embedded window to be destroyed. + +An easy fix for this problem is to change the target of the save set member +to a window which won't be affected by the underlying window destruction. +XFIXES chooses the root window as the target. + +Having embedded windows suddenly appear at the top level can confuse users, +so XFIXES also permits these windows to remain unmapped instead of being +remapped. + +ChangeSaveSet + + window: Window + mode: { Insert, Delete } + target: { Nearest, Root } + map: { Map, Unmap } + +ChangeSaveSet is an extension of the core protocol ChangeSaveSet +request. As in that request, mode specifies whether the indicated +window is inserted or deleted from the save-set. Target specifies +whether the window is reparented to the nearest non-client window as in the +core protocol, or reparented to the root window. Map specifies +whether the window is mapped as in the core protocol or unmapped. + +6. Selection Tracking + +Applications wishing to monitor the contents of current selections must +poll for selection changes. XFIXES improves this by providing an event +delivered whenever the selection ownership changes. + + SELECTIONEVENT { SetSelectionOwner, + SelectionWindowDestroy, + SelectionClientClose } + +SelectionNotify + + subtype: SELECTIONEVENT + window: Window + owner: Window + selection: Atom + timestamp: Timestamp + selection-timestamp: Timestamp + +SelectSelectionInput + + window: Window + selection: Atom + event-mask: SETofSELECTIONEVENT + +Selects for events to be delivered to window when various causes of +ownership of selection occur. Subtype indicates the cause of the selection +ownership change. Owner is set to the current selection owner, or None. +Timestamp indicates the time the event was generated while +selection-timestamp indicates the timestamp used to own the selection. + +7. Cursor Image Monitoring + +Mirroring the screen contents is easily done with the core protocol or VNC +addons, except for the current cursor image. There is no way using the core +protocol to discover which cursor image is currently displayed. The +cursor image often contains significant semantic content about the user +interface. XFIXES provides a simple mechanism to discover when the cursor +image changes and to fetch the current cursor image. + +As the current cursor may or may not have any XID associated with it, there +is no stable name available. Instead, XFIXES returns only the image of the +current cursor and provides a way to identify cursor images to avoid +refetching the image each time it changes to a previously seen cursor. + + CURSOREVENT { DisplayCursor } + +CursorNotify + + subtype: CURSOREVENT + window: Window + cursor-serial: CARD32 + timestamp: Timestamp + +SelectCursorInput + + window: Window + event-mask: SETofCURSOREVENT + +This request directs cursor change events to the named window. Events will +be delivered irrespective of the screen on which they occur. Subtype +indicates the cause of the cursor image change (there is only one subtype at +present). Cursor-serial is a number assigned to the cursor image which +identifies the image. Cursors with different serial numbers may have +different images. Timestamp is the time of the cursor change. + +GetCursorImage + + -> + + x: INT16 + y: INT16 + width: CARD16 + height: CARD16 + x-hot: CARD16 + y-hot: CARD16 + cursor-serial: CARD32 + cursor-image: LISTofCARD32 + +GetCursorImage returns the image of the current cursor. X and y are the +current cursor position. Width and height are the size of the cursor image. +X-hot and y-hot mark the hotspot within the cursor image. Cursor-serial +provides the number assigned to this cursor image, this same serial number +will be reported in a CursorNotify event if this cursor image is redisplayed +in the future. + +The cursor image itself is returned as a single image at 32 bits per pixel +with 8 bits of alpha in the most significant 8 bits of the pixel followed by +8 bits each of red, green and finally 8 bits of blue in the least significant +8 bits. The color components are pre-multiplied with the alpha component. + +8. Future compatibility + +This extension is not expected to remain fixed. Future changes will +strive to remain compatible if at all possible. The X server will always +support version 1 of the extension protocol if requested by a client. + +Additions to the protocol will always by marked by minor version number +changes so that applications will be able to detect what requests are +supported. -- cgit v1.2.3 -- cgit v1.2.3 From a7b519bf17ea3a421029a9eceed5392786fb5cc9 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 15 Jan 2003 02:54:56 +0000 Subject: *** empty log message *** --- xfixesproto.h | 2 +- xfixeswire.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xfixesproto.h b/xfixesproto.h index 6fbd2f1..7de213b 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -1,5 +1,5 @@ /* - * $XFree86: $ + * $XFree86: xc/include/extensions/xfixesproto.h,v 1.1 2002/11/30 06:21:43 keithp Exp $ * * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. * diff --git a/xfixeswire.h b/xfixeswire.h index d51e0ad..d6c907f 100644 --- a/xfixeswire.h +++ b/xfixeswire.h @@ -1,5 +1,5 @@ /* - * $XFree86: $ + * $XFree86: xc/include/extensions/xfixeswire.h,v 1.1 2002/11/30 06:21:43 keithp Exp $ * * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. * -- cgit v1.2.3 From 0c9e4c7af3d366b99c98ba199bae92cf5873b388 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 9 Oct 2003 01:48:22 +0000 Subject: Autofoo --- .cvsignore | 11 +++++++++++ AUTHORS | 0 COPYING | 22 ++++++++++++++++++++++ ChangeLog | 9 +++++++++ INSTALL | 8 ++++++++ Makefile.am | 37 +++++++++++++++++++++++++++++++++++++ NEWS | 0 README | 10 ++++++++++ autogen.sh | 3 +++ configure.ac | 33 +++++++++++++++++++++++++++++++++ fixesext.pc.in | 9 +++++++++ 11 files changed, 142 insertions(+) create mode 100644 .cvsignore create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 INSTALL create mode 100644 Makefile.am create mode 100644 NEWS create mode 100644 README create mode 100755 autogen.sh create mode 100644 configure.ac create mode 100644 fixesext.pc.in diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..044aa68 --- /dev/null +++ b/.cvsignore @@ -0,0 +1,11 @@ +Makefile +Makefile.in +aclocal.m4 +autom4te.cache +config.log +config.status +configure +fixesext.pc +install-sh +missing +mkinstalldirs diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..e69de29 diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d2d23d5 --- /dev/null +++ b/COPYING @@ -0,0 +1,22 @@ +$Id: COPYING,v 1.1 2003-10-09 01:48:22 keithp Exp $ + +Copyright © 2001,2003 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of Keith Packard not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. Keith Packard makes no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..64775a3 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,9 @@ +2003-09-16 Anders Carlsson + + * configure.ac: + * randr-uninstalled.pc.in: + Add uninstalled pc file. + +2003-04-21 Keith Packard + + + Added ChangeLog diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..b94098a --- /dev/null +++ b/INSTALL @@ -0,0 +1,8 @@ +Render is built with the traditional configure script: + + $ ./configure --prefix=/usr/X11R6 + +This should generate valid Makefiles, then: + + $ make + $ make install diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..ca6f211 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,37 @@ +# +# $Id: Makefile.am,v 1.1 2003-10-09 01:48:22 keithp Exp $ +# +# Copyright © 2003 Keith Packard, Noah Levitt +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of Keith Packard not be used in +# advertising or publicity pertaining to distribution of the software without +# specific, written prior permission. Keith Packard makes no +# representations about the suitability of this software for any purpose. It +# is provided "as is" without express or implied warranty. +# +# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +# EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +fixesextincludedir = $(includedir)/X11/extensions +fixesextinclude_HEADERS = \ + xfixesproto.h \ + xfixeswire.h + + +fixesextdocdir = $(datadir)/doc/fixesext +fixesextdoc_DATA = protocol + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = fixesext.pc + +EXTRA_DIST = autogen.sh fixesext.pc.in $(fixesextdoc_DATA) + diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..9968c6b --- /dev/null +++ b/README @@ -0,0 +1,10 @@ + RandR + X RandR Extension + Version 1.0 + 2002-10-4 + +This package contains header files and documentation for the X RandR +extension. Library and server implementations are separate. + +Keith Packard +keithp@keithp.com diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..b1376df --- /dev/null +++ b/autogen.sh @@ -0,0 +1,3 @@ +#! /bin/sh +autoreconf -v --install || exit 1 +./configure --enable-maintainer-mode "$@" diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..aae3e8a --- /dev/null +++ b/configure.ac @@ -0,0 +1,33 @@ +dnl +dnl $Id: configure.ac,v 1.1 2003-10-09 01:48:22 keithp Exp $ +dnl +dnl Copyright © 2003 Keith Packard, Noah Levitt +dnl +dnl Permission to use, copy, modify, distribute, and sell this software and its +dnl documentation for any purpose is hereby granted without fee, provided that +dnl the above copyright notice appear in all copies and that both that +dnl copyright notice and this permission notice appear in supporting +dnl documentation, and that the name of Keith Packard not be used in +dnl advertising or publicity pertaining to distribution of the software without +dnl specific, written prior permission. Keith Packard makes no +dnl representations about the suitability of this software for any purpose. It +dnl is provided "as is" without express or implied warranty. +dnl +dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR +dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +dnl PERFORMANCE OF THIS SOFTWARE. +dnl +dnl Process this file with autoconf to create configure. + +AC_PREREQ([2.57]) +AC_INIT([fixesext], [1.0], [keithp@keithp.com], fixesext) +AM_INIT_AUTOMAKE([dist-bzip2]) +AM_MAINTAINER_MODE + +AC_OUTPUT([Makefile + fixesext.pc]) + diff --git a/fixesext.pc.in b/fixesext.pc.in new file mode 100644 index 0000000..5eab95c --- /dev/null +++ b/fixesext.pc.in @@ -0,0 +1,9 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: RandR +Description: RandR extension headers +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} -- cgit v1.2.3 From 804a9fda12f70e66feac5e45bc8293a7e436689b Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 3 Nov 2003 01:47:23 +0000 Subject: Merge xfixes_2_branch back to head --- ChangeLog | 21 ++++ configure.ac | 6 +- fixesext.pc.in | 6 +- protocol | 385 +++++++++++++++++++++++++++++++++++++++++++++++++-------- xfixesproto.h | 278 ++++++++++++++++++++++++++++++++++++++++- xfixeswire.h | 38 +++++- 6 files changed, 675 insertions(+), 59 deletions(-) diff --git a/ChangeLog b/ChangeLog index 64775a3..a1be791 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +2003-11-02 Keith Packard + + * configure.ac: + * fixesext.pc.in: + * protocol: + * xfixesproto.h: + * xfixeswire.h: + Merge xfixes_2_branch back to head + +2003-10-19 Keith Packard + + * configure.ac: + * fixesext.pc.in: + * protocol: + * xfixesproto.h: + * xfixeswire.h: + Update to version 2.0. + Add dependency on xextensions package + Add region requests and cursor names + + 2003-09-16 Anders Carlsson * configure.ac: diff --git a/configure.ac b/configure.ac index aae3e8a..e6d464a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl -dnl $Id: configure.ac,v 1.1 2003-10-09 01:48:22 keithp Exp $ +dnl $Id: configure.ac,v 1.2 2003-11-03 01:47:23 keithp Exp $ dnl dnl Copyright © 2003 Keith Packard, Noah Levitt dnl @@ -24,10 +24,12 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT([fixesext], [1.0], [keithp@keithp.com], fixesext) +AC_INIT([fixesext], [2.0], [keithp@keithp.com], fixesext) AM_INIT_AUTOMAKE([dist-bzip2]) AM_MAINTAINER_MODE +PKG_CHECK_MODULES(XEXTENSIONS, xextensions) + AC_OUTPUT([Makefile fixesext.pc]) diff --git a/fixesext.pc.in b/fixesext.pc.in index 5eab95c..a8c038d 100644 --- a/fixesext.pc.in +++ b/fixesext.pc.in @@ -3,7 +3,7 @@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -Name: RandR -Description: RandR extension headers +Name: FixesExt +Description: X Fixes extension headers Version: @PACKAGE_VERSION@ -Cflags: -I${includedir} +Cflags: -I${includedir} @XEXTENSIONS_CFLAGS@ diff --git a/protocol b/protocol index 70fc146..3b6b234 100644 --- a/protocol +++ b/protocol @@ -1,8 +1,8 @@ The XFIXES Extension - Version 1.0 - 2002-11-30 + Version 2.0 + 2003-10-15 Keith Packard - keithp@xfree86.org + keithp@keithp.com 1. Introduction @@ -24,6 +24,8 @@ developers, in particular, + Havoc Pennington + + Fredrik Höglund for cursor names + 3. Basic Premise Requests in this extension may seem to wander all over the map of X server @@ -54,6 +56,8 @@ QueryVersion the clients responsibility to ensure that the server supports a version which is compatible with its expectations. +************* XFIXES VERSION 1 OR BETTER *********** + 5. Save Set processing changes Embedding one application within another provides a way of unifying @@ -82,19 +86,22 @@ Having embedded windows suddenly appear at the top level can confuse users, so XFIXES also permits these windows to remain unmapped instead of being remapped. +5.1 Requests + ChangeSaveSet - window: Window - mode: { Insert, Delete } - target: { Nearest, Root } - map: { Map, Unmap } + window: Window + mode: { Insert, Delete } + target: { Nearest, Root } + map: { Map, Unmap } -ChangeSaveSet is an extension of the core protocol ChangeSaveSet -request. As in that request, mode specifies whether the indicated -window is inserted or deleted from the save-set. Target specifies -whether the window is reparented to the nearest non-client window as in the -core protocol, or reparented to the root window. Map specifies -whether the window is mapped as in the core protocol or unmapped. + ChangeSaveSet is an extension of the core protocol ChangeSaveSet + request. As in that request, mode specifies whether the indicated + window is inserted or deleted from the save-set. Target specifies + whether the window is reparented to the nearest non-client window as + in the core protocol, or reparented to the root window. Map + specifies whether the window is mapped as in the core protocol or + unmapped. 6. Selection Tracking @@ -102,10 +109,14 @@ Applications wishing to monitor the contents of current selections must poll for selection changes. XFIXES improves this by providing an event delivered whenever the selection ownership changes. +6.1 Types + SELECTIONEVENT { SetSelectionOwner, SelectionWindowDestroy, SelectionClientClose } +6.1 Events + SelectionNotify subtype: SELECTIONEVENT @@ -115,17 +126,20 @@ SelectionNotify timestamp: Timestamp selection-timestamp: Timestamp +6.2 Requests + SelectSelectionInput - window: Window - selection: Atom - event-mask: SETofSELECTIONEVENT + window: Window + selection: Atom + event-mask: SETofSELECTIONEVENT -Selects for events to be delivered to window when various causes of -ownership of selection occur. Subtype indicates the cause of the selection -ownership change. Owner is set to the current selection owner, or None. -Timestamp indicates the time the event was generated while -selection-timestamp indicates the timestamp used to own the selection. + Selects for events to be delivered to window when various causes of + ownership of selection occur. Subtype indicates the cause of the + selection ownership change. Owner is set to the current selection + owner, or None. Timestamp indicates the time the event was + generated while selection-timestamp indicates the timestamp used to + own the selection. 7. Cursor Image Monitoring @@ -141,53 +155,326 @@ is no stable name available. Instead, XFIXES returns only the image of the current cursor and provides a way to identify cursor images to avoid refetching the image each time it changes to a previously seen cursor. +7.1 Types CURSOREVENT { DisplayCursor } +7.2 Events + CursorNotify subtype: CURSOREVENT window: Window cursor-serial: CARD32 timestamp: Timestamp + name: Atom (Version 2 only) + +7.3 Requests SelectCursorInput - window: Window - event-mask: SETofCURSOREVENT + window: Window + event-mask: SETofCURSOREVENT -This request directs cursor change events to the named window. Events will -be delivered irrespective of the screen on which they occur. Subtype -indicates the cause of the cursor image change (there is only one subtype at -present). Cursor-serial is a number assigned to the cursor image which -identifies the image. Cursors with different serial numbers may have -different images. Timestamp is the time of the cursor change. + This request directs cursor change events to the named window. + Events will be delivered irrespective of the screen on which they + occur. Subtype indicates the cause of the cursor image change + (there is only one subtype at present). Cursor-serial is a number + assigned to the cursor image which identifies the image. Cursors + with different serial numbers may have different images. Timestamp + is the time of the cursor change. GetCursorImage - -> + -> - x: INT16 - y: INT16 - width: CARD16 - height: CARD16 - x-hot: CARD16 - y-hot: CARD16 - cursor-serial: CARD32 - cursor-image: LISTofCARD32 + x: INT16 + y: INT16 + width: CARD16 + height: CARD16 + x-hot: CARD16 + y-hot: CARD16 + cursor-serial: CARD32 + cursor-image: LISTofCARD32 + + GetCursorImage returns the image of the current cursor. X and y are + the current cursor position. Width and height are the size of the + cursor image. X-hot and y-hot mark the hotspot within the cursor + image. Cursor-serial provides the number assigned to this cursor + image, this same serial number will be reported in a CursorNotify + event if this cursor image is redisplayed in the future. + + The cursor image itself is returned as a single image at 32 bits per + pixel with 8 bits of alpha in the most significant 8 bits of the + pixel followed by 8 bits each of red, green and finally 8 bits of + blue in the least significant 8 bits. The color components are + pre-multiplied with the alpha component. + +************* XFIXES VERSION 2 OR BETTER *********** + +8. Region Objects + +The core protocol doesn't expose regions as a primitive object and this +makes many operations more complicated than they really need to be. Adding +region objects simplifies expose handling, the Shape extension and other +operations. These operations are also designed to support a separate +extension, the X Damage Extension. + +8.1 Types + + Region: XID + WINDOW_REGION_KIND: { Bounding, Clip } + +8.2 Errors + + Region The specified region is invalid + +8.3 Requests + +CreateRegion + + region: REGION + rects: LISTofRECTANGLE + + Creates a region initialized to the specified list of rectangles. + The rectangles may be specified in any order, their union becomes + the region. The core protocol allows applications to specify an + order for the rectangles, but it turns out to be just as hard to + verify the rectangles are actually in that order as it is to simply + ignore the ordering information and union them together. Hence, + this request dispenses with the ordering information. + + Errors: IDChoice + +CreateRegionFromBitmap + + region: REGION + bitmap: PIXMAP + + Creates a region initialized to the set of 'one' pixels in bitmap + (which must be depth 1, else Match error). + + Errors: Pixmap, IDChoice, Match + +CreateRegionFromWindow + + window: Window + kind: WINDOW_REGION_KIND + region: Region + + Creates a region initialized to the specified window region. See the + Shape extension for the definition of Bounding and Clip regions. + + Errors: Window, IDChoice, Value + +CreateRegionFromGC + + gc: GContext + region: Region + + Creates a region initialized from the clip list of the specified + GContext. + + Errors: GContext, IDChoice + +CreateRegionFromPicture + + picture: Picture + region: Region + + + Creates a region initialized from the clip list of the specified + Picture. + + Errors: Picture, IDChoice + +DestroyRegion + + region: Region + + Destroys the specified region. + + Errors: Region + +SetRegion + + region: Region + rects: LISTofRECTANGLE + + This replaces the current contents of region with the region formed + by the union of rects. + +UnionRegion +IntersectRegion +SubtractRegion + + source1: Region or None + xOff1, yOff1: INT16 + source2: Region or None + xOff2, yOff2: INT16 + destination: Region + + Combines source1 and source2, placing the result in destination. + Destination may be the same as either source1 or source2. If + source1 or source2 are None, the operation behaves as if an empty + region was specified. xOff1, yOff1 are added to the coordinates of + source1 while xOff2 and yOff2 are added to the coordinates of + source2. + + Errors: Region, Value + +InvertRegion + + source: Region + xOff, yOff: INT16 + bounds: RECTANGLE + destination: Region + + The source region is offset by xOff, yOff and subtracted from the + region specified by bounds. The result is placed in destination, + replacing its contents. + + Errors: Region + +RegionExtents + + source: Region + destination: Region + + The extents of the source region are placed in the destination + +FetchRegion + + region: Region + -> + extents: RECTANGLE + rectangles: LISTofRECTANGLE + + The region is returned as a list of rectangles in YX-banded order. + + Errors: Region + +SetGCClipRegion + + gc: GCONTEXT + clip-x-origin, clip-y-origin: INT16 + region: Region or None + + This request changes clip-mask in gc to the specified region and + sets the clp origin. Output will be clippped to remain contained + within the region. The clip origin is interpreted relative to the + origin of whatever destination drawable is specified in a graphics + request. The region is interpreted relative to the clip origin. + Future changes to region have no effect on the gc clip-mask. + + Errors: GContext, Region + +SetWindowShapeRegion + + dest: Window + destKind: SHAPE_KIND + xOff, yOff: INT16 + region: Region or None + + This request sets the specified (by destKind) Shape extension region + of the window to region, offset by xOff and yOff. Future changes to + region have no effect on the window shape. + + Errors: Window, Value, Region + +SetPictureClipRegion + + picture: Picture + clip-x-origin, clip-y-origin: INT16 + region: Region or None + + This request changes clip-mask in picture to the specified region + and sets the clip origin. Input and output will be clipped to + remain contained within the region. The clip origin is interpreted + relative to the origin of the drawable associated with picture. The + region is interpreted relative to the clip origin. Future changes + to region have no effect on the picture clip-mask. + + Errors: Picture, Region + +9. Cursor Names + +Attaching names to cursors permits some abstract semantic content to be +associated with specific cursor images. Reflecting those names back to +applications allows that semantic content to be related to the user through +non-visual means. + +9.1 Events + +CursorNotify + + subtype: CURSOREVENT + window: Window + cursor-serial: CARD32 + timestamp: Timestamp + name: Atom or None + + In Version 2 of the XFIXES protocol, this event adds the atom + of any name associated with the current cursor (else None). + +9.2 Requests + +SetCursorName + + cursor: CURSOR + name: LISTofCARD8 + + This request interns name as an atom and sets that atom as the name + of cursor. + + Errors: Cursor + +GetCursorName + + cursor: CURSOR + -> + atom: ATOM or None + name: LISTofCARD8 + + This request returns the name and atom of cursor. If no name is + set, atom is None and name is empty. + + Errors: Cursor + +GetCursorImageAndName + + -> + + x: INT16 + y: INT16 + width: CARD16 + height: CARD16 + x-hot: CARD16 + y-hot: CARD16 + cursor-serial: CARD32 + cursor-atom: ATOM + cursor-name: LISTofCARD8 + cursor-image: LISTofCARD32 + + This is similar to GetCursorImage except for including both + the atom and name of the current cursor. + +ChangeCursor + + source, destination: CURSOR + + This request replaces all references to the destination with a + reference to source. Any existing uses of the destination cursor + object will now show the source cursor image. -GetCursorImage returns the image of the current cursor. X and y are the -current cursor position. Width and height are the size of the cursor image. -X-hot and y-hot mark the hotspot within the cursor image. Cursor-serial -provides the number assigned to this cursor image, this same serial number -will be reported in a CursorNotify event if this cursor image is redisplayed -in the future. +ChangeCursorByName -The cursor image itself is returned as a single image at 32 bits per pixel -with 8 bits of alpha in the most significant 8 bits of the pixel followed by -8 bits each of red, green and finally 8 bits of blue in the least significant -8 bits. The color components are pre-multiplied with the alpha component. + src: CURSOR + name: LISTofCARD8 -8. Future compatibility + This request replaces the contents of all cursors with the specified + name with the src cursor. + +99. Future compatibility This extension is not expected to remain fixed. Future changes will strive to remain compatible if at all possible. The X server will always diff --git a/xfixesproto.h b/xfixesproto.h index 7de213b..8bdae6f 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -27,6 +27,9 @@ #include #include +#define _SHAPE_SERVER_ +#include +#undef _SHAPE_SERVER_ #define Window CARD32 #define Drawable CARD32 @@ -40,6 +43,15 @@ #define Time CARD32 #define KeyCode CARD8 #define KeySym CARD32 +#define Picture CARD32 + +/*************** Version 1 ******************/ + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; +} xXFixesReq; /* * requests and replies @@ -123,10 +135,10 @@ typedef struct { Window window B32; CARD32 cursorSerial B32; Time timestamp; + Atom name B32; /* Version 2 */ CARD32 pad1 B32; CARD32 pad2 B32; CARD32 pad3 B32; - CARD32 pad4 B32; } xXFixesCursorNotifyEvent; typedef struct { @@ -155,6 +167,270 @@ typedef struct { #define sz_xXFixesGetCursorImageReply 32 +/*************** Version 2 ******************/ + +#define Region CARD32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + /* LISTofRECTANGLE */ +} xXFixesCreateRegionReq; + +#define sz_xXFixesCreateRegionReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + Pixmap bitmap B32; +} xXFixesCreateRegionFromBitmapReq; + +#define sz_xXFixesCreateRegionFromBitmapReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + Window window B32; + CARD8 kind; + CARD8 pad1; + CARD16 pad2 B16; +} xXFixesCreateRegionFromWindowReq; + +#define sz_xXFixesCreateRegionFromWindowReq 16 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + GContext gc B32; +} xXFixesCreateRegionFromGCReq; + +#define sz_xXFixesCreateRegionFromGCReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + Picture picture B32; +} xXFixesCreateRegionFromPictureReq; + +#define sz_xXFixesCreateRegionFromPictureReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; +} xXFixesDestroyRegionReq; + +#define sz_xXFixesDestroyRegionReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + /* LISTofRECTANGLE */ +} xXFixesSetRegionReq; + +#define sz_xXFixesSetRegionReq 8 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source1 B32; + INT16 xOff1 B16, yOff1 B16; + Region source2 B32; + INT16 xOff2 B16, yOff2 B16; + Region destination B32; +} xXFixesCombineRegionReq, + xXFixesUnionRegionReq, + xXFixesIntersectRegionReq, + xXFixesSubtractRegionReq; + +#define sz_xXFixesCombineRegionReq 24 +#define sz_xXFixesUnionRegionReq sz_xXFixesCombineRegionReq +#define sz_xXFixesIntersectRegionReq sz_xXFixesCombineRegionReq +#define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source B32; + INT16 xOff B16, yOff B16; + INT16 x B16, y B16; + CARD16 width B16, height B16; + Region destination B32; +} xXFixesInvertRegionReq; + +#define sz_xXFixesInvertRegionReq 24 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source B32; + Region destination B32; +} xXFixesRegionExtentsReq; + +#define sz_xXFixesRegionExtentsReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; +} xXFixesFetchRegionReq; + +#define sz_xXFixesFetchRegionReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT16 x B16, y B16; + CARD16 width B16, height B16; + CARD32 pad2 B32; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; +} xXFixesFetchRegionReply; + +#define sz_xXFixesFetchRegionReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + GContext gc B32; + Region region B32; + INT16 xOrigin B16, yOrigin B16; +} xXFixesSetGCClipRegionReq; + +#define sz_xXFixesSetGCClipRegionReq 16 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window dest; + BYTE destKind; + CARD8 pad1; + CARD16 pad2 B16; + INT16 xOff B16, yOff B16; + Region region; +} xXFixesSetWindowShapeRegionReq; + +#define sz_xXFixesSetWindowShapeRegionReq 20 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Picture picture B32; + Region region B32; + INT16 xOrigin B16, yOrigin B16; +} xXFixesSetPictureClipRegionReq; + +#define sz_xXFixesSetPictureClipRegionReq 16 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Cursor cursor B32; + CARD16 nbytes B16; + CARD16 pad B16; +} xXFixesSetCursorNameReq; + +#define sz_xXFixesSetCursorNameReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Cursor cursor B32; +} xXFixesGetCursorNameReq; + +#define sz_xXFixesGetCursorNameReq 8 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + Atom atom B32; + CARD16 nbytes B16; + CARD16 pad2 B16; + CARD32 pad3 B32; + CARD32 pad4 B32; + CARD32 pad5 B32; + CARD32 pad6 B32; +} xXFixesGetCursorNameReply; + +#define sz_xXFixesGetCursorNameReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; +} xXFixesGetCursorImageAndNameReq; + +#define sz_xXFixesGetCursorImageAndNameReq 4 + +typedef struct { + BYTE type; /* X_Reply */ + BYTE pad1; + CARD16 sequenceNumber B16; + CARD32 length B32; + INT16 x B16; + INT16 y B16; + CARD16 width B16; + CARD16 height B16; + CARD16 xhot B16; + CARD16 yhot B16; + CARD32 cursorSerial B32; + Atom cursorName B32; + CARD16 nbytes B16; + CARD16 pad B16; +} xXFixesGetCursorImageAndNameReply; + +#define sz_xXFixesGetCursorImageAndNameReply 32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Cursor source B32; + Cursor destination B32; +} xXFixesChangeCursorReq; + +#define sz_xXFixesChangeCursorReq 12 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Cursor source B32; + CARD16 nbytes; + CARD16 pad; +} xXFixesChangeCursorByNameReq; + +#define sz_xXFixesChangeCursorByNameReq 12 + +#undef Region +#undef Picture #undef Window #undef Drawable #undef Font diff --git a/xfixeswire.h b/xfixeswire.h index d6c907f..b0c8e19 100644 --- a/xfixeswire.h +++ b/xfixeswire.h @@ -27,16 +27,39 @@ #define _XFIXESWIRE_H_ #define XFIXES_NAME "XFIXES" -#define XFIXES_MAJOR 1 +#define XFIXES_MAJOR 2 #define XFIXES_MINOR 0 +/*************** Version 1 ******************/ #define X_XFixesQueryVersion 0 #define X_XFixesChangeSaveSet 1 #define X_XFixesSelectSelectionInput 2 #define X_XFixesSelectCursorInput 3 #define X_XFixesGetCursorImage 4 - -#define XFixesNumberRequests (X_XFixesGetCursorImage+1) +/*************** Version 2 ******************/ +#define X_XFixesCreateRegion 5 +#define X_XFixesCreateRegionFromBitmap 6 +#define X_XFixesCreateRegionFromWindow 7 +#define X_XFixesCreateRegionFromGC 8 +#define X_XFixesCreateRegionFromPicture 9 +#define X_XFixesDestroyRegion 10 +#define X_XFixesSetRegion 11 +#define X_XFixesUnionRegion 12 +#define X_XFixesIntersectRegion 13 +#define X_XFixesSubtractRegion 14 +#define X_XFixesInvertRegion 15 +#define X_XFixesRegionExtents 16 +#define X_XFixesFetchRegion 17 +#define X_XFixesSetGCClipRegion 18 +#define X_XFixesSetWindowShapeRegion 19 +#define X_XFixesSetPictureClipRegion 20 +#define X_XFixesSetCursorName 21 +#define X_XFixesGetCursorName 22 +#define X_XFixesGetCursorImageAndName 23 +#define X_XFixesChangeCursor 24 +#define X_XFixesChangeCursorByName 25 + +#define XFixesNumberRequests (X_XFixesChangeCursorByName+1) /* Selection events share one event number */ #define XFixesSelectionNotify 0 @@ -59,7 +82,9 @@ #define XFixesNumberEvents (2) -#define XFixesNumberErrors (0) +/* errors */ +#define BadRegion 0 +#define XFixesNumberErrors (BadRegion+1) #define SaveSetNearest 0 #define SaveSetRoot 1 @@ -67,4 +92,9 @@ #define SaveSetMap 0 #define SaveSetUnmap 1 +/*************** Version 2 ******************/ + +#define WindowRegionBounding 0 +#define WindowRegionClip 1 + #endif /* _XFIXESWIRE_H_ */ -- cgit v1.2.3 From f92db7128c857b3925846a9c8519e9554a1c67e2 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 22 Nov 2003 00:44:32 +0000 Subject: Eliminate offset arguments in combining operators, create separate CopyRegion and TranslateRegion requests. --- ChangeLog | 8 ++++++++ protocol | 39 ++++++++++++++++++++++++--------------- xfixesproto.h | 27 ++++++++++++++++++++++----- xfixeswire.h | 30 ++++++++++++++++-------------- 4 files changed, 70 insertions(+), 34 deletions(-) diff --git a/ChangeLog b/ChangeLog index a1be791..7004b3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2003-11-21 Keith Packard + + * protocol: + * xfixesproto.h: + * xfixeswire.h: + Eliminate offset arguments in combining operators, + create separate CopyRegion and TranslateRegion requests. + 2003-11-02 Keith Packard * configure.ac: diff --git a/protocol b/protocol index 3b6b234..cdea081 100644 --- a/protocol +++ b/protocol @@ -1,6 +1,7 @@ - The XFIXES Extension + The XFIXES Extension Version 2.0 - 2003-10-15 + Document Revision 1 + 2003-11-20 Keith Packard keithp@keithp.com @@ -303,38 +304,46 @@ SetRegion This replaces the current contents of region with the region formed by the union of rects. +CopyRegion + source: Region + destination: Region + + This replaces the contents of destination with the contents of + source. + UnionRegion IntersectRegion SubtractRegion - source1: Region or None - xOff1, yOff1: INT16 - source2: Region or None - xOff2, yOff2: INT16 + source1: Region + source2: Region destination: Region Combines source1 and source2, placing the result in destination. - Destination may be the same as either source1 or source2. If - source1 or source2 are None, the operation behaves as if an empty - region was specified. xOff1, yOff1 are added to the coordinates of - source1 while xOff2 and yOff2 are added to the coordinates of - source2. + Destination may be the same as either source1 or source2. Errors: Region, Value InvertRegion source: Region - xOff, yOff: INT16 bounds: RECTANGLE destination: Region - The source region is offset by xOff, yOff and subtracted from the - region specified by bounds. The result is placed in destination, - replacing its contents. + The source region is subtracted from the region specified by + bounds. The result is placed in destination, replacing its contents. Errors: Region +TranslateRegion + + region: Region + dx, dy: INT16 + + The region is translated by dx, dy in place. + + Errors: Region + RegionExtents source: Region diff --git a/xfixesproto.h b/xfixesproto.h index 8bdae6f..e6b2a7f 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -243,21 +243,29 @@ typedef struct { #define sz_xXFixesSetRegionReq 8 +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source B32; + Region destination B32; +} xXFixesCopyRegionReq; + +#define sz_xXFixesCopyRegionReq 12 + typedef struct { CARD8 reqType; CARD8 xfixesReqType; CARD16 length B16; Region source1 B32; - INT16 xOff1 B16, yOff1 B16; Region source2 B32; - INT16 xOff2 B16, yOff2 B16; Region destination B32; } xXFixesCombineRegionReq, xXFixesUnionRegionReq, xXFixesIntersectRegionReq, xXFixesSubtractRegionReq; -#define sz_xXFixesCombineRegionReq 24 +#define sz_xXFixesCombineRegionReq 16 #define sz_xXFixesUnionRegionReq sz_xXFixesCombineRegionReq #define sz_xXFixesIntersectRegionReq sz_xXFixesCombineRegionReq #define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq @@ -267,14 +275,23 @@ typedef struct { CARD8 xfixesReqType; CARD16 length B16; Region source B32; - INT16 xOff B16, yOff B16; INT16 x B16, y B16; CARD16 width B16, height B16; Region destination B32; } xXFixesInvertRegionReq; -#define sz_xXFixesInvertRegionReq 24 +#define sz_xXFixesInvertRegionReq 20 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region region B32; + INT16 dx B16, dy B16; +} xXFixesTranslateRegionReq; +#define sz_xXFixesTranslateRegionReq 12 + typedef struct { CARD8 reqType; CARD8 xfixesReqType; diff --git a/xfixeswire.h b/xfixeswire.h index b0c8e19..3cb2730 100644 --- a/xfixeswire.h +++ b/xfixeswire.h @@ -44,20 +44,22 @@ #define X_XFixesCreateRegionFromPicture 9 #define X_XFixesDestroyRegion 10 #define X_XFixesSetRegion 11 -#define X_XFixesUnionRegion 12 -#define X_XFixesIntersectRegion 13 -#define X_XFixesSubtractRegion 14 -#define X_XFixesInvertRegion 15 -#define X_XFixesRegionExtents 16 -#define X_XFixesFetchRegion 17 -#define X_XFixesSetGCClipRegion 18 -#define X_XFixesSetWindowShapeRegion 19 -#define X_XFixesSetPictureClipRegion 20 -#define X_XFixesSetCursorName 21 -#define X_XFixesGetCursorName 22 -#define X_XFixesGetCursorImageAndName 23 -#define X_XFixesChangeCursor 24 -#define X_XFixesChangeCursorByName 25 +#define X_XFixesCopyRegion 12 +#define X_XFixesUnionRegion 13 +#define X_XFixesIntersectRegion 14 +#define X_XFixesSubtractRegion 15 +#define X_XFixesInvertRegion 16 +#define X_XFixesTranslateRegion 17 +#define X_XFixesRegionExtents 18 +#define X_XFixesFetchRegion 19 +#define X_XFixesSetGCClipRegion 20 +#define X_XFixesSetWindowShapeRegion 21 +#define X_XFixesSetPictureClipRegion 22 +#define X_XFixesSetCursorName 23 +#define X_XFixesGetCursorName 24 +#define X_XFixesGetCursorImageAndName 25 +#define X_XFixesChangeCursor 26 +#define X_XFixesChangeCursorByName 27 #define XFixesNumberRequests (X_XFixesChangeCursorByName+1) -- cgit v1.2.3 From b0afc5e6982ee6d3c525eb965e3c27aa729c591e Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Thu, 15 Jan 2004 03:39:34 +0000 Subject: Tag release 2.0 for first freedesktop.org clientside lib release. --- ChangeLog | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7004b3b..ee7d467 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2004-01-15 Daniel Stone + * Tag release 2.0 for first freedesktop.org clientside lib release. + 2003-11-21 Keith Packard * protocol: -- cgit v1.2.3 From 3d6cd34420c0ca10b9ece245d74923074f2ca7a1 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Sat, 17 Jan 2004 03:58:52 +0000 Subject: And bump the fixes extension to 2.0.1 as well; yay. Some minor changes over 2.0. --- ChangeLog | 2 +- configure.ac | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index ee7d467..79e4de0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,5 @@ 2004-01-15 Daniel Stone - * Tag release 2.0 for first freedesktop.org clientside lib release. + * Tag release 2.0.1 for first freedesktop.org clientside lib release. 2003-11-21 Keith Packard diff --git a/configure.ac b/configure.ac index e6d464a..082b8c7 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl -dnl $Id: configure.ac,v 1.2 2003-11-03 01:47:23 keithp Exp $ +dnl $Id: configure.ac,v 1.3 2004-01-17 03:58:52 daniel Exp $ dnl dnl Copyright © 2003 Keith Packard, Noah Levitt dnl @@ -24,7 +24,7 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT([fixesext], [2.0], [keithp@keithp.com], fixesext) +AC_INIT([fixesext], [2.0.1], [keithp@keithp.com], fixesext) AM_INIT_AUTOMAKE([dist-bzip2]) AM_MAINTAINER_MODE -- cgit v1.2.3 From df551ca22d5deba241efe6eb9815e50453ba5081 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 21 Jan 2004 09:54:42 +0000 Subject: Test check-in; I just want to see how the script works. --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 082b8c7..5ecbfcc 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -dnl -dnl $Id: configure.ac,v 1.3 2004-01-17 03:58:52 daniel Exp $ +dnl +dnl $Id: configure.ac,v 1.4 2004-01-21 09:54:42 daniel Exp $ dnl dnl Copyright © 2003 Keith Packard, Noah Levitt dnl -- cgit v1.2.3 From 796c1d6b3f9b8efce0caffff8bb9d7743ec1eeeb Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 21 Jan 2004 10:05:08 +0000 Subject: Another pointless commit: remove that extra space. --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 5ecbfcc..04b662d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -dnl -dnl $Id: configure.ac,v 1.4 2004-01-21 09:54:42 daniel Exp $ +dnl +dnl $Id: configure.ac,v 1.5 2004-01-21 10:05:08 daniel Exp $ dnl dnl Copyright © 2003 Keith Packard, Noah Levitt dnl -- cgit v1.2.3 From 1f062c689975e8d00e4a43da25c93538bec6324d Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 21 Jan 2004 10:09:59 +0000 Subject: wow, fixesext is really copping all the crap here --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 04b662d..f869501 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ -dnl -dnl $Id: configure.ac,v 1.5 2004-01-21 10:05:08 daniel Exp $ +dnl +dnl $Id: configure.ac,v 1.6 2004-01-21 10:09:59 daniel Exp $ dnl dnl Copyright © 2003 Keith Packard, Noah Levitt dnl -- cgit v1.2.3 From 8d389eb1ebdd0d81435268bbb0699ec299030743 Mon Sep 17 00:00:00 2001 From: Jim Gettys Date: Tue, 3 Feb 2004 20:47:55 +0000 Subject: Add AUTHORS. --- AUTHORS | 1 + ChangeLog | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/AUTHORS b/AUTHORS index e69de29..8e18f9b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -0,0 +1 @@ +Keith Packard, HP diff --git a/ChangeLog b/ChangeLog index 79e4de0..6124482 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-02-03 Jim Gettys + + * AUTHORS: Add contents to AUTHORS file + 2004-01-15 Daniel Stone * Tag release 2.0.1 for first freedesktop.org clientside lib release. -- cgit v1.2.3 From 146473ec041bf2b7f550ca622ef5cb824f019146 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 26 Jul 2004 17:17:33 +0000 Subject: Add XFixesExpandRegion --- ChangeLog | 7 +++++++ configure.ac | 4 ++-- xfixesproto.h | 16 ++++++++++++++++ xfixeswire.h | 6 ++++-- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6124482..507d2bc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-07-26 Keith Packard + + * configure.ac: + * xfixesproto.h: + * xfixeswire.h: + Add XFixesExpandRegion + 2004-02-03 Jim Gettys * AUTHORS: Add contents to AUTHORS file diff --git a/configure.ac b/configure.ac index f869501..923f97a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl -dnl $Id: configure.ac,v 1.6 2004-01-21 10:09:59 daniel Exp $ +dnl $Id: configure.ac,v 1.7 2004-07-26 17:17:33 keithp Exp $ dnl dnl Copyright © 2003 Keith Packard, Noah Levitt dnl @@ -24,7 +24,7 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT([fixesext], [2.0.1], [keithp@keithp.com], fixesext) +AC_INIT([fixesext], [3.0.0], [keithp@keithp.com], fixesext) AM_INIT_AUTOMAKE([dist-bzip2]) AM_MAINTAINER_MODE diff --git a/xfixesproto.h b/xfixesproto.h index e6b2a7f..1d904b9 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -446,6 +446,22 @@ typedef struct { #define sz_xXFixesChangeCursorByNameReq 12 +/*************** Version 3 ******************/ + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Region source B32; + Region destination B32; + CARD16 left B16; + CARD16 right B16; + CARD16 top B16; + CARD16 bottom B16; +} xXFixesExpandRegionReq; + +#define sz_xXFixesExpandRegionReq 20 + #undef Region #undef Picture #undef Window diff --git a/xfixeswire.h b/xfixeswire.h index 3cb2730..a1dd4ba 100644 --- a/xfixeswire.h +++ b/xfixeswire.h @@ -27,7 +27,7 @@ #define _XFIXESWIRE_H_ #define XFIXES_NAME "XFIXES" -#define XFIXES_MAJOR 2 +#define XFIXES_MAJOR 3 #define XFIXES_MINOR 0 /*************** Version 1 ******************/ @@ -60,8 +60,10 @@ #define X_XFixesGetCursorImageAndName 25 #define X_XFixesChangeCursor 26 #define X_XFixesChangeCursorByName 27 +/*************** Version 3 ******************/ +#define X_XFixesExpandRegion 28 -#define XFixesNumberRequests (X_XFixesChangeCursorByName+1) +#define XFixesNumberRequests 29 /* Selection events share one event number */ #define XFixesSelectionNotify 0 -- cgit v1.2.3 From 248dc20d2d95d9c9a64cf9c97608c407d09d576d Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Mon, 3 Jan 2005 05:16:32 +0000 Subject: New autogen.sh from Thomas Fitzsimmons that works with srcdir != objdir. --- autogen.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh index b1376df..904cd67 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,3 +1,12 @@ #! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + autoreconf -v --install || exit 1 -./configure --enable-maintainer-mode "$@" +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" -- cgit v1.2.3 From ce5d32236723e984c1e1a3d43d9d252c20092afe Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 24 Feb 2006 02:19:49 +0100 Subject: rename fixesext.pc.in to fixesproto.pc.in as per xorg --- fixesext.pc.in | 9 --------- fixesproto.pc.in | 9 +++++++++ 2 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 fixesext.pc.in create mode 100644 fixesproto.pc.in diff --git a/fixesext.pc.in b/fixesext.pc.in deleted file mode 100644 index a8c038d..0000000 --- a/fixesext.pc.in +++ /dev/null @@ -1,9 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: FixesExt -Description: X Fixes extension headers -Version: @PACKAGE_VERSION@ -Cflags: -I${includedir} @XEXTENSIONS_CFLAGS@ diff --git a/fixesproto.pc.in b/fixesproto.pc.in new file mode 100644 index 0000000..a8c038d --- /dev/null +++ b/fixesproto.pc.in @@ -0,0 +1,9 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: FixesExt +Description: X Fixes extension headers +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} @XEXTENSIONS_CFLAGS@ -- cgit v1.2.3 From 43de9d4e70b66eb6afb8d62ce1af6c100f5d7786 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 24 Feb 2006 02:23:27 +0100 Subject: Import changes from Xorg repository --- ChangeLog | 5 +++++ Makefile.am | 15 +++++++-------- configure.ac | 8 ++++---- fixesproto.pc.in | 4 ++-- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 507d2bc..9f00b52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-12-14 Kevin E. Martin + + * configure.ac: + Update package version number for final X11R7 release candidate. + 2004-07-26 Keith Packard * configure.ac: diff --git a/Makefile.am b/Makefile.am index ca6f211..953e62a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,17 +21,16 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -fixesextincludedir = $(includedir)/X11/extensions -fixesextinclude_HEADERS = \ - xfixesproto.h \ +fixesdir = $(includedir)/X11/extensions +fixes_HEADERS = \ + xfixesproto.h \ xfixeswire.h - -fixesextdocdir = $(datadir)/doc/fixesext -fixesextdoc_DATA = protocol +fixesdocdir = $(datadir)/doc/XFixes +fixesdoc_DATA = protocol pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = fixesext.pc +pkgconfig_DATA = fixesproto.pc -EXTRA_DIST = autogen.sh fixesext.pc.in $(fixesextdoc_DATA) +EXTRA_DIST = autogen.sh fixesproto.pc.in $(fixesdoc_DATA) diff --git a/configure.ac b/configure.ac index 923f97a..0136954 100644 --- a/configure.ac +++ b/configure.ac @@ -24,12 +24,12 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT([fixesext], [3.0.0], [keithp@keithp.com], fixesext) -AM_INIT_AUTOMAKE([dist-bzip2]) +AC_INIT([FixesProto], [3.0.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -PKG_CHECK_MODULES(XEXTENSIONS, xextensions) +XORG_RELEASE_VERSION AC_OUTPUT([Makefile - fixesext.pc]) + fixesproto.pc]) diff --git a/fixesproto.pc.in b/fixesproto.pc.in index a8c038d..454ed8d 100644 --- a/fixesproto.pc.in +++ b/fixesproto.pc.in @@ -3,7 +3,7 @@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -Name: FixesExt +Name: FixesProto Description: X Fixes extension headers Version: @PACKAGE_VERSION@ -Cflags: -I${includedir} @XEXTENSIONS_CFLAGS@ +Cflags: -I${includedir} -- cgit v1.2.3 From a8369fcb8631fa943876753bc38b081f7daca324 Mon Sep 17 00:00:00 2001 From: Deron Date: Fri, 31 Mar 2006 03:33:01 -0800 Subject: Merged with modular CVS (Version 4.0 definitions). --- ChangeLog | 7 +++++++ configure.ac | 2 +- xfixesproto.h | 40 ++++++++++++++++++++++++++++++++++++++++ xfixeswire.h | 27 +++++++++++++++++++++++++-- 4 files changed, 73 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9f00b52..74aa5dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-3-30 Deron Johnson + + * configure.ac + * xfixesproto.h + * xfixeswire.h + Xfixes Version 4.0: XFixesHideCursor, XFixesShowCursor + 2005-12-14 Kevin E. Martin * configure.ac: diff --git a/configure.ac b/configure.ac index 0136954..36999d2 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT([FixesProto], [3.0.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([FixesProto], [4.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE diff --git a/xfixesproto.h b/xfixesproto.h index 1d904b9..571706e 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -1,6 +1,26 @@ /* * $XFree86: xc/include/extensions/xfixesproto.h,v 1.1 2002/11/30 06:21:43 keithp Exp $ * + * Copyright © 2006 Sun Microsystems + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Sun Microsystems not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Sun Microsystems makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -462,6 +482,26 @@ typedef struct { #define sz_xXFixesExpandRegionReq 20 +/*************** Version 4.0 ******************/ + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; +} xXFixesHideCursorReq; + +#define sz_xXFixesHideCursorReq sizeof(xXFixesHideCursorReq) + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Window window B32; +} xXFixesShowCursorReq; + +#define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq) + #undef Region #undef Picture #undef Window diff --git a/xfixeswire.h b/xfixeswire.h index a1dd4ba..6f20270 100644 --- a/xfixeswire.h +++ b/xfixeswire.h @@ -1,6 +1,26 @@ /* * $XFree86: xc/include/extensions/xfixeswire.h,v 1.1 2002/11/30 06:21:43 keithp Exp $ * + * Copyright © 2006 Sun Microsystems + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Sun Microsystems not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Sun Microsystems makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + * * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -27,7 +47,7 @@ #define _XFIXESWIRE_H_ #define XFIXES_NAME "XFIXES" -#define XFIXES_MAJOR 3 +#define XFIXES_MAJOR 4 #define XFIXES_MINOR 0 /*************** Version 1 ******************/ @@ -62,8 +82,11 @@ #define X_XFixesChangeCursorByName 27 /*************** Version 3 ******************/ #define X_XFixesExpandRegion 28 +/*************** Version 4 ******************/ +#define X_XFixesHideCursor 29 +#define X_XFixesShowCursor 30 -#define XFixesNumberRequests 29 +#define XFixesNumberRequests (X_XFixesShowCursor+1) /* Selection events share one event number */ #define XFixesSelectionNotify 0 -- cgit v1.2.3 From 82b7ea2d5e89c4f26e5499015a62ab0a4d201639 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Fri, 14 Jul 2006 18:56:12 -0700 Subject: renamed: .cvsignore -> .gitignore --- .cvsignore | 11 ----------- .gitignore | 11 +++++++++++ 2 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 .cvsignore create mode 100644 .gitignore diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 044aa68..0000000 --- a/.cvsignore +++ /dev/null @@ -1,11 +0,0 @@ -Makefile -Makefile.in -aclocal.m4 -autom4te.cache -config.log -config.status -configure -fixesext.pc -install-sh -missing -mkinstalldirs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..044aa68 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +Makefile +Makefile.in +aclocal.m4 +autom4te.cache +config.log +config.status +configure +fixesext.pc +install-sh +missing +mkinstalldirs -- cgit v1.2.3 From 0afb1fdaa1ddad7c71dcf5318f3f022ccb3ebba2 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 9 Jan 2007 09:43:50 -0800 Subject: Move fixes protocol description to the new canonical location/name. --- Makefile.am | 4 +- fixesproto.txt | 494 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ protocol | 494 --------------------------------------------------------- 3 files changed, 496 insertions(+), 496 deletions(-) create mode 100644 fixesproto.txt delete mode 100644 protocol diff --git a/Makefile.am b/Makefile.am index 953e62a..44a88a9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,8 +26,8 @@ fixes_HEADERS = \ xfixesproto.h \ xfixeswire.h -fixesdocdir = $(datadir)/doc/XFixes -fixesdoc_DATA = protocol +fixesdocdir = $(datadir)/doc/$(PACKAGE) +fixesdoc_DATA = fixesproto.txt pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = fixesproto.pc diff --git a/fixesproto.txt b/fixesproto.txt new file mode 100644 index 0000000..cdea081 --- /dev/null +++ b/fixesproto.txt @@ -0,0 +1,494 @@ + The XFIXES Extension + Version 2.0 + Document Revision 1 + 2003-11-20 + Keith Packard + keithp@keithp.com + +1. Introduction + +X applications have often needed to work around various shortcomings in the +core X window system. This extension is designed to provide the minimal +server-side support necessary to eliminate problems caused by these +workarounds. + +2. Acknowledgements + +This extension is a direct result of requests made by application +developers, in particular, + + + Owen Taylor for describing the issues raised with the XEMBED + mechanisms and SaveSet processing and his initial extension + to handle this issue. + + + Bill Haneman for the design for cursor image tracking. + + + Havoc Pennington + + + Fredrik Höglund for cursor names + +3. Basic Premise + +Requests in this extension may seem to wander all over the map of X server +capabilities, but they are tied by a simple rule -- resolving issues raised +by application interaction with core protocol mechanisms that cannot be +adequately worked around on the client side of the wire. + +4. Extension initialization + +The client must negotiate the version of the extension before executing +extension requests. Behavior of the server is undefined otherwise. + +QueryVersion + + client-major-version: CARD32 + client-minor-version: CARD32 + + -> + + major-version: CARD32 + minor-version: CARD32 + + The client sends the highest supported version to the server and + the server sends the highest version it supports, but no higher than + the requested version. Major versions changes can introduce + incompatibilities in existing functionality, minor version + changes introduce only backward compatible changes. It is + the clients responsibility to ensure that the server supports + a version which is compatible with its expectations. + +************* XFIXES VERSION 1 OR BETTER *********** + +5. Save Set processing changes + +Embedding one application within another provides a way of unifying +disparate documents and views within a single framework. From the X +protocol perspective, this appears similar to nested window managers; the +embedding application "manages" the embedded windows much as a window +manager does for top-level windows. To protect the embedded application +from embedding application failure, it is reasonable to use the core SaveSet +mechanism so that embedding application failure causes embedded windows to +be preserved instead of destroyed. + +The core save set mechanism defines the target for each save set member +window as the nearest enclosing window not owned by the terminating client. +For embedding applications, this nearest window is usually the window +manager frame. The problem here is that the window manager will not +generally expect to receive and correctly manage new windows appearing within +that window by the save set mechanism, and will instead destroy the frame +window in response to the client window destruction. This causes the +embedded window to be destroyed. + +An easy fix for this problem is to change the target of the save set member +to a window which won't be affected by the underlying window destruction. +XFIXES chooses the root window as the target. + +Having embedded windows suddenly appear at the top level can confuse users, +so XFIXES also permits these windows to remain unmapped instead of being +remapped. + +5.1 Requests + +ChangeSaveSet + + window: Window + mode: { Insert, Delete } + target: { Nearest, Root } + map: { Map, Unmap } + + ChangeSaveSet is an extension of the core protocol ChangeSaveSet + request. As in that request, mode specifies whether the indicated + window is inserted or deleted from the save-set. Target specifies + whether the window is reparented to the nearest non-client window as + in the core protocol, or reparented to the root window. Map + specifies whether the window is mapped as in the core protocol or + unmapped. + +6. Selection Tracking + +Applications wishing to monitor the contents of current selections must +poll for selection changes. XFIXES improves this by providing an event +delivered whenever the selection ownership changes. + +6.1 Types + + SELECTIONEVENT { SetSelectionOwner, + SelectionWindowDestroy, + SelectionClientClose } + +6.1 Events + +SelectionNotify + + subtype: SELECTIONEVENT + window: Window + owner: Window + selection: Atom + timestamp: Timestamp + selection-timestamp: Timestamp + +6.2 Requests + +SelectSelectionInput + + window: Window + selection: Atom + event-mask: SETofSELECTIONEVENT + + Selects for events to be delivered to window when various causes of + ownership of selection occur. Subtype indicates the cause of the + selection ownership change. Owner is set to the current selection + owner, or None. Timestamp indicates the time the event was + generated while selection-timestamp indicates the timestamp used to + own the selection. + +7. Cursor Image Monitoring + +Mirroring the screen contents is easily done with the core protocol or VNC +addons, except for the current cursor image. There is no way using the core +protocol to discover which cursor image is currently displayed. The +cursor image often contains significant semantic content about the user +interface. XFIXES provides a simple mechanism to discover when the cursor +image changes and to fetch the current cursor image. + +As the current cursor may or may not have any XID associated with it, there +is no stable name available. Instead, XFIXES returns only the image of the +current cursor and provides a way to identify cursor images to avoid +refetching the image each time it changes to a previously seen cursor. + +7.1 Types + CURSOREVENT { DisplayCursor } + +7.2 Events + +CursorNotify + + subtype: CURSOREVENT + window: Window + cursor-serial: CARD32 + timestamp: Timestamp + name: Atom (Version 2 only) + +7.3 Requests + +SelectCursorInput + + window: Window + event-mask: SETofCURSOREVENT + + This request directs cursor change events to the named window. + Events will be delivered irrespective of the screen on which they + occur. Subtype indicates the cause of the cursor image change + (there is only one subtype at present). Cursor-serial is a number + assigned to the cursor image which identifies the image. Cursors + with different serial numbers may have different images. Timestamp + is the time of the cursor change. + +GetCursorImage + + -> + + x: INT16 + y: INT16 + width: CARD16 + height: CARD16 + x-hot: CARD16 + y-hot: CARD16 + cursor-serial: CARD32 + cursor-image: LISTofCARD32 + + GetCursorImage returns the image of the current cursor. X and y are + the current cursor position. Width and height are the size of the + cursor image. X-hot and y-hot mark the hotspot within the cursor + image. Cursor-serial provides the number assigned to this cursor + image, this same serial number will be reported in a CursorNotify + event if this cursor image is redisplayed in the future. + + The cursor image itself is returned as a single image at 32 bits per + pixel with 8 bits of alpha in the most significant 8 bits of the + pixel followed by 8 bits each of red, green and finally 8 bits of + blue in the least significant 8 bits. The color components are + pre-multiplied with the alpha component. + +************* XFIXES VERSION 2 OR BETTER *********** + +8. Region Objects + +The core protocol doesn't expose regions as a primitive object and this +makes many operations more complicated than they really need to be. Adding +region objects simplifies expose handling, the Shape extension and other +operations. These operations are also designed to support a separate +extension, the X Damage Extension. + +8.1 Types + + Region: XID + WINDOW_REGION_KIND: { Bounding, Clip } + +8.2 Errors + + Region The specified region is invalid + +8.3 Requests + +CreateRegion + + region: REGION + rects: LISTofRECTANGLE + + Creates a region initialized to the specified list of rectangles. + The rectangles may be specified in any order, their union becomes + the region. The core protocol allows applications to specify an + order for the rectangles, but it turns out to be just as hard to + verify the rectangles are actually in that order as it is to simply + ignore the ordering information and union them together. Hence, + this request dispenses with the ordering information. + + Errors: IDChoice + +CreateRegionFromBitmap + + region: REGION + bitmap: PIXMAP + + Creates a region initialized to the set of 'one' pixels in bitmap + (which must be depth 1, else Match error). + + Errors: Pixmap, IDChoice, Match + +CreateRegionFromWindow + + window: Window + kind: WINDOW_REGION_KIND + region: Region + + Creates a region initialized to the specified window region. See the + Shape extension for the definition of Bounding and Clip regions. + + Errors: Window, IDChoice, Value + +CreateRegionFromGC + + gc: GContext + region: Region + + Creates a region initialized from the clip list of the specified + GContext. + + Errors: GContext, IDChoice + +CreateRegionFromPicture + + picture: Picture + region: Region + + + Creates a region initialized from the clip list of the specified + Picture. + + Errors: Picture, IDChoice + +DestroyRegion + + region: Region + + Destroys the specified region. + + Errors: Region + +SetRegion + + region: Region + rects: LISTofRECTANGLE + + This replaces the current contents of region with the region formed + by the union of rects. + +CopyRegion + source: Region + destination: Region + + This replaces the contents of destination with the contents of + source. + +UnionRegion +IntersectRegion +SubtractRegion + + source1: Region + source2: Region + destination: Region + + Combines source1 and source2, placing the result in destination. + Destination may be the same as either source1 or source2. + + Errors: Region, Value + +InvertRegion + + source: Region + bounds: RECTANGLE + destination: Region + + The source region is subtracted from the region specified by + bounds. The result is placed in destination, replacing its contents. + + Errors: Region + +TranslateRegion + + region: Region + dx, dy: INT16 + + The region is translated by dx, dy in place. + + Errors: Region + +RegionExtents + + source: Region + destination: Region + + The extents of the source region are placed in the destination + +FetchRegion + + region: Region + -> + extents: RECTANGLE + rectangles: LISTofRECTANGLE + + The region is returned as a list of rectangles in YX-banded order. + + Errors: Region + +SetGCClipRegion + + gc: GCONTEXT + clip-x-origin, clip-y-origin: INT16 + region: Region or None + + This request changes clip-mask in gc to the specified region and + sets the clp origin. Output will be clippped to remain contained + within the region. The clip origin is interpreted relative to the + origin of whatever destination drawable is specified in a graphics + request. The region is interpreted relative to the clip origin. + Future changes to region have no effect on the gc clip-mask. + + Errors: GContext, Region + +SetWindowShapeRegion + + dest: Window + destKind: SHAPE_KIND + xOff, yOff: INT16 + region: Region or None + + This request sets the specified (by destKind) Shape extension region + of the window to region, offset by xOff and yOff. Future changes to + region have no effect on the window shape. + + Errors: Window, Value, Region + +SetPictureClipRegion + + picture: Picture + clip-x-origin, clip-y-origin: INT16 + region: Region or None + + This request changes clip-mask in picture to the specified region + and sets the clip origin. Input and output will be clipped to + remain contained within the region. The clip origin is interpreted + relative to the origin of the drawable associated with picture. The + region is interpreted relative to the clip origin. Future changes + to region have no effect on the picture clip-mask. + + Errors: Picture, Region + +9. Cursor Names + +Attaching names to cursors permits some abstract semantic content to be +associated with specific cursor images. Reflecting those names back to +applications allows that semantic content to be related to the user through +non-visual means. + +9.1 Events + +CursorNotify + + subtype: CURSOREVENT + window: Window + cursor-serial: CARD32 + timestamp: Timestamp + name: Atom or None + + In Version 2 of the XFIXES protocol, this event adds the atom + of any name associated with the current cursor (else None). + +9.2 Requests + +SetCursorName + + cursor: CURSOR + name: LISTofCARD8 + + This request interns name as an atom and sets that atom as the name + of cursor. + + Errors: Cursor + +GetCursorName + + cursor: CURSOR + -> + atom: ATOM or None + name: LISTofCARD8 + + This request returns the name and atom of cursor. If no name is + set, atom is None and name is empty. + + Errors: Cursor + +GetCursorImageAndName + + -> + + x: INT16 + y: INT16 + width: CARD16 + height: CARD16 + x-hot: CARD16 + y-hot: CARD16 + cursor-serial: CARD32 + cursor-atom: ATOM + cursor-name: LISTofCARD8 + cursor-image: LISTofCARD32 + + This is similar to GetCursorImage except for including both + the atom and name of the current cursor. + +ChangeCursor + + source, destination: CURSOR + + This request replaces all references to the destination with a + reference to source. Any existing uses of the destination cursor + object will now show the source cursor image. + +ChangeCursorByName + + src: CURSOR + name: LISTofCARD8 + + This request replaces the contents of all cursors with the specified + name with the src cursor. + +99. Future compatibility + +This extension is not expected to remain fixed. Future changes will +strive to remain compatible if at all possible. The X server will always +support version 1 of the extension protocol if requested by a client. + +Additions to the protocol will always by marked by minor version number +changes so that applications will be able to detect what requests are +supported. diff --git a/protocol b/protocol deleted file mode 100644 index cdea081..0000000 --- a/protocol +++ /dev/null @@ -1,494 +0,0 @@ - The XFIXES Extension - Version 2.0 - Document Revision 1 - 2003-11-20 - Keith Packard - keithp@keithp.com - -1. Introduction - -X applications have often needed to work around various shortcomings in the -core X window system. This extension is designed to provide the minimal -server-side support necessary to eliminate problems caused by these -workarounds. - -2. Acknowledgements - -This extension is a direct result of requests made by application -developers, in particular, - - + Owen Taylor for describing the issues raised with the XEMBED - mechanisms and SaveSet processing and his initial extension - to handle this issue. - - + Bill Haneman for the design for cursor image tracking. - - + Havoc Pennington - - + Fredrik Höglund for cursor names - -3. Basic Premise - -Requests in this extension may seem to wander all over the map of X server -capabilities, but they are tied by a simple rule -- resolving issues raised -by application interaction with core protocol mechanisms that cannot be -adequately worked around on the client side of the wire. - -4. Extension initialization - -The client must negotiate the version of the extension before executing -extension requests. Behavior of the server is undefined otherwise. - -QueryVersion - - client-major-version: CARD32 - client-minor-version: CARD32 - - -> - - major-version: CARD32 - minor-version: CARD32 - - The client sends the highest supported version to the server and - the server sends the highest version it supports, but no higher than - the requested version. Major versions changes can introduce - incompatibilities in existing functionality, minor version - changes introduce only backward compatible changes. It is - the clients responsibility to ensure that the server supports - a version which is compatible with its expectations. - -************* XFIXES VERSION 1 OR BETTER *********** - -5. Save Set processing changes - -Embedding one application within another provides a way of unifying -disparate documents and views within a single framework. From the X -protocol perspective, this appears similar to nested window managers; the -embedding application "manages" the embedded windows much as a window -manager does for top-level windows. To protect the embedded application -from embedding application failure, it is reasonable to use the core SaveSet -mechanism so that embedding application failure causes embedded windows to -be preserved instead of destroyed. - -The core save set mechanism defines the target for each save set member -window as the nearest enclosing window not owned by the terminating client. -For embedding applications, this nearest window is usually the window -manager frame. The problem here is that the window manager will not -generally expect to receive and correctly manage new windows appearing within -that window by the save set mechanism, and will instead destroy the frame -window in response to the client window destruction. This causes the -embedded window to be destroyed. - -An easy fix for this problem is to change the target of the save set member -to a window which won't be affected by the underlying window destruction. -XFIXES chooses the root window as the target. - -Having embedded windows suddenly appear at the top level can confuse users, -so XFIXES also permits these windows to remain unmapped instead of being -remapped. - -5.1 Requests - -ChangeSaveSet - - window: Window - mode: { Insert, Delete } - target: { Nearest, Root } - map: { Map, Unmap } - - ChangeSaveSet is an extension of the core protocol ChangeSaveSet - request. As in that request, mode specifies whether the indicated - window is inserted or deleted from the save-set. Target specifies - whether the window is reparented to the nearest non-client window as - in the core protocol, or reparented to the root window. Map - specifies whether the window is mapped as in the core protocol or - unmapped. - -6. Selection Tracking - -Applications wishing to monitor the contents of current selections must -poll for selection changes. XFIXES improves this by providing an event -delivered whenever the selection ownership changes. - -6.1 Types - - SELECTIONEVENT { SetSelectionOwner, - SelectionWindowDestroy, - SelectionClientClose } - -6.1 Events - -SelectionNotify - - subtype: SELECTIONEVENT - window: Window - owner: Window - selection: Atom - timestamp: Timestamp - selection-timestamp: Timestamp - -6.2 Requests - -SelectSelectionInput - - window: Window - selection: Atom - event-mask: SETofSELECTIONEVENT - - Selects for events to be delivered to window when various causes of - ownership of selection occur. Subtype indicates the cause of the - selection ownership change. Owner is set to the current selection - owner, or None. Timestamp indicates the time the event was - generated while selection-timestamp indicates the timestamp used to - own the selection. - -7. Cursor Image Monitoring - -Mirroring the screen contents is easily done with the core protocol or VNC -addons, except for the current cursor image. There is no way using the core -protocol to discover which cursor image is currently displayed. The -cursor image often contains significant semantic content about the user -interface. XFIXES provides a simple mechanism to discover when the cursor -image changes and to fetch the current cursor image. - -As the current cursor may or may not have any XID associated with it, there -is no stable name available. Instead, XFIXES returns only the image of the -current cursor and provides a way to identify cursor images to avoid -refetching the image each time it changes to a previously seen cursor. - -7.1 Types - CURSOREVENT { DisplayCursor } - -7.2 Events - -CursorNotify - - subtype: CURSOREVENT - window: Window - cursor-serial: CARD32 - timestamp: Timestamp - name: Atom (Version 2 only) - -7.3 Requests - -SelectCursorInput - - window: Window - event-mask: SETofCURSOREVENT - - This request directs cursor change events to the named window. - Events will be delivered irrespective of the screen on which they - occur. Subtype indicates the cause of the cursor image change - (there is only one subtype at present). Cursor-serial is a number - assigned to the cursor image which identifies the image. Cursors - with different serial numbers may have different images. Timestamp - is the time of the cursor change. - -GetCursorImage - - -> - - x: INT16 - y: INT16 - width: CARD16 - height: CARD16 - x-hot: CARD16 - y-hot: CARD16 - cursor-serial: CARD32 - cursor-image: LISTofCARD32 - - GetCursorImage returns the image of the current cursor. X and y are - the current cursor position. Width and height are the size of the - cursor image. X-hot and y-hot mark the hotspot within the cursor - image. Cursor-serial provides the number assigned to this cursor - image, this same serial number will be reported in a CursorNotify - event if this cursor image is redisplayed in the future. - - The cursor image itself is returned as a single image at 32 bits per - pixel with 8 bits of alpha in the most significant 8 bits of the - pixel followed by 8 bits each of red, green and finally 8 bits of - blue in the least significant 8 bits. The color components are - pre-multiplied with the alpha component. - -************* XFIXES VERSION 2 OR BETTER *********** - -8. Region Objects - -The core protocol doesn't expose regions as a primitive object and this -makes many operations more complicated than they really need to be. Adding -region objects simplifies expose handling, the Shape extension and other -operations. These operations are also designed to support a separate -extension, the X Damage Extension. - -8.1 Types - - Region: XID - WINDOW_REGION_KIND: { Bounding, Clip } - -8.2 Errors - - Region The specified region is invalid - -8.3 Requests - -CreateRegion - - region: REGION - rects: LISTofRECTANGLE - - Creates a region initialized to the specified list of rectangles. - The rectangles may be specified in any order, their union becomes - the region. The core protocol allows applications to specify an - order for the rectangles, but it turns out to be just as hard to - verify the rectangles are actually in that order as it is to simply - ignore the ordering information and union them together. Hence, - this request dispenses with the ordering information. - - Errors: IDChoice - -CreateRegionFromBitmap - - region: REGION - bitmap: PIXMAP - - Creates a region initialized to the set of 'one' pixels in bitmap - (which must be depth 1, else Match error). - - Errors: Pixmap, IDChoice, Match - -CreateRegionFromWindow - - window: Window - kind: WINDOW_REGION_KIND - region: Region - - Creates a region initialized to the specified window region. See the - Shape extension for the definition of Bounding and Clip regions. - - Errors: Window, IDChoice, Value - -CreateRegionFromGC - - gc: GContext - region: Region - - Creates a region initialized from the clip list of the specified - GContext. - - Errors: GContext, IDChoice - -CreateRegionFromPicture - - picture: Picture - region: Region - - - Creates a region initialized from the clip list of the specified - Picture. - - Errors: Picture, IDChoice - -DestroyRegion - - region: Region - - Destroys the specified region. - - Errors: Region - -SetRegion - - region: Region - rects: LISTofRECTANGLE - - This replaces the current contents of region with the region formed - by the union of rects. - -CopyRegion - source: Region - destination: Region - - This replaces the contents of destination with the contents of - source. - -UnionRegion -IntersectRegion -SubtractRegion - - source1: Region - source2: Region - destination: Region - - Combines source1 and source2, placing the result in destination. - Destination may be the same as either source1 or source2. - - Errors: Region, Value - -InvertRegion - - source: Region - bounds: RECTANGLE - destination: Region - - The source region is subtracted from the region specified by - bounds. The result is placed in destination, replacing its contents. - - Errors: Region - -TranslateRegion - - region: Region - dx, dy: INT16 - - The region is translated by dx, dy in place. - - Errors: Region - -RegionExtents - - source: Region - destination: Region - - The extents of the source region are placed in the destination - -FetchRegion - - region: Region - -> - extents: RECTANGLE - rectangles: LISTofRECTANGLE - - The region is returned as a list of rectangles in YX-banded order. - - Errors: Region - -SetGCClipRegion - - gc: GCONTEXT - clip-x-origin, clip-y-origin: INT16 - region: Region or None - - This request changes clip-mask in gc to the specified region and - sets the clp origin. Output will be clippped to remain contained - within the region. The clip origin is interpreted relative to the - origin of whatever destination drawable is specified in a graphics - request. The region is interpreted relative to the clip origin. - Future changes to region have no effect on the gc clip-mask. - - Errors: GContext, Region - -SetWindowShapeRegion - - dest: Window - destKind: SHAPE_KIND - xOff, yOff: INT16 - region: Region or None - - This request sets the specified (by destKind) Shape extension region - of the window to region, offset by xOff and yOff. Future changes to - region have no effect on the window shape. - - Errors: Window, Value, Region - -SetPictureClipRegion - - picture: Picture - clip-x-origin, clip-y-origin: INT16 - region: Region or None - - This request changes clip-mask in picture to the specified region - and sets the clip origin. Input and output will be clipped to - remain contained within the region. The clip origin is interpreted - relative to the origin of the drawable associated with picture. The - region is interpreted relative to the clip origin. Future changes - to region have no effect on the picture clip-mask. - - Errors: Picture, Region - -9. Cursor Names - -Attaching names to cursors permits some abstract semantic content to be -associated with specific cursor images. Reflecting those names back to -applications allows that semantic content to be related to the user through -non-visual means. - -9.1 Events - -CursorNotify - - subtype: CURSOREVENT - window: Window - cursor-serial: CARD32 - timestamp: Timestamp - name: Atom or None - - In Version 2 of the XFIXES protocol, this event adds the atom - of any name associated with the current cursor (else None). - -9.2 Requests - -SetCursorName - - cursor: CURSOR - name: LISTofCARD8 - - This request interns name as an atom and sets that atom as the name - of cursor. - - Errors: Cursor - -GetCursorName - - cursor: CURSOR - -> - atom: ATOM or None - name: LISTofCARD8 - - This request returns the name and atom of cursor. If no name is - set, atom is None and name is empty. - - Errors: Cursor - -GetCursorImageAndName - - -> - - x: INT16 - y: INT16 - width: CARD16 - height: CARD16 - x-hot: CARD16 - y-hot: CARD16 - cursor-serial: CARD32 - cursor-atom: ATOM - cursor-name: LISTofCARD8 - cursor-image: LISTofCARD32 - - This is similar to GetCursorImage except for including both - the atom and name of the current cursor. - -ChangeCursor - - source, destination: CURSOR - - This request replaces all references to the destination with a - reference to source. Any existing uses of the destination cursor - object will now show the source cursor image. - -ChangeCursorByName - - src: CURSOR - name: LISTofCARD8 - - This request replaces the contents of all cursors with the specified - name with the src cursor. - -99. Future compatibility - -This extension is not expected to remain fixed. Future changes will -strive to remain compatible if at all possible. The X server will always -support version 1 of the extension protocol if requested by a client. - -Additions to the protocol will always by marked by minor version number -changes so that applications will be able to detect what requests are -supported. -- cgit v1.2.3 From 2e9a7b2004d943eaf1be1778c94790528c573cb1 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Thu, 14 Dec 2006 13:32:20 -0800 Subject: Update XFixes protocol spec to match XFixes 4.0 Add ExpandRegion, HideCursor & ShowCursor requests Correct description of version numbering to match XFixes conventions --- fixesproto.txt | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 74 insertions(+), 4 deletions(-) diff --git a/fixesproto.txt b/fixesproto.txt index cdea081..d610876 100644 --- a/fixesproto.txt +++ b/fixesproto.txt @@ -1,7 +1,7 @@ The XFIXES Extension - Version 2.0 + Version 4.0 Document Revision 1 - 2003-11-20 + 2006-12-14 Keith Packard keithp@keithp.com @@ -27,6 +27,8 @@ developers, in particular, + Fredrik Höglund for cursor names + + Deron Johnson for cursor visibility + 3. Basic Premise Requests in this extension may seem to wander all over the map of X server @@ -52,8 +54,8 @@ QueryVersion The client sends the highest supported version to the server and the server sends the highest version it supports, but no higher than the requested version. Major versions changes can introduce - incompatibilities in existing functionality, minor version - changes introduce only backward compatible changes. It is + new requests, minor version changes introduce only adjustments to + existing requests or backward compatible changes. It is the clients responsibility to ensure that the server supports a version which is compatible with its expectations. @@ -482,6 +484,74 @@ ChangeCursorByName This request replaces the contents of all cursors with the specified name with the src cursor. + +************* XFIXES VERSION 3 OR BETTER *********** + +10. Region Expansion + +This update provides another operation on the region objects defined in +Section 8 of this document. + +10.1 Requests + +ExpandRegion + source: REGION + destination: REGION + left, right, top, bottom: CARD16 + + Creates destination region containing the area specified by + expanding each rectangle in the source region by the specified + number of pixels to the left, right, top and bottom. + +************* XFIXES VERSION 4 OR BETTER *********** + +11. Cursor Visibility + +Composite managers may want to render the cursor themselves instead of +relying on the X server sprite drawing, this provides a way for them to +do so without getting a double cursor image. + +11.1 Requests + +HideCursor + + window: WINDOW + + A client sends this request to indicate that it wants the + cursor image to be hidden (i.e. to not be displayed) when + the sprite is inside the specified window, or one of its + subwindows. If the sprite is inside a window for which one + or more active clients have requested cursor hiding then the + cursor image will not be displayed. + + Note that even though cursor hiding causes the cursor image + to be invisible, CursorNotify events will still be sent + normally, as if the cursor image were visible. + + If, during a grab, one or more active clients have requested + cursor hiding for grab window, or one of its ancestors, the + cursor image of the grab cursor will not be displayed during + the lifetime of that grab. + + When a client with outstanding cursor hiding requests + terminates its connection these requests will be deleted. + +ShowCursor + + window: WINDOW + + A client sends this request to indicate that it wants the + cursor image to be displayed when the sprite is inside the + specified window, or one of its subwindows. If the sprite + is inside a window for which no active clients have requested + cursor hiding then the cursor image for that window will be + displayed. In other words, if a client calls HideCursor for + a specified window, or window subtree, this request reverses + the effects of the HideCursor request. + + If the client has made no outstanding HideCursor requests + a BadMatch error is generated. + 99. Future compatibility -- cgit v1.2.3 From 6415267d65f3f31d66abf70d029ff32783931262 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Thu, 14 Dec 2006 13:34:10 -0800 Subject: Typo fixes in XFixes protocol spec --- fixesproto.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fixesproto.txt b/fixesproto.txt index d610876..65f042c 100644 --- a/fixesproto.txt +++ b/fixesproto.txt @@ -371,7 +371,7 @@ SetGCClipRegion region: Region or None This request changes clip-mask in gc to the specified region and - sets the clp origin. Output will be clippped to remain contained + sets the clip origin. Output will be clipped to remain contained within the region. The clip origin is interpreted relative to the origin of whatever destination drawable is specified in a graphics request. The region is interpreted relative to the clip origin. -- cgit v1.2.3 From 196061a586ed13189b68dec80c86c536ffc37ed7 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 22 Sep 2008 12:44:13 -0700 Subject: ChangeSaveSet with map=Unmap means 'unmap', not 'don't remap' The semantics in the spec were conflicting, and the implementation did the 'don't remap' version which was not useful. The server implementation has been fixed, this change clarifies the specification to match that design. --- fixesproto.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fixesproto.txt b/fixesproto.txt index 65f042c..ededc8a 100644 --- a/fixesproto.txt +++ b/fixesproto.txt @@ -86,8 +86,9 @@ to a window which won't be affected by the underlying window destruction. XFIXES chooses the root window as the target. Having embedded windows suddenly appear at the top level can confuse users, -so XFIXES also permits these windows to remain unmapped instead of being -remapped. +so XFIXES also lets the client select whether the window should end up +unmapped after the save set processing instead of unconditionally making +them be mapped. 5.1 Requests -- cgit v1.2.3 From a0aeb48945773d26f9a033a672eaf6f7917d0b83 Mon Sep 17 00:00:00 2001 From: Paulo Cesar Pereira de Andrade Date: Tue, 27 Jan 2009 20:08:44 -0200 Subject: Janitor: Correct make distcheck and dont distribute autogen.sh --- .gitignore | 6 +++++- ChangeLog | 64 ------------------------------------------------------------ Makefile.am | 11 ++++++++++- configure.ac | 4 ++++ 4 files changed, 19 insertions(+), 66 deletions(-) delete mode 100644 ChangeLog diff --git a/.gitignore b/.gitignore index 044aa68..1e4c79e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,11 @@ autom4te.cache config.log config.status configure -fixesext.pc +fixesproto.pc install-sh missing mkinstalldirs +*~ +fixesproto-*.tar.* +ChangeLog +tags diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 74aa5dc..0000000 --- a/ChangeLog +++ /dev/null @@ -1,64 +0,0 @@ -2006-3-30 Deron Johnson - - * configure.ac - * xfixesproto.h - * xfixeswire.h - Xfixes Version 4.0: XFixesHideCursor, XFixesShowCursor - -2005-12-14 Kevin E. Martin - - * configure.ac: - Update package version number for final X11R7 release candidate. - -2004-07-26 Keith Packard - - * configure.ac: - * xfixesproto.h: - * xfixeswire.h: - Add XFixesExpandRegion - -2004-02-03 Jim Gettys - - * AUTHORS: Add contents to AUTHORS file - -2004-01-15 Daniel Stone - * Tag release 2.0.1 for first freedesktop.org clientside lib release. - -2003-11-21 Keith Packard - - * protocol: - * xfixesproto.h: - * xfixeswire.h: - Eliminate offset arguments in combining operators, - create separate CopyRegion and TranslateRegion requests. - -2003-11-02 Keith Packard - - * configure.ac: - * fixesext.pc.in: - * protocol: - * xfixesproto.h: - * xfixeswire.h: - Merge xfixes_2_branch back to head - -2003-10-19 Keith Packard - - * configure.ac: - * fixesext.pc.in: - * protocol: - * xfixesproto.h: - * xfixeswire.h: - Update to version 2.0. - Add dependency on xextensions package - Add region requests and cursor names - - -2003-09-16 Anders Carlsson - - * configure.ac: - * randr-uninstalled.pc.in: - Add uninstalled pc file. - -2003-04-21 Keith Packard - - + Added ChangeLog diff --git a/Makefile.am b/Makefile.am index 44a88a9..3b0ff24 100644 --- a/Makefile.am +++ b/Makefile.am @@ -32,5 +32,14 @@ fixesdoc_DATA = fixesproto.txt pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = fixesproto.pc -EXTRA_DIST = autogen.sh fixesproto.pc.in $(fixesdoc_DATA) +EXTRA_DIST = fixesproto.pc.in $(fixesdoc_DATA) +EXTRA_DIST += ChangeLog +MAINTAINERCLEANFILES = ChangeLog + +.PHONY: ChangeLog + +ChangeLog: + $(CHANGELOG_CMD) + +dist-hook: ChangeLog diff --git a/configure.ac b/configure.ac index 36999d2..4078f49 100644 --- a/configure.ac +++ b/configure.ac @@ -28,7 +28,11 @@ AC_INIT([FixesProto], [4.0], [https://bugs.freedesktop.org/enter_bug.cgi?product AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE +# Require xorg-macros: XORG_CHANGELOG +m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.2) XORG_RELEASE_VERSION +XORG_CHANGELOG AC_OUTPUT([Makefile fixesproto.pc]) -- cgit v1.2.3 From c7c9beab9a41d835008e1070c0ed8470293fe6ba Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Thu, 16 Jul 2009 11:20:09 +0100 Subject: fixesproto: adjust to split xext headers Protocol constants for shape were moved to shapeconst.h. Acked-By: Adam Jackson --- fixesproto.pc.in | 1 + xfixesproto.h | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/fixesproto.pc.in b/fixesproto.pc.in index 454ed8d..fabce86 100644 --- a/fixesproto.pc.in +++ b/fixesproto.pc.in @@ -7,3 +7,4 @@ Name: FixesProto Description: X Fixes extension headers Version: @PACKAGE_VERSION@ Cflags: -I${includedir} +Requires: xextproto >= 7.0.99.1 diff --git a/xfixesproto.h b/xfixesproto.h index 571706e..545e325 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -47,9 +47,7 @@ #include #include -#define _SHAPE_SERVER_ -#include -#undef _SHAPE_SERVER_ +#include #define Window CARD32 #define Drawable CARD32 -- cgit v1.2.3 From 9a3f2e436481face8e79c80bffdfb3e00b48eeab Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 23 Jul 2009 08:44:54 -0400 Subject: fixesproto 4.1 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 4078f49..0d422d4 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT([FixesProto], [4.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([FixesProto], [4.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -- cgit v1.2.3 From beebe5339ee97b36c3d5b2a5c2b2f140d03f2003 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 31 Jul 2009 08:21:14 +1000 Subject: Hide/ShowCursor works on all master pointers in XI2. Servers supporting XI2 will hide all cursors when a client requests HideCursor. This is arguably closest to the original intent of the request - to not display a cursor above the given window. Signed-off-by: Peter Hutterer --- fixesproto.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fixesproto.txt b/fixesproto.txt index ededc8a..1571e1f 100644 --- a/fixesproto.txt +++ b/fixesproto.txt @@ -537,6 +537,11 @@ HideCursor When a client with outstanding cursor hiding requests terminates its connection these requests will be deleted. + Servers supporting the X Input Extension Version 2.0 or higher hide + all visible cursors in response to a HideCursor request. If a master + pointer is created while the cursors are hidden, this master pointer's + cursor will be hidden as well. + ShowCursor window: WINDOW @@ -553,7 +558,9 @@ ShowCursor If the client has made no outstanding HideCursor requests a BadMatch error is generated. - + Servers supporting the X Input Extension Version 2.0 or higher show + all visible cursors in response to a ShowCursor request. + 99. Future compatibility This extension is not expected to remain fixed. Future changes will -- cgit v1.2.3 From 50921252322e05fea4f0f85c8ae8735b6df11860 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 31 Jul 2009 08:53:51 +1000 Subject: Document behaviour of CursorNotifies with XI2 servers. CursorNotifies are only sent for the ClientPointer to avoid confusion in the client. Signed-off-by: Peter Hutterer --- fixesproto.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fixesproto.txt b/fixesproto.txt index 1571e1f..5ef8153 100644 --- a/fixesproto.txt +++ b/fixesproto.txt @@ -1,6 +1,6 @@ The XFIXES Extension Version 4.0 - Document Revision 1 + Document Revision 2 2006-12-14 Keith Packard keithp@keithp.com @@ -187,6 +187,11 @@ SelectCursorInput with different serial numbers may have different images. Timestamp is the time of the cursor change. + Servers supporting the X Input Extension Version 2.0 or higher only + notify the clients of cursor change events for the ClientPointer, not + of any other master pointer (see Section 4.4. in the XI2 protocol + specificiation). + GetCursorImage -> -- cgit v1.2.3 From 39d4e91171de13d4b7079d4609e7930e32948d99 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Mon, 5 Oct 2009 19:21:42 -0700 Subject: Add README with pointers to mailing lists, bugzilla, & git Also correct INSTALL to list the right extension name Signed-off-by: Alan Coopersmith --- INSTALL | 4 ++-- README | 32 ++++++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/INSTALL b/INSTALL index b94098a..3b1329a 100644 --- a/INSTALL +++ b/INSTALL @@ -1,6 +1,6 @@ -Render is built with the traditional configure script: +xfixesproto is built with the traditional configure script: - $ ./configure --prefix=/usr/X11R6 + $ ./configure --prefix=/usr This should generate valid Makefiles, then: diff --git a/README b/README index 9968c6b..1f0a27d 100644 --- a/README +++ b/README @@ -1,10 +1,26 @@ - RandR - X RandR Extension - Version 1.0 - 2002-10-4 - -This package contains header files and documentation for the X RandR +This package contains header files and documentation for the XFIXES extension. Library and server implementations are separate. -Keith Packard -keithp@keithp.com +All questions regarding this software should be directed at the +Xorg mailing list: + + http://lists.freedesktop.org/mailman/listinfo/xorg + +Please submit bug reports to the Xorg bugzilla: + + https://bugs.freedesktop.org/enter_bug.cgi?product=xorg + +The master development code repository can be found at: + + git://anongit.freedesktop.org/git/xorg/proto/fixesproto + + http://cgit.freedesktop.org/xorg/proto/fixesproto + +For patch submission instructions, see: + + http://www.x.org/wiki/Development/Documentation/SubmittingPatches + +For more information on the git code manager, see: + + http://wiki.x.org/wiki/GitPage + -- cgit v1.2.3 From 9fe9e1abb2ff3c839a6049fea39adf6d753c09c3 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 6 Oct 2009 12:13:11 +1000 Subject: Require macros 1.3 for XORG_DEFAULT_OPTIONS Signed-off-by: Peter Hutterer --- configure.ac | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 0d422d4..c91c4a3 100644 --- a/configure.ac +++ b/configure.ac @@ -28,11 +28,10 @@ AC_INIT([FixesProto], [4.1], [https://bugs.freedesktop.org/enter_bug.cgi?product AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -# Require xorg-macros: XORG_CHANGELOG -m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.2) -XORG_RELEASE_VERSION -XORG_CHANGELOG +# Require xorg-macros: XORG_DEFAULT_OPTIONS +m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.3) +XORG_DEFAULT_OPTIONS AC_OUTPUT([Makefile fixesproto.pc]) -- cgit v1.2.3 From d76dd3834a9443ed2237fc26d6eff1cc429606b5 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 6 Oct 2009 12:16:30 +1000 Subject: Remove RCS tags Signed-off-by: Peter Hutterer --- COPYING | 2 -- Makefile.am | 2 -- configure.ac | 2 -- xfixesproto.h | 2 -- xfixeswire.h | 2 -- 5 files changed, 10 deletions(-) diff --git a/COPYING b/COPYING index d2d23d5..a97b6e6 100644 --- a/COPYING +++ b/COPYING @@ -1,5 +1,3 @@ -$Id: COPYING,v 1.1 2003-10-09 01:48:22 keithp Exp $ - Copyright © 2001,2003 Keith Packard Permission to use, copy, modify, distribute, and sell this software and its diff --git a/Makefile.am b/Makefile.am index 3b0ff24..2991f95 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,4 @@ # -# $Id: Makefile.am,v 1.1 2003-10-09 01:48:22 keithp Exp $ -# # Copyright © 2003 Keith Packard, Noah Levitt # # Permission to use, copy, modify, distribute, and sell this software and its diff --git a/configure.ac b/configure.ac index c91c4a3..da5bc3e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,3 @@ -dnl -dnl $Id: configure.ac,v 1.7 2004-07-26 17:17:33 keithp Exp $ dnl dnl Copyright © 2003 Keith Packard, Noah Levitt dnl diff --git a/xfixesproto.h b/xfixesproto.h index 545e325..1e9a983 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -1,6 +1,4 @@ /* - * $XFree86: xc/include/extensions/xfixesproto.h,v 1.1 2002/11/30 06:21:43 keithp Exp $ - * * Copyright © 2006 Sun Microsystems * * Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xfixeswire.h b/xfixeswire.h index 6f20270..72e84a7 100644 --- a/xfixeswire.h +++ b/xfixeswire.h @@ -1,6 +1,4 @@ /* - * $XFree86: xc/include/extensions/xfixeswire.h,v 1.1 2002/11/30 06:21:43 keithp Exp $ - * * Copyright © 2006 Sun Microsystems * * Permission to use, copy, modify, distribute, and sell this software and its -- cgit v1.2.3 From 88cd481b5349fe4962ac609c8711a17d4323e42a Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 6 Oct 2009 12:13:58 +1000 Subject: fixesproto 4.1.1 Signed-off-by: Peter Hutterer --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index da5bc3e..d468ebb 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT([FixesProto], [4.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([FixesProto], [4.1.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -- cgit v1.2.3 From 3907b71be026b126565e3859239032c6f437185d Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sat, 14 Nov 2009 18:26:46 -0500 Subject: .gitignore: use common defaults with custom section # 24239 Using common defaults will reduce errors and maintenance. Only the very small or inexistent custom section need periodic maintenance when the structure of the component changes. Do not edit defaults. --- .gitignore | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 70 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 1e4c79e..edc43df 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,78 @@ -Makefile -Makefile.in +# +# X.Org module default exclusion patterns +# The next section if for module specific patterns +# +# Do not edit the following section +# GNU Build System (Autotools) aclocal.m4 -autom4te.cache +autom4te.cache/ +autoscan.log +ChangeLog +compile +config.guess +config.h +config.h.in config.log +config-ml.in +config.py config.status +config.status.lineno +config.sub configure -fixesproto.pc +configure.scan +depcomp +.deps/ +INSTALL install-sh +.libs/ +libtool +libtool.m4 +ltmain.sh +lt~obsolete.m4 +ltoptions.m4 +ltsugar.m4 +ltversion.m4 +Makefile +Makefile.in +mdate-sh missing mkinstalldirs +*.pc +py-compile +stamp-h? +symlink-tree +texinfo.tex +ylwrap + +# Do not edit the following section +# Edit Compile Debug Document Distribute *~ -fixesproto-*.tar.* -ChangeLog -tags +*.[0-9] +*.[0-9]x +*.bak +*.bin +core +*.dll +*.exe +*-ISO*.bdf +*-JIS*.bdf +*-KOI8*.bdf +*.kld +*.ko +*.ko.cmd +*.lai +*.l[oa] +*.[oa] +*.obj +*.patch +*.so +*.pcf.gz +*.pdb +*.tar.bz2 +*.tar.gz +# +# Add & Override patterns for fixesproto +# +# Edit the following section as needed +# For example, !report.pc overrides *.pc. See 'man gitignore' +# -- cgit v1.2.3 From a76d9bcc9d07aa64cfcb31624702efb444ae5109 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 15 Nov 2009 18:11:36 -0500 Subject: configure.ac: deploy the new XORG_DEFAULT_OPTIONS #24242 This macro aggregate a number of existing macros that sets commmon X.Org components configuration options. It shields the configuration file from future changes. --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index d468ebb..1cdff7e 100644 --- a/configure.ac +++ b/configure.ac @@ -27,7 +27,8 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE # Require xorg-macros: XORG_DEFAULT_OPTIONS -m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +m4_ifndef([XORG_MACROS_VERSION], + [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) XORG_MACROS_VERSION(1.3) XORG_DEFAULT_OPTIONS -- cgit v1.2.3 From 2beee4825c0f1605988808c3bf9cd1347f6e3c02 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 15 Nov 2009 18:31:28 -0500 Subject: Makefile.am: INSTALL file is missing or incorrect #24206 The standard GNU file on building/installing tarball is copied using the XORG_INSTALL macro contained in XORG_DEFAULT_OPTIONS Add INSTALL target --- INSTALL | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- Makefile.am | 7 +- 2 files changed, 293 insertions(+), 7 deletions(-) diff --git a/INSTALL b/INSTALL index 3b1329a..8b82ade 100644 --- a/INSTALL +++ b/INSTALL @@ -1,8 +1,291 @@ -xfixesproto is built with the traditional configure script: +Installation Instructions +************************* - $ ./configure --prefix=/usr +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007, 2008 Free Software Foundation, Inc. -This should generate valid Makefiles, then: + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 6. Often, you can also type `make uninstall' to remove the installed + files again. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *Note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. - $ make - $ make install diff --git a/Makefile.am b/Makefile.am index 2991f95..865b201 100644 --- a/Makefile.am +++ b/Makefile.am @@ -35,9 +35,12 @@ EXTRA_DIST = fixesproto.pc.in $(fixesdoc_DATA) EXTRA_DIST += ChangeLog MAINTAINERCLEANFILES = ChangeLog -.PHONY: ChangeLog +.PHONY: ChangeLog INSTALL + +INSTALL: + $(INSTALL_CMD) ChangeLog: $(CHANGELOG_CMD) -dist-hook: ChangeLog +dist-hook: ChangeLog INSTALL -- cgit v1.2.3 From e7f981e0994f748faada122f8592359e8cb42c85 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 15 Nov 2009 19:45:26 -0500 Subject: Makefile.am: ChangeLog not required: EXTRA_DIST or *CLEANFILES #24432 ChangeLog filename is known to Automake and requires no further coding in the makefile. --- Makefile.am | 3 --- 1 file changed, 3 deletions(-) diff --git a/Makefile.am b/Makefile.am index 865b201..b1ed0a3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -32,9 +32,6 @@ pkgconfig_DATA = fixesproto.pc EXTRA_DIST = fixesproto.pc.in $(fixesdoc_DATA) -EXTRA_DIST += ChangeLog -MAINTAINERCLEANFILES = ChangeLog - .PHONY: ChangeLog INSTALL INSTALL: -- cgit v1.2.3 From 7f1bfe8c784db325ae532f54823ef07767e0a5ad Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 15 Nov 2009 20:28:56 -0500 Subject: NEWS: remove empty file #24206 --- NEWS | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 NEWS diff --git a/NEWS b/NEWS deleted file mode 100644 index e69de29..0000000 -- cgit v1.2.3 From 8c866c15f1898105d7ee09ad3d8ed38213e76338 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Mon, 16 Nov 2009 11:10:10 -0500 Subject: README: file created or updated #24206 Contains a set of URLs to freedesktop.org. --- README | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README b/README index 1f0a27d..99604e4 100644 --- a/README +++ b/README @@ -1,5 +1,10 @@ -This package contains header files and documentation for the XFIXES -extension. Library and server implementations are separate. + X Fixes Extension + +The extension makes changes to many areas of the protocol to resolve +issues raised by application interaction with core protocol mechanisms +that cannot be adequately worked around on the client side of the wire. + +Extension name: XFIXES All questions regarding this software should be directed at the Xorg mailing list: -- cgit v1.2.3 From 36ed341de07d5c4df48116c3fcdbb6b9a432e5fe Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Mon, 16 Nov 2009 16:10:15 -0500 Subject: INSTALL file is missing or incorrect #24206 The file is copied from util-macros. The copy in git is removed. --- INSTALL | 291 ---------------------------------------------------------------- 1 file changed, 291 deletions(-) delete mode 100644 INSTALL diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 8b82ade..0000000 --- a/INSTALL +++ /dev/null @@ -1,291 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008 Free Software Foundation, Inc. - - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 6. Often, you can also type `make uninstall' to remove the installed - files again. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - -Installation Names -================== - - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--prefix=DIR' - Use DIR as the installation prefix. *Note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - -- cgit v1.2.3 From 8b518027c4243101a7da00b3a9419d63ece1c782 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 22 Nov 2009 19:24:48 -0500 Subject: Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES Now that the INSTALL file is generated. Allows running make maintainer-clean. --- Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile.am b/Makefile.am index b1ed0a3..91588f8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -32,6 +32,8 @@ pkgconfig_DATA = fixesproto.pc EXTRA_DIST = fixesproto.pc.in $(fixesdoc_DATA) +MAINTAINERCLEANFILES = ChangeLog INSTALL + .PHONY: ChangeLog INSTALL INSTALL: -- cgit v1.2.3 From ef0cad8cf54d1a672983ffac213cdca99fa9151e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Cardona?= Date: Thu, 17 Dec 2009 08:35:10 +0100 Subject: Use $(docdir) for fixesproto.txt install path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémi Cardona Reviewed-by: Gaetan Nadon Reviewed-by: Alan Coopersmith Reviewed-by: Dan Nicholson --- Makefile.am | 5 ++--- configure.ac | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 91588f8..25f0fff 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,13 +24,12 @@ fixes_HEADERS = \ xfixesproto.h \ xfixeswire.h -fixesdocdir = $(datadir)/doc/$(PACKAGE) -fixesdoc_DATA = fixesproto.txt +dist_doc_DATA = fixesproto.txt pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = fixesproto.pc -EXTRA_DIST = fixesproto.pc.in $(fixesdoc_DATA) +EXTRA_DIST = fixesproto.pc.in MAINTAINERCLEANFILES = ChangeLog INSTALL diff --git a/configure.ac b/configure.ac index 1cdff7e..04a9feb 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ dnl PERFORMANCE OF THIS SOFTWARE. dnl dnl Process this file with autoconf to create configure. -AC_PREREQ([2.57]) +AC_PREREQ([2.60]) AC_INIT([FixesProto], [4.1.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -- cgit v1.2.3 From f7cd767d6f1d1f42da3c4e50ea414fe9716ac240 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Fri, 15 Jan 2010 13:29:22 -0800 Subject: Update Sun license notices to current X.Org standard form Signed-off-by: Alan Coopersmith --- COPYING | 21 +++++++++++++++++++++ xfixesproto.h | 38 ++++++++++++++++++++------------------ xfixeswire.h | 38 ++++++++++++++++++++------------------ 3 files changed, 61 insertions(+), 36 deletions(-) diff --git a/COPYING b/COPYING index a97b6e6..6f42002 100644 --- a/COPYING +++ b/COPYING @@ -1,3 +1,24 @@ +Copyright © 2006 Sun Microsystems, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + Copyright © 2001,2003 Keith Packard Permission to use, copy, modify, distribute, and sell this software and its diff --git a/xfixesproto.h b/xfixesproto.h index 1e9a983..d7d7bed 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -1,25 +1,27 @@ /* - * Copyright © 2006 Sun Microsystems + * Copyright © 2006 Sun Microsystems, Inc. All rights reserved. * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Sun Microsystems not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Sun Microsystems makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: * - * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. * - * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +/* + * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that diff --git a/xfixeswire.h b/xfixeswire.h index 72e84a7..3342753 100644 --- a/xfixeswire.h +++ b/xfixeswire.h @@ -1,25 +1,27 @@ /* - * Copyright © 2006 Sun Microsystems + * Copyright © 2006 Sun Microsystems, Inc. All rights reserved. * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Sun Microsystems not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Sun Microsystems makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: * - * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. * - * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +/* + * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc. * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that -- cgit v1.2.3 From 66c8619be99d10de5969371ff6ccf08088bffdff Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sun, 28 Mar 2010 19:00:30 -0400 Subject: config: remove the pkgconfig pc.in file from EXTRA_DIST Automake always includes it in the tarball. Signed-off-by: Gaetan Nadon --- Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 25f0fff..f1716b0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -29,7 +29,6 @@ dist_doc_DATA = fixesproto.txt pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = fixesproto.pc -EXTRA_DIST = fixesproto.pc.in MAINTAINERCLEANFILES = ChangeLog INSTALL -- cgit v1.2.3 From d3dc092d123139bdb0db40fde42fc9a9f4ee6a9c Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Fri, 29 Oct 2010 20:59:41 -0700 Subject: Sun's copyrights now belong to Oracle Signed-off-by: Alan Coopersmith --- COPYING | 2 +- xfixesproto.h | 2 +- xfixeswire.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/COPYING b/COPYING index 6f42002..cdcb1ad 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright © 2006 Sun Microsystems, Inc. All rights reserved. +Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/xfixesproto.h b/xfixesproto.h index d7d7bed..ed872d1 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -1,5 +1,5 @@ /* - * Copyright © 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), diff --git a/xfixeswire.h b/xfixeswire.h index 3342753..7b43f09 100644 --- a/xfixeswire.h +++ b/xfixeswire.h @@ -1,5 +1,5 @@ /* - * Copyright © 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), -- cgit v1.2.3 From 29324d36b3aa6697268c9b51522afcafc2244361 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Fri, 29 Oct 2010 21:01:26 -0700 Subject: fixesproto 4.1.2 Signed-off-by: Alan Coopersmith --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 04a9feb..6ae6bda 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,8 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.60]) -AC_INIT([FixesProto], [4.1.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([FixesProto], [4.1.2], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -- cgit v1.2.3 From 9760b4bdd1f9fdd6a33b9f876c4a835ed969aa84 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mon, 15 Nov 2010 17:09:31 -0500 Subject: fixesproto v5: Pointer barriers v3: Review fixes: - INT16 not CARD16 for coordinates - BadDevice not BadMatch Reviewed-by: Peter Hutterer Signed-off-by: Adam Jackson --- COPYING | 1 + fixesproto.txt | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- xfixesproto.h | 33 +++++++++++++++++++++ xfixeswire.h | 18 ++++++++++-- 4 files changed, 137 insertions(+), 7 deletions(-) diff --git a/COPYING b/COPYING index cdcb1ad..c8114fe 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,5 @@ Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. +Copyright 2010 Red Hat, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), diff --git a/fixesproto.txt b/fixesproto.txt index 5ef8153..5903ac9 100644 --- a/fixesproto.txt +++ b/fixesproto.txt @@ -1,7 +1,7 @@ The XFIXES Extension - Version 4.0 - Document Revision 2 - 2006-12-14 + Version 5.0 + Document Revision 1 + 2010-11-15 Keith Packard keithp@keithp.com @@ -19,7 +19,7 @@ developers, in particular, + Owen Taylor for describing the issues raised with the XEMBED mechanisms and SaveSet processing and his initial extension - to handle this issue. + to handle this issue, and for pointer barriers + Bill Haneman for the design for cursor image tracking. @@ -566,6 +566,90 @@ ShowCursor Servers supporting the X Input Extension Version 2.0 or higher show all visible cursors in response to a ShowCursor request. +************* XFIXES VERSION 5 OR BETTER *********** + +12. Pointer Barriers + +Compositing managers and desktop environments may have UI elements in +particular screen locations such that for a single-headed display they +correspond to easy targets according to Fitt's Law, for example, the top +left corner. For a multi-headed environment these corners should still be +semi-impermeable. Pointer barriers allow the application to define +additional constraint on cursor motion so that these areas behave as +expected even in the face of multiple displays. + +Absolute positioning devices like touchscreens do not obey pointer barriers. +There's no advantage to target acquisition to do so, since on a touchscreen +all points are in some sense equally large, whereas for a relative +positioning device the edges and corners are infinitely large. + +WarpPointer and similar requests do not obey pointer barriers, for +essentially the same reason. + +12.1 Types + + BARRIER: XID + + BarrierDirections + + BarrierPositiveX: 1 << 0 + BarrierPositiveY: 1 << 1 + BarrierNegativeX: 1 << 2 + BarrierNegativeY: 1 << 3 + +12.2 Errors + + Barrier + +12.3 Requests + +CreatePointerBarrier + + barrier: BARRIER + drawable: DRAWABLE + x1, y2, x2, y2: INT16 + directions: CARD32 + devices: LISTofDEVICEID + + Creates a pointer barrier along the line specified by the given + coordinates on the screen associated with the given drawable. The + barrier has no spatial extent; it is simply a line along the left + or top edge of the specified pixels. Barrier coordinates are in + screen space. + + The coordinates must be axis aligned, either x1 == x2, or + y1 == y2, but not both. The varying coordinates may be specified + in any order. For x1 == x2, either y1 > y2 or y1 < y2 is valid. + If the coordinates are not valid BadValue is generated. + + Motion is allowed through the barrier in the directions specified: + setting the BarrierPositiveX bit allows travel through the barrier + in the positive X direction, etc. Nonsensical values (forbidding Y + axis travel through a vertical barrier, for example) and excess set + bits are ignored. + + If the server supports the X Input Extension version 2 or higher, + the devices element names a set of master device to apply the + barrier to. If XIAllDevices or XIAllMasterDevices are given, the + barrier applies to all master devices. If a slave device is named, + BadDevice is generated; this does not apply to slave devices named + implicitly by XIAllDevices. Naming a device multiple times is + legal, and is treated as though it were named only once. If a + device is removed, the barrier continues to apply to the remaining + devices, but will not apply to any future device with the same ID + as the removed device. Nothing special happens when all matching + devices are removed; barriers must be explicitly destroyed. + + Errors: IDChoice, Window, Value, Device + +DestroyPointerBarrier + + barrier: BARRIER + + Destroys the named barrier. + + Errors: Barrier + 99. Future compatibility This extension is not expected to remain fixed. Future changes will diff --git a/xfixesproto.h b/xfixesproto.h index ed872d1..fcf409a 100644 --- a/xfixesproto.h +++ b/xfixesproto.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright 2010 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -500,6 +501,38 @@ typedef struct { #define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq) +/*************** Version 5.0 ******************/ + +#define Barrier CARD32 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Barrier barrier B32; + Window window B32; + INT16 x1 B16; + INT16 y1 B16; + INT16 x2 B16; + INT16 y2 B16; + CARD32 directions; + CARD16 pad B16; + CARD16 num_devices B16; + /* array of CARD16 devices */ +} xXFixesCreatePointerBarrierReq; + +#define sz_xXFixesCreatePointerBarrierReq 28 + +typedef struct { + CARD8 reqType; + CARD8 xfixesReqType; + CARD16 length B16; + Barrier barrier B32; +} xXFixesDestroyPointerBarrierReq; + +#define sz_xXFixesDestroyPointerBarrierReq 8 + +#undef Barrier #undef Region #undef Picture #undef Window diff --git a/xfixeswire.h b/xfixeswire.h index 7b43f09..432349a 100644 --- a/xfixeswire.h +++ b/xfixeswire.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright 2010 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -47,7 +48,7 @@ #define _XFIXESWIRE_H_ #define XFIXES_NAME "XFIXES" -#define XFIXES_MAJOR 4 +#define XFIXES_MAJOR 5 #define XFIXES_MINOR 0 /*************** Version 1 ******************/ @@ -85,8 +86,11 @@ /*************** Version 4 ******************/ #define X_XFixesHideCursor 29 #define X_XFixesShowCursor 30 +/*************** Version 5 ******************/ +#define X_XFixesCreatePointerBarrier 31 +#define X_XFixesDestroyPointerBarrier 32 -#define XFixesNumberRequests (X_XFixesShowCursor+1) +#define XFixesNumberRequests (X_XFixesDestroyPointerBarrier+1) /* Selection events share one event number */ #define XFixesSelectionNotify 0 @@ -111,7 +115,8 @@ /* errors */ #define BadRegion 0 -#define XFixesNumberErrors (BadRegion+1) +#define BadBarrier 1 +#define XFixesNumberErrors (BadBarrier+1) #define SaveSetNearest 0 #define SaveSetRoot 1 @@ -124,4 +129,11 @@ #define WindowRegionBounding 0 #define WindowRegionClip 1 +/*************** Version 5 ******************/ + +#define BarrierPositiveX (1L << 0) +#define BarrierPositiveY (1L << 1) +#define BarrierNegativeX (1L << 2) +#define BarrierNegativeY (1L << 3) + #endif /* _XFIXESWIRE_H_ */ -- cgit v1.2.3 From b8a682cc30499a751091c84efabb3012e02f47c5 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mon, 28 Feb 2011 09:53:30 -0500 Subject: fixesproto 5.0 Signed-off-by: Adam Jackson --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 6ae6bda..f85b802 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.60]) -AC_INIT([FixesProto], [4.1.2], +AC_INIT([FixesProto], [5.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -- cgit v1.2.3 From 41726a4ab62ec8e1aaa41f2416cd4b9d1dfe4f7a Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 15 Jan 2013 14:01:10 -0500 Subject: configure: Remove AM_MAINTAINER_MODE Signed-off-by: Adam Jackson --- configure.ac | 1 - 1 file changed, 1 deletion(-) diff --git a/configure.ac b/configure.ac index f85b802..9b4110f 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,6 @@ AC_PREREQ([2.60]) AC_INIT([FixesProto], [5.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) -AM_MAINTAINER_MODE # Require xorg-macros: XORG_DEFAULT_OPTIONS m4_ifndef([XORG_MACROS_VERSION], -- cgit v1.2.3 From 2af3797fa96f633e33baeba69ea9adf21168b2cf Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 4 Jan 2012 17:37:06 -0500 Subject: autogen.sh: Implement GNOME Build API http://people.gnome.org/~walters/docs/build-api.txt Signed-off-by: Adam Jackson --- autogen.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh index 904cd67..fc34bd5 100755 --- a/autogen.sh +++ b/autogen.sh @@ -9,4 +9,6 @@ cd $srcdir autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? -$srcdir/configure --enable-maintainer-mode "$@" +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi -- cgit v1.2.3 From b6c6bc2aa4b83f8763c75c90e6671052272a2af2 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 3 Dec 2012 14:48:20 +1000 Subject: CreatePointerBarrier takes a window, not a drawable Technically this is a change in the protocol, but we've never supported anything but a Window. Signed-off-by: Peter Hutterer --- fixesproto.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fixesproto.txt b/fixesproto.txt index 5903ac9..24c782d 100644 --- a/fixesproto.txt +++ b/fixesproto.txt @@ -606,13 +606,13 @@ essentially the same reason. CreatePointerBarrier barrier: BARRIER - drawable: DRAWABLE + window: Window x1, y2, x2, y2: INT16 directions: CARD32 devices: LISTofDEVICEID Creates a pointer barrier along the line specified by the given - coordinates on the screen associated with the given drawable. The + coordinates on the screen associated with the given window. The barrier has no spatial extent; it is simply a line along the left or top edge of the specified pixels. Barrier coordinates are in screen space. -- cgit v1.2.3 From 67ccebd2cb05a329273546060df70ad1433bbb16 Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Sat, 26 Oct 2013 09:42:05 -0400 Subject: config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES Fix Automake warning: AC_OUTPUT should be used without arguments. www.gnu.org/software/autoconf/manual/autoconf.html#Configuration-Files Signed-off-by: Gaetan Nadon --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 9b4110f..9829a61 100644 --- a/configure.ac +++ b/configure.ac @@ -32,6 +32,7 @@ m4_ifndef([XORG_MACROS_VERSION], XORG_MACROS_VERSION(1.3) XORG_DEFAULT_OPTIONS -AC_OUTPUT([Makefile +AC_CONFIG_FILES([Makefile fixesproto.pc]) +AC_OUTPUT -- cgit v1.2.3 From e4ba4e04b8ff7c975a5ada2ffdcc2f34ed294653 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Wed, 8 Apr 2015 11:30:39 -0400 Subject: HideCursor/ShowCursor: Fix the interpretation of the window argument In the implementation of HideCursor/ShowCursor in the xserver code, the window passed in only identifies a screen, not a portion of the window tree, and it's been that way since the beginning. Changing the implementation at this point would likely break existing code, and the main usage of this protocol (magnifiers) only needs the global behavior, so change the protocol to document the actual behavior. Reviewed-by: Keith Packard Reviewed-by: Daniel Stone Signed-off-by: Owen W. Taylor --- fixesproto.txt | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/fixesproto.txt b/fixesproto.txt index 24c782d..a29ca53 100644 --- a/fixesproto.txt +++ b/fixesproto.txt @@ -525,20 +525,14 @@ HideCursor A client sends this request to indicate that it wants the cursor image to be hidden (i.e. to not be displayed) when - the sprite is inside the specified window, or one of its - subwindows. If the sprite is inside a window for which one - or more active clients have requested cursor hiding then the - cursor image will not be displayed. + the sprite is on the same screen as the specified window. + The sprite will be hidden if one or more clients have called + HideCursor and not ShowCursor. Note that even though cursor hiding causes the cursor image to be invisible, CursorNotify events will still be sent normally, as if the cursor image were visible. - If, during a grab, one or more active clients have requested - cursor hiding for grab window, or one of its ancestors, the - cursor image of the grab cursor will not be displayed during - the lifetime of that grab. - When a client with outstanding cursor hiding requests terminates its connection these requests will be deleted. @@ -552,13 +546,9 @@ ShowCursor window: WINDOW A client sends this request to indicate that it wants the - cursor image to be displayed when the sprite is inside the - specified window, or one of its subwindows. If the sprite - is inside a window for which no active clients have requested - cursor hiding then the cursor image for that window will be - displayed. In other words, if a client calls HideCursor for - a specified window, or window subtree, this request reverses - the effects of the HideCursor request. + cursor image to be displayed when the sprite is on the same + screen as the specified window. The sprite will be hidden + if one or more clients have called HideCursor and not ShowCursor. If the client has made no outstanding HideCursor requests a BadMatch error is generated. -- cgit v1.2.3 From d6d910b74a6fc9b64e74e722f03ff512b99af56a Mon Sep 17 00:00:00 2001 From: Peter Harris Date: Tue, 3 Feb 2015 18:32:20 -0500 Subject: cursor-name is after cursor-image in GetCursorImageAndName Signed-off-by: Peter Harris --- fixesproto.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fixesproto.txt b/fixesproto.txt index a29ca53..1161946 100644 --- a/fixesproto.txt +++ b/fixesproto.txt @@ -469,8 +469,8 @@ GetCursorImageAndName y-hot: CARD16 cursor-serial: CARD32 cursor-atom: ATOM - cursor-name: LISTofCARD8 cursor-image: LISTofCARD32 + cursor-name: LISTofCARD8 This is similar to GetCursorImage except for including both the atom and name of the current cursor. -- cgit v1.2.3 From ac3c5f6352edd82cc523286d31b1e9a742b78030 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 24 Jan 2017 10:32:07 +1000 Subject: autogen.sh: use exec instead of waiting for configure to finish Syncs the invocation of configure with the one from the server. Signed-off-by: Peter Hutterer --- autogen.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autogen.sh b/autogen.sh index fc34bd5..fd9c59a 100755 --- a/autogen.sh +++ b/autogen.sh @@ -10,5 +10,5 @@ autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? if test -z "$NOCONFIGURE"; then - $srcdir/configure "$@" + exec $srcdir/configure "$@" fi -- cgit v1.2.3 From 84bf037b142218578d7024eb89fb93991080e56c Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Mon, 9 Mar 2015 12:00:52 +0000 Subject: autogen.sh: use quoted string variables Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent fall-outs, when they contain space. Signed-off-by: Emil Velikov Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer --- autogen.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/autogen.sh b/autogen.sh index fd9c59a..0006de8 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,14 +1,14 @@ #! /bin/sh -srcdir=`dirname $0` +srcdir=`dirname "$0"` test -z "$srcdir" && srcdir=. ORIGDIR=`pwd` -cd $srcdir +cd "$srcdir" autoreconf -v --install || exit 1 -cd $ORIGDIR || exit $? +cd "$ORIGDIR" || exit $? if test -z "$NOCONFIGURE"; then - exec $srcdir/configure "$@" + exec "$srcdir"/configure "$@" fi -- cgit v1.2.3 From 4292ec1c63180c5f4e7c0e606fa68c51913f172b Mon Sep 17 00:00:00 2001 From: Mihail Konev Date: Thu, 26 Jan 2017 13:52:48 +1000 Subject: autogen: add default patch prefix Signed-off-by: Mihail Konev --- autogen.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/autogen.sh b/autogen.sh index 0006de8..e009263 100755 --- a/autogen.sh +++ b/autogen.sh @@ -9,6 +9,9 @@ cd "$srcdir" autoreconf -v --install || exit 1 cd "$ORIGDIR" || exit $? +git config --local --get format.subjectPrefix >/dev/null 2>&1 || + git config --local format.subjectPrefix "PATCH fixesproto" + if test -z "$NOCONFIGURE"; then exec "$srcdir"/configure "$@" fi -- cgit v1.2.3