# Concepts

Source: https://libtmux.org/en/csharp/latest/concepts/

> tmux objects, command transports, queries, and workspaces.

libtmux lets you create sessions, arrange windows and panes, send commands, and
read output from tmux. Start with the object hierarchy, then read about the
transport, query, or workspace behavior your program needs.

Use the API reference for signatures, defaults, and failure conditions.

- [Server, session, window, pane](https://libtmux.org/en/csharp/latest/concepts/server-session-window-pane/): Understand the tmux object hierarchy and attached clients.
- [Control mode vs one-shot](https://libtmux.org/en/csharp/latest/concepts/transports/): Choose subprocess commands, persistent connections, and batching.
- [Filtering and queries](https://libtmux.org/en/csharp/latest/concepts/queries/): Find objects and handle absent or ambiguous matches.
- [Workspaces](https://libtmux.org/en/csharp/latest/concepts/workspaces/): Build pane layouts from code or configuration files.
