# mode_tree_menu_callback

- **Language:** C
- **Kind:** function
- **Source:** https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L1101
- **Page:** https://libtmux.org/en/tmux/latest/reference/c-function-mode-tree-c-mode_tree_menu_callback/

```c
static void mode_tree_menu_callback(struct menu *menu, u_int idx, key_code key, void *data)
```

## Parameters

- `menu` (`struct menu *`)
- `idx` (`u_int`)
- `key` (`key_code`)
- `data` (`void *`)

## Calls

- [`mode_tree_remove_ref`](/en/tmux/latest/reference/c-function-mode-tree-c-mode_tree_remove_ref/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L1116)

## Referenced by

- [`mode_tree_display_menu`](/en/tmux/latest/reference/c-function-mode-tree-c-mode_tree_display_menu/) (function)

## Referenced declarations

- [`__unused`](/en/tmux/latest/reference/c-define-compat-h-__unused/) (constant)
- [`mode_tree_menu.c`](/en/tmux/latest/reference/c-struct-mode_tree_menu-c/) (attribute)
- [`mode_tree_data.current`](/en/tmux/latest/reference/c-struct-mode_tree_data-current/) (attribute)
- [`mode_tree_menu.data`](/en/tmux/latest/reference/c-struct-mode_tree_menu-data/) (attribute)
- [`mode_tree_data.dead`](/en/tmux/latest/reference/c-struct-mode_tree_data-dead/) (attribute)
- [`key_code`](/en/tmux/latest/reference/c-typedef-key_code/) (typealias)
- [`KEYC_NONE`](/en/tmux/latest/reference/c-enum-tmux-h-332237342172367247102064023371112372044056265234-keyc_none/) (constant)
- [`mode_tree_menu.line`](/en/tmux/latest/reference/c-struct-mode_tree_menu-line/) (attribute)
- [`mode_tree_data.line_size`](/en/tmux/latest/reference/c-struct-mode_tree_data-line_size/) (attribute)
- [`menu`](/en/tmux/latest/reference/c-struct-menu/) (struct)
- [`mode_tree_data.menucb`](/en/tmux/latest/reference/c-struct-mode_tree_data-menucb/) (attribute)
- [`mode_tree_data.modedata`](/en/tmux/latest/reference/c-struct-mode_tree_data-modedata/) (attribute)
