# コンセプト

Source: https://libtmux.org/ja/tmux/concepts/

> tmux のサーバー、セッション、ウィンドウ、ペインの仕組み。

libtmux は tmux
のサーバー、セッション、ウィンドウ、ペインを操作するライブラリです。まずオブジェクト階層を確認し、必要に応じて通信方式、クエリ、ワークスペースの説明を参照してください。

各ページでは、共通する概念と実装ごとの違いを説明します。

- **[サーバー、セッション、ウィンドウ、ペイン](https://libtmux.org/ja/tmux/concepts/server-session-window-pane/)**: tmux 自身が定義するオブジェクト階層と、その外側にある唯一の存在
  (アタッチ中のクライアント)。
- **[コントロールモードとワンショット](https://libtmux.org/ja/tmux/concepts/transports/)**: プログラム内の呼び出しが実際に tmux サーバーへ届くまでの経路。コマンドごとの
  サブプロセス、持続的なコントロールモードのクライアント、あるいは複数の
  コマンドを一回の呼び出しにまとめる方式。
- **[フィルタリングとクエリ](https://libtmux.org/ja/tmux/concepts/queries/)**: 「サーバー上のすべてのセッション」から「目的のペイン一つ」へ絞り込む方法と、
  一致が零件または複数件だったときに何が起きるか。
- **[ワークスペース](https://libtmux.org/ja/tmux/concepts/workspaces/)**: 複数ペインのレイアウトを手作業ではなくコードから組み立てる方法と、
  多くの実装がオブジェクト API と併せて提供する tmuxp 型の宣言的ビルダー。

各言語の API リファレンスを開くには、ヘッダーの実装へのリンクを使ってください。
