---
name: "MoveToplev"
section: "3tk"
platform: "linux"
package: "tk8.3-doc"
version: "8.3.5-14"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/MoveToplev/3tk"
---

# MoveToplev(3tk)

Adjust the position of a top-level window

```

```

## NAME

Tk\_MoveToplevelWindow - Adjust the position of a top-level window

## SYNOPSIS

```
#include <tk.h>

Tk_MoveToplevelWindow(tkwin, x, y)
```

## ARGUMENTS

- Tk\_Window *tkwin* (in)

  Token for top-level window to move.

- int *x* (in)

  New x-coordinate for the top-left pixel of *tkwin*'s border, or the top-left pixel of the decorative border supplied for *tkwin* by the window manager, if there is one.

- int *y* (in)

  New y-coordinate for the top-left pixel of *tkwin*'s border, or the top-left pixel of the decorative border supplied for *tkwin* by the window manager, if there is one.

  ```

  ```

## DESCRIPTION

In general, a window should never set its own position;  this should be done only by the geometry manger that is responsible for the window. For top-level windows the window manager is effectively the geometry manager;  Tk provides interface code between the application and the window manager to convey the application's desires to the geometry manager.  The desired size for a top-level window is conveyed using the usual **Tk\_GeometryRequest** mechanism.  The procedure **Tk\_MoveToplevelWindow** may be used by an application to request a particular position for a top-level window;  this procedure is similar in function to the **wm geometry** Tcl command except that negative offsets cannot be specified.  It is invoked by widgets such as menus that want to appear at a particular place on the screen.

When **Tk\_MoveToplevelWindow** is called it doesn't immediately pass on the new desired location to the window manager;  it defers this action until all other outstanding work has been completed, using the **Tk\_DoWhenIdle** mechanism.

## KEYWORDS

position, top-level window, window manager
