# LibTmux::Model::ClientRef.menu-async

- **Module:** LibTmux::Model
- **Package:** LibTmux
- **Language:** Raku
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-raku/blob/0b5dd3d32e20f83a0069874e33eab0eb48f55962/lib/LibTmux/Client.rakumod#L155
- **Inherited from:** LibTmux::Client::ClientTarget
- **Page:** https://libtmux.org/en/raku/latest/reference/libtmux-model-clientref-menu-async/

```
method menu-async(Positional:D $items, PaneId:D :$pane!, Positive:D :$timeout-ms!,
                      Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',
                      Bool:D :$stay-open = False, Bool:D :$mouse = False,
                      Str :$style = Str, Str :$border-style = Str,
                      Str :$selected-style = Str, Str :$border-lines = Str,
                      Count :$starting-choice = Count, *%operation --> Promise:D)
```

Show a menu. Completion follows tmux's command lifecycle, not rendering proof.

Show a menu. Completion follows tmux's command lifecycle, not rendering proof.

## Parameters

- `$items` (`Positional:D`)
- `$pane` (`PaneId:D`)
- `$timeout-ms` (`Positive:D`)
- `$title?` (`Str:D`)
- `$x?` (`Str:D`)
- `$y?` (`Str:D`)
- `$stay-open?` (`Bool:D`)
- `$mouse?` (`Bool:D`)
- `$style?` (`Str`)
- `$border-style?` (`Str`)
- `$selected-style?` (`Str`)
- `$border-lines?` (`Str`)
- `$starting-choice?` (`Count`)
- `%operation`

## tmux command

The tmux commands behind `menu-async`.

- [`display-menu`](/en/tmux/latest/manual/display-menu/)

## tmux C API

The C declarations in tmux that implement these commands.

- [`cmd_display_menu_entry`](/en/tmux/latest/reference/c-variable-cmd_display_menu_entry/) (attribute)
- [`cmd_display_menu_exec`](/en/tmux/latest/reference/c-function-cmd-display-menu-c-cmd_display_menu_exec/) (function)

## In other ports

Show a menu over a client

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Server.display_menu`](/en/py/latest/reference/libtmux-server-display_menu/) (method) |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | no equivalent on `Server` |
| Rust | [`server.Server.display_menu`](/en/rs/latest/reference/server-server-display_menu/) (method) |
| Go | [`tmux.Server.DisplayMenu`](/en/go/latest/reference/tmux-server-displaymenu/) (method) |
| Java | no equivalent on `Server` |
| C# | no equivalent on `Server` |
| C++ | no equivalent on `Server` |
| Swift | no equivalent on `Server` |
| OCaml | No direct public OCaml equivalent is recorded for this operation. |
| Perl | No dedicated equivalent in the selected Perl surface. Explicit Server::cmd remains available for native tmux commands. |

No equivalent is recorded in Ruby, Lua, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.
