-e 's|__xservername__|Xorg|g' \ should probably be
-e 's|__xservername__|XQuartz|g' \ ... but I don't think that's even used in the man page On Feb 13, 2010, at 08:31, Gaetan Nadon wrote: > The man page displays to the user the variables to be substituted > such as __vendorversion__. > > The filename in git should be .man. > The process to substitute the variables is the same used by > all other modules. > > Signed-off-by: Gaetan Nadon <[email protected]> > --- > configure.ac | 1 + > man/.gitignore | 3 - > man/AppleWM.3 | 340 ------------------------------------------------------- > man/AppleWM.man | 340 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ > man/Makefile.am | 32 +++++- > 5 files changed, 370 insertions(+), 346 deletions(-) > delete mode 100644 man/.gitignore > delete mode 100644 man/AppleWM.3 > create mode 100644 man/AppleWM.man > > diff --git a/configure.ac b/configure.ac > index 0ea3c35..08f3cd1 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -37,6 +37,7 @@ AM_CONFIG_HEADER(config.h) > # Check for progs > AC_PROG_CC > AC_PROG_LIBTOOL > +AC_PROG_SED > > # Check for dependencies > PKG_CHECK_MODULES(APPLEWM, x11 xext xextproto [applewmproto >= 1.4]) > diff --git a/man/.gitignore b/man/.gitignore > deleted file mode 100644 > index 58d42ad..0000000 > --- a/man/.gitignore > +++ /dev/null > @@ -1,3 +0,0 @@ > -# Add & Override for this directory and it's subdirectories > -# Override default pattern *.[0-9] from toplevel .gitignore > -!AppleWM.3 > diff --git a/man/AppleWM.3 b/man/AppleWM.3 > deleted file mode 100644 > index bb81470..0000000 > --- a/man/AppleWM.3 > +++ /dev/null > @@ -1,340 +0,0 @@ > -.\" > -.\" $XFree86: xc/lib/apple/AppleWM.man,v 1.1 2003/08/12 23:47:10 torrey Exp $ > -.\" > -.\" Copyright (c) 2002 Apple Computer, Inc. All Rights Reserved. > -.\" Copyright (c) 2003 Torrey T. Lyons. 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, sub license, 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 NON-INFRINGEMENT. > -.\" IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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. > -.\" > -.de TQ > -.br > -.ns > -.TP \\$1 > -.. > -.TH APPLEWM __libmansuffix__ __vendorversion__ > - > -.SH NAME > - AppleWM \- Apple rootless window management extension. > -.SH SYNTAX > -\&#include <X11/extensions/applewm.h> > -.nf > -.sp > -Bool XAppleWMQueryExtension \^(\^Display *\fIdpy\fP, > - int *\fIevent_basep\fP, int *\fIerror_basep\fP\^); > -.sp > -Status XAppleWMQueryVersion \^(\^Display *\fIdpy\fP, > - int *\fImajor_versionp\fP, int *\fIminor_versionp\fP\^); > -.sp > -Bool XAppleWMDisableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^); > -.sp > -Bool XAppleWMReenableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^); > -.sp > -Bool XAppleWMSelectInput \^(\^Display *\fIdpy\fP, unsigned long > \fImask\fP\^); > -.sp > -Bool XAppleWMSetWindowMenu \^(\^Display *\fIdpy\fP, int \fInitems\fP, > - const char **\fIitems\fP\^); > -.sp > -Bool XAppleWMSetWindowMenuWithShortcuts \^(\^Display *\fIdpy\fP, > - int \fInitems\fP, const char **\fIitems\fP, > - const char *\fIshortcuts\fP\^); > -.sp > -Bool XAppleWMSetWindowMenuCheck \^(\^Display *\fIdpy\fP, int \fIindex\fP\^); > -.sp > -Bool XAppleWMSetFrontProcess \^(\^Display *\fIdpy\fP\^); > -.sp > -Bool XAppleWMSetWindowLevel \^(\^Display *\fIdpy\fP, Window \fIwindow\fP, > - int \fIlevel\fP\^); > -.sp > -Bool XAppleWMSetCanQuit \^(\^Display *\fIdpy\fP, Bool \fIstate\fP\^); > -.sp > -Bool XAppleWMFrameGetRect \^(\^Display *\fIdpy\fP, > - unsigned int \fIframe_class\fP, > - unsigned int \fIframe_rect\fP, > - short \fIinner_x\fP, short \fIinner_y\fP, > - short \fIinner_w\fP, short \fIinner_h\fP, > - short \fIouter_x\fP, short \fIouter_y\fP, > - short \fIouter_w\fP, short \fIouter_h\fP, > - short *\fIret_x\fP, short *\fIret_y\fP, > - short *\fIret_w\fP, short *\fIret_h\fP\^); > -.sp > -unsigned int XAppleWMFrameHitTest \^(\^Display *\fIdpy\fP, > - unsigned int \fIframe_class\fP, > - short \fIpoint_x\fP, short \fIpoint_y\fP, > - short \fIinner_x\fP, short \fIinner_y\fP, > - short \fIinner_w\fP, short \fIinner_h\fP, > - short \fIouter_x\fP, short \fIouter_y\fP, > - short \fIouter_w\fP, short \fIouter_h\fP\^); > -.sp > -Bool XAppleWMFrameDraw \^(\^Display *\fIdpy\fP, int \fIscreen\fP, > - Window \fIwindow\fP, > - unsigned int \fIframe_class\fP, > - unsigned int \fIframe_attr\fP, > - short \fIinner_x\fP, short \fIinner_y\fP, > - short \fIinner_w\fP, short \fIinner_h\fP, > - short \fIouter_x\fP, short \fIouter_y\fP, > - short \fIouter_w\fP, short \fIouter_h\fP, > - unsigned int \fItitle_length\fP, > - const unsigned char *\fItitle_bytes\fP); > -.fi > -.SH ARGUMENTS > -.IP \fIdpy\fP 1i > -Specifies the connection to the X server. > -.IP \fIscreen\fP 1i > -Specifies which screen. > -.IP \fImask\fP 1i > -Mask of event types the client is interested in. > -.IP \fIwindow\fP 1i > -Specifies which window. > -.IP \fIlevel\fP 1i > -Specifies the window level. > -.IP \fIframe_class\fP 1i > -Specifies the class of window frame decoration. > -.IP \fIframe_rect\fP 1i > -Specifies which rectangle to return from the window frame decoration. > -.IP \fIframe_attr\fP 1i > -A mask specifying the attributes of the window frame decoration. > -.IP \fIinner_x\fP,\fIinner_y\fP,\fIinner_w\fP,\fIinner_h\fP 1i > -Rectangle of the window content inside the window frame decoration. > -.IP \fIouter_x\fP,\fIouter_y\fP,\fIouter_w\fP,\fIouter_h\fP 1i > -Rectangle of the outer border of the window frame decoration. > -.IP \fIpoint_x\fP,\fIpoint_y\fP 1i > -Specifies the coordinates of the mouse up event. > - > -.SH DATATYPES > - > -.PP > -.B Events > -.nf > -typedef struct { > - int type; \/* of event *\/ > - unsigned long serial; \/* # of last request processed by server *\/ > - Bool send_event; \/* true if came from a SendEvent request *\/ > - Display *display; \/* Display the event was read from *\/ > - Window window; \/* window of event *\/ > - Time time; \/* server timestamp when event happened *\/ > - int kind; \/* subtype of event *\/ > - int arg; > -} XAppleWMNotifyEvent; > -.fi > -.B XAppleWMNotifyEvent > -is sent to a client who has requested notification of AppleWM events with > -\fBXAppleWMSelectInput\fP. > - > -.PP > -Event types: > -.nf > -\&#define AppleWMControllerNotify 0 > -\&#define AppleWMActivationNotify 1 > -\&#define AppleWMPasteboardNotify 2 > -.fi > -.PP > -Event masks: > -.nf > -\&#define AppleWMControllerNotifyMask (1L << 0) > -\&#define AppleWMActivationNotifyMask (1L << 1) > -\&#define AppleWMPasteboardNotifyMask (1L << 2) > -.fi > -.PP > -Kinds of ControllerNotify events: > -.nf > -\&#define AppleWMMinimizeWindow 0 > -\&#define AppleWMZoomWindow 1 > -\&#define AppleWMCloseWindow 2 > -\&#define AppleWMBringAllToFront 3 > -\&#define AppleWMHideWindow 4 > -\&#define AppleWMHideAll 5 > -\&#define AppleWMShowAll 6 > -\&#define AppleWMWindowMenuItem 9 > -\&#define AppleWMWindowMenuNotify 10 > -\&#define AppleWMNextWindow 11 > -\&#define AppleWMPreviousWindow 12 > -.fi > -.PP > -Kinds of ActivationNotify events: > -.nf > -\&#define AppleWMIsActive 0 > -\&#define AppleWMIsInactive 1 > -.fi > -.PP > -Kinds of PasteboardNotify events: > -.nf > -\&#define AppleWMCopyToPasteboard 0 > -.sp > -.fi > -.PP > -.B Window Parameters > -.PP > -Window level ids for \fBXAppleWMSetWindowLevel\fP: > -.nf > -\&#define AppleWMWindowLevelNormal 0 > -\&#define AppleWMWindowLevelFloating 1 > -\&#define AppleWMWindowLevelTornOff 2 > -\&#define AppleWMWindowLevelDock 3 > -\&#define AppleWMWindowLevelDesktop 4 > -\&#define AppleWMNumWindowLevels 5 > -.fi > -.PP > -Values for \fIframe_rect\fP argument to \fBXAppleWMFrameGetRect\fP: > -.nf > -\&#define AppleWMFrameRectTitleBar 1 > -\&#define AppleWMFrameRectTracking 2 > -\&#define AppleWMFrameRectGrowBox 3 > -.fi > -.PP > -Window frame classes: > -.nf > -\&#define AppleWMFrameClassDocument 1 << 0 > -\&#define AppleWMFrameClassDialog 1 << 1 > -\&#define AppleWMFrameClassModalDialog 1 << 2 > -\&#define AppleWMFrameClassSystemModalDialog 1 << 3 > -\&#define AppleWMFrameClassUtility 1 << 4 > -\&#define AppleWMFrameClassToolbar 1 << 5 > -\&#define AppleWMFrameClassMenu 1 << 6 > -\&#define AppleWMFrameClassSplash 1 << 7 > -\&#define AppleWMFrameClassBorderless 1 << 8 > -.fi > -.PP > -Window frame attributes: > -.nf > -\&#define AppleWMFrameActive 0x0001 > -\&#define AppleWMFrameUrgent 0x0002 > -\&#define AppleWMFrameTitle 0x0004 > -\&#define AppleWMFramePrelight 0x0008 > -\&#define AppleWMFrameShaded 0x0010 > -\&#define AppleWMFrameCloseBox 0x0100 > -\&#define AppleWMFrameCollapseBox 0x0200 > -\&#define AppleWMFrameZoomBox 0x0400 > -\&#define AppleWMFrameAnyBox 0x0700 > -\&#define AppleWMFrameCloseBoxClicked 0x0800 > -\&#define AppleWMFrameCollapseBoxClicked 0x1000 > -\&#define AppleWMFrameZoomBoxClicked 0x2000 > -\&#define AppleWMFrameAnyBoxClicked 0x3800 > -\&#define AppleWMFrameGrowBox 0x4000 > -.fi > - > -.SH DESCRIPTION > -.B AppleWM > -is a simple library designed to interface with the Apple-WM extension. > -This extension allows X window managers to better interact with > -the Mac OS X Aqua user interface when running X11 in a rootless mode. > -.PP > -A more complete description will be forthcoming eventually. > - > -.SH FUNCTIONS > -.B XAppleWMDisableUpdate > -causes any updates to the windows on the screen to be queued until updates > -are reenabled with \fBXAppleWMReenableUpdate\fP. This is useful to avoid > -intermediate redraws to the screen if a number of changes are going to be > -made at once. Updates should only be disabled temporarily while drawing > -to a window. These calls may be nested and each call to > -\fBXAppleWMDisableUpdate\fP must be paired with a subsequent call to > -\fBXAppleWMReenableUpdate\fP. Updating is not reenabled until the last > -unnested call to \fBXAppleWMReenableUpdate\fP. Disabling updates applies > -to window content; however, it is implementation dependent whether window > -size and position changes are disabled as well. > -.PP > -.B XAppleWMSelectInput > -is used to request that a client receive notification of the > -.B AppleWM > -events listed above. The event mask specifies the event types the client is > -interested in receiving. Passing an event mask of 0 stops notification of > -events. > -.PP > -.B XAppleWMSetWindowMenu > -and > -.B XAppleWMSetWindowMenuWithShortcuts > -set the list of windows displayed in the X server's "Window" menu in the > -Aqua menu bar. Other items may be listed in this menu by the X server, but > -a part of this menu is set aside for use by the Apple-WM extension. This > -is intended to be used to set a list of important top-level X11 windows. > -.PP > -One item of the X server's "Window" menu can have a checkmark beside it to > -indicate it is the active or front most window. > -.B XAppleWMSetWindowMenuCheck > -can be used to set the item number to put a checkmark beside. > -.PP > -.B XAppleWMSetFrontProcess > -directs the X server to make itself the front most application among all > -the other Mac OS X applications. This causes X11 windows to move above > -other applications' windows and for the X server to start receiving > -keyboard and mouse events. > -.PP > -Windows can be placed into different Aqua window levels with > -\fBXAppleWMSetWindowLevel\fP. The stacking of window levels takes precedence > -over the stacking of windows within a level. Thus the bottom window in a > level > -will obscure even the top most window of a lower window level. By default all > -windows are placed in the lowest window level, AppleWMWindowLevelNormal. When > -a window is moved to a new level, it is ordered in front of all of its peers > -at the new level. \fINote, X11 does not have the concept of window levels and > -this function does not change the X11 window order. The result of trying to > -reorder an X11 window above another window of higher level is undefined. > -This should probably be changed.\fP > -.PP > -By default, the X server will ask for confirmation whenever the user requests > -that it quit from the Aqua UI. > -.B XAppleWMSetCanQuit > -can be used to change this behavior. If a \fIstate\fP of TRUE is passed, the > -X server will quit without confirmation when requested. If FALSE is passed, > -the default behavior is used. > -.PP > -.B XAppleWMFrameDraw > -can be used to decorate a top-level window with the standard Aqua window > -frame and widgets. The \fIframe_class\fP controls the overall look of the > -window frame and \fIframe_attr\fP specifies the details of how the various > -UI elements should be drawn. The dimensions of the X11 window content are > -passed as the \fIinner_*\fP rectangle and the dimensions of the Aqua window > -frame are passed as the \fIouter_*\fP rectangle. > -.B XAppleWMFrameGetRect > -is used to calculate the size of the outer rectangle from the size of the > -window content, which is being reparented. > -.PP > -.B XAppleWMFrameGetRect > -returns a rectangle that encloses an element of the window frame decoration. > -The \fIframe_rect\fP argument specifies the element of interest. The > -\fIinner_*\fP and \fIouter_*\fP rectangles (as described above) specify the > -window geometry. If AppleWMFrameRectTitleBar is passed for \fIframe_rect\fP, > -the \fIinner_*\fP parameters are ignored. The returned rectangle has the > -dimensions of the \fIouter_*\fP rectangle except that its height is equal > -to the constant title bar height for the specified \fIframe_class\fP. The > -proper outer rectangle for a given window content size is the union of inner > -rectangle and the title bar rectangle. The AppleWMFrameRectTracking and > -AppleWMFrameRectGrowBox rectangles are primarily intended to be used by the > -window manager to determine the correct placement for child windows to > -receive events. The tracking rectangle is the area of the window containing > -the close, collapse and zoom boxes. Typically when the cursor is over this > -area, the window manager will highlight the close, collapse, and zoom > -buttons to conform to the standard Aqua interface. > -.PP > -If a mouse up or down event is received in the tracking rectangle, > -.B XAppleWMFrameHitTest > -is used to determine which button was clicked. > -.B XAppleWMFrameHitTest > -returns AppleWMFrameCloseBox, AppleWMFrameCollapseBox, or AppleWMFrameZoomBox > -to indicate which button was clicked. If no button was clicked, 0 will be > -returned. > -.PP > -Other functions include: \fBXAppleWMQueryExtension\fP, which returns the > event > -and error base codes and \fBXAppleWMQueryVersion\fP, which returns the > current > -version of the extension. (This information is cached by the library.) > - > -.SH RESTRICTIONS > -.B AppleWM > -is only intended to be used on Mac OS X when running a rootless X server. > diff --git a/man/AppleWM.man b/man/AppleWM.man > new file mode 100644 > index 0000000..bb81470 > --- /dev/null > +++ b/man/AppleWM.man > @@ -0,0 +1,340 @@ > +.\" > +.\" $XFree86: xc/lib/apple/AppleWM.man,v 1.1 2003/08/12 23:47:10 torrey Exp $ > +.\" > +.\" Copyright (c) 2002 Apple Computer, Inc. All Rights Reserved. > +.\" Copyright (c) 2003 Torrey T. Lyons. 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, sub license, 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 NON-INFRINGEMENT. > +.\" IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS 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. > +.\" > +.de TQ > +.br > +.ns > +.TP \\$1 > +.. > +.TH APPLEWM __libmansuffix__ __vendorversion__ > + > +.SH NAME > + AppleWM \- Apple rootless window management extension. > +.SH SYNTAX > +\&#include <X11/extensions/applewm.h> > +.nf > +.sp > +Bool XAppleWMQueryExtension \^(\^Display *\fIdpy\fP, > + int *\fIevent_basep\fP, int *\fIerror_basep\fP\^); > +.sp > +Status XAppleWMQueryVersion \^(\^Display *\fIdpy\fP, > + int *\fImajor_versionp\fP, int *\fIminor_versionp\fP\^); > +.sp > +Bool XAppleWMDisableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^); > +.sp > +Bool XAppleWMReenableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^); > +.sp > +Bool XAppleWMSelectInput \^(\^Display *\fIdpy\fP, unsigned long > \fImask\fP\^); > +.sp > +Bool XAppleWMSetWindowMenu \^(\^Display *\fIdpy\fP, int \fInitems\fP, > + const char **\fIitems\fP\^); > +.sp > +Bool XAppleWMSetWindowMenuWithShortcuts \^(\^Display *\fIdpy\fP, > + int \fInitems\fP, const char **\fIitems\fP, > + const char *\fIshortcuts\fP\^); > +.sp > +Bool XAppleWMSetWindowMenuCheck \^(\^Display *\fIdpy\fP, int \fIindex\fP\^); > +.sp > +Bool XAppleWMSetFrontProcess \^(\^Display *\fIdpy\fP\^); > +.sp > +Bool XAppleWMSetWindowLevel \^(\^Display *\fIdpy\fP, Window \fIwindow\fP, > + int \fIlevel\fP\^); > +.sp > +Bool XAppleWMSetCanQuit \^(\^Display *\fIdpy\fP, Bool \fIstate\fP\^); > +.sp > +Bool XAppleWMFrameGetRect \^(\^Display *\fIdpy\fP, > + unsigned int \fIframe_class\fP, > + unsigned int \fIframe_rect\fP, > + short \fIinner_x\fP, short \fIinner_y\fP, > + short \fIinner_w\fP, short \fIinner_h\fP, > + short \fIouter_x\fP, short \fIouter_y\fP, > + short \fIouter_w\fP, short \fIouter_h\fP, > + short *\fIret_x\fP, short *\fIret_y\fP, > + short *\fIret_w\fP, short *\fIret_h\fP\^); > +.sp > +unsigned int XAppleWMFrameHitTest \^(\^Display *\fIdpy\fP, > + unsigned int \fIframe_class\fP, > + short \fIpoint_x\fP, short \fIpoint_y\fP, > + short \fIinner_x\fP, short \fIinner_y\fP, > + short \fIinner_w\fP, short \fIinner_h\fP, > + short \fIouter_x\fP, short \fIouter_y\fP, > + short \fIouter_w\fP, short \fIouter_h\fP\^); > +.sp > +Bool XAppleWMFrameDraw \^(\^Display *\fIdpy\fP, int \fIscreen\fP, > + Window \fIwindow\fP, > + unsigned int \fIframe_class\fP, > + unsigned int \fIframe_attr\fP, > + short \fIinner_x\fP, short \fIinner_y\fP, > + short \fIinner_w\fP, short \fIinner_h\fP, > + short \fIouter_x\fP, short \fIouter_y\fP, > + short \fIouter_w\fP, short \fIouter_h\fP, > + unsigned int \fItitle_length\fP, > + const unsigned char *\fItitle_bytes\fP); > +.fi > +.SH ARGUMENTS > +.IP \fIdpy\fP 1i > +Specifies the connection to the X server. > +.IP \fIscreen\fP 1i > +Specifies which screen. > +.IP \fImask\fP 1i > +Mask of event types the client is interested in. > +.IP \fIwindow\fP 1i > +Specifies which window. > +.IP \fIlevel\fP 1i > +Specifies the window level. > +.IP \fIframe_class\fP 1i > +Specifies the class of window frame decoration. > +.IP \fIframe_rect\fP 1i > +Specifies which rectangle to return from the window frame decoration. > +.IP \fIframe_attr\fP 1i > +A mask specifying the attributes of the window frame decoration. > +.IP \fIinner_x\fP,\fIinner_y\fP,\fIinner_w\fP,\fIinner_h\fP 1i > +Rectangle of the window content inside the window frame decoration. > +.IP \fIouter_x\fP,\fIouter_y\fP,\fIouter_w\fP,\fIouter_h\fP 1i > +Rectangle of the outer border of the window frame decoration. > +.IP \fIpoint_x\fP,\fIpoint_y\fP 1i > +Specifies the coordinates of the mouse up event. > + > +.SH DATATYPES > + > +.PP > +.B Events > +.nf > +typedef struct { > + int type; \/* of event *\/ > + unsigned long serial; \/* # of last request processed by server *\/ > + Bool send_event; \/* true if came from a SendEvent request *\/ > + Display *display; \/* Display the event was read from *\/ > + Window window; \/* window of event *\/ > + Time time; \/* server timestamp when event happened *\/ > + int kind; \/* subtype of event *\/ > + int arg; > +} XAppleWMNotifyEvent; > +.fi > +.B XAppleWMNotifyEvent > +is sent to a client who has requested notification of AppleWM events with > +\fBXAppleWMSelectInput\fP. > + > +.PP > +Event types: > +.nf > +\&#define AppleWMControllerNotify 0 > +\&#define AppleWMActivationNotify 1 > +\&#define AppleWMPasteboardNotify 2 > +.fi > +.PP > +Event masks: > +.nf > +\&#define AppleWMControllerNotifyMask (1L << 0) > +\&#define AppleWMActivationNotifyMask (1L << 1) > +\&#define AppleWMPasteboardNotifyMask (1L << 2) > +.fi > +.PP > +Kinds of ControllerNotify events: > +.nf > +\&#define AppleWMMinimizeWindow 0 > +\&#define AppleWMZoomWindow 1 > +\&#define AppleWMCloseWindow 2 > +\&#define AppleWMBringAllToFront 3 > +\&#define AppleWMHideWindow 4 > +\&#define AppleWMHideAll 5 > +\&#define AppleWMShowAll 6 > +\&#define AppleWMWindowMenuItem 9 > +\&#define AppleWMWindowMenuNotify 10 > +\&#define AppleWMNextWindow 11 > +\&#define AppleWMPreviousWindow 12 > +.fi > +.PP > +Kinds of ActivationNotify events: > +.nf > +\&#define AppleWMIsActive 0 > +\&#define AppleWMIsInactive 1 > +.fi > +.PP > +Kinds of PasteboardNotify events: > +.nf > +\&#define AppleWMCopyToPasteboard 0 > +.sp > +.fi > +.PP > +.B Window Parameters > +.PP > +Window level ids for \fBXAppleWMSetWindowLevel\fP: > +.nf > +\&#define AppleWMWindowLevelNormal 0 > +\&#define AppleWMWindowLevelFloating 1 > +\&#define AppleWMWindowLevelTornOff 2 > +\&#define AppleWMWindowLevelDock 3 > +\&#define AppleWMWindowLevelDesktop 4 > +\&#define AppleWMNumWindowLevels 5 > +.fi > +.PP > +Values for \fIframe_rect\fP argument to \fBXAppleWMFrameGetRect\fP: > +.nf > +\&#define AppleWMFrameRectTitleBar 1 > +\&#define AppleWMFrameRectTracking 2 > +\&#define AppleWMFrameRectGrowBox 3 > +.fi > +.PP > +Window frame classes: > +.nf > +\&#define AppleWMFrameClassDocument 1 << 0 > +\&#define AppleWMFrameClassDialog 1 << 1 > +\&#define AppleWMFrameClassModalDialog 1 << 2 > +\&#define AppleWMFrameClassSystemModalDialog 1 << 3 > +\&#define AppleWMFrameClassUtility 1 << 4 > +\&#define AppleWMFrameClassToolbar 1 << 5 > +\&#define AppleWMFrameClassMenu 1 << 6 > +\&#define AppleWMFrameClassSplash 1 << 7 > +\&#define AppleWMFrameClassBorderless 1 << 8 > +.fi > +.PP > +Window frame attributes: > +.nf > +\&#define AppleWMFrameActive 0x0001 > +\&#define AppleWMFrameUrgent 0x0002 > +\&#define AppleWMFrameTitle 0x0004 > +\&#define AppleWMFramePrelight 0x0008 > +\&#define AppleWMFrameShaded 0x0010 > +\&#define AppleWMFrameCloseBox 0x0100 > +\&#define AppleWMFrameCollapseBox 0x0200 > +\&#define AppleWMFrameZoomBox 0x0400 > +\&#define AppleWMFrameAnyBox 0x0700 > +\&#define AppleWMFrameCloseBoxClicked 0x0800 > +\&#define AppleWMFrameCollapseBoxClicked 0x1000 > +\&#define AppleWMFrameZoomBoxClicked 0x2000 > +\&#define AppleWMFrameAnyBoxClicked 0x3800 > +\&#define AppleWMFrameGrowBox 0x4000 > +.fi > + > +.SH DESCRIPTION > +.B AppleWM > +is a simple library designed to interface with the Apple-WM extension. > +This extension allows X window managers to better interact with > +the Mac OS X Aqua user interface when running X11 in a rootless mode. > +.PP > +A more complete description will be forthcoming eventually. > + > +.SH FUNCTIONS > +.B XAppleWMDisableUpdate > +causes any updates to the windows on the screen to be queued until updates > +are reenabled with \fBXAppleWMReenableUpdate\fP. This is useful to avoid > +intermediate redraws to the screen if a number of changes are going to be > +made at once. Updates should only be disabled temporarily while drawing > +to a window. These calls may be nested and each call to > +\fBXAppleWMDisableUpdate\fP must be paired with a subsequent call to > +\fBXAppleWMReenableUpdate\fP. Updating is not reenabled until the last > +unnested call to \fBXAppleWMReenableUpdate\fP. Disabling updates applies > +to window content; however, it is implementation dependent whether window > +size and position changes are disabled as well. > +.PP > +.B XAppleWMSelectInput > +is used to request that a client receive notification of the > +.B AppleWM > +events listed above. The event mask specifies the event types the client is > +interested in receiving. Passing an event mask of 0 stops notification of > +events. > +.PP > +.B XAppleWMSetWindowMenu > +and > +.B XAppleWMSetWindowMenuWithShortcuts > +set the list of windows displayed in the X server's "Window" menu in the > +Aqua menu bar. Other items may be listed in this menu by the X server, but > +a part of this menu is set aside for use by the Apple-WM extension. This > +is intended to be used to set a list of important top-level X11 windows. > +.PP > +One item of the X server's "Window" menu can have a checkmark beside it to > +indicate it is the active or front most window. > +.B XAppleWMSetWindowMenuCheck > +can be used to set the item number to put a checkmark beside. > +.PP > +.B XAppleWMSetFrontProcess > +directs the X server to make itself the front most application among all > +the other Mac OS X applications. This causes X11 windows to move above > +other applications' windows and for the X server to start receiving > +keyboard and mouse events. > +.PP > +Windows can be placed into different Aqua window levels with > +\fBXAppleWMSetWindowLevel\fP. The stacking of window levels takes precedence > +over the stacking of windows within a level. Thus the bottom window in a > level > +will obscure even the top most window of a lower window level. By default all > +windows are placed in the lowest window level, AppleWMWindowLevelNormal. When > +a window is moved to a new level, it is ordered in front of all of its peers > +at the new level. \fINote, X11 does not have the concept of window levels and > +this function does not change the X11 window order. The result of trying to > +reorder an X11 window above another window of higher level is undefined. > +This should probably be changed.\fP > +.PP > +By default, the X server will ask for confirmation whenever the user requests > +that it quit from the Aqua UI. > +.B XAppleWMSetCanQuit > +can be used to change this behavior. If a \fIstate\fP of TRUE is passed, the > +X server will quit without confirmation when requested. If FALSE is passed, > +the default behavior is used. > +.PP > +.B XAppleWMFrameDraw > +can be used to decorate a top-level window with the standard Aqua window > +frame and widgets. The \fIframe_class\fP controls the overall look of the > +window frame and \fIframe_attr\fP specifies the details of how the various > +UI elements should be drawn. The dimensions of the X11 window content are > +passed as the \fIinner_*\fP rectangle and the dimensions of the Aqua window > +frame are passed as the \fIouter_*\fP rectangle. > +.B XAppleWMFrameGetRect > +is used to calculate the size of the outer rectangle from the size of the > +window content, which is being reparented. > +.PP > +.B XAppleWMFrameGetRect > +returns a rectangle that encloses an element of the window frame decoration. > +The \fIframe_rect\fP argument specifies the element of interest. The > +\fIinner_*\fP and \fIouter_*\fP rectangles (as described above) specify the > +window geometry. If AppleWMFrameRectTitleBar is passed for \fIframe_rect\fP, > +the \fIinner_*\fP parameters are ignored. The returned rectangle has the > +dimensions of the \fIouter_*\fP rectangle except that its height is equal > +to the constant title bar height for the specified \fIframe_class\fP. The > +proper outer rectangle for a given window content size is the union of inner > +rectangle and the title bar rectangle. The AppleWMFrameRectTracking and > +AppleWMFrameRectGrowBox rectangles are primarily intended to be used by the > +window manager to determine the correct placement for child windows to > +receive events. The tracking rectangle is the area of the window containing > +the close, collapse and zoom boxes. Typically when the cursor is over this > +area, the window manager will highlight the close, collapse, and zoom > +buttons to conform to the standard Aqua interface. > +.PP > +If a mouse up or down event is received in the tracking rectangle, > +.B XAppleWMFrameHitTest > +is used to determine which button was clicked. > +.B XAppleWMFrameHitTest > +returns AppleWMFrameCloseBox, AppleWMFrameCollapseBox, or AppleWMFrameZoomBox > +to indicate which button was clicked. If no button was clicked, 0 will be > +returned. > +.PP > +Other functions include: \fBXAppleWMQueryExtension\fP, which returns the > event > +and error base codes and \fBXAppleWMQueryVersion\fP, which returns the > current > +version of the extension. (This information is cached by the library.) > + > +.SH RESTRICTIONS > +.B AppleWM > +is only intended to be used on Mac OS X when running a rootless X server. > diff --git a/man/Makefile.am b/man/Makefile.am > index a749878..31160c6 100644 > --- a/man/Makefile.am > +++ b/man/Makefile.am > @@ -19,6 +19,32 @@ > # PERFORMANCE OF THIS SOFTWARE. > # > > -man3_MANS = \ > - AppleWM.3 > -EXTRA_DIST = $(man3_MANS) > +libman_PRE = AppleWM.man > +libmandir = $(LIB_MAN_DIR) > +libman_DATA = $(libman_PRE:man=$(LIB_MAN_SUFFIX)) > + > +EXTRA_DIST = $(libman_PRE) > +CLEANFILES = $(libman_DATA) > + > +# Strings to replace in man pages > +XORGRELSTRING = @PACKAGE_STRING@ > + XORGMANNAME = X Version 11 > + > +MAN_SUBSTS = \ > + -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ > + -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \ > + -e 's|__xservername__|Xorg|g' \ > + -e 's|__xconfigfile__|xorg.conf|g' \ > + -e 's|__projectroot__|$(prefix)|g' \ > + -e 's|__apploaddir__|$(appdefaultdir)|' \ > + -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \ > + -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' \ > + -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \ > + -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \ > + -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' > + > +SUFFIXES = .$(LIB_MAN_SUFFIX) .man > + > +.man.$(LIB_MAN_SUFFIX): > + $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ > + > -- > 1.6.0.4 > > _______________________________________________ > xorg-devel mailing list > [email protected] > http://lists.x.org/mailman/listinfo/xorg-devel _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
