[PATCH libAppleWM] man: make manpage macro substitutions
Gaetan Nadon
memsize at videotron.ca
Sun Feb 14 17:37:39 PST 2010
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 <memsize at videotron.ca>
---
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..1f5f970 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__|XQuartz|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
Second edition,
-e 's|__xservername__|Xorg|g' \
should probably be
-e 's|__xservername__|XQuartz|g' \
More information about the xorg-devel
mailing list