# Libtmux.Session.windows

- **Module:** Libtmux
- **Package:** libtmux
- **Language:** OCaml
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-ocaml/blob/205dfda49742592b479247049d186956e4a4cfe9/lib/libtmux.mli#L224
- **Public owner:** Libtmux
- **Page:** https://libtmux.org/en/ocaml/latest/reference/libtmux-session-windows/

```
val windows : t -> Window.t Iarray.t
```

Distinct windows in first-link order. All accesses are local.

## Parameters

- `arg1` (`t`)

## Guides

Pages that discuss `windows`.

- [Sessions, window links and panes](/en/ocaml/latest/guides/graph/)

## In other ports

List a session's windows

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Session.windows`](/en/py/latest/reference/libtmux-session-windows/) (property) |
| Ruby | [`LibTmux::Session#list_windows`](/en/ruby/latest/reference/libtmux-session-list_windows/) (method) |
| PowerShell | [`LibTmux\Get-TmuxWindow`](/en/powershell/latest/reference/libtmux-get-tmuxwindow/) (cmdlet). Use the [`-Session`](/en/powershell/latest/reference/libtmux-get-tmuxwindow/#LibTmux%5CGet-TmuxWindow.parameter.Session) parameter set to acquire placements in one session. |
| Julia | [`LibTmux.windows`](/en/julia/latest/reference/libtmux-windows/) (function). `windows` with a captured `SessionSnapshot` reads distinct physical windows in that session. Use `windowlinks` for placements. |
| Erlang | [`tmux_snapshot:related/3`](/en/erlang/latest/reference/tmux_snapshot-related-3/) (function). Pass `windows`, a captured session and its snapshot for a local relationship read. |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| Common Lisp | [`libtmux:windows`](/en/lisp/latest/reference/libtmux-windows/) (function). `windows` traverses a captured session. Repeated links preserve their physical-window multiplicity. |
| TypeScript | [`session.Session.windows`](/en/ts/latest/reference/session-session-windows/) (method) |
| Rust | [`session.Session.windows`](/en/rs/latest/reference/session-session-windows/) (method) |
| Go | [`tmux.Session.Windows`](/en/go/latest/reference/tmux-session-windows/) (method) |
| Java | [`io.github.libtmux.Session.windows`](/en/java/latest/reference/io-github-libtmux-session-session-windows/) (method) |
| Clojure | [`libtmux.data/windows`](/en/clojure/latest/reference/libtmux-data-windows/) (function). Traverses one capture locally. It does not issue a list-windows command. |
| Kotlin | [`io.github.libtmux.kotlin.Session.windows`](/en/kotlin/latest/reference/io-github-libtmux-kotlin-session-windows/) (property) |
| Scala | [`io.github.libtmux.scaladsl.Session.windows`](/en/scala/latest/reference/io-github-libtmux-scaladsl-session-windows/) (method) |
| C# | [`LibTmux.Session.Windows`](/en/csharp/latest/reference/libtmux-session-windows/) (property) |
| F# | [`LibTmux.FSharp.Session.windows`](/en/fsharp/latest/reference/libtmux-fsharp-session-windows/) (function). Builds a deferred window query from one `LibTmux.Session` and its server. `Query.list` acquires placements scoped to that session ID. |
| C++ | [`libtmux::Session::windows`](/en/cxx/latest/reference/libtmux-session-windows/) (method) |
| Swift | [`Snapshot.windows(of:)`](/en/swift/latest/reference/snapshot-windows(of-)/) (method) |
| Perl | Traverse Session::window_links and resolve each link’s window, preserving explicit session placement and multiplicity. |

No equivalent is recorded in Lua or Elixir.
