# mode_tree_draw

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

```c
void mode_tree_draw(struct mode_tree_data *mtd)
```

## Parameters

- `mtd` (`struct mode_tree_data *`)

## Called by

- [`mode_tree_filter_callback`](/en/tmux/latest/reference/c-function-mode-tree-c-mode_tree_filter_callback/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L1088)
- [`mode_tree_resize`](/en/tmux/latest/reference/c-function-mode_tree_resize/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L658)
- [`mode_tree_search_set`](/en/tmux/latest/reference/c-function-mode-tree-c-mode_tree_search_set/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L1040)
- [`window_buffer_edit_close_cb`](/en/tmux/latest/reference/c-function-window-buffer-c-window_buffer_edit_close_cb/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-buffer.c#L505)
- [`window_buffer_init`](/en/tmux/latest/reference/c-function-window-buffer-c-window_buffer_init/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-buffer.c#L383)
- [`window_buffer_key`](/en/tmux/latest/reference/c-function-window-buffer-c-window_buffer_key/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-buffer.c#L581)
- [`window_buffer_update`](/en/tmux/latest/reference/c-function-window-buffer-c-window_buffer_update/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-buffer.c#L424)
- [`window_client_init`](/en/tmux/latest/reference/c-function-window-client-c-window_client_init/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-client.c#L294)
- [`window_client_key`](/en/tmux/latest/reference/c-function-window-client-c-window_client_key/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-client.c#L391)
- [`window_client_update`](/en/tmux/latest/reference/c-function-window-client-c-window_client_update/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-client.c#L335)
- [`window_customize_change_current_callback`](/en/tmux/latest/reference/c-function-window-customize-c-window_customize_change_current_callback/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-customize.c#L1400)
- [`window_customize_change_tagged_callback`](/en/tmux/latest/reference/c-function-window-customize-c-window_customize_change_tagged_callback/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-customize.c#L1420)
- [`window_customize_init`](/en/tmux/latest/reference/c-function-window-customize-c-window_customize_init/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-customize.c#L920)
- [`window_customize_key`](/en/tmux/latest/reference/c-function-window-customize-c-window_customize_key/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-customize.c#L1537)
- [`window_customize_set_command_callback`](/en/tmux/latest/reference/c-function-window-customize-c-window_customize_set_command_callback/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-customize.c#L1220)
- [`window_customize_set_note_callback`](/en/tmux/latest/reference/c-function-window-customize-c-window_customize_set_note_callback/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-customize.c#L1249)
- [`window_customize_set_option_callback`](/en/tmux/latest/reference/c-function-window-customize-c-window_customize_set_option_callback/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-customize.c#L1017)
- [`window_tree_command_done`](/en/tmux/latest/reference/c-function-window-tree-c-window_tree_command_done/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-tree.c#L1062)
- [`window_tree_init`](/en/tmux/latest/reference/c-function-window-tree-c-window_tree_init/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-tree.c#L945)
- [`window_tree_key`](/en/tmux/latest/reference/c-function-window-tree-c-window_tree_key/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-tree.c#L1347)
- [`window_tree_update`](/en/tmux/latest/reference/c-function-window-tree-c-window_tree_update/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/window-tree.c#L998)

## Calls

- [`format_draw`](/en/tmux/latest/reference/c-function-format_draw/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L850)
- [`screen_write_box`](/en/tmux/latest/reference/c-function-screen_write_box/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L883)
- [`screen_write_clearendofline`](/en/tmux/latest/reference/c-function-screen_write_clearendofline/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L847)
- [`screen_write_clearscreen`](/en/tmux/latest/reference/c-function-screen_write_clearscreen/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L763)
- [`screen_write_cursormove`](/en/tmux/latest/reference/c-function-screen_write_cursormove/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L792)
- [`screen_write_nputs`](/en/tmux/latest/reference/c-function-screen_write_nputs/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L848)
- [`screen_write_puts`](/en/tmux/latest/reference/c-function-screen_write_puts/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L893)
- [`screen_write_start`](/en/tmux/latest/reference/c-function-screen_write_start/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L762)
- [`screen_write_stop`](/en/tmux/latest/reference/c-function-screen_write_stop/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L921)
- [`style_apply`](/en/tmux/latest/reference/c-function-style_apply/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L757)
- [`utf8_cstrwidth`](/en/tmux/latest/reference/c-function-utf8_cstrwidth/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L836)
- [`xasprintf`](/en/tmux/latest/reference/c-function-xasprintf/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L796)
- [`xcalloc`](/en/tmux/latest/reference/c-function-xcalloc/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L814)
- [`xstrdup`](/en/tmux/latest/reference/c-function-xstrdup/) (function) [Call site](https://github.com/tmux/tmux/blob/e476c1230b958df0cb12977517d24b3dc931375b/mode-tree.c#L798)

## Other function references

- [`sort_order_to_string`](/en/tmux/latest/reference/c-function-sort_order_to_string/) (function)

## Referenced declarations

- [`mode_tree_item.align`](/en/tmux/latest/reference/c-struct-mode_tree_item-align/) (attribute)
- [`grid_cell.attr`](/en/tmux/latest/reference/c-struct-grid_cell-attr/) (attribute)
- [`grid_cell.bg`](/en/tmux/latest/reference/c-struct-grid_cell-bg/) (attribute)
- [`BOX_LINES_DEFAULT`](/en/tmux/latest/reference/c-enum-box_lines-box_lines_default/) (constant)
- [`mode_tree_item.children`](/en/tmux/latest/reference/c-struct-mode_tree_item-children/) (attribute)
- [`mode_tree_data.current`](/en/tmux/latest/reference/c-struct-mode_tree_data-current/) (attribute)
- [`mode_tree_line.depth`](/en/tmux/latest/reference/c-struct-mode_tree_line-depth/) (attribute)
- [`mode_tree_item.draw_as_parent`](/en/tmux/latest/reference/c-struct-mode_tree_item-draw_as_parent/) (attribute)
- [`mode_tree_data.drawcb`](/en/tmux/latest/reference/c-struct-mode_tree_data-drawcb/) (attribute)
- [`mode_tree_item.expanded`](/en/tmux/latest/reference/c-struct-mode_tree_item-expanded/) (attribute)
- [`mode_tree_data.filter`](/en/tmux/latest/reference/c-struct-mode_tree_data-filter/) (attribute)
- [`mode_tree_line.flat`](/en/tmux/latest/reference/c-struct-mode_tree_line-flat/) (attribute)
- [`GRID_ATTR_BRIGHT`](/en/tmux/latest/reference/c-define-tmux-h-grid_attr_bright/) (constant)
- [`grid_default_cell`](/en/tmux/latest/reference/c-variable-grid_default_cell/) (attribute)
- [`mode_tree_data.height`](/en/tmux/latest/reference/c-struct-mode_tree_data-height/) (attribute)
- [`mode_tree_line.item`](/en/tmux/latest/reference/c-struct-mode_tree_line-item/) (attribute)
- [`mode_tree_item.itemdata`](/en/tmux/latest/reference/c-struct-mode_tree_item-itemdata/) (attribute)
- [`mode_tree_item.key`](/en/tmux/latest/reference/c-struct-mode_tree_item-key/) (attribute)
- [`KEYC_NONE`](/en/tmux/latest/reference/c-enum-tmux-h-332237342172367247102064023371112372044056265234-keyc_none/) (constant)
- [`mode_tree_item.keylen`](/en/tmux/latest/reference/c-struct-mode_tree_item-keylen/) (attribute)
- [`mode_tree_item.keystr`](/en/tmux/latest/reference/c-struct-mode_tree_item-keystr/) (attribute)
- [`mode_tree_line.last`](/en/tmux/latest/reference/c-struct-mode_tree_line-last/) (attribute)
- [`mode_tree_item.line`](/en/tmux/latest/reference/c-struct-mode_tree_item-line/) (attribute)
- [`mode_tree_data.line_list`](/en/tmux/latest/reference/c-struct-mode_tree_data-line_list/) (attribute)
- [`mode_tree_data.line_size`](/en/tmux/latest/reference/c-struct-mode_tree_data-line_size/) (attribute)
- [`mode_tree_data.maxdepth`](/en/tmux/latest/reference/c-struct-mode_tree_data-maxdepth/) (attribute)
- [`mode_tree_data`](/en/tmux/latest/reference/c-struct-mode_tree_data/) (struct)
- [`MODE_TREE_PREVIEW_OFF`](/en/tmux/latest/reference/c-enum-mode_tree_preview-mode_tree_preview_off/) (constant)
- [`mode_tree_data.modedata`](/en/tmux/latest/reference/c-struct-mode_tree_data-modedata/) (attribute)
- [`mode_tree_item.name`](/en/tmux/latest/reference/c-struct-mode_tree_item-name/) (attribute)
- [`mode_tree_data.no_matches`](/en/tmux/latest/reference/c-struct-mode_tree_data-no_matches/) (attribute)
- [`mode_tree_data.offset`](/en/tmux/latest/reference/c-struct-mode_tree_data-offset/) (attribute)
- [`window.options`](/en/tmux/latest/reference/c-struct-window-options/) (attribute)
- [`sort_criteria.order`](/en/tmux/latest/reference/c-struct-sort_criteria-order/) (attribute)
- [`sort_criteria.order_seq`](/en/tmux/latest/reference/c-struct-sort_criteria-order_seq/) (attribute)
- [`mode_tree_item.parent`](/en/tmux/latest/reference/c-struct-mode_tree_item-parent/) (attribute)
- [`mode_tree_data.preview`](/en/tmux/latest/reference/c-struct-mode_tree_data-preview/) (attribute)
- [`sort_criteria.reversed`](/en/tmux/latest/reference/c-struct-sort_criteria-reversed/) (attribute)
- [`mode_tree_data.screen`](/en/tmux/latest/reference/c-struct-mode_tree_data-screen/) (attribute)
- [`screen_size_y`](/en/tmux/latest/reference/c-define-tmux-h-screen_size_y/) (constant)
- [`mode_tree_data.sort_crit`](/en/tmux/latest/reference/c-struct-mode_tree_data-sort_crit/) (attribute)
- [`mode_tree_item.tagged`](/en/tmux/latest/reference/c-struct-mode_tree_item-tagged/) (attribute)
- [`mode_tree_item.text`](/en/tmux/latest/reference/c-struct-mode_tree_item-text/) (attribute)
- [`mode_tree_data.width`](/en/tmux/latest/reference/c-struct-mode_tree_data-width/) (attribute)
- [`window_pane.window`](/en/tmux/latest/reference/c-struct-window_pane-window/) (attribute)
- [`mode_tree_data.wp`](/en/tmux/latest/reference/c-struct-mode_tree_data-wp/) (attribute)
