# config.Workspace

**Workspace Manager concept example** A working example of the core library. It can change without notice.

- **Module:** config
- **Package:** @libtmux/workspace
- **Language:** TypeScript
- **Kind:** typealias
- **Source:** https://github.com/libtmux/libtmux-ts/blob/46cccfef2a546de55ce8b308249b8c76339089a0/packages/workspace/src/config.ts#L38
- **Page:** https://libtmux.org/en/ts/latest/workspace/reference/config-workspace/

```ts
type Workspace = {
  options?: Record<string, WorkspaceOptionValue> | undefined;
  session_name: string;
  start_directory?: string | undefined;
  windows: WorkspaceWindow[];
}
```

A validated workspace with every schema default and transform applied.

## In other ports

Describe a workspace as data

| Language | Equivalent |
| --- | --- |
| Python | tmuxp uses configuration dictionaries rather than a dedicated workspace value type |
| Ruby | [`LibTmux::Workspace`](/en/ruby/latest/workspace/reference/libtmux-workspace/) (class) |
| Rust | [`config.Workspace`](/en/rs/latest/workspace/reference/config-workspace/) (struct) |
| Go | [`workspace.Workspace`](/en/go/latest/workspace/reference/workspace-workspace/) (struct) |
| Java | [`io.github.libtmux.workspace.Workspace`](/en/java/latest/workspace/reference/io-github-libtmux-workspace-workspace-workspace/) (class) |
| C# | [`LibTmux.Workspace.WorkspaceFile`](/en/csharp/latest/workspace/reference/libtmux-workspace-workspacefile/) (class) |
| C++ | [`libtmux::workspace::Workspace`](/en/cxx/latest/workspace/reference/libtmux-workspace-workspace/) (struct) |
| Swift | [`Workspace`](/en/swift/latest/workspace/reference/workspace/) (struct) |

No equivalent is recorded in Lua, PowerShell, Julia, Elixir, Kotlin, Scala or F#.
