Tk\_SetGrid(3) Tk Library Procedures Tk\_SetGrid(3)

```

```

# [NAME](#NAME)

Tk\_SetGrid, Tk\_UnsetGrid - control the grid for interactive resizing

# [SYNOPSIS](#SYNOPSIS)

```
#include <tk.h>

Tk_SetGrid(tkwin, reqWidth, reqHeight, widthInc, heightInc)

Tk_UnsetGrid(tkwin)
```

# [ARGUMENTS](#ARGUMENTS)

Tk\_Window *tkwin* (in)

Token for window.

int *reqWidth* (in)

Width in grid units that corresponds to the pixel dimension *tkwin* has requested via **Tk\_GeometryRequest**.

int *reqHeight* (in)

Height in grid units that corresponds to the pixel dimension *tkwin* has requested via **Tk\_GeometryRequest**.

int *widthInc* (in)

Width of one grid unit, in pixels.

int *heightInc* (in)

Height of one grid unit, in pixels.

```
    
```

# [DESCRIPTION](#DESCRIPTION)

**Tk\_SetGrid** turns on gridded geometry management for *tkwin*'s toplevel window and specifies the geometry of the grid. **Tk\_SetGrid** is typically invoked by a widget when its **setGrid** option is true. It restricts interactive resizing of *tkwin*'s toplevel window so that the space allocated to the toplevel is equal to its requested size plus or minus even multiples of *widthInc* and *heightInc*. Furthermore, the *reqWidth* and *reqHeight* values are passed to the window manager so that it can report the window's size in grid units during interactive resizes. If *tkwin*'s configuration changes (e.g., the size of a grid unit changes) then the widget should invoke **Tk\_SetGrid** again with the new information.

**Tk\_UnsetGrid** cancels gridded geometry management for *tkwin*'s toplevel window.

For each toplevel window there can be at most one internal window with gridding enabled. If **Tk\_SetGrid** or **Tk\_UnsetGrid** is invoked when some other window is already controlling gridding for *tkwin*'s toplevel, the calls for the new window have no effect.

See the **wm** manual entry for additional information on gridded geometry management.

# [KEYWORDS](#KEYWORDS)

grid, window, window manager

4.0 Tk

---

Document: Tk_SetGrid(3) from tk 9.1.0-r0 (Chainguard OS)
Source: https://downloads.sourceforge.net/sourceforge/tcl/tk9.1.0-src.tar.gz
