---
name: "tk_popup"
section: "n"
platform: "linux"
package: "tk"
version: "8.6.16-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/tk_popup/n"
---

# tk\_popup(n)

Post a popup menu

```

```

## NAME

tk\_popup - Post a popup menu

## SYNOPSIS

**tk\_popup** *menu x y* ?*entry*?

```

```

## DESCRIPTION

This procedure posts a menu at a given position on the screen and configures Tk so that the menu and its cascaded children can be traversed with the mouse or the keyboard. *Menu* is the name of a menu widget and *x* and *y* are the root coordinates at which to display the menu. If *entry* is omitted or an empty string, the menu's upper left corner is positioned at the given point. Otherwise *entry* gives the index of an entry in *menu* and the menu will be positioned so that the entry is positioned over the given point.

## EXAMPLE

How to attach a simple popup menu to a widget.

```
# Create a menu
set m [menu .popupMenu]
$m add command -label "Example 1" -command bell
$m add command -label "Example 2" -command bell
# Create something to attach it to
pack [label .l -text "Click me!"]
# Arrange for the menu to pop up when the label is clicked
bind .l <1> {tk_popup .popupMenu %X %Y}
```

## SEE ALSO

[bind(n)](/bind/n.md), [menu(n)](/menu/n.md), [tk\_optionMenu(n)](/tk_optionMenu/n.md)

## KEYWORDS

menu, popup
