# mode_tree_swap

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

```c
static void mode_tree_swap(struct mode_tree_data *mtd, int direction)
```

## Parameters

- `mtd` (`struct mode_tree_data *`)
- `direction` (`int`)

## Called by

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

## Calls

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

## Referenced declarations

- [`mode_tree_data.current`](/en/tmux/3.7c/reference/c-struct-mode_tree_data-current/) (attribute)
- [`mode_tree_line.depth`](/en/tmux/3.7c/reference/c-struct-mode_tree_line-depth/) (attribute)
- [`mode_tree_line.item`](/en/tmux/3.7c/reference/c-struct-mode_tree_line-item/) (attribute)
- [`mode_tree_item.itemdata`](/en/tmux/3.7c/reference/c-struct-mode_tree_item-itemdata/) (attribute)
- [`mode_tree_data.line_list`](/en/tmux/3.7c/reference/c-struct-mode_tree_data-line_list/) (attribute)
- [`mode_tree_data.line_size`](/en/tmux/3.7c/reference/c-struct-mode_tree_data-line_size/) (attribute)
- [`mode_tree_data`](/en/tmux/3.7c/reference/c-struct-mode_tree_data/) (struct)
- [`mode_tree_data.sort_crit`](/en/tmux/3.7c/reference/c-struct-mode_tree_data-sort_crit/) (attribute)
- [`mode_tree_data.swapcb`](/en/tmux/3.7c/reference/c-struct-mode_tree_data-swapcb/) (attribute)
