[PATCH libWindowsWM] man: make manpage macro substitutions

Gaetan Nadon memsize at videotron.ca
Sat Feb 13 08:31:53 PST 2010


The version shown in the man pages is incorrect. The version was
hard-coded rather than having __vendorversion__ substituted.

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/Makefile.am   |   32 ++++++-
 man/WindowsWM.3   |  290 -----------------------------------------------------
 man/WindowsWM.man |  290 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 320 insertions(+), 296 deletions(-)
 delete mode 100644 man/.gitignore
 delete mode 100644 man/WindowsWM.3
 create mode 100644 man/WindowsWM.man

diff --git a/configure.ac b/configure.ac
index fd1a6d7..e48fb48 100644
--- a/configure.ac
+++ b/configure.ac
@@ -36,6 +36,7 @@ AM_CONFIG_HEADER(config.h)
 # Check for progs
 AC_PROG_CC
 AC_PROG_LIBTOOL
+AC_PROG_SED
 
 XORG_DEFAULT_OPTIONS
 
diff --git a/man/.gitignore b/man/.gitignore
deleted file mode 100644
index 56de22d..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
-!WindowsWM.3
diff --git a/man/Makefile.am b/man/Makefile.am
index 4217bfe..46672f0 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -19,6 +19,32 @@
 #  PERFORMANCE OF THIS SOFTWARE.
 #
 
