# LibTmux::Async::Server#list_windows

- **Module:** LibTmux::Async
- **Package:** libtmux-async
- **Language:** Ruby
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-ruby/blob/da7b6191b9439e3c84fa1c9eeaa9168263ee7af4/gems/libtmux/lib/libtmux/server.rb#L270
- **Public owner:** LibTmux::Server#list_windows
- **Page:** https://libtmux.org/en/ruby/v0.1.1/reference/libtmux-async-server-list_windows/

```
def list_windows: (
  ?timeout: ::Numeric,
  ?cancel: untyped
) -> ::Array[::LibTmux::Window]
```

Behavior: Live acquisition.

Behavior contract: Live acquisition.

## Parameters

- `timeout` (`::Numeric`)
- `cancel` (`untyped`)

## tmux command

The tmux commands behind `list_windows`.

- [`list-windows`](/en/tmux/latest/manual/list-windows/) `-a` server scope, [`cmd_list_windows_exec`](/en/tmux/latest/reference/c-function-cmd-list-windows-c-cmd_list_windows_exec/) (source: `gems/libtmux/lib/libtmux/server.rb:470`)

## tmux C API

The C declarations in tmux that implement these commands.

- [`cmd_list_windows_entry`](/en/tmux/latest/reference/c-variable-cmd_list_windows_entry/) (attribute)
- [`cmd_list_windows_exec`](/en/tmux/latest/reference/c-function-cmd-list-windows-c-cmd_list_windows_exec/) (function)
