# LibTmux.Server

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** .NET
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/6656a563ec9e07ab52e0c3ac96f7704fc94cc0c0/src/LibTmux/Server.cs#L4
- **Page:** https://libtmux.org/reference/dotnet/libtmux-server/

Represents an immutable server handle and snapshot.

## Members

- `SearchSessionsAsync` (method) — Runs a tmux-side filter over every session.
- `SearchWindowsAsync` (method) — Runs a tmux-side filter over every window.
- `SearchPanesAsync` (method) — Runs a tmux-side filter over every pane.
- `BuildServerAccessArguments` (method) — Builds the arguments an access request sends.
- `ConfigureAccessAsync` (method) — Grants or withdraws another user's access to this server.
- `SourceFileAsync` (method) — Reads a tmux configuration file.
- `LockAsync` (method) — Locks every client attached to this server.
- `GetMessagesAsync` (method) — Reads what the server has been logging.
- `GetCommandsAsync` (method) — Reads the commands this tmux knows.
- `SetBufferAsync` (method) — Puts text into a paste buffer.
- `LoadBufferAsync` (method) — Puts a file's contents into a paste buffer.
- `SaveBufferAsync` (method) — Writes a paste buffer to a file.
- `GetBufferAsync` (method) — Reads a paste buffer in full.
- `DeleteBufferAsync` (method) — Forgets a paste buffer.
- `BuildListBuffersArguments` (method)
- `GetBuffersAsync` (method) — Reads the paste buffers.
- `GetBufferLinesAsync` (method) — Reads the paste buffers as tmux rendered them.
- `Chain` (method) — Begins a chain that runs its commands in one tmux invocation.
- `GetClientsAsync` (method) — Reads the clients attached to this server.
- `DetachClientAsync` (method) — Detaches one client.
- `DetachAllClientsAsync` (method) — Detaches every client except one.
- `LockClientAsync` (method) — Locks one client.
- `SuspendClientAsync` (method) — Suspends one client.
- `RefreshClientAsync` (method) — Redraws one client.
- `SwitchClientAsync` (method) — Switches the caller's client to another session.
- `GetSessionsAsync` (method) — Reads every session on this server.
- `GetSessionsStrictAsync` (method)
- `GetAttachedSessionsAsync` (method) — Reads every session with at least one attached client.
- `GetWindowsAsync` (method) — Reads every window on this server.
- `GetWindowsStrictAsync` (method)
- `GetPanesAsync` (method) — Reads every pane on this server.
- `GetPanesStrictAsync` (method)
- `Server` (method)
- `ExecuteCommandAsync` (method) — Executes one raw tmux command.
- `EnterControlModeAsync` (method) — Starts a tmux control client and keeps it running.
- `BuildDisplayMessageArguments` (method) — Builds the arguments a message request sends.
- `DisplayMessageAsync` (method) — Shows a message on a client.
- `BuildRunShellArguments` (method) — Builds the arguments a shell request sends.
- `RunShellAsync` (method) — Runs a shell command and reports what it printed.
- `IfShellAsync` (method) — Runs one tmux command or another depending on a shell command.
- `BuildIfShellArguments` (method)
- `WaitForAsync` (method) — Waits on, signals, or locks a tmux channel.
- `OpenWaitChannel` (method) — Opens a wait on a channel that survives a timed attempt.
- `BuildWaitForArguments` (method)
- `FromEnvironment` (method) — Returns the server whose pane this process was spawned in.
- `ConnectionOptions` (property) — Gets the connection options.
- `Generation` (property) — Gets the materialized server generation.
- `IsMaterialized` (property) — Gets whether this handle has discovered a live server.
- `RawVersion` (property)
- `Connection` (property)
- `Open` (method) — Opens an unmaterialized server connection handle.
- `ConnectAsync` (method) — Connects to a configured tmux endpoint.
- `GetSessionAsync` (method) — Gets one session by its typed identifier.
- `GetWindowAsync` (method) — Gets one window by its typed identifier.
- `GetPaneAsync` (method) — Gets one pane by its typed identifier.
- `Equals` (method)
- `GetHashCode` (method)
- `BuildCommandPromptArguments` (method) — Builds the arguments a prompt request sends.
- `ShowCommandPromptAsync` (method) — Asks a client for input and runs a command with the answer.
- `ClearPromptHistoryAsync` (method) — Forgets what has been typed at command prompts.
- `GetPromptHistoryAsync` (method) — Reads what has been typed at command prompts.
- `BuildConfirmBeforeArguments` (method) — Builds the arguments a confirmation request sends.
- `ConfirmBeforeAsync` (method) — Asks a client to confirm before running a command.
- `BuildDisplayMenuArguments` (method) — Builds the arguments a menu request sends.
- `ShowMenuAsync` (method) — Shows a menu on a client.
- `BindKeyAsync` (method) — Binds a key to a tmux command.
- `BuildBindKeyArguments` (method)
- `UnbindKeyAsync` (method) — Removes a key binding.
- `BuildUnbindKeyArguments` (method)
- `GetKeysAsync` (method) — Reads the key bindings.
- `StartServerAsync` (method) — Starts the tmux server without creating a session.
- `IsAliveAsync` (method) — Reports whether a tmux server is answering.
- `RaiseIfDeadAsync` (method) — Throws unless a tmux server is answering.
- `KillAsync` (method) — Stops the tmux server.
- `KillSessionAsync` (method) — Stops one session.
- `HasSessionAsync` (method) — Reports whether a session exists.
- `CreateSessionAsync` (method) — Creates a session.
- `CreateOwnedAsync` (method) — Starts a server and takes ownership of it.
- `CreateOwnedSessionAsync` (method) — Creates a session and takes ownership of it.
- `AttachSessionAsync` (method) — Attaches a client to a session on this server.
- `BuildNewSessionArguments` (method)
- `Options` (property) — Gets the options of this server.
- `Hooks` (property) — Gets the hooks of this server.
- `Environment` (property) — Gets the environment new sessions inherit from.
- `Sessions` (property) — Gets the sessions this handle captured.
- `Windows` (property) — Gets the windows this handle captured, across every session.
- `Panes` (property) — Gets the panes this handle captured, across every window.
- `Clients` (property) — Gets the clients this handle captured.
- `CaptureSnapshotAsync` (method) — Reads the server and answers a handle carrying what it found.
- `Version` (property) — Gets the captured tmux version.
