# libtmux:panes

- **Package:** libtmux
- **Language:** Common Lisp
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-lisp/blob/c2e5fc4ed3befda21f45dfa5d5868c38fd138311/src/model.lisp#L53
- **Public owner:** libtmux
- **Page:** https://libtmux.org/en/lisp/latest/reference/libtmux-panes/

```
(panes observation)

Primary method: libtmux:snapshot:
(panes (snapshot libtmux:snapshot))

Primary method: libtmux:window:
(panes (window libtmux:window))
```

Return a fresh vector of captured physical panes, without I/O.
Snapshots preserve first occurrence; windows preserve the captured pane order.

## Methods

### `(panes (snapshot libtmux:snapshot))`

### `(panes (window libtmux:window))`

## Parameters

- `observation` (for `panes(observation)`)
- `snapshot` (`libtmux:snapshot`) (for `Primary method: libtmux:snapshot`)
- `window` (`libtmux:window`) (for `Primary method: libtmux:window`)

## Guides

Pages that discuss `panes`.

- [Captures and identity](/en/lisp/latest/concepts/captures/)

## In other ports

List a window's panes

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Window.panes`](/en/py/latest/reference/libtmux-window-panes/) (property) |
| Ruby | [`LibTmux::Window#list_panes`](/en/ruby/latest/reference/libtmux-window-list_panes/) (method) |
| PowerShell | [`LibTmux\Get-TmuxPane`](/en/powershell/latest/reference/libtmux-get-tmuxpane/) (cmdlet). Use the [`-Window`](/en/powershell/latest/reference/libtmux-get-tmuxpane/#LibTmux%5CGet-TmuxPane.parameter.Window) parameter set to acquire panes in one window. |
| Julia | [`LibTmux.panes`](/en/julia/latest/reference/libtmux-panes/) (function). `panes` with a captured `WindowSnapshot` reads panes in that window; missing coverage is an error. |
| Erlang | [`tmux_snapshot:related/3`](/en/erlang/latest/reference/tmux_snapshot-related-3/) (function). Pass `panes`, a captured physical window and its snapshot for a local relationship read. |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | [`window.Window.panes`](/en/ts/latest/reference/window-window-panes/) (method) |
| Rust | [`window.Window.panes`](/en/rs/latest/reference/window-window-panes/) (method) |
| Go | [`tmux.Window.Panes`](/en/go/latest/reference/tmux-window-panes/) (method) |
| Java | [`io.github.libtmux.Window.panes`](/en/java/latest/reference/io-github-libtmux-window-window-panes/) (method) |
| Clojure | [`libtmux.data/panes`](/en/clojure/latest/reference/libtmux-data-panes/) (function). Traverses one capture locally. It does not issue a list-panes command. |
| Kotlin | [`io.github.libtmux.kotlin.Window.panes`](/en/kotlin/latest/reference/io-github-libtmux-kotlin-window-panes/) (property) |
| Scala | [`io.github.libtmux.scaladsl.Window.panes`](/en/scala/latest/reference/io-github-libtmux-scaladsl-window-panes/) (method) |
| C# | [`LibTmux.Window.Panes`](/en/csharp/latest/reference/libtmux-window-panes/) (property) |
| F# | [`LibTmux.FSharp.Window.panes`](/en/fsharp/latest/reference/libtmux-fsharp-window-panes/) (function). Builds a deferred pane query from one `LibTmux.Window` and its server. `Query.list` acquires panes scoped to that window ID. |
| C++ | [`libtmux::Window::panes`](/en/cxx/latest/reference/libtmux-window-panes/) (method) |
| Swift | [`Snapshot.panes(of:)`](/en/swift/latest/reference/snapshot-panes(of-)/) (method) |
| OCaml | [`Libtmux.Window.panes`](/en/ocaml/latest/reference/libtmux-window-panes/) (function). Reads captured panes in one global window without I/O. |
| Perl | [`LibTmux::Window::panes`](/en/perl/latest/reference/libtmux-window-panes/) (method). Reads this physical window’s captured panes without I/O. |

No equivalent is recorded in Lua or Elixir.

List a session's panes

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Session.panes`](/en/py/latest/reference/libtmux-session-panes/) (property) |
| Ruby | [`LibTmux::Session#list_panes`](/en/ruby/latest/reference/libtmux-session-list_panes/) (method) |
| PowerShell | [`LibTmux\Get-TmuxPane`](/en/powershell/latest/reference/libtmux-get-tmuxpane/) (cmdlet). Use the [`-Session`](/en/powershell/latest/reference/libtmux-get-tmuxpane/#LibTmux%5CGet-TmuxPane.parameter.Session) parameter set to acquire panes across that session’s windows. |
| Julia | Traverse `windows(session)` and `panes(window)` in the captured snapshot. `panes(snapshot)` has server-wide scope. |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | [`session.Session.panes`](/en/ts/latest/reference/session-session-panes/) (method) |
| Rust | [`session.Session.panes`](/en/rs/latest/reference/session-session-panes/) (method) |
| Go | [`tmux.Session.Panes`](/en/go/latest/reference/tmux-session-panes/) (method) |
| Java | no direct accessor; traverse Session.windows and Window.panes |
| C# | [`LibTmux.Session.Panes`](/en/csharp/latest/reference/libtmux-session-panes/) (property) |
| F# | [`LibTmux.FSharp.Session.panes`](/en/fsharp/latest/reference/libtmux-fsharp-session-panes/) (function). Builds a deferred pane query from one `LibTmux.Session` and its server. `Query.list` acquires panes across that session’s windows. |
| C++ | [`libtmux::Session::panes`](/en/cxx/latest/reference/libtmux-session-panes/) (method) |
| Swift | [`Snapshot.panes(of:)`](/en/swift/latest/reference/snapshot-panes(of-)/) (method) |
| OCaml | Traverse Session.windows and Window.panes in the captured graph. Snapshot.panes has server-wide scope. |
| Perl | Traverse the session’s window links and physical windows; choose explicitly whether repeated linked panes should repeat. |

No equivalent is recorded in Lua, Erlang, Elixir, Clojure, Kotlin or Scala.

List the server's panes

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Server.panes`](/en/py/latest/reference/libtmux-server-panes/) (property) |
| Ruby | [`LibTmux::Server#list_panes`](/en/ruby/latest/reference/libtmux-server-list_panes/) (method) |
| Lua | [`libtmux.Snapshot.panes`](/en/lua/latest/reference/libtmux-snapshot-panes/) (attribute) |
| PowerShell | [`LibTmux\Get-TmuxPane`](/en/powershell/latest/reference/libtmux-get-tmuxpane/) (cmdlet). Use the [`-Server`](/en/powershell/latest/reference/libtmux-get-tmuxpane/#LibTmux%5CGet-TmuxPane.parameter.Server) parameter set to acquire panes across the server. |
| Julia | [`LibTmux.panes`](/en/julia/latest/reference/libtmux-panes/) (function). `panes` with a `Snapshot` reads every captured physical pane. Use `paneoccurrences` for session placements. |
| Erlang | [`tmux_snapshot:panes/1`](/en/erlang/latest/reference/tmux_snapshot-panes-1/) (function). Returns unique captured physical panes without tmux I/O. |
| Elixir | [`LibTmux.Snapshot.panes/1`](/en/elixir/latest/reference/libtmux-snapshot-panes-1/) (function). Returns a `Selection` of every captured physical pane without contacting tmux. |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | [`server.Server.panes`](/en/ts/latest/reference/server-server-panes/) (method) |
| Rust | [`server.Server.panes`](/en/rs/latest/reference/server-server-panes/) (method) |
| Go | [`tmux.Server.Panes`](/en/go/latest/reference/tmux-server-panes/) (method) |
| Java | [`io.github.libtmux.Server.panes`](/en/java/latest/reference/io-github-libtmux-server-server-panes/) (method) |
| Clojure | [`libtmux.core/panes!`](/en/clojure/latest/reference/libtmux-core-panes/) (function). Acquires a new graph and returns its pane occurrences. |
| Kotlin | [`io.github.libtmux.kotlin.Server.panes`](/en/kotlin/latest/reference/io-github-libtmux-kotlin-server-panes/) (method) |
| Scala | [`io.github.libtmux.scaladsl.Server.panes`](/en/scala/latest/reference/io-github-libtmux-scaladsl-server-panes/) (method) |
| C# | [`LibTmux.Server.Panes`](/en/csharp/latest/reference/libtmux-server-panes/) (property) |
| F# | [`LibTmux.FSharp.Server.panes`](/en/fsharp/latest/reference/libtmux-fsharp-server-panes/) (function). Builds a deferred pane query on the shared .NET `LibTmux.Server`. `Query.list` acquires panes across that server. |
| C++ | [`libtmux::Server::panes`](/en/cxx/latest/reference/libtmux-server-panes/) (method) |
| Swift | [`Server.panes()`](/en/swift/latest/reference/server-panes()/) (method) |
| OCaml | [`Libtmux.Snapshot.panes`](/en/ocaml/latest/reference/libtmux-snapshot-panes/) (function) |
| Perl | [`LibTmux::Snapshot::panes`](/en/perl/latest/reference/libtmux-snapshot-panes/) (method). One entry per captured physical pane; raw listings preserve contextual rows separately. |
