# LibTmux.Workspace.WorkspaceFile

- **Module:** LibTmux.Workspace
- **Package:** LibTmux.Workspace
- **Language:** C#
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/cf34b255c896d19a97e7d7fabea58609c916012d/src/LibTmux.Workspace/WorkspaceFile.cs#L211
- **Page:** https://libtmux.org/en/csharp/latest/workspace/reference/libtmux-workspace-workspacefile/

Describes the supported subset of one tmuxp workspace.

Parsing rejects keys that require tmuxp's Python hooks or plugins. It does
not execute or silently discard configuration outside this model.

## Members

### Collections and queries

- `Windows` (property): Gets the windows to create, in order.

### Common operations

- `Parse` (method): Reads a workspace from tmuxp YAML or JSON.
- `Resolve` (method): Resolves inherited pane directories against an explicit document base.

### Other members

- `BeforeCommands` (property): Gets the typed commands prepended at this declaration level.
- `BeforeScript` (property): Gets the host command retained without expansion or execution by parsing or resolution.
- `DocumentDirectory` (property): Gets the absolute document directory supplied to resolution, or null before resolution.
- `Environment` (property): Gets the environment entries contributed by this declaration.
- `FromSnapshot` (method): Creates a workspace declaration from a captured session without reaching tmux.
- `GlobalOptions` (property): Gets the global session options to set before creating the declared windows.
- `Options` (property): Gets the session options to set.
- `SessionName` (property): Gets the session name.
- `ShellCommandsBefore` (property): Gets the commands prepended at this declaration level.
- `StartDirectory` (property): Gets the directory its windows start in.
- `WithDefaults` (method): Returns a declaration with replacement environment and pre-command defaults.
- `WorkspaceFile` (method): Initializes a workspace description.
