# LibTmux::Window

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Perl
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-perl/blob/352715a4fa66a96eed7763b90daaa536aa2f121d/packages/core/lib/LibTmux/Window.pm#L1
- **Bases:** [`LibTmux::Entity`](/en/perl/latest/reference/libtmux-entity/)
- **Page:** https://libtmux.org/en/perl/latest/reference/libtmux-window/

```
package LibTmux::Window;
```

Captured window entity


## OWNERSHIP

Readers use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited [`to_record`](/en/perl/latest/reference/libtmux-entity-to_record/) exports a detached scalar record.



## Members

### Collections and queries

- [`panes`](/en/perl/latest/reference/libtmux-window-panes/) (method): [`LibTmux::Selection`](/en/perl/latest/reference/libtmux-selection/) of [`LibTmux::Pane`](/en/perl/latest/reference/libtmux-pane/) entities. Local captured data; no I/O.

### Common operations

- [`id`](/en/perl/latest/reference/libtmux-window-id/) (method): string. Local captured data; no I/O.
- [`name`](/en/perl/latest/reference/libtmux-window-name/) (method): string. Local captured data; no I/O.
- [`height`](/en/perl/latest/reference/libtmux-window-height/) (method): integer. Local captured data; no I/O.
- [`width`](/en/perl/latest/reference/libtmux-window-width/) (method): integer. Local captured data; no I/O.
- [`layout`](/en/perl/latest/reference/libtmux-window-layout/) (method): string. Local captured data; no I/O.
- [`active_pane`](/en/perl/latest/reference/libtmux-window-active_pane/) (method): [`LibTmux::Pane`](/en/perl/latest/reference/libtmux-pane/) entity or undef. Local captured data; no I/O.

### Other members

- [`links`](/en/perl/latest/reference/libtmux-window-links/) (method): [`LibTmux::Selection`](/en/perl/latest/reference/libtmux-selection/) of [`LibTmux::WindowLink`](/en/perl/latest/reference/libtmux-windowlink/) entities. Local captured data; no I/O.

## Inherited members

- [`generation`](/en/perl/latest/reference/libtmux-window-generation/) (method), inherited from `LibTmux::Entity`: Return the captured generation. Restarted daemons cannot silently reuse this handle.
- [`identity`](/en/perl/latest/reference/libtmux-window-identity/) (method), inherited from `LibTmux::Entity`: Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences.
- [`kind`](/en/perl/latest/reference/libtmux-window-kind/) (method), inherited from `LibTmux::Entity`: Return the schema entity-kind string. Concrete public field readers belong to [`LibTmux::Pane`](/en/perl/latest/reference/libtmux-pane/), [`LibTmux::Window`](/en/perl/latest/reference/libtmux-window/), [`LibTmux::WindowLink`](/en/perl/latest/reference/libtmux-windowlink/), [`LibTmux::Session`](/en/perl/latest/reference/libtmux-session/), and [`LibTmux::Client`](/en/perl/latest/reference/libtmux-client/).
- [`server_id`](/en/perl/latest/reference/libtmux-window-server_id/) (method), inherited from `LibTmux::Entity`: Return the captured server scope. No daemon discovery or refresh occurs.
- [`to_record`](/en/perl/latest/reference/libtmux-window-to_record/) (method), inherited from `LibTmux::Entity`: Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle.

## In other ports

A tmux window

| Language | Equivalent |
| --- | --- |
| Python | [`libtmux.Window`](/en/py/latest/reference/libtmux-window/) (class) |
| Ruby | [`LibTmux::Window`](/en/ruby/latest/reference/libtmux-window-1vfx/) (class) |
| Lua | [`libtmux.Window`](/en/lua/latest/reference/libtmux-window/) (class) |
| PowerShell | [`LibTmux\Get-TmuxWindow`](/en/powershell/latest/reference/libtmux-get-tmuxwindow/) (cmdlet). This cmdlet reads shared .NET `LibTmux.Window` placements. Use [`-Server`](/en/powershell/latest/reference/libtmux-get-tmuxwindow/#LibTmux%5CGet-TmuxWindow.parameter.Server) for all sessions or [`-Session`](/en/powershell/latest/reference/libtmux-get-tmuxwindow/#LibTmux%5CGet-TmuxWindow.parameter.Session) for one session. |
| Julia | [`LibTmux.WindowSnapshot`](/en/julia/latest/reference/libtmux-windowsnapshot/) (struct). `WindowSnapshot` holds captured physical-window data. `WindowLink` records a placement in a session; actions use `WindowRef`. |
| Erlang | [`#tmux_model:window{}`](/en/erlang/latest/reference/tmux_model-window/) (struct). A physical window can have several session memberships. `window_link` holds the session-relative index and active flag. |
| Elixir | [`LibTmux.Window`](/en/elixir/latest/reference/libtmux-window/) (struct). `Window` is a physical window. `WindowLink` records its session index and active state. |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| Common Lisp | [`libtmux:window`](/en/lisp/latest/reference/libtmux-window-type/) (class). `window` is a physical captured window. `window-link` preserves each session placement. |
| TypeScript | [`window.Window`](/en/ts/latest/reference/window-window/) (class) |
| Rust | [`window.Window`](/en/rs/latest/reference/window-window/) (struct) |
| Go | [`tmux.Window`](/en/go/latest/reference/tmux-window/) (struct) |
| Java | [`io.github.libtmux.Window`](/en/java/latest/reference/io-github-libtmux-window-window/) (class) |
| Clojure | [`libtmux.data/windows`](/en/clojure/latest/reference/libtmux-data-windows/) (function). Traverses captured window-placement maps without I/O; the window value is a map with an explicit Java reference for effects. |
| Kotlin | [`io.github.libtmux.kotlin.Window`](/en/kotlin/latest/reference/io-github-libtmux-kotlin-window/) (class) |
| Scala | [`io.github.libtmux.scaladsl.Window`](/en/scala/latest/reference/io-github-libtmux-scaladsl-window/) (typealias) |
| C# | [`LibTmux.Window`](/en/csharp/latest/reference/libtmux-window/) (class) |
| F# | [`LibTmux.FSharp.Window`](/en/fsharp/latest/reference/libtmux-fsharp-window/) (module). This F# module identifies shared .NET `LibTmux.Window` placements and builds deferred pane queries. `Query.list` acquires their results from tmux. |
| C++ | [`libtmux::Window`](/en/cxx/latest/reference/libtmux-window/) (class) |
| Swift | [`Window`](/en/swift/latest/reference/window/) (struct) |
| OCaml | [`Libtmux.Window.t`](/en/ocaml/latest/reference/libtmux-window-t/) (typealias). A global window can have several session placements. Window_link holds the session, index and current flag. |
