# libtmux.Server.search_windows

- **Module:** libtmux.Server
- **Package:** libtmux
- **Language:** Python
- **Kind:** method
- **Source:** https://github.com/tmux-python/libtmux/blob/036c521c4b83ce6e434eb50afe2a0d08a6a05e46/src/libtmux/server.py#L2555
- **Page:** https://libtmux.org/reference/py/libtmux-server-search_windows/

```
libtmux.Server.search_windows(self, filter: str | None = None, # noqa: A002) -> QueryList[Window]
```

All windows across sessions, optionally filtered by tmux.

Like :attr:`Server.windows` but with a ``filter`` kwarg passed to
``$ tmux list-windows -a -f <filter>``.

## Parameters

- `self`
- `filter` (str | None) — tmux format expression (``-f`` flag).
tmux silently expands a malformed filter (unclosed
``#{...}``, unknown format token) to empty, which the
filter treats as false — every row is suppressed and no
stderr is emitted. A bad filter is
indistinguishable from "filter matched nothing"; verify
filter syntax against the FORMATS section of ``tmux(1)``. Warning:
- `# noqa: A002`

## Example

```python
>>> sess = server.new_session(session_name='gap7_win_demo')
>>> _ = sess.new_window(window_name='gap7_target')
>>> _ = sess.new_window(window_name='other_window')
>>> matches = server.search_windows(filter='#{m:gap7_*,#{window_name}}')
>>> any(w.window_name == 'gap7_target' for w in matches)
True
>>> any(w.window_name == 'other_window' for w in matches)
False
```
