# LibTmux.Window

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** .NET
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/320dc64f4b8b7815842471327a5e6b84a1499bf8/src/LibTmux/Window.cs#L9
- **Page:** https://libtmux.org/en/dotnet/latest/reference/libtmux-window/

Represents an immutable window handle and snapshot.

Thread-safe: the handle is immutable once constructed and may be shared
freely, including as a singleton. Every mutating call answers a new handle
rather than changing this one.

## Members

- `ExecuteCommandAsync` (method): Executes one raw tmux command against this window.
- `DisplayMessageAsync` (method): Shows a message on the client viewing this window.
- `FromEnvironmentAsync` (method): Returns the window holding the pane this process runs in.
- `RawFormatFields` (property): Gets the tmux fields captured when this handle materialized.
- `Id` (property): Gets the window identifier.
- `Generation` (property): Gets the server generation captured with this window.
- `Equals` (method)
- `GetHashCode` (method)
- `ResizeAsync` (method): Resizes this window.
- `SelectLayoutAsync` (method): Applies a layout to this window.
- `SelectNextLayoutAsync` (method): Moves to the next layout.
- `SelectPreviousLayoutAsync` (method): Moves to the previous layout.
- `RenameAsync` (method): Renames this window.
- `SelectAsync` (method): Selects this window in its session.
- `KillAsync` (method): Stops this window.
- `RotateAsync` (method): Rotates the panes in this window.
- `RespawnAsync` (method): Restarts the command running in this window.
- `CreateWindowAsync` (method): Creates a window next to this one.
- `LinkAsync` (method): Links this window into another session.
- `UnlinkAsync` (method): Removes this window's link to the session it was read through.
- `MoveAsync` (method): Moves this window to another index or session.
- `SwapAsync` (method): Swaps this window with another.
- `SelectLastPaneAsync` (method): Selects the pane that was last active.
- `SelectPaneAsync` (method): Selects a pane in this window.
- `GetPaneAsync` (method): Reads one pane in this window, throwing when it is absent.
- `FindPaneAsync` (method): Reads one pane in this window.
- `SplitPaneAsync` (method): Splits a pane in this window.
- `CreatePaneAsync` (method): Creates a floating pane in this window.
- `SearchPanesAsync` (method): Runs a tmux-side filter over this window's panes.
- `ActivePane` (property): Gets the captured active pane, or an uncaptured relation.
- `Panes` (property): Gets the panes the capture found in this window.
- `LinkedSessions` (property): Gets the sessions the capture found this window linked into.
- `Edge` (property): Gets where this window sits in the session it was read from.
- `EntityKey` (property): Gets the session and window this handle names together.
- `GetPanesAsync` (method): Reads this window's panes from tmux.
- `GetLinkedSessionsAsync` (method): Reads every session this window is linked into.
- `Options` (property): Gets the options of this window.
- `Hooks` (property): Gets the hooks of this window.
- `Name` (property): Gets the window name captured with this handle.
- `Index` (property): Gets the index this window holds in its session.
- `Height` (property): Gets the window height captured with this handle.
- `Width` (property): Gets the window width captured with this handle.
- `Layout` (property): Gets the layout string captured with this handle.
- `Server` (property): Gets the server that owns this window.
- `Session` (property): Gets the session this window was read through.
- `RefreshAsync` (method): Re-reads this window from tmux.
