# screen_write_menu

- **Language:** C
- **Kind:** function
- **Source:** https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/screen-write.c#L626
- **Page:** https://libtmux.org/en/tmux/3.2a/reference/c-function-screen_write_menu/

```c
void screen_write_menu(struct screen_write_ctx *ctx, struct menu *menu, int choice, const struct grid_cell *choice_gc)
```

## Parameters

- `ctx` (`struct screen_write_ctx *`)
- `menu` (`struct menu *`)
- `choice` (`int`)
- `choice_gc` (`const struct grid_cell *`)

## Called by

- [`menu_draw_cb`](/en/tmux/3.2a/reference/c-function-menu-c-menu_draw_cb/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/menu.c#L157)

## Calls

- [`format_draw`](/en/tmux/3.2a/reference/c-function-format_draw/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/screen-write.c#L642)
- [`screen_write_box`](/en/tmux/3.2a/reference/c-function-screen_write_box/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/screen-write.c#L640)
- [`screen_write_cursormove`](/en/tmux/3.2a/reference/c-function-screen_write_cursormove/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/screen-write.c#L641)
- [`screen_write_hline`](/en/tmux/3.2a/reference/c-function-screen_write_hline/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/screen-write.c#L648)
- [`screen_write_putc`](/en/tmux/3.2a/reference/c-function-screen_write_putc/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/screen-write.c#L654)
- [`screen_write_set_cursor`](/en/tmux/3.2a/reference/c-function-screen-write-c-screen_write_set_cursor/) (function) [Call site](https://github.com/tmux/tmux/blob/3b929f332aafa7f1080eacc31feb11ffbb1d1841/screen-write.c#L667)

## Referenced by

- [`server_client_push_stderr`](/en/tmux/3.2a/reference/c-function-server_client_push_stderr/) (function)

## Referenced declarations

- [`grid_cell.attr`](/en/tmux/3.2a/reference/c-struct-grid_cell-attr/) (attribute)
- [`menu.count`](/en/tmux/3.2a/reference/c-struct-menu-count/) (attribute)
- [`screen.cx`](/en/tmux/3.2a/reference/c-struct-screen-cx/) (attribute)
- [`screen.cy`](/en/tmux/3.2a/reference/c-struct-screen-cy/) (attribute)
- [`GRID_ATTR_DIM`](/en/tmux/3.2a/reference/c-define-tmux-h-grid_attr_dim/) (constant)
- [`grid_cell`](/en/tmux/3.2a/reference/c-struct-grid_cell/) (struct)
- [`grid_default_cell`](/en/tmux/3.2a/reference/c-variable-grid_default_cell/) (attribute)
- [`menu.items`](/en/tmux/3.2a/reference/c-struct-menu-items/) (attribute)
- [`menu`](/en/tmux/3.2a/reference/c-struct-menu/) (struct)
- [`menu_item.name`](/en/tmux/3.2a/reference/c-struct-menu_item-name/) (attribute)
- [`screen_write_ctx.s`](/en/tmux/3.2a/reference/c-struct-screen_write_ctx-s/) (attribute)
- [`screen_write_ctx`](/en/tmux/3.2a/reference/c-struct-screen_write_ctx/) (struct)
- [`menu.title`](/en/tmux/3.2a/reference/c-struct-menu-title/) (attribute)
- [`menu.width`](/en/tmux/3.2a/reference/c-struct-menu-width/) (attribute)
