---
name: "XShape"
section: "3"
platform: "linux"
package: "libxext"
version: "1.3.7-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XShape"
---

# XShape(3)

X nonrectangular shape functions

## NAME

XShapeQueryExtension, XShapeQueryVersion, XShapeCombineRegion, XShapeCombineRectangles, XShapeCombineMask, XShapeCombineShape, XShapeOffsetShape, XShapeQueryExtents, XShapeSelectInput, XShapeInputSelected, XShapeGetRectangles - X nonrectangular shape functions

## SYNTAX

```

```

\#include \<X11/extensions/shape.h\>

Bool XShapeQueryExtension (\
 	Display \*dpy,\
 	int \*event\_basep,\
 	int \*error\_basep);

Status XShapeQueryVersion (\
 	Display \*dpy,\
 	int \*major\_versionp,\
 	int \*minor\_versionp);

void XShapeCombineRegion (\
 	Display \*dpy,\
 	Window dest,\
 	int destKind,\
 	int xOff,\
 	int yOff,\
 	struct \_XRegion \*r,\
 	int op);

void XShapeCombineRectangles (\
 	Display \*dpy,\
 	XID dest,\
 	int destKind,\
 	int xOff,\
 	int yOff,\
 	XRectangle \*rects,\
 	int n\_rects,\
 	int op,\
 	int ordering);

void XShapeCombineMask (\
 	Display \*dpy,\
 	XID dest,\
 	int destKind,\
 	int xOff,\
 	int yOff,\
 	Pixmap src,\
 	int op);

void XShapeCombineShape (\
 	Display \*dpy,\
 	XID dest,\
 	int destKind,\
 	int xOff,\
 	int yOff,\
 	Pixmap src,\
 	int srcKind,\
 	int op);

void XShapeOffsetShape (\
 	Display \*dpy,\
 	XID dest,\
 	int destKind,\
 	int xOff,\
 	int yOff);

Status XShapeQueryExtents (\
 	Display \*dpy,\
 	Window window,\
 	int \*bShaped,\
 	int \*xbs,\
 	int \*ybs,\
 	unsigned int \*wbs,\
 	unsigned int \*hbs,\
 	int \*cShaped,\
 	int \*xcs,\
 	int \*ycs,\
 	unsigned int \*wcs,\
 	unsigned int \*hcs);

void XShapeSelectInput (\
 	Display \*dpy,\
 	Window window,\
 	unsigned longmask);

unsigned long XShapeInputSelected (\
 	Display \*dpy,\
 	Window window);

XRectangle \*XShapeGetRectangles (\
 	Display \*dpy,\
 	Window window,\
 	int kind,\
 	int \*count,\
 	int \*ordering);

## STRUCTURES

```
typedef struct {
    int type;	/* of event */
    unsigned long serial;	/* # of last request processed by server */
    Bool send_event;	/* true if this came from a SendEvent request */
    Display *display;	/* Display the event was read from */
    Window window;	/* window of event */
    int kind;	/* ShapeBounding or ShapeClip */
    int x, y;	/* extents of new region */
    unsigned width, height;
    Time time;	/* server timestamp when region changed */
    Bool shaped;	/* true if the region exists */
} XShapeEvent;
```

## DESCRIPTION

The *X11 Nonrectangular Window Shape Extension* adds nonrectangular windows to the X Window System.

## PREDEFINED VALUES

Operations:

```
ShapeSet
ShapeUnion
ShapeIntersect
ShapeSubtract
ShapeInvert
```

Shape Kinds:

```
ShapeBounding
ShapeClip
```

Event defines:

```
ShapeNotifyMask
ShapeNotify
```

## BUGS

This manual page needs a lot more work.

## SEE ALSO

*X11 Nonrectangular Window Shape Extension*