-man3_MANS = \
-         WindowsWM.3
-EXTRA_DIST = $(man3_MANS)
+libman_PRE = WindowsWM.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) < $< > $@
+
diff --git a/man/WindowsWM.3 b/man/WindowsWM.3
deleted file mode 100644
index 2eda612..0000000
--- a/man/WindowsWM.3
+++ /dev/null
@@ -1,290 +0,0 @@
-.\" 
-.\" $XFree86: xc/lib/apple/WindowsWM.man,v 1.2 2003/09/16 00:36:08 torrey Exp $
-.\" 
-.\" Copyright (c) 2002 Apple Computer, Inc. All Rights Reserved.
-.\" Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved.
-.\" Copyright (c) 2008 Yaakov Selkowitz, 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 "WINDOWSWM" "3" "Version 1.0" "XFree86" ""
-.SH "NAME"
-WindowsWM \- Cygwin/X rootless window management extension.
-.SH "SYNTAX"
-\&#include <X11/extensions/windowswm.h>
-.nf    
-.sp
-Bool XWindowsWMQueryExtension \^(\^Display *\fIdpy\fP, 
-        int *\fIevent_base\fP, int *\fIerror_base\fP\^);
-.sp
-Status XWindowsWMQueryVersion \^(\^Display *\fIdpy\fP, int *\fImajorVersion\fP, 
-        int *\fIminorVersion\fP, int *\fIpatchVersion\fP\^);
-.sp
-Bool XWindowsWMDisableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^);
-.sp
-Bool XWindowsWMReenableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^);
-.sp
-Bool XWindowsWMSelectInput \^(\^Display *\fIdpy\fP, unsigned long \fImask\fP\^);
-.sp
-Bool XWindowsWMSetFrontProcess \^(\^Display *\fIdpy\fP\^);
-.sp
-Bool XWindowsWMFrameGetRect \^(\^Display *\fIdpy\fP,
-        unsigned int \fIframe_style\fP,
-        unsigned int \fIframe_style_ex\fP,
-        unsigned int \fIframe_rect\fP,
-        short \fIinner_x\fP, short \fIinner_y\fP,
-        short \fIinner_w\fP, short \fIinner_h\fP,
-        short *\fIret_x\fP, short *\fIret_y\fP,
-        short *\fIret_w\fP, short *\fIret_h\fP\^);
-.sp
-Bool XWindowsWMFrameDraw \^(\^Display *\fIdpy\fP, int \fIscreen\fP,
-        Window \fIwindow\fP,
-        unsigned int \fIframe_style\fP,
-        unsigned int \fIframe_style_ex\fP,
-        short \fIinner_x\fP, short \fIinner_y\fP,
-        short \fIinner_w\fP, short \fIinner_h\fP\^);
-.sp
-Bool XWindowsWMFrameSetTitle \^(\^Display *\fIdpy\fP, int \fIscreen\fP,
-        Window \fIwindow\fP,
-        unsigned int \fItitle_length\fP,
-        const 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 \fIframe_style\fP 1i
-Specifies the style of window frame decoration.
-.IP \fIframe_style_ex\fP 1i
-Specifies the extended style of window frame decoration.
-.IP \fIframe_rect\fP 1i
-Specifies which rectangle to return from 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.
-
-.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;
-    int x;
-    int y;
-    int w;
-    int h;
-} XWindowsWMNotifyEvent;
-.fi 
-.B XWindowsWMNotifyEvent
-is sent to a client who has requested notification of WindowsWM events with
-\fBXWindowsWMSelectInput\fP.
-
-.PP 
-Event types:
-.nf 
-\&#define WindowsWMControllerNotify               0
-\&#define WindowsWMActivationNotify               1
-\&#define WindowsWMNumberEvents                   2
-.fi 
-.PP 
-Event masks:
-.nf 
-\&#define WindowsWMControllerNotifyMask           (1L << 0)
-\&#define WindowsWMActivationNotifyMask           (1L << 1)
-.fi 
-.PP 
-Kinds of ControllerNotify events:
-.nf 
-\&#define WindowsWMMinimizeWindow                 0
-\&#define WindowsWMMaximizeWindow                 1
-\&#define WindowsWMRestoreWindow                  2
-\&#define WindowsWMCloseWindow                    3
-\&#define WindowsWMBringAllToFront                4
-\&#define WindowsWMHideWindow                     5
-\&#define WindowsWMMoveWindow                     6
-\&#define WindowsWMResizeWindow                   7
-\&#define WindowsWMActivateWindow                 8
-.fi 
-.PP 
-Kinds of ActivationNotify events:
-.nf 
-\&#define WindowsWMIsActive                       0
-\&#define WindowsWMIsInactive                     1
-.fi 
-.PP 
-Errors:
-.nf 
-\&#define WindowsWMClientNotLocal                 0
-\&#define WindowsWMOperationNotSupported          1
-\&#define WindowsWMNumberErrors                   2
-.fi 
-.PP 
-.B Window Parameters
-.PP 
-Values for \fIframe_rect\fP argument to \fBXWindowsWMFrameGetRect\fP:
-.nf 
-\&#define WindowsWMFrameRectTitleBar              1
-\&#define WindowsWMFrameRectTracking              2
-\&#define WindowsWMFrameRectGrowBox               3
-.fi 
-.PP 
-Window frame styles:
-.nf 
-\&#define WindowsWMFrameStyleBorder               0x800000
-\&#define WindowsWMFrameStyleCaption              0xc00000
-\&#define WindowsWMFrameStyleChild                0x40000000
-\&#define WindowsWMFrameStyleChildWindow          0x40000000
-\&#define WindowsWMFrameStyleClipChildren         0x2000000
-\&#define WindowsWMFrameStyleClipSiblings         0x4000000
-\&#define WindowsWMFrameStyleDisabled             0x8000000
-\&#define WindowsWMFrameStyleDlgFrame             0x400000
-\&#define WindowsWMFrameStyleGroup                0x20000
-\&#define WindowsWMFrameStyleHScroll              0x100000
-\&#define WindowsWMFrameStyleIconic               0x20000000
-\&#define WindowsWMFrameStyleMaximize             0x1000000
-\&#define WindowsWMFrameStyleMaximizeBox          0x10000
-\&#define WindowsWMFrameStyleMinimize             0x20000000
-\&#define WindowsWMFrameStyleMinimizeBox          0x20000
-\&#define WindowsWMFrameStyleOverlapped           0
-\&#define WindowsWMFrameStyleOverlappedWindow     0xcf0000
-\&#define WindowsWMFrameStylePopup                0x80000000
-\&#define WindowsWMFrameStylePopupWindow          0x80880000
-\&#define WindowsWMFrameStyleSizeBox              0x40000
-\&#define WindowsWMFrameStyleSysMenu              0x80000
-\&#define WindowsWMFrameStyleTabStop              0x10000
-\&#define WindowsWMFrameStyleThickFrame           0x40000
-\&#define WindowsWMFrameStyleTiled                0
-\&#define WindowsWMFrameStyleTiledWindow          0xcf0000
-\&#define WindowsWMFrameStyleVisible              0x10000000
-\&#define WindowsWMFrameStyleVScroll              0x200000
-.fi 
-.PP 
-Window frame extended styles:
-.nf 
-\&#define WindowsWMFrameStyleExAcceptFiles        16
-\&#define WindowsWMFrameStyleExAppWindow          0x40000
-\&#define WindowsWMFrameStyleExClientEdge         512
-\&#define WindowsWMFrameStyleExComposited         0x2000000
-\&#define WindowsWMFrameStyleExContextHelp        0x400
-\&#define WindowsWMFrameStyleExControlParent      0x10000
-\&#define WindowsWMFrameStyleExDlgModalFrame      1
-\&#define WindowsWMFrameStyleExLayered            0x80000
-\&#define WindowsWMFrameStyleExLayoutRtl          0x400000
-\&#define WindowsWMFrameStyleExLeft               0
-\&#define WindowsWMFrameStyleExLeftScrollBar      0x4000
-\&#define WindowsWMFrameStyleExLtrReading         0
-\&#define WindowsWMFrameStyleExMDIChild           64
-\&#define WindowsWMFrameStyleExNoActivate         0x8000000
-\&#define WindowsWMFrameStyleExNoInheritLayout    0x100000
-\&#define WindowsWMFrameStyleExNoParentNotify     4
-\&#define WindowsWMFrameStyleExOverlappedWindow   0x300
-\&#define WindowsWMFrameStyleExPaletteWindow      0x188
-\&#define WindowsWMFrameStyleExRight              0x1000
-\&#define WindowsWMFrameStyleExRightScrollBar     0
-\&#define WindowsWMFrameStyleExRtlReading         0x2000
-\&#define WindowsWMFrameStyleExStaticEdge         0x20000
-\&#define WindowsWMFrameStyleExToolWindow         128
-\&#define WindowsWMFrameStyleExTopMost            8
-\&#define WindowsWMFrameStyleExTransparent        32
-\&#define WindowsWMFrameStyleExWindowEdge         256
-.fi 
-
-.SH "DESCRIPTION"
-.B WindowsWM
-is a simple library designed to interface with the Windows\-WM extension.
-This extension allows X window managers to better interact with
-the Cygwin XWin server when running X11 in a rootless mode.
-.PP 
-A more complete description will be forthcoming eventually.
-
-.SH "FUNCTIONS"
-.B XWindowsWMDisableUpdate
-causes any updates to the windows on the screen to be queued until updates
-are reenabled with \fBXWindowsWMReenableUpdate\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
-\fBXWindowsWMDisableUpdate\fP must be paired with a subsequent call to
-\fBXWindowsWMReenableUpdate\fP. Updating is not reenabled until the last
-unnested call to \fBXWindowsWMReenableUpdate\fP. Disabling updates applies
-to window content; however, it is implementation dependent whether window
-size and position changes are disabled as well.
-.PP 
-.B XWindowsWMSelectInput
-is used to request that a client receive notification of the
-.B WindowsWM
-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 XWindowsWMSetFrontProcess
-directs the X server to make itself the front most application among all
-the other Windows applications. This causes X11 windows to move above
-other applications' windows and for the X server to start receiving
-keyboard and mouse events.
-.PP 
-.B XWindowsWMFrameDraw
-can be used to decorate a top\-level window with the standard Windows window
-frame and widgets. The \fIframe_style\fP controls the overall look of the
-window frame and \fIframe_style_ex\fP specifies the extended window style attributes. The dimensions of the X11 window content are passed as the \fIinner_*\fP rectangle.
-.B XWindowsWMFrameGetRect
-is used to calculate the size of the rectangle from the size of the
-window content, which is being reparented.
-.PP 
-.B XWindowsWMFrameSetTitle
-can be used to set the title of the Windows window decoration.
-.PP 
-.B XWindowsWMFrameGetRect
-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 rectangle (as described above) specifies the window geometry. If WindowsWMFrameRectTitleBar is passed for \fIframe_rect\fP,
-the \fIinner_*\fP parameters are ignored. The WindowsWMFrameRectTracking and
-WindowsWMFrameRectGrowBox 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 
-Other functions include: \fBXWindowsWMQueryExtension\fP, which returns the event
-and error base codes and \fBXWindowsWMQueryVersion\fP, which returns the current
-version of the extension. (This information is cached by the library.)
-
-.SH "RESTRICTIONS"
-.B WindowsWM
-is only intended to be used on Cygwin when running a rootless XWin server.
diff --git a/man/WindowsWM.man b/man/WindowsWM.man
new file mode 100644
index 0000000..bac8154
--- /dev/null
+++ b/man/WindowsWM.man
@@ -0,0 +1,290 @@
+.\" 
+.\" $XFree86: xc/lib/apple/WindowsWM.man,v 1.2 2003/09/16 00:36:08 torrey Exp $
+.\" 
+.\" Copyright (c) 2002 Apple Computer, Inc. All Rights Reserved.
+.\" Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved.
+.\" Copyright (c) 2008 Yaakov Selkowitz, 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 "WINDOWSWM" __libmansuffix__ __vendorversion__
+.SH "NAME"
+WindowsWM \- Cygwin/X rootless window management extension.
+.SH "SYNTAX"
+\&#include <X11/extensions/windowswm.h>
+.nf    
+.sp
+Bool XWindowsWMQueryExtension \^(\^Display *\fIdpy\fP, 
+        int *\fIevent_base\fP, int *\fIerror_base\fP\^);
+.sp
+Status XWindowsWMQueryVersion \^(\^Display *\fIdpy\fP, int *\fImajorVersion\fP, 
+        int *\fIminorVersion\fP, int *\fIpatchVersion\fP\^);
+.sp
+Bool XWindowsWMDisableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^);
+.sp
+Bool XWindowsWMReenableUpdate \^(\^Display *\fIdpy\fP, int \fIscreen\fP\^);
+.sp
+Bool XWindowsWMSelectInput \^(\^Display *\fIdpy\fP, unsigned long \fImask\fP\^);
+.sp
+Bool XWindowsWMSetFrontProcess \^(\^Display *\fIdpy\fP\^);
+.sp
+Bool XWindowsWMFrameGetRect \^(\^Display *\fIdpy\fP,
+        unsigned int \fIframe_style\fP,
+        unsigned int \fIframe_style_ex\fP,
+        unsigned int \fIframe_rect\fP,
+        short \fIinner_x\fP, short \fIinner_y\fP,
+        short \fIinner_w\fP, short \fIinner_h\fP,
+        short *\fIret_x\fP, short *\fIret_y\fP,
+        short *\fIret_w\fP, short *\fIret_h\fP\^);
+.sp
+Bool XWindowsWMFrameDraw \^(\^Display *\fIdpy\fP, int \fIscreen\fP,
+        Window \fIwindow\fP,
+        unsigned int \fIframe_style\fP,
+        unsigned int \fIframe_style_ex\fP,
+        short \fIinner_x\fP, short \fIinner_y\fP,
+        short \fIinner_w\fP, short \fIinner_h\fP\^);
+.sp
+Bool XWindowsWMFrameSetTitle \^(\^Display *\fIdpy\fP, int \fIscreen\fP,
+        Window \fIwindow\fP,
+        unsigned int \fItitle_length\fP,
+        const 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 \fIframe_style\fP 1i
+Specifies the style of window frame decoration.
+.IP \fIframe_style_ex\fP 1i
+Specifies the extended style of window frame decoration.
+.IP \fIframe_rect\fP 1i
+Specifies which rectangle to return from 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.
+
+.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;
+    int x;
+    int y;
+    int w;
+    int h;
+} XWindowsWMNotifyEvent;
+.fi 
+.B XWindowsWMNotifyEvent
+is sent to a client who has requested notification of WindowsWM events with
+\fBXWindowsWMSelectInput\fP.
+
+.PP 
+Event types:
+.nf 
+\&#define WindowsWMControllerNotify               0
+\&#define WindowsWMActivationNotify               1
+\&#define WindowsWMNumberEvents                   2
+.fi 
+.PP 
+Event masks:
+.nf 
+\&#define WindowsWMControllerNotifyMask           (1L << 0)
+\&#define WindowsWMActivationNotifyMask           (1L << 1)
+.fi 
+.PP 
+Kinds of ControllerNotify events:
+.nf 
+\&#define WindowsWMMinimizeWindow                 0
+\&#define WindowsWMMaximizeWindow                 1
+\&#define WindowsWMRestoreWindow                  2
+\&#define WindowsWMCloseWindow                    3
+\&#define WindowsWMBringAllToFront                4
+\&#define WindowsWMHideWindow                     5
+\&#define WindowsWMMoveWindow                     6
+\&#define WindowsWMResizeWindow                   7
+\&#define WindowsWMActivateWindow                 8
+.fi 
+.PP 
+Kinds of ActivationNotify events:
+.nf 
+\&#define WindowsWMIsActive                       0
+\&#define WindowsWMIsInactive                     1
+.fi 
+.PP 
+Errors:
+.nf 
+\&#define WindowsWMClientNotLocal                 0
+\&#define WindowsWMOperationNotSupported          1
+\&#define WindowsWMNumberErrors                   2
+.fi 
+.PP 
+.B Window Parameters
+.PP 
+Values for \fIframe_rect\fP argument to \fBXWindowsWMFrameGetRect\fP:
+.nf 
+\&#define WindowsWMFrameRectTitleBar              1
+\&#define WindowsWMFrameRectTracking              2
+\&#define WindowsWMFrameRectGrowBox               3
+.fi 
+.PP 
+Window frame styles:
+.nf 
+\&#define WindowsWMFrameStyleBorder               0x800000
+\&#define WindowsWMFrameStyleCaption              0xc00000
+\&#define WindowsWMFrameStyleChild                0x40000000
+\&#define WindowsWMFrameStyleChildWindow          0x40000000
+\&#define WindowsWMFrameStyleClipChildren         0x2000000
+\&#define WindowsWMFrameStyleClipSiblings         0x4000000
+\&#define WindowsWMFrameStyleDisabled             0x8000000
+\&#define WindowsWMFrameStyleDlgFrame             0x400000
+\&#define WindowsWMFrameStyleGroup                0x20000
+\&#define WindowsWMFrameStyleHScroll              0x100000
+\&#define WindowsWMFrameStyleIconic               0x20000000
+\&#define WindowsWMFrameStyleMaximize             0x1000000
+\&#define WindowsWMFrameStyleMaximizeBox          0x10000
+\&#define WindowsWMFrameStyleMinimize             0x20000000
+\&#define WindowsWMFrameStyleMinimizeBox          0x20000
+\&#define WindowsWMFrameStyleOverlapped           0
+\&#define WindowsWMFrameStyleOverlappedWindow     0xcf0000
+\&#define WindowsWMFrameStylePopup                0x80000000
+\&#define WindowsWMFrameStylePopupWindow          0x80880000
+\&#define WindowsWMFrameStyleSizeBox              0x40000
+\&#define WindowsWMFrameStyleSysMenu              0x80000
+\&#define WindowsWMFrameStyleTabStop              0x10000
+\&#define WindowsWMFrameStyleThickFrame           0x40000
+\&#define WindowsWMFrameStyleTiled                0
+\&#define WindowsWMFrameStyleTiledWindow          0xcf0000
+\&#define WindowsWMFrameStyleVisible              0x10000000
+\&#define WindowsWMFrameStyleVScroll              0x200000
+.fi 
+.PP 
+Window frame extended styles:
+.nf 
+\&#define WindowsWMFrameStyleExAcceptFiles        16
+\&#define WindowsWMFrameStyleExAppWindow          0x40000
+\&#define WindowsWMFrameStyleExClientEdge         512
+\&#define WindowsWMFrameStyleExComposited         0x2000000
+\&#define WindowsWMFrameStyleExContextHelp        0x400
+\&#define WindowsWMFrameStyleExControlParent      0x10000
+\&#define WindowsWMFrameStyleExDlgModalFrame      1
+\&#define WindowsWMFrameStyleExLayered            0x80000
+\&#define WindowsWMFrameStyleExLayoutRtl          0x400000
+\&#define WindowsWMFrameStyleExLeft               0
+\&#define WindowsWMFrameStyleExLeftScrollBar      0x4000
+\&#define WindowsWMFrameStyleExLtrReading         0
+\&#define WindowsWMFrameStyleExMDIChild           64
+\&#define WindowsWMFrameStyleExNoActivate         0x8000000
+\&#define WindowsWMFrameStyleExNoInheritLayout    0x100000
+\&#define WindowsWMFrameStyleExNoParentNotify     4
+\&#define WindowsWMFrameStyleExOverlappedWindow   0x300
+\&#define WindowsWMFrameStyleExPaletteWindow      0x188
+\&#define WindowsWMFrameStyleExRight              0x1000
+\&#define WindowsWMFrameStyleExRightScrollBar     0
+\&#define WindowsWMFrameStyleExRtlReading         0x2000
+\&#define WindowsWMFrameStyleExStaticEdge         0x20000
+\&#define WindowsWMFrameStyleExToolWindow         128
+\&#define WindowsWMFrameStyleExTopMost            8
+\&#define WindowsWMFrameStyleExTransparent        32
+\&#define WindowsWMFrameStyleExWindowEdge         256
+.fi 
+
+.SH "DESCRIPTION"
+.B WindowsWM
+is a simple library designed to interface with the Windows\-WM extension.
+This extension allows X window managers to better interact with
+the Cygwin XWin server when running X11 in a rootless mode.
+.PP 
+A more complete description will be forthcoming eventually.
+
+.SH "FUNCTIONS"
+.B XWindowsWMDisableUpdate
+causes any updates to the windows on the screen to be queued until updates
+are reenabled with \fBXWindowsWMReenableUpdate\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
+\fBXWindowsWMDisableUpdate\fP must be paired with a subsequent call to
+\fBXWindowsWMReenableUpdate\fP. Updating is not reenabled until the last
+unnested call to \fBXWindowsWMReenableUpdate\fP. Disabling updates applies
+to window content; however, it is implementation dependent whether window
+size and position changes are disabled as well.
+.PP 
+.B XWindowsWMSelectInput
+is used to request that a client receive notification of the
+.B WindowsWM
+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 XWindowsWMSetFrontProcess
+directs the X server to make itself the front most application among all
+the other Windows applications. This causes X11 windows to move above
+other applications' windows and for the X server to start receiving
+keyboard and mouse events.
+.PP 
+.B XWindowsWMFrameDraw
+can be used to decorate a top\-level window with the standard Windows window
+frame and widgets. The \fIframe_style\fP controls the overall look of the
+window frame and \fIframe_style_ex\fP specifies the extended window style attributes. The dimensions of the X11 window content are passed as the \fIinner_*\fP rectangle.
+.B XWindowsWMFrameGetRect
+is used to calculate the size of the rectangle from the size of the
+window content, which is being reparented.
+.PP 
+.B XWindowsWMFrameSetTitle
+can be used to set the title of the Windows window decoration.
+.PP 
+.B XWindowsWMFrameGetRect
+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 rectangle (as described above) specifies the window geometry. If WindowsWMFrameRectTitleBar is passed for \fIframe_rect\fP,
+the \fIinner_*\fP parameters are ignored. The WindowsWMFrameRectTracking and
+WindowsWMFrameRectGrowBox 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 
+Other functions include: \fBXWindowsWMQueryExtension\fP, which returns the event
+and error base codes and \fBXWindowsWMQueryVersion\fP, which returns the current
+version of the extension. (This information is cached by the library.)
+
+.SH "RESTRICTIONS"
+.B WindowsWM
+is only intended to be used on Cygwin when running a rootless XWin server.
-- 
1.6.0.4



More information about the xorg-devel mailing list