# C++ API reference

Source: https://libtmux.org/en/cxx/latest/reference/

> Types, methods, and functions in libtmux for C++.

C++ API

1099 symbols, extracted from source. Every type name in a signature links to its own entry; every cross-reference in a doc comment resolves against the same table.

Server 4 types, 3 functions and constants

[Server 56 members](https://libtmux.org/en/cxx/latest/reference/libtmux-server/)

One tmux server, addressed by the socket it listens on.

[ServerImplementation 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-serverimplementation/)

Which server answered: tmux, a compatible reimplementation, or not yet determined.

[ServerFeature 12 members](https://libtmux.org/en/cxx/latest/reference/libtmux-serverfeature/)

Coarse-grained promises callers choose around.

[ServerCapabilities 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-servercapabilities/)

What this server is known to support, decided without asking it.

* kSocketPathLimit : std::size\_t

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/socket.hpp#L35)] [¶](#libtmux::kSocketPathLimit "Permalink to kSocketPathLimit")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/socket.hpp#L35)] [¶](#libtmux::kSocketPathLimit "Permalink to kSocketPathLimit")

  kSocketPathLimit

- socket\_name\_arguments ( *name : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") >, [SocketError](https://libtmux.org/en/cxx/latest/reference/libtmux-socketerror/ "libtmux::SocketError") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/socket.hpp#L61)] [¶](#libtmux::socket_name_arguments "Permalink to socket_name_arguments")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/socket.hpp#L61)] [¶](#libtmux::socket_name_arguments "Permalink to socket_name_arguments")

  socket\_name\_arguments

  `-L name`: a single component resolved under the socket directory.

* socket\_path\_arguments ( *path : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") >, [SocketError](https://libtmux.org/en/cxx/latest/reference/libtmux-socketerror/ "libtmux::SocketError") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/socket.hpp#L77)] [¶](#libtmux::socket_path_arguments "Permalink to socket_path_arguments")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/socket.hpp#L77)] [¶](#libtmux::socket_path_arguments "Permalink to socket_path_arguments")

  socket\_path\_arguments

  `-S path`: used verbatim, so the address limit applies to it directly.

Session 3 types, 12 functions and constants

[Session 33 members](https://libtmux.org/en/cxx/latest/reference/libtmux-session/)

One session, as one listing saw it.

[formatter\<libtmux::Session> 1 members](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-session/)

[hash\<libtmux::Session> 0 members](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-session/)

Hashing an entity uses exactly what its equality compares, so values from separate listings key an unordered container consistently.

* SessionId : [EntityId](https://libtmux.org/en/cxx/latest/reference/libtmux-entityid/ "libtmux::EntityId")< struct SessionIdKind >

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L212)] [¶](#libtmux::SessionId "Permalink to SessionId")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L212)] [¶](#libtmux::SessionId "Permalink to SessionId")

  SessionId

- attached : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1059)] [¶](#libtmux::session::attached "Permalink to attached")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1059)] [¶](#libtmux::session::attached "Permalink to attached")

  attached

* client\_count : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1067)] [¶](#libtmux::session::client_count "Permalink to client_count")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1067)] [¶](#libtmux::session::client_count "Permalink to client_count")

  client\_count

- created : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1074)] [¶](#libtmux::session::created "Permalink to created")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1074)] [¶](#libtmux::session::created "Permalink to created")

  created

* group : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1063)] [¶](#libtmux::session::group "Permalink to group")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1063)] [¶](#libtmux::session::group "Permalink to group")

  group

- grouped : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1065)] [¶](#libtmux::session::grouped "Permalink to grouped")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1065)] [¶](#libtmux::session::grouped "Permalink to grouped")

  grouped

* id : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1055)] [¶](#libtmux::session::id "Permalink to id")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1055)] [¶](#libtmux::session::id "Permalink to id")

  id

- name : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1057)] [¶](#libtmux::session::name "Permalink to name")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1057)] [¶](#libtmux::session::name "Permalink to name")

  name

* path : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1061)] [¶](#libtmux::session::path "Permalink to path")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1061)] [¶](#libtmux::session::path "Permalink to path")

  path

- window\_count : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1069)] [¶](#libtmux::session::window_count "Permalink to window_count")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1069)] [¶](#libtmux::session::window_count "Permalink to window_count")

  window\_count

* is\_session\_id ( *value : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L44)] [¶](#libtmux::is_session_id "Permalink to is_session_id")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L44)] [¶](#libtmux::is_session_id "Permalink to is_session_id")

  is\_session\_id

- session\_target ( *session : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)"), [TargetError](https://libtmux.org/en/cxx/latest/reference/libtmux-targeterror/ "libtmux::TargetError") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L63)] [¶](#libtmux::session_target "Permalink to session_target")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L63)] [¶](#libtmux::session_target "Permalink to session_target")

  session\_target

  A session target is its id, or its validated name.

Window 4 types, 17 functions and constants

[Window 44 members](https://libtmux.org/en/cxx/latest/reference/libtmux-window/)

One window, as one listing saw it.

[formatter\<libtmux::Window> 1 members](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-window/)

[hash\<libtmux::Window> 0 members](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-window/)

Hashing a window, on the same terms as its equality.

[Window 10 members](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-window/)

* WindowId : [EntityId](https://libtmux.org/en/cxx/latest/reference/libtmux-entityid/ "libtmux::EntityId")< struct WindowIdKind >

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L213)] [¶](#libtmux::WindowId "Permalink to WindowId")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L213)] [¶](#libtmux::WindowId "Permalink to WindowId")

  WindowId

- active : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1087)] [¶](#libtmux::window::active "Permalink to active")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1087)] [¶](#libtmux::window::active "Permalink to active")

  active

* activity : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1099)] [¶](#libtmux::window::activity "Permalink to activity")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1099)] [¶](#libtmux::window::activity "Permalink to activity")

  activity

- bell : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1097)] [¶](#libtmux::window::bell "Permalink to bell")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1097)] [¶](#libtmux::window::bell "Permalink to bell")

  bell

* height : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1107)] [¶](#libtmux::window::height "Permalink to height")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1107)] [¶](#libtmux::window::height "Permalink to height")

  height

- id : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1083)] [¶](#libtmux::window::id "Permalink to id")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1083)] [¶](#libtmux::window::id "Permalink to id")

  id

* index : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1101)] [¶](#libtmux::window::index "Permalink to index")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1101)] [¶](#libtmux::window::index "Permalink to index")

  index

- layout : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1093)] [¶](#libtmux::window::layout "Permalink to layout")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1093)] [¶](#libtmux::window::layout "Permalink to layout")

  layout

* linked\_sessions : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1109)] [¶](#libtmux::window::linked_sessions "Permalink to linked_sessions")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1109)] [¶](#libtmux::window::linked_sessions "Permalink to linked_sessions")

  linked\_sessions

- name : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1085)] [¶](#libtmux::window::name "Permalink to name")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1085)] [¶](#libtmux::window::name "Permalink to name")

  name

* pane\_count : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1103)] [¶](#libtmux::window::pane_count "Permalink to pane_count")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1103)] [¶](#libtmux::window::pane_count "Permalink to pane_count")

  pane\_count

- session\_id : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1089)] [¶](#libtmux::window::session_id "Permalink to session_id")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1089)] [¶](#libtmux::window::session_id "Permalink to session_id")

  session\_id

* session\_name : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1091)] [¶](#libtmux::window::session_name "Permalink to session_name")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1091)] [¶](#libtmux::window::session_name "Permalink to session_name")

  session\_name

- width : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1105)] [¶](#libtmux::window::width "Permalink to width")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1105)] [¶](#libtmux::window::width "Permalink to width")

  width

* zoomed : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1095)] [¶](#libtmux::window::zoomed "Permalink to zoomed")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1095)] [¶](#libtmux::window::zoomed "Permalink to zoomed")

  zoomed

- is\_window\_id ( *value : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L41)] [¶](#libtmux::is_window_id "Permalink to is_window_id")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L41)] [¶](#libtmux::is_window_id "Permalink to is_window_id")

  is\_window\_id

* window\_target ( *session : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *window : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)"), [TargetError](https://libtmux.org/en/cxx/latest/reference/libtmux-targeterror/ "libtmux::TargetError") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L72)] [¶](#libtmux::window_target "Permalink to window_target")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L72)] [¶](#libtmux::window_target "Permalink to window_target")

  window\_target

  A window target is its id, which needs no session, or `session:window`.

Pane 4 types, 26 functions and constants

[Pane 58 members](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/)

One pane, as one listing saw it.

[formatter\<libtmux::Pane> 1 members](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-pane/)

[hash\<libtmux::Pane> 0 members](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-pane/)

Hashing a pane, on the same terms as its equality.

[Pane 5 members](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-pane/)

* PaneId : [EntityId](https://libtmux.org/en/cxx/latest/reference/libtmux-entityid/ "libtmux::EntityId")< struct PaneIdKind >

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L214)] [¶](#libtmux::PaneId "Permalink to PaneId")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L214)] [¶](#libtmux::PaneId "Permalink to PaneId")

  PaneId

- active : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1120)] [¶](#libtmux::pane::active "Permalink to active")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1120)] [¶](#libtmux::pane::active "Permalink to active")

  active

* at\_bottom : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1148)] [¶](#libtmux::pane::at_bottom "Permalink to at_bottom")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1148)] [¶](#libtmux::pane::at_bottom "Permalink to at_bottom")

  at\_bottom

- at\_left : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1150)] [¶](#libtmux::pane::at_left "Permalink to at_left")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1150)] [¶](#libtmux::pane::at_left "Permalink to at_left")

  at\_left

* at\_right : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1152)] [¶](#libtmux::pane::at_right "Permalink to at_right")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1152)] [¶](#libtmux::pane::at_right "Permalink to at_right")

  at\_right

- at\_top : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1146)] [¶](#libtmux::pane::at_top "Permalink to at_top")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1146)] [¶](#libtmux::pane::at_top "Permalink to at_top")

  at\_top

* command : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1118)] [¶](#libtmux::pane::command "Permalink to command")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1118)] [¶](#libtmux::pane::command "Permalink to command")

  command

- dead : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1134)] [¶](#libtmux::pane::dead "Permalink to dead")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1134)] [¶](#libtmux::pane::dead "Permalink to dead")

  dead

* exit\_status : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1165)] [¶](#libtmux::pane::exit_status "Permalink to exit_status")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1165)] [¶](#libtmux::pane::exit_status "Permalink to exit_status")

  exit\_status

- height : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1144)] [¶](#libtmux::pane::height "Permalink to height")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1144)] [¶](#libtmux::pane::height "Permalink to height")

  height

* id : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1116)] [¶](#libtmux::pane::id "Permalink to id")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1116)] [¶](#libtmux::pane::id "Permalink to id")

  id

- in\_mode : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1136)] [¶](#libtmux::pane::in_mode "Permalink to in_mode")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1136)] [¶](#libtmux::pane::in_mode "Permalink to in_mode")

  in\_mode

* index : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1138)] [¶](#libtmux::pane::index "Permalink to index")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1138)] [¶](#libtmux::pane::index "Permalink to index")

  index

- left : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1156)] [¶](#libtmux::pane::left "Permalink to left")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1156)] [¶](#libtmux::pane::left "Permalink to left")

  left

* path : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1132)] [¶](#libtmux::pane::path "Permalink to path")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1132)] [¶](#libtmux::pane::path "Permalink to path")

  path

- pid : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1140)] [¶](#libtmux::pane::pid "Permalink to pid")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1140)] [¶](#libtmux::pane::pid "Permalink to pid")

  pid

* piping : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1154)] [¶](#libtmux::pane::piping "Permalink to piping")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1154)] [¶](#libtmux::pane::piping "Permalink to piping")

  piping

- session\_id : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1124)] [¶](#libtmux::pane::session_id "Permalink to session_id")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1124)] [¶](#libtmux::pane::session_id "Permalink to session_id")

  session\_id

* session\_name : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1126)] [¶](#libtmux::pane::session_name "Permalink to session_name")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1126)] [¶](#libtmux::pane::session_name "Permalink to session_name")

  session\_name

- title : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1128)] [¶](#libtmux::pane::title "Permalink to title")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1128)] [¶](#libtmux::pane::title "Permalink to title")

  title

* top : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1158)] [¶](#libtmux::pane::top "Permalink to top")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1158)] [¶](#libtmux::pane::top "Permalink to top")

  top

- tty : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1130)] [¶](#libtmux::pane::tty "Permalink to tty")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1130)] [¶](#libtmux::pane::tty "Permalink to tty")

  tty

* width : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1142)] [¶](#libtmux::pane::width "Permalink to width")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1142)] [¶](#libtmux::pane::width "Permalink to width")

  width

- window\_id : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1122)] [¶](#libtmux::pane::window_id "Permalink to window_id")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1122)] [¶](#libtmux::pane::window_id "Permalink to window_id")

  window\_id

* is\_pane\_id ( *value : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L38)] [¶](#libtmux::is_pane_id "Permalink to is_pane_id")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L38)] [¶](#libtmux::is_pane_id "Permalink to is_pane_id")

  is\_pane\_id

  Whether a value is written as an id, which is what decides that it needs no separator validation below — not whether tmux would resolve it.

  `x` is an id by this test and no pane by tmux's, and both are right: it carries no separator, so composing it can only produce the caller's own mistake back.

- pane\_target ( *session : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *window : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *pane : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)"), [TargetError](https://libtmux.org/en/cxx/latest/reference/libtmux-targeterror/ "libtmux::TargetError") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L89)] [¶](#libtmux::pane_target "Permalink to pane_target")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L89)] [¶](#libtmux::pane_target "Permalink to pane_target")

  pane\_target

  A pane target is its id, or `session:window.pane`.

Client 3 types, 10 functions and constants

[Client 17 members](https://libtmux.org/en/cxx/latest/reference/libtmux-client/)

One attached client, as one listing saw it.

[formatter\<libtmux::Client> 1 members](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-client/)

[hash\<libtmux::Client> 0 members](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-client/)

Hashing a client, on the same terms as its equality.

* control\_mode : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1184)] [¶](#libtmux::client::control_mode "Permalink to control_mode")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1184)] [¶](#libtmux::client::control_mode "Permalink to control_mode")

  control\_mode

- created : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1190)] [¶](#libtmux::client::created "Permalink to created")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1190)] [¶](#libtmux::client::created "Permalink to created")

  created

* height : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1188)] [¶](#libtmux::client::height "Permalink to height")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1188)] [¶](#libtmux::client::height "Permalink to height")

  height

- last\_activity : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1194)] [¶](#libtmux::client::last_activity "Permalink to last_activity")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1194)] [¶](#libtmux::client::last_activity "Permalink to last_activity")

  last\_activity

* name : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1174)] [¶](#libtmux::client::name "Permalink to name")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1174)] [¶](#libtmux::client::name "Permalink to name")

  name

- read\_only : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1178)] [¶](#libtmux::client::read_only "Permalink to read_only")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1178)] [¶](#libtmux::client::read_only "Permalink to read_only")

  read\_only

* session\_name : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1176)] [¶](#libtmux::client::session_name "Permalink to session_name")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1176)] [¶](#libtmux::client::session_name "Permalink to session_name")

  session\_name

- terminal : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1182)] [¶](#libtmux::client::terminal "Permalink to terminal")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1182)] [¶](#libtmux::client::terminal "Permalink to terminal")

  terminal

* tty : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1180)] [¶](#libtmux::client::tty "Permalink to tty")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1180)] [¶](#libtmux::client::tty "Permalink to tty")

  tty

- width : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1186)] [¶](#libtmux::client::width "Permalink to width")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1186)] [¶](#libtmux::client::width "Permalink to width")

  width

Options 2 types

[EnvironmentEntry 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-environmententry/)

[OptionEntry 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-optionentry/)

One option as tmux reports it: its name, its value, and the array index it sits at when it is an array option.

Options — Functions 3 functions and constants

* parse\_option ( *line : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [std::optional](https://en.cppreference.com/w/cpp/utility/optional "std::optional (external)")< [OptionEntry](https://libtmux.org/en/cxx/latest/reference/libtmux-optionentry/ "libtmux::OptionEntry") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/options.hpp#L132)] [¶](#libtmux::parse_option "Permalink to parse_option")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/options.hpp#L132)] [¶](#libtmux::parse_option "Permalink to parse_option")

  parse\_option

  Parse one line.

  Returns nullopt for a blank line so callers can feed raw output straight in.

- parse\_options ( *output : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [OptionEntry](https://libtmux.org/en/cxx/latest/reference/libtmux-optionentry/ "libtmux::OptionEntry") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/options.hpp#L172)] [¶](#libtmux::parse_options "Permalink to parse_options")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/options.hpp#L172)] [¶](#libtmux::parse_options "Permalink to parse_options")

  parse\_options

* unquote ( *value : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/options.hpp#L59)] [¶](#libtmux::unquote "Permalink to unquote")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/options.hpp#L59)] [¶](#libtmux::unquote "Permalink to unquote")

  unquote

  Undo the quoting tmux applies when it prints a value.

  tmux picks one of four forms, and a reader that knows only one corrupts the rest: `''` for an empty value; double quotes when the value contains any of / `#';${}`; single quotes when it contains a double quote; and otherwise no / quotes at all. Inside any of them the body is escaped the way `vis` does it / — `\t`, `\n`, `\\`, `\ooo` for a byte with no printable form — and a / leading tilde is escaped whether or not anything else is. / / This is the inverse of tmux's own `args_escape`, so a value read here and written back is the value that was there.

Keys and bindings 4 functions and constants

* kNamedKeys : std::array

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/keys.hpp#L38)] [¶](#libtmux::kNamedKeys "Permalink to kNamedKeys")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/keys.hpp#L38)] [¶](#libtmux::kNamedKeys "Permalink to kNamedKeys")

  kNamedKeys

  Named keys tmux accepts, taken from the table in its own key-string.c at the oldest supported release.

  Function keys are generated rather than listed, and a single character is handled separately.

- is\_function\_key ( *name : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/keys.hpp#L60)] [¶](#libtmux::is_function_key "Permalink to is_function_key")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/keys.hpp#L60)] [¶](#libtmux::is_function_key "Permalink to is_function_key")

  is\_function\_key

* is\_key\_name ( *key : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/keys.hpp#L82)] [¶](#libtmux::is_key_name "Permalink to is_key_name")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/keys.hpp#L82)] [¶](#libtmux::is_key_name "Permalink to is_key_name")

  is\_key\_name

  Accept a key with any number of C-, M-, or S- modifiers.

- literal\_arguments ( *text : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") >, [KeyError](https://libtmux.org/en/cxx/latest/reference/libtmux-keyerror/ "libtmux::KeyError") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/keys.hpp#L115)] [¶](#libtmux::literal_arguments "Permalink to literal_arguments")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/keys.hpp#L115)] [¶](#libtmux::literal_arguments "Permalink to literal_arguments")

  literal\_arguments

  Send text exactly as written: the flag, the end of flags, and the text.

  `--` is part of the fragment rather than something a caller appends, because text beginning with a dash is read as another `send-keys` option without it and that is not a mistake worth making twice. It was made twice: this returned the flag and the text alone, [`Pane::send_text` ](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-send_text/)inserted the separator afterwards, and [`Chain::send_text` ](https://libtmux.org/en/cxx/latest/reference/libtmux-chain-send_text/)did not — so the same text through the two spellings reached tmux as two different commands.

Buffers 1 type, 4 functions and constants

[Buffer 9 members](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer/)

A named piece of text the server holds, outliving the pane it came from.

* created : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Buffer](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer/ "libtmux::Buffer") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1227)] [¶](#libtmux::buffer::created "Permalink to created")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1227)] [¶](#libtmux::buffer::created "Permalink to created")

  created

- name : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Buffer](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer/ "libtmux::Buffer") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1219)] [¶](#libtmux::buffer::name "Permalink to name")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1219)] [¶](#libtmux::buffer::name "Permalink to name")

  name

* sample : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Buffer](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer/ "libtmux::Buffer") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1223)] [¶](#libtmux::buffer::sample "Permalink to sample")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1223)] [¶](#libtmux::buffer::sample "Permalink to sample")

  sample

- size : [NumberFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/ "libtmux::NumberFieldHandle")< [Buffer](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer/ "libtmux::Buffer") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1221)] [¶](#libtmux::buffer::size "Permalink to size")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1221)] [¶](#libtmux::buffer::size "Permalink to size")

  size

Terminal capabilities 1 function or constant

* to\_string ( *implementation : [ServerImplementation](https://libtmux.org/en/cxx/latest/reference/libtmux-serverimplementation/ "libtmux::ServerImplementation")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *backend : [BackendKind](https://libtmux.org/en/cxx/latest/reference/libtmux-backendkind/ "libtmux::BackendKind")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *feature : [ServerFeature](https://libtmux.org/en/cxx/latest/reference/libtmux-serverfeature/ "libtmux::ServerFeature")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *error : [CardinalityError](https://libtmux.org/en/cxx/latest/reference/libtmux-cardinalityerror/ "libtmux::CardinalityError")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *kind : [FailureKind](https://libtmux.org/en/cxx/latest/reference/libtmux-failurekind/ "libtmux::FailureKind")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *failure : const [CommandFailure](https://libtmux.org/en/cxx/latest/reference/libtmux-commandfailure/ "libtmux::CommandFailure") &&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") ( *status : [DeliveryStatus](https://libtmux.org/en/cxx/latest/reference/libtmux-deliverystatus/ "libtmux::DeliveryStatus")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *session : const [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/ "libtmux::Session") &&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") ( *window : const [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/ "libtmux::Window") &&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") ( *pane : const [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/ "libtmux::Pane") &&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") ( *client : const [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/ "libtmux::Client") &&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") ( *error : [KeyError](https://libtmux.org/en/cxx/latest/reference/libtmux-keyerror/ "libtmux::KeyError")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *kind : [NotificationKind](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationkind/ "libtmux::NotificationKind")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *error : [SocketError](https://libtmux.org/en/cxx/latest/reference/libtmux-socketerror/ "libtmux::SocketError")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *error : [TargetError](https://libtmux.org/en/cxx/latest/reference/libtmux-targeterror/ "libtmux::TargetError")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *error : [VersionError](https://libtmux.org/en/cxx/latest/reference/libtmux-versionerror/ "libtmux::VersionError")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")

  functionoverload16 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capabilities.hpp#L20)] [¶](#libtmux::to_string "Permalink to to_string")

  functionoverload16 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capabilities.hpp#L20)] [¶](#libtmux::to_string "Permalink to to_string")

  to\_string

Versions 1 type, 8 functions and constants

[Version 5 members](https://libtmux.org/en/cxx/latest/reference/libtmux-version/)

A tmux version, ordered so a feature gate can compare against a literal.

* kMinimumSupported : [Version](https://libtmux.org/en/cxx/latest/reference/libtmux-version/ "libtmux::Version")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L136)] [¶](#libtmux::kMinimumSupported "Permalink to kMinimumSupported")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L136)] [¶](#libtmux::kMinimumSupported "Permalink to kMinimumSupported")

  kMinimumSupported

  The oldest release this library supports, matching the Python package.

- LIBTMUX\_VERSION\_MAJOR

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L160)] [¶](#version.hpp::LIBTMUX_VERSION_MAJOR "Permalink to LIBTMUX_VERSION_MAJOR")

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L160)] [¶](#version.hpp::LIBTMUX_VERSION_MAJOR "Permalink to LIBTMUX_VERSION_MAJOR")

  LIBTMUX\_VERSION\_MAJOR

* LIBTMUX\_VERSION\_MINOR

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L161)] [¶](#version.hpp::LIBTMUX_VERSION_MINOR "Permalink to LIBTMUX_VERSION_MINOR")

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L161)] [¶](#version.hpp::LIBTMUX_VERSION_MINOR "Permalink to LIBTMUX_VERSION_MINOR")

  LIBTMUX\_VERSION\_MINOR

- LIBTMUX\_VERSION\_PATCH

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L162)] [¶](#version.hpp::LIBTMUX_VERSION_PATCH "Permalink to LIBTMUX_VERSION_PATCH")

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L162)] [¶](#version.hpp::LIBTMUX_VERSION_PATCH "Permalink to LIBTMUX_VERSION_PATCH")

  LIBTMUX\_VERSION\_PATCH

* LIBTMUX\_VERSION\_STRING

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L163)] [¶](#version.hpp::LIBTMUX_VERSION_STRING "Permalink to LIBTMUX_VERSION_STRING")

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L163)] [¶](#version.hpp::LIBTMUX_VERSION_STRING "Permalink to LIBTMUX_VERSION_STRING")

  LIBTMUX\_VERSION\_STRING

- is\_supported ( *version : const [Version](https://libtmux.org/en/cxx/latest/reference/libtmux-version/ "libtmux::Version") &&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L138)] [¶](#libtmux::is_supported "Permalink to is_supported")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L138)] [¶](#libtmux::is_supported "Permalink to is_supported")

  is\_supported

* library\_version ( ) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L143)] [¶](#libtmux::library_version "Permalink to library_version")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L143)] [¶](#libtmux::library_version "Permalink to library_version")

  library\_version

  This package's own version, not tmux's.

- parse\_version ( *output : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [Version](https://libtmux.org/en/cxx/latest/reference/libtmux-version/ "libtmux::Version"), [VersionError](https://libtmux.org/en/cxx/latest/reference/libtmux-versionerror/ "libtmux::VersionError") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L65)] [¶](#libtmux::parse_version "Permalink to parse_version")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/version.hpp#L65)] [¶](#libtmux::parse_version "Permalink to parse_version")

  parse\_version

  Parse the first line of `tmux -V`, with or without its trailing newline.

Commands 17 types, 5 functions and constants

[AttachCommand 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-attachcommand/)

An attach argv and the private route selecting this server incarnation.

[Command 6 members](https://libtmux.org/en/cxx/latest/reference/libtmux-command/)

One command this tmux understands.

[CommandArgument 6 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandargument/)

One argument, carrying whether any part of it is a secret.

[CommandBatch 6 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandbatch/)

The argv a chain becomes: commands joined by tmux's separator.

[CommandExecutor 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandexecutor/)

[CommandOperation 7 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandoperation/)

Move-only result handle for one admitted command; its methods are not concurrent.

[CommandRuntime 11 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandruntime/)

Move-only owner of the transport threads, admission bound, and observations.

[ReadyStatus 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-readystatus/)

[ArgumentSensitivity 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-argumentsensitivity/)

Whether an argument may appear in a diagnostic, a log, or an error message.

[WaitPath 6 members](https://libtmux.org/en/cxx/latest/reference/libtmux-waitpath/)

[CommandFailure 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandfailure/)

A command that did not produce an answer, and how far it got.

[CommandReport 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandreport/)

Told about every command, as it finishes.

[CommandRuntimeConfig 1 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandruntimeconfig/)

The maximum number of accepted commands retaining any lifecycle leg.

[CommandRuntimeShutdown 5 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandruntimeshutdown/)

The first successful [`close` ](https://libtmux.org/en/cxx/latest/reference/libtmux-commandruntime-close/)report; every later call returns this value.

[ExecutionPolicy 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-executionpolicy/)

What a call waits and holds when the caller did not say.

[formatter\<libtmux::CommandFailure> 1 members](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-commandfailure/)

[Command 5 members](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-command/)

* CommandObserver : [std::function](https://en.cppreference.com/w/cpp/utility/functional/function "std::function (external)")< [void](https://en.cppreference.com/w/cpp/language/void "void (external)")(const [CommandReport](https://libtmux.org/en/cxx/latest/reference/libtmux-commandreport/ "libtmux::CommandReport") &)>

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/command.hpp#L227)] [¶](#libtmux::CommandObserver "Permalink to CommandObserver")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/command.hpp#L227)] [¶](#libtmux::CommandObserver "Permalink to CommandObserver")

  CommandObserver

  Every member expires on return; a caller keeping any of it copies it.

- alias : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Command](https://libtmux.org/en/cxx/latest/reference/libtmux-command/ "libtmux::Command") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1210)] [¶](#libtmux::command::alias "Permalink to alias")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1210)] [¶](#libtmux::command::alias "Permalink to alias")

  alias

* kCommandSeparator : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/batch.hpp#L23)] [¶](#libtmux::kCommandSeparator "Permalink to kCommandSeparator")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/batch.hpp#L23)] [¶](#libtmux::kCommandSeparator "Permalink to kCommandSeparator")

  kCommandSeparator

- name : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Command](https://libtmux.org/en/cxx/latest/reference/libtmux-command/ "libtmux::Command") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1208)] [¶](#libtmux::command::name "Permalink to name")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1208)] [¶](#libtmux::command::name "Permalink to name")

  name

* usage : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< [Command](https://libtmux.org/en/cxx/latest/reference/libtmux-command/ "libtmux::Command") >

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1212)] [¶](#libtmux::command::usage "Permalink to usage")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L1212)] [¶](#libtmux::command::usage "Permalink to usage")

  usage

Control mode 10 types, 4 functions and constants

[Connection 15 members](https://libtmux.org/en/cxx/latest/reference/libtmux-connection/)

One held-open control client.

[NotificationRange 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationrange/)

Everything tmux says, until the deadline, as one loop.

[iterator 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationrange-iterator/)

Single-pass, and the value it yields is borrowed: advancing invalidates the notification the previous dereference viewed.

[NotificationWatch 6 members](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationwatch/)

One independent view of outside-block events emitted after opening.

[Parser 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-parser/)

The control-mode wire format, decoded into whole events.

[ControlTerminal 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-controlterminal/)

How tmux closed a reply block: normally, or reporting a failure.

[ControlBlock 8 members](https://libtmux.org/en/cxx/latest/reference/libtmux-controlblock/)

One reply block, framed between tmux's [`begin` ](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationrange-begin/)and its terminator.

[ControlCommand 1 members](https://libtmux.org/en/cxx/latest/reference/libtmux-controlcommand/)

One command as argv, before it is joined into a control-mode line.

[Notification 1 members](https://libtmux.org/en/cxx/latest/reference/libtmux-notification/)

One control event tmux sent unprompted, still as bytes.

[ParsedNotification 8 members](https://libtmux.org/en/cxx/latest/reference/libtmux-parsednotification/)

A notification's arguments, as views into the notification it was read from.

* kDefaultLineBytes : std::size\_t

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/control.hpp#L56)] [¶](#libtmux::kDefaultLineBytes "Permalink to kDefaultLineBytes")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/control.hpp#L56)] [¶](#libtmux::kDefaultLineBytes "Permalink to kDefaultLineBytes")

  kDefaultLineBytes

- kDefaultRetainedReplyBytes : std::size\_t

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/control.hpp#L55)] [¶](#libtmux::kDefaultRetainedReplyBytes "Permalink to kDefaultRetainedReplyBytes")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/control.hpp#L55)] [¶](#libtmux::kDefaultRetainedReplyBytes "Permalink to kDefaultRetainedReplyBytes")

  kDefaultRetainedReplyBytes

  How much of one reply a decoder holds, and how long a single line may grow before the stream is called broken.

  A subprocess ends and gives its memory back; a connection does not, so the bound has to be in the decoder rather than in whatever reads it afterwards. The reply bound is the subprocess transport's capture limit, so the same call costs the same memory over either transport. The line bound has no subprocess equivalent: it is the point past which an unterminated line is evidence of a broken stream rather than a large answer.

* layout\_contains\_pane ( *layout\_change\_text : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *pane\_id : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [std::optional](https://en.cppreference.com/w/cpp/utility/optional "std::optional (external)")< [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/notification.hpp#L111)] [¶](#libtmux::layout_contains_pane "Permalink to layout_contains_pane")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/notification.hpp#L111)] [¶](#libtmux::layout_contains_pane "Permalink to layout_contains_pane")

  layout\_contains\_pane

- parse ( *notification : const [Notification](https://libtmux.org/en/cxx/latest/reference/libtmux-notification/ "libtmux::Notification") &&#x20;*) → [ParsedNotification](https://libtmux.org/en/cxx/latest/reference/libtmux-parsednotification/ "libtmux::ParsedNotification") ( *Notification &&&#x20;*) → [ParsedNotification](https://libtmux.org/en/cxx/latest/reference/libtmux-parsednotification/ "libtmux::ParsedNotification")

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/notification.hpp#L93)] [¶](#libtmux::parse "Permalink to parse")

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/notification.hpp#L93)] [¶](#libtmux::parse "Permalink to parse")

  parse

Formats 2 types, 4 functions and constants

[FormatBuilder 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-formatbuilder/)

Build a format from alternating literal and variable pieces so a caller never hand-concatenates and forgets to escape one of them.

[FormatArgument 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-formatargument/)

Where a tmux subcommand wants its format string.

* kFormatEscape : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L55)] [¶](#libtmux::kFormatEscape "Permalink to kFormatEscape")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L55)] [¶](#libtmux::kFormatEscape "Permalink to kFormatEscape")

  kFormatEscape

  A separator absent from every format name is not absent from every format value, which is the whole difficulty.

  tmux rename-window 'a␞b\` is accepted, and one such name used to make every window and pane listing on that server fail to split — data the caller never chose breaking reads of everything else.

  So tmux escapes the separator before it can be mistaken for one. U+241B pairs with it and is escaped in turn, which is what makes the transform reversible: `␛S` is a separator that was in the value and `␛E` is an escape marker that was, and neither has a second reading.

- kFormatSeparator : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L43)] [¶](#libtmux::kFormatSeparator "Permalink to kFormatSeparator")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L43)] [¶](#libtmux::kFormatSeparator "Permalink to kFormatSeparator")

  kFormatSeparator

  tmux joins requested formats with a separator that cannot appear in a format name.

  U+241E matches the Python implementation's default so both can read the same recorded output.

  It is multi-byte, so every tmux this library starts is passed `-u`: a tmux that believes the terminal is not UTF-8 substitutes an underscore and no row splits at all.

* escape\_literal ( *text : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/format.hpp#L18)] [¶](#libtmux::escape_literal "Permalink to escape_literal")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/format.hpp#L18)] [¶](#libtmux::escape_literal "Permalink to escape_literal")

  escape\_literal

  Escape literal text for inclusion in a format string.

- variable ( *name : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/format.hpp#L32)] [¶](#libtmux::variable "Permalink to variable")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/format.hpp#L32)] [¶](#libtmux::variable "Permalink to variable")

  variable

  Wrap a variable name as a substitution.

  The name is not escaped: a name is chosen by the caller from tmux's format vocabulary, not built from data.

Queries 1 type, 21 functions and constants

[Group 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-group/)

Several expressions combined, all of them or any of them.

* Referenced : std::ranges::input\_range

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L35)] [¶](#libtmux::Referenced "Permalink to Referenced")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L35)] [¶](#libtmux::Referenced "Permalink to Referenced")

  Referenced

  A borrowed element of a range, rather than a copy of it.

  These lookups reference an element of the range they were given, so the range has to outlive the result. That is why they take an lvalue.

- RelatedMany : typename Entity

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L68)] [¶](#libtmux::RelatedMany "Permalink to RelatedMany")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L68)] [¶](#libtmux::RelatedMany "Permalink to RelatedMany")

  RelatedMany

  The related entity is whatever the accessor yields, so a bare flag field can stand in for a predicate here exactly as it does in [`matching` ](https://libtmux.org/en/cxx/latest/reference/libtmux-matching/).

* RelatedOne : typename Entity

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L72)] [¶](#libtmux::RelatedOne "Permalink to RelatedOne")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L72)] [¶](#libtmux::RelatedOne "Permalink to RelatedOne")

  RelatedOne

  The entity on the far side of a to-one link, with the accessor's indirection and qualifiers stripped away.

- all\_of ( *typename Entity&#x20;*, *name : [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")&#x20;*, *read : auto&#x20;*, *predicate : auto&#x20;*) → typename Entity

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L109)] [¶](#libtmux::all_of "Permalink to all_of")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L109)] [¶](#libtmux::all_of "Permalink to all_of")

  all\_of

* any\_of ( *typename Entity&#x20;*, *name : [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")&#x20;*, *read : auto&#x20;*, *predicate : auto&#x20;*) → typename Entity

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L104)] [¶](#libtmux::any_of "Permalink to any_of")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L104)] [¶](#libtmux::any_of "Permalink to any_of")

  any\_of

- children\_of ( *typename Parent&#x20;*, *typename Child&#x20;*, *rows : const [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< Child > &&#x20;*, *foreign\_key : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< Child >&#x20;*, *key : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< Parent >&#x20;*) → typename Parent ( *typename Parent&#x20;*, *typename Child&#x20;*, *const std::vector< Child > &&&#x20;*, *StringFieldHandle< Child >&#x20;*, *StringFieldHandle< Parent >&#x20;*) → typename Parent

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L32)] [¶](#libtmux::children_of "Permalink to children_of")

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L32)] [¶](#libtmux::children_of "Permalink to children_of")

  children\_of

  Join two listings on the id one of them carries.

  A relation predicate has to reach the related rows without running tmux, so the caller lists both kinds once and links them here. The result borrows the rows it was given, exactly as a filtered view does, so it must not outlive the listing it reads.

* exactly\_one ( *Range : ReferenceRange&#x20;*, *range : Range &&#x20;*) → ReferenceRange

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L62)] [¶](#libtmux::exactly_one "Permalink to exactly_one")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L62)] [¶](#libtmux::exactly_one "Permalink to exactly_one")

  exactly\_one

  [`exactly_one` ](https://libtmux.org/en/cxx/latest/reference/libtmux-exactly_one/)states that several is a caller error, and says which one.

  Discussed in [Filtering and querying, in practice](https://libtmux.org/en/guides/querying-and-filtering/)

- exactly\_one\_owned ( *Range : std::ranges::input\_range&#x20;*, *range : Range &&&#x20;*) → std::ranges::input\_range

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L105)] [¶](#libtmux::exactly_one_owned "Permalink to exactly_one_owned")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L105)] [¶](#libtmux::exactly_one_owned "Permalink to exactly_one_owned")

  exactly\_one\_owned

* first ( *Range : ReferenceRange&#x20;*, *range : Range &&#x20;*) → ReferenceRange

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L52)] [¶](#libtmux::first "Permalink to first")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L52)] [¶](#libtmux::first "Permalink to first")

  first

  [`first` ](https://libtmux.org/en/cxx/latest/reference/libtmux-first/)states that a caller tolerates extras; it never reports several.

- first\_owned ( *Range : std::ranges::input\_range&#x20;*, *range : Range &&&#x20;*) → std::ranges::input\_range

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L86)] [¶](#libtmux::first_owned "Permalink to first_owned")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/cardinality.hpp#L86)] [¶](#libtmux::first_owned "Permalink to first_owned")

  first\_owned

* is ( *typename Entity&#x20;*, *name : [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")&#x20;*, *read : auto&#x20;*, *predicate : auto&#x20;*) → typename Entity

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L121)] [¶](#libtmux::is "Permalink to is")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L121)] [¶](#libtmux::is "Permalink to is")

  is

  An absent to-one link never satisfies [`is` ](https://libtmux.org/en/cxx/latest/reference/libtmux-is/): a window with no active pane is not a window whose active pane runs an editor.

- lookup\_of ( *name : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [StringOp](https://libtmux.org/en/cxx/latest/reference/libtmux-stringop/ "libtmux::StringOp"), [LookupParseError](https://libtmux.org/en/cxx/latest/reference/libtmux-lookupparseerror/ "libtmux::LookupParseError") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/legacy_lookup.hpp#L30)] [¶](#libtmux::lookup_of "Permalink to lookup_of")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/legacy_lookup.hpp#L30)] [¶](#libtmux::lookup_of "Permalink to lookup_of")

  lookup\_of

  `eq` is the implicit lookup, matching Python's bare `field=value`.

  An empty name reaches here only from a key that carried no separator at all; a key ending in one is refused before this is asked.

* lower ( *typename Entity&#x20;*, *typename Sink&#x20;*, *expr : const [FilterExpr](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr/ "libtmux::FilterExpr")< Entity > &&#x20;*, *sink : [Sink](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-sink/ "libtmux::mcp::Sink") &&#x20;*) → typename Entity

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/lowering.hpp#L92)] [¶](#libtmux::lower "Permalink to lower")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/lowering.hpp#L92)] [¶](#libtmux::lower "Permalink to lower")

  lower

  A sink receives one call per node in prefix order.

  Groups and negations are bracketed by begin/end so a sink never has to count operands itself.

- matching ( *typename Entity&#x20;*, *expr : [FilterExpr](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr/ "libtmux::FilterExpr")< Entity >&#x20;*) → typename Entity

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/filter_expr.hpp#L376)] [¶](#libtmux::matching "Permalink to matching")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/filter_expr.hpp#L376)] [¶](#libtmux::matching "Permalink to matching")

  matching

  `matching(expr)` is a range adaptor closure so it composes with std views.

* matching ( *typename Entity&#x20;*, *expr : [FilterExpr](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr/ "libtmux::FilterExpr")< Entity >&#x20;*) → typename Entity ( *typename Entity&#x20;*, *field : [BoolFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/ "libtmux::BoolFieldHandle")< Entity >&#x20;*) → typename Entity

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/filter_expr.hpp#L364)] [¶](#libtmux::tmuxq::matching "Permalink to matching")

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/filter_expr.hpp#L364)] [¶](#libtmux::tmuxq::matching "Permalink to matching")

  matching

  `matching(expr)` is a range adaptor closure so it composes with std views.

- name\_of ( *op : [StringOp](https://libtmux.org/en/cxx/latest/reference/libtmux-stringop/ "libtmux::StringOp")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") ( *op : [NumberOp](https://libtmux.org/en/cxx/latest/reference/libtmux-numberop/ "libtmux::NumberOp")&#x20;*) → [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/lowering.hpp#L20)] [¶](#libtmux::name_of "Permalink to name_of")

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/lowering.hpp#L20)] [¶](#libtmux::name_of "Permalink to name_of")

  name\_of

* none\_of ( *typename Entity&#x20;*, *name : [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")&#x20;*, *read : auto&#x20;*, *predicate : auto&#x20;*) → typename Entity

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L114)] [¶](#libtmux::none_of "Permalink to none_of")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L114)] [¶](#libtmux::none_of "Permalink to none_of")

  none\_of

- parent\_of ( *typename Child&#x20;*, *typename Parent&#x20;*, *rows : const [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< Parent > &&#x20;*, *foreign\_key : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< Child >&#x20;*, *key : [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< Parent >&#x20;*) → typename Child ( *typename Child&#x20;*, *typename Parent&#x20;*, *const std::vector< Parent > &&&#x20;*, *StringFieldHandle< Child >&#x20;*, *StringFieldHandle< Parent >&#x20;*) → typename Child

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L51)] [¶](#libtmux::parent_of "Permalink to parent_of")

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L51)] [¶](#libtmux::parent_of "Permalink to parent_of")

  parent\_of

  The same join read the other way: the one row a child points at, or none.

* parse\_lookup ( *typename Entity&#x20;*, *term : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *fields : [std::span](https://en.cppreference.com/w/cpp/container/span "std::span (external)")< const [StringFieldHandle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/ "libtmux::StringFieldHandle")< Entity > >&#x20;*) → typename Entity

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/legacy_lookup.hpp#L55)] [¶](#libtmux::parse_lookup "Permalink to parse_lookup")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/legacy_lookup.hpp#L55)] [¶](#libtmux::parse_lookup "Permalink to parse_lookup")

  parse\_lookup

  Parse one `field[__lookup]=value` term against a caller-supplied field table.

  The value is taken verbatim after the first `=`, so a value containing `=` or `__` survives unchanged; only the key is split.

- quantified ( *typename Entity&#x20;*, *name : [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")&#x20;*, *quantifier : [Quantifier](https://libtmux.org/en/cxx/latest/reference/libtmux-quantifier/ "libtmux::Quantifier")&#x20;*, *read : auto&#x20;*, *predicate : auto&#x20;*) → typename Entity

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L78)] [¶](#libtmux::quantified "Permalink to quantified")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/relations.hpp#L78)] [¶](#libtmux::quantified "Permalink to quantified")

  quantified

  To-many and to-one links take different accessors, so they get different builders rather than one that has to compile both shapes.

* replay ( *typename Sink&#x20;*, *nodes : const [LoweredExpression](https://libtmux.org/en/cxx/latest/reference/libtmux-loweredexpression/ "libtmux::LoweredExpression") &&#x20;*, *sink : [Sink](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-sink/ "libtmux::mcp::Sink") &&#x20;*) → typename [Sink](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-sink/ "libtmux::mcp::Sink")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/lowering.hpp#L55)] [¶](#libtmux::replay "Permalink to replay")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/lowering.hpp#L55)] [¶](#libtmux::replay "Permalink to replay")

  replay

  Replay an already-lowered child into a sink.

Queries — Fields 6 types

[BoolField 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfield/)

A flag on an entity, named for the expression and read through a function pointer rather than a member pointer so the same descriptor works for a field computed from several tmux tokens.

[BoolFieldHandle 1 members](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/)

The value a flag's name resolves to in an expression.

[NumberField 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfield/)

A numeric field on an entity, read as a number rather than as the text tmux sends, so `9` orders before `10`.

[NumberFieldHandle 1 members](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/)

The value a numeric field name resolves to in an expression, whose comparison operators build the node rather than comparing anything.

[StringField 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfield/)

A field is a named accessor: the name is what a future tmux-format lowering needs, the accessor is what in-memory evaluation needs.

[StringFieldHandle 5 members](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/)

A typed field handle.

Queries — Operators 5 types

[StringOp 5 members](https://libtmux.org/en/cxx/latest/reference/libtmux-stringop/)

How a text field is compared. [`iequals` ](https://libtmux.org/en/cxx/latest/reference/libtmux-stringop-iequals/)folds case; the rest do not.

[NumberOp 6 members](https://libtmux.org/en/cxx/latest/reference/libtmux-numberop/)

tmux renders a count, a size and an index as text.

[Combine 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-combine/)

Whether a group's operands must all hold or any one of them.

[Quantifier 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-quantifier/)

How a filter applies across a relation.

[Negation 1 members](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-negation/)

One expression inverted.

Queries — Expressions 2 types, 1 function or constant

[FilterExpr 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr/)

A filter over one entity type, as a value.

[LoweredNode 9 members](https://libtmux.org/en/cxx/latest/reference/libtmux-lowerednode/)

One node of a filter after it has been reduced to what tmux's `-f` format language can express.

* LoweredExpression : [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [LoweredNode](https://libtmux.org/en/cxx/latest/reference/libtmux-lowerednode/ "libtmux::LoweredNode") >

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/lowered_node.hpp#L45)] [¶](#libtmux::LoweredExpression "Permalink to LoweredExpression")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/lowered_node.hpp#L45)] [¶](#libtmux::LoweredExpression "Permalink to LoweredExpression")

  LoweredExpression

  A whole lowered filter, flat: children are referenced by index rather than owned, so the vector can be walked without recursion.

Snapshots 2 types, 6 functions and constants

[Snapshot 8 members](https://libtmux.org/en/cxx/latest/reference/libtmux-snapshot/)

Owning row storage, shared by every entity taken from it.

[CommandRuntimeSnapshot 8 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandruntimesnapshot/)

A lock-consistent instant; values may change immediately after it is read.

* capture\_lines ( *typename Text&#x20;*, *Text &&&#x20;*) → typename Text ( *output : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") >

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L31)] [¶](#libtmux::capture_lines "Permalink to capture_lines")

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L31)] [¶](#libtmux::capture_lines "Permalink to capture_lines")

  capture\_lines

  The lines are views into the text, so text that dies at the semicolon takes them with it — and `pane.capture()` returns its output by value, which makes `capture_lines(*pane.capture())` the natural thing to write and a use-after-free to run.

  Deleted for an rvalue string only: an lvalue string converts as before, and so does a literal.

- decode\_value ( *begin : [char](https://en.cppreference.com/w/cpp/language/types "char (external)") \*&#x20;*, *size : std::size\_t&#x20;*) → std::size\_t

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L101)] [¶](#libtmux::decode_value "Permalink to decode_value")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L101)] [¶](#libtmux::decode_value "Permalink to decode_value")

  decode\_value

  Undo that escaping, in place.

  Escaping only ever lengthens, so the decoded bytes fit where the encoded ones were: the write cursor never overtakes the read cursor, nothing moves, and nothing is allocated. Answers the decoded length.

  An escape marker followed by anything else is left as written. Output this library asked for contains no such sequence, and failing on one would mean a recording could not carry a literal `␛`.

* format\_request ( *fields : [std::span](https://en.cppreference.com/w/cpp/container/span "std::span (external)")< const [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") >&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L73)] [¶](#libtmux::format_request "Permalink to format_request")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L73)] [¶](#libtmux::format_request "Permalink to format_request")

  format\_request

  Build the format argument for one entity's fields, terminating every field so a trailing empty value is still a value rather than a missing column.

  The two substitutions nest rather than run in sequence, because tmux applies the inner one to the raw value and the outer one to its result. In that order a value already holding the escape marker is neutralised before the separator pass can produce one; reversed, the two become indistinguishable.

  `#{s/…/…/:…}` predates every tmux this library supports, and neither character is a regular-expression metacharacter.

  Unconditional, rather than applied only to the fields that could carry a separator. Expanding the substitutions costs about 0.32us per row — a 61-row listing pays 19us, against a process launch of some milliseconds — and a per-field exemption list is a thing to get wrong later, once, silently.

- output\_confirms ( *captured : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *wanted : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *sent : const [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") > & = {}&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L129)] [¶](#libtmux::output_confirms "Permalink to output_confirms")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L129)] [¶](#libtmux::output_confirms "Permalink to output_confirms")

  output\_confirms

* split\_row ( *line : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *fields : std::size\_t&#x20;*, *values : [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") > &&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L129)] [¶](#libtmux::split_row "Permalink to split_row")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/snapshot.hpp#L129)] [¶](#libtmux::split_row "Permalink to split_row")

  split\_row

  Split one tmux output line into its field values.

  The trailing separator emitted by [`format_request` ](https://libtmux.org/en/cxx/latest/reference/libtmux-format_request/)produces one empty tail element, which is dropped; a short or long row is reported rather than padded so a format-name typo cannot masquerade as an empty field.

- without\_trailing\_blanks ( *lines : [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") >&#x20;*) → [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L60)] [¶](#libtmux::without_trailing_blanks "Permalink to without_trailing_blanks")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L60)] [¶](#libtmux::without_trailing_blanks "Permalink to without_trailing_blanks")

  without\_trailing\_blanks

  Drop the blank rows a pane pads its height with, keeping blank lines that have content below them.

Requests 2 types

[CommandRequest 8 members](https://libtmux.org/en/cxx/latest/reference/libtmux-commandrequest/)

One tmux command as argv, with no shell between it and tmux.

[ControlRequest 1 members](https://libtmux.org/en/cxx/latest/reference/libtmux-controlrequest/)

The commands sent as one group, which tmux runs until one fails.

Errors 9 types, 9 functions and constants

[CardinalityError 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-cardinalityerror/)

Why a lookup that required exactly one match did not get one.

[KeyError 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-keyerror/)

Why a key name could not be resolved to something tmux accepts.

[LookupParseError 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-lookupparseerror/)

Why a legacy lookup string could not be read.

[SocketError 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-socketerror/)

Why a socket name or path was rejected before any server was contacted.

[TargetError 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-targeterror/)

Why a target could not be built from a name.

[VersionError 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-versionerror/)

Why a tmux version string could not be read.

[ProtocolError 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-protocolerror/)

Why a control operation stopped.

[BuildError 2 members](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-builderror/)

[ParseError 2 members](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-parseerror/)

* is\_validation\_reason : typename Reason

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L59)] [¶](#libtmux::is_validation_reason "Permalink to is_validation_reason")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L59)] [¶](#libtmux::is_validation_reason "Permalink to is_validation_reason")

  is\_validation\_reason

- is\_validation\_reason\<CardinalityError> : [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L62)] [¶](#libtmux::is_validation_reason<CardinalityError> "Permalink to is_validation_reason<CardinalityError>")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L62)] [¶](#libtmux::is_validation_reason<CardinalityError> "Permalink to is_validation_reason<CardinalityError>")

  is\_validation\_reason\<CardinalityError>

* is\_validation\_reason\<KeyError> : [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L65)] [¶](#libtmux::is_validation_reason<KeyError> "Permalink to is_validation_reason<KeyError>")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L65)] [¶](#libtmux::is_validation_reason<KeyError> "Permalink to is_validation_reason<KeyError>")

  is\_validation\_reason\<KeyError>

- is\_validation\_reason\<LookupParseError> : [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L63)] [¶](#libtmux::is_validation_reason<LookupParseError> "Permalink to is_validation_reason<LookupParseError>")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L63)] [¶](#libtmux::is_validation_reason<LookupParseError> "Permalink to is_validation_reason<LookupParseError>")

  is\_validation\_reason\<LookupParseError>

* is\_validation\_reason\<SocketError> : [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L61)] [¶](#libtmux::is_validation_reason<SocketError> "Permalink to is_validation_reason<SocketError>")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L61)] [¶](#libtmux::is_validation_reason<SocketError> "Permalink to is_validation_reason<SocketError>")

  is\_validation\_reason\<SocketError>

- is\_validation\_reason\<TargetError> : [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L60)] [¶](#libtmux::is_validation_reason<TargetError> "Permalink to is_validation_reason<TargetError>")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L60)] [¶](#libtmux::is_validation_reason<TargetError> "Permalink to is_validation_reason<TargetError>")

  is\_validation\_reason\<TargetError>

* is\_validation\_reason\<VersionError> : [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L64)] [¶](#libtmux::is_validation_reason<VersionError> "Permalink to is_validation_reason<VersionError>")

  attribute \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L64)] [¶](#libtmux::is_validation_reason<VersionError> "Permalink to is_validation_reason<VersionError>")

  is\_validation\_reason\<VersionError>

- as\_command\_failure ( *error : [ProtocolError](https://libtmux.org/en/cxx/latest/reference/libtmux-protocolerror/ "libtmux::ProtocolError")&#x20;*) → [CommandFailure](https://libtmux.org/en/cxx/latest/reference/libtmux-commandfailure/ "libtmux::CommandFailure") ( *typename Reason&#x20;*, *reason : Reason&#x20;*) → typename Reason

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L39)] [¶](#libtmux::as_command_failure "Permalink to as_command_failure")

  functionoverload2 overloads \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L39)] [¶](#libtmux::as_command_failure "Permalink to as_command_failure")

  as\_command\_failure

* as\_protocol\_error ( *failure : [CommandFailure](https://libtmux.org/en/cxx/latest/reference/libtmux-commandfailure/ "libtmux::CommandFailure")&#x20;*) → [ProtocolError](https://libtmux.org/en/cxx/latest/reference/libtmux-protocolerror/ "libtmux::ProtocolError")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L51)] [¶](#libtmux::as_protocol_error "Permalink to as_protocol_error")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/error.hpp#L51)] [¶](#libtmux::as_protocol_error "Permalink to as_protocol_error")

  as\_protocol\_error

Constants and enums 11 types, 1 function or constant

[BackendKind 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-backendkind/)

How commands reach the server: by spawning a process, or through a backend the caller supplied.

[FailureKind 11 members](https://libtmux.org/en/cxx/latest/reference/libtmux-failurekind/)

Why a command did not produce an answer, in the order a caller would diagnose them: bad before it left, then how it left, then what came back.

[NotificationKind 26 members](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationkind/)

What a notification is, once its name and arguments have been read.

[CaptureOptions 7 members](https://libtmux.org/en/cxx/latest/reference/libtmux-captureoptions/)

Which part of a pane's screen and scrollback a capture reads.

[ConnectionOptions 9 members](https://libtmux.org/en/cxx/latest/reference/libtmux-connectionoptions/)

How to start a control-mode connection, and what it is allowed to buffer.

[ControlRequestResult 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-controlrequestresult/)

What one request produced: its reply blocks, and the connection error that ended the exchange if one did.

[ExecutorOptions 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-executoroptions/)

[RespawnOptions 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-respawnoptions/)

[SplitOptions 8 members](https://libtmux.org/en/cxx/latest/reference/libtmux-splitoptions/)

What a creation command can be told.

[WaitOptions 8 members](https://libtmux.org/en/cxx/latest/reference/libtmux-waitoptions/)

[WaitResult 8 members](https://libtmux.org/en/cxx/latest/reference/libtmux-waitresult/)

* Event : [std::variant](https://en.cppreference.com/w/cpp/utility/variant "std::variant (external)")< [ControlBlock](https://libtmux.org/en/cxx/latest/reference/libtmux-controlblock/ "libtmux::ControlBlock"), [Notification](https://libtmux.org/en/cxx/latest/reference/libtmux-notification/ "libtmux::Notification") >

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/control.hpp#L73)] [¶](#libtmux::Event "Permalink to Event")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/control.hpp#L73)] [¶](#libtmux::Event "Permalink to Event")

  Event

  Anything the parser produces: a reply to something asked, or something tmux said on its own.

  The two arrive interleaved on one stream.

Constants and enums — Session 1 type

[NewSessionOptions 7 members](https://libtmux.org/en/cxx/latest/reference/libtmux-newsessionoptions/)

What a new session is created as, including its first window.

Constants and enums — Window 1 type

[NewWindowOptions 7 members](https://libtmux.org/en/cxx/latest/reference/libtmux-newwindowoptions/)

What a new window is created as, and where it lands.

Testing utilities 10 types, 8 functions and constants

[EnvironmentGuard 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-test-environmentguard/)

Environment variables set for the lifetime of this value and restored on destruction, including the ones that were previously unset.

[ScopedTmuxServer 13 members](https://libtmux.org/en/cxx/latest/reference/libtmux-test-scopedtmuxserver/)

A tmux server that exists for the lifetime of this value.

[SocketMode 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-test-socketmode/)

Whether the test server is addressed by `tmux -L name` or `tmux -S path`.

[BoolTest 2 members](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-booltest/)

A flag compared against an expected value.

[NumberTest 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-numbertest/)

A numeric field compared against a number.

[RelationTest 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-relationtest/)

A relation crosses to another entity type, so its child expression cannot live in this variant.

[StringTest 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-stringtest/)

A text field compared against an operand this node owns.

[ScopedTmuxServerOptions 7 members](https://libtmux.org/en/cxx/latest/reference/libtmux-test-scopedtmuxserveroptions/)

How the test server is started and how long teardown may take.

[SocketNamespace 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-test-socketnamespace/)

Names the private tree, the socket and the `tmux -L` name, so concurrent suites cannot collide and a leftover directory identifies its owner.

[TeardownReport 1 members](https://libtmux.org/en/cxx/latest/reference/libtmux-test-teardownreport/)

What teardown could not clean up, so a suite can fail loudly rather than leave a server behind quietly.

* LIBTMUX\_REQUIRES\_TMUX

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/capabilities.hpp#L20)] [¶](#capabilities.hpp::LIBTMUX_REQUIRES_TMUX "Permalink to LIBTMUX_REQUIRES_TMUX")

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/capabilities.hpp#L20)] [¶](#capabilities.hpp::LIBTMUX_REQUIRES_TMUX "Permalink to LIBTMUX_REQUIRES_TMUX")

  LIBTMUX\_REQUIRES\_TMUX

  Skip unless tmux is at least `major.minor`, naming what is missing below it.

- LIBTMUX\_SKIP\_TMUX\_DEFECT

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/capabilities.hpp#L35)] [¶](#capabilities.hpp::LIBTMUX_SKIP_TMUX_DEFECT "Permalink to LIBTMUX_SKIP_TMUX_DEFECT")

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/capabilities.hpp#L35)] [¶](#capabilities.hpp::LIBTMUX_SKIP_TMUX_DEFECT "Permalink to LIBTMUX_SKIP_TMUX_DEFECT")

  LIBTMUX\_SKIP\_TMUX\_DEFECT

  Skip while tmux is inside a closed range of releases with a known defect.

  Both ends are inclusive, and `last` is the newest release still affected — so a fix in 3.6 is written as a window ending at 3.5.

* current\_environment ( ) → [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/scoped_server.hpp#L69)] [¶](#libtmux::test::current_environment "Permalink to current_environment")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/scoped_server.hpp#L69)] [¶](#libtmux::test::current_environment "Permalink to current_environment")

  current\_environment

  Build and edit a `NAME=VALUE` block for a child process.

  [`current_environment` ](https://libtmux.org/en/cxx/latest/reference/libtmux-test-current_environment/)copies this process's; [`set_environment` ](https://libtmux.org/en/cxx/latest/reference/libtmux-test-set_environment/)replaces any existing entry rather than appending; [`erase_environment` ](https://libtmux.org/en/cxx/latest/reference/libtmux-test-erase_environment/)removes every entry for the name.

- describe\_running\_tmux ( *tmux\_binary : const std::filesystem::path & = "tmux"&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/tmux_version.hpp#L27)] [¶](#libtmux::test::describe_running_tmux "Permalink to describe_running_tmux")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/tmux_version.hpp#L27)] [¶](#libtmux::test::describe_running_tmux "Permalink to describe_running_tmux")

  describe\_running\_tmux

  What `tmux -V` printed, verbatim, or "unknown".

* erase\_environment ( *environment : [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") > &&#x20;*, *name : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [void](https://en.cppreference.com/w/cpp/language/void "void (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/scoped_server.hpp#L72)] [¶](#libtmux::test::erase_environment "Permalink to erase_environment")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/scoped_server.hpp#L72)] [¶](#libtmux::test::erase_environment "Permalink to erase_environment")

  erase\_environment

- running\_tmux ( *tmux\_binary : const std::filesystem::path & = "tmux"&#x20;*) → [Version](https://libtmux.org/en/cxx/latest/reference/libtmux-version/ "libtmux::Version")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/tmux_version.hpp#L23)] [¶](#libtmux::test::running_tmux "Permalink to running_tmux")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/tmux_version.hpp#L23)] [¶](#libtmux::test::running_tmux "Permalink to running_tmux")

  running\_tmux

  Resolved once per distinct binary and cached.

  A tmux that cannot be run or whose version cannot be parsed reports as the newest possible version, so version-gated tests run and fail rather than silently skipping.

* same\_socket\_inode ( *left : const std::filesystem::path &&#x20;*, *right : const std::filesystem::path &&#x20;*) → [libtmux::expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)"), [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/scoped_server.hpp#L86)] [¶](#libtmux::test::same_socket_inode "Permalink to same_socket_inode")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/scoped_server.hpp#L86)] [¶](#libtmux::test::same_socket_inode "Permalink to same_socket_inode")

  same\_socket\_inode

- set\_environment ( *environment : [std::vector](https://en.cppreference.com/w/cpp/container/vector "std::vector (external)")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)") > &&#x20;*, *name : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *value : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [void](https://en.cppreference.com/w/cpp/language/void "void (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/scoped_server.hpp#L70)] [¶](#libtmux::test::set_environment "Permalink to set_environment")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/testing/scoped_server.hpp#L70)] [¶](#libtmux::test::set_environment "Permalink to set_environment")

  set\_environment

Internal 14 functions and constants

* bad\_expected\_access : typename Error

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/expected.hpp#L55)] [¶](#libtmux::bad_expected_access "Permalink to bad_expected_access")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/expected.hpp#L55)] [¶](#libtmux::bad_expected_access "Permalink to bad_expected_access")

  bad\_expected\_access

  What `value()` throws when there is none.

  Named here so a caller who wants an exception at a boundary can catch it in either standard's build.

- expected : typename Value

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/expected.hpp#L39)] [¶](#libtmux::expected "Permalink to expected")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/expected.hpp#L39)] [¶](#libtmux::expected "Permalink to expected")

  expected

  A value or the reason there is not one.

  `std::expected` where the standard library has it, and a drop-in otherwise, so a caller writes the same code either way. Nothing in this library throws to report a tmux failure.

* unexpected\_t : typename Error

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/expected.hpp#L47)] [¶](#libtmux::unexpected_t "Permalink to unexpected_t")

  typealias \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/expected.hpp#L47)] [¶](#libtmux::unexpected_t "Permalink to unexpected_t")

  unexpected\_t

  The error side of [`expected` ](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/), named for the rare declaration that has to spell it.

  Returning one is how a function reports a failure.

- LIBTMUX\_ABI\_NAMESPACE

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/abi.hpp#L19)] [¶](#abi.hpp::LIBTMUX_ABI_NAMESPACE "Permalink to LIBTMUX_ABI_NAMESPACE")

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/abi.hpp#L19)] [¶](#abi.hpp::LIBTMUX_ABI_NAMESPACE "Permalink to LIBTMUX_ABI_NAMESPACE")

  LIBTMUX\_ABI\_NAMESPACE

* LIBTMUX\_NAMESPACE\_BEGIN

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/abi.hpp#L22)] [¶](#abi.hpp::LIBTMUX_NAMESPACE_BEGIN "Permalink to LIBTMUX_NAMESPACE_BEGIN")

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/abi.hpp#L22)] [¶](#abi.hpp::LIBTMUX_NAMESPACE_BEGIN "Permalink to LIBTMUX_NAMESPACE_BEGIN")

  LIBTMUX\_NAMESPACE\_BEGIN

- LIBTMUX\_NAMESPACE\_END

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/abi.hpp#L26)] [¶](#abi.hpp::LIBTMUX_NAMESPACE_END "Permalink to LIBTMUX_NAMESPACE_END")

  constant \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/abi.hpp#L26)] [¶](#abi.hpp::LIBTMUX_NAMESPACE_END "Permalink to LIBTMUX_NAMESPACE_END")

  LIBTMUX\_NAMESPACE\_END

* is\_word\_byte ( *byte : unsigned [char](https://en.cppreference.com/w/cpp/language/types "char (external)")&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L69)] [¶](#libtmux::detail::is_word_byte "Permalink to is_word_byte")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L69)] [¶](#libtmux::detail::is_word_byte "Permalink to is_word_byte")

  is\_word\_byte

- mask\_whole\_occurrences ( *text : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *echo : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L75)] [¶](#libtmux::detail::mask_whole_occurrences "Permalink to mask_whole_occurrences")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/capture.hpp#L75)] [¶](#libtmux::detail::mask_whole_occurrences "Permalink to mask_whole_occurrences")

  mask\_whole\_occurrences

* same\_entity\_id ( *scoped\_by\_session : [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")&#x20;*, *left\_id : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *left\_session\_id : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *right\_id : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*, *right\_session\_id : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L251)] [¶](#libtmux::detail::same_entity_id "Permalink to same_entity_id")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L251)] [¶](#libtmux::detail::same_entity_id "Permalink to same_entity_id")

  same\_entity\_id

- server\_over ( *backend : [std::shared\_ptr](https://en.cppreference.com/w/cpp/memory/shared_ptr "std::shared_ptr (external)")< const Backend >&#x20;*) → [Server](https://libtmux.org/en/cxx/latest/reference/libtmux-server/ "libtmux::Server")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/server.hpp#L46)] [¶](#libtmux::detail::server_over "Permalink to server_over")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/server.hpp#L46)] [¶](#libtmux::detail::server_over "Permalink to server_over")

  server\_over

  Declared so the private constructor has exactly one way in.

  Defined in a header this package does not install.

* to\_flag ( *text : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [bool](https://en.cppreference.com/w/cpp/language/bool_literal "bool (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L233)] [¶](#libtmux::detail::to_flag "Permalink to to_flag")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L233)] [¶](#libtmux::detail::to_flag "Permalink to to_flag")

  to\_flag

  tmux renders flag formats as "1" or "0"; anything else is not the flag.

- to\_number ( *text : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [long](https://en.cppreference.com/w/cpp/language/types "long (external)") [long](https://en.cppreference.com/w/cpp/language/types "long (external)")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L225)] [¶](#libtmux::detail::to_number "Permalink to to_number")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L225)] [¶](#libtmux::detail::to_number "Permalink to to_number")

  to\_number

  tmux renders every value as text.

  These read the three shapes it uses, and answer zero, false or the epoch for a value it did not render — which within the supported version range means tmux had nothing to say, not that the token was unknown.

* to\_time ( *text : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → std::chrono::sys\_seconds

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L237)] [¶](#libtmux::detail::to_time "Permalink to to_time")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/entities.hpp#L237)] [¶](#libtmux::detail::to_time "Permalink to to_time")

  to\_time

- unexpected ( *typename Error&#x20;*, *error : Error &&&#x20;*) → typename Error

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/expected.hpp#L60)] [¶](#libtmux::unexpected "Permalink to unexpected")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/expected.hpp#L60)] [¶](#libtmux::unexpected "Permalink to unexpected")

  unexpected

  A factory rather than an alias: an alias template cannot deduce its argument, so `unexpected(error)` would stop compiling at every call site.

Other 5 types, 1 function or constant

[Chain 9 members](https://libtmux.org/en/cxx/latest/reference/libtmux-chain/)

Several commands built up and sent as one tmux invocation.

[EntityId 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-entityid/)

[NodeCollector 11 members](https://libtmux.org/en/cxx/latest/reference/libtmux-nodecollector/)

Collects a lowered expression.

[Row 3 members](https://libtmux.org/en/cxx/latest/reference/libtmux-detail-row/)

The storage every entity has, in one place: the snapshot that owns the bytes and which of its rows this entity is.

[DeliveryStatus 4 members](https://libtmux.org/en/cxx/latest/reference/libtmux-deliverystatus/)

How far a command is known to have got before something stopped it.

* path\_component ( *name : [std::string\_view](https://en.cppreference.com/w/cpp/string/basic_string_view "std::string_view (external)")&#x20;*) → [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/ "libtmux::expected")< [std::string](https://en.cppreference.com/w/cpp/string/basic_string "std::string (external)"), [TargetError](https://libtmux.org/en/cxx/latest/reference/libtmux-targeterror/ "libtmux::TargetError") >

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L51)] [¶](#libtmux::path_component "Permalink to path_component")

  function \[[source](https://github.com/libtmux/libtmux-cxx/blob/393d4b0ad666f18a6581f1eb281741a75a7503f0/include/libtmux/target.hpp#L51)] [¶](#libtmux::path_component "Permalink to path_component")

  path\_component

  Validate one path component.

  Ids skip validation because they contain no separator by construction.

## By module 20 modules

* libtmux 154

  * [Attach​Command](https://libtmux.org/en/cxx/latest/reference/libtmux-attachcommand/)
  * [Buffer](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer/)
  * [Chain](https://libtmux.org/en/cxx/latest/reference/libtmux-chain/)
  * [Client](https://libtmux.org/en/cxx/latest/reference/libtmux-client/)
  * [Command](https://libtmux.org/en/cxx/latest/reference/libtmux-command/)
  * [Command​Argument](https://libtmux.org/en/cxx/latest/reference/libtmux-commandargument/)
  * [Command​Batch](https://libtmux.org/en/cxx/latest/reference/libtmux-commandbatch/)
  * [Command​Executor](https://libtmux.org/en/cxx/latest/reference/libtmux-commandexecutor/)
  * [Command​Operation](https://libtmux.org/en/cxx/latest/reference/libtmux-commandoperation/)
  * [Command​Request](https://libtmux.org/en/cxx/latest/reference/libtmux-commandrequest/)
  * [Command​Runtime](https://libtmux.org/en/cxx/latest/reference/libtmux-commandruntime/)
  * [Connection](https://libtmux.org/en/cxx/latest/reference/libtmux-connection/)
  * [Entity​Id](https://libtmux.org/en/cxx/latest/reference/libtmux-entityid/)
  * [Filter​Expr](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr/)
  * [Format​Builder](https://libtmux.org/en/cxx/latest/reference/libtmux-formatbuilder/)
  * [Node​Collector](https://libtmux.org/en/cxx/latest/reference/libtmux-nodecollector/)
  * [Notification​Range](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationrange/)
  * [Notification​Watch](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationwatch/)
  * [Pane](https://libtmux.org/en/cxx/latest/reference/libtmux-pane/)
  * [Parser](https://libtmux.org/en/cxx/latest/reference/libtmux-parser/)
  * [Server](https://libtmux.org/en/cxx/latest/reference/libtmux-server/)
  * [Session](https://libtmux.org/en/cxx/latest/reference/libtmux-session/)
  * [Snapshot](https://libtmux.org/en/cxx/latest/reference/libtmux-snapshot/)
  * [Window](https://libtmux.org/en/cxx/latest/reference/libtmux-window/)
  * [Argument​Sensitivity](https://libtmux.org/en/cxx/latest/reference/libtmux-argumentsensitivity/)
  * [Backend​Kind](https://libtmux.org/en/cxx/latest/reference/libtmux-backendkind/)
  * [Cardinality​Error](https://libtmux.org/en/cxx/latest/reference/libtmux-cardinalityerror/)
  * [Combine](https://libtmux.org/en/cxx/latest/reference/libtmux-combine/)
  * [Control​Terminal](https://libtmux.org/en/cxx/latest/reference/libtmux-controlterminal/)
  * [Delivery​Status](https://libtmux.org/en/cxx/latest/reference/libtmux-deliverystatus/)
  * [Failure​Kind](https://libtmux.org/en/cxx/latest/reference/libtmux-failurekind/)
  * [Format​Argument](https://libtmux.org/en/cxx/latest/reference/libtmux-formatargument/)
  * [Key​Error](https://libtmux.org/en/cxx/latest/reference/libtmux-keyerror/)
  * [Lookup​Parse​Error](https://libtmux.org/en/cxx/latest/reference/libtmux-lookupparseerror/)
  * [Notification​Kind](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationkind/)
  * [Number​Op](https://libtmux.org/en/cxx/latest/reference/libtmux-numberop/)
  * [Quantifier](https://libtmux.org/en/cxx/latest/reference/libtmux-quantifier/)
  * [Ready​Status](https://libtmux.org/en/cxx/latest/reference/libtmux-readystatus/)
  * [Server​Feature](https://libtmux.org/en/cxx/latest/reference/libtmux-serverfeature/)
  * [Server​Implementation](https://libtmux.org/en/cxx/latest/reference/libtmux-serverimplementation/)
  * [Socket​Error](https://libtmux.org/en/cxx/latest/reference/libtmux-socketerror/)
  * [String​Op](https://libtmux.org/en/cxx/latest/reference/libtmux-stringop/)
  * [Target​Error](https://libtmux.org/en/cxx/latest/reference/libtmux-targeterror/)
  * [Version​Error](https://libtmux.org/en/cxx/latest/reference/libtmux-versionerror/)
  * [Wait​Path](https://libtmux.org/en/cxx/latest/reference/libtmux-waitpath/)
  * [Bool​Field](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfield/)
  * [Bool​Field​Handle](https://libtmux.org/en/cxx/latest/reference/libtmux-boolfieldhandle/)
  * [Capture​Options](https://libtmux.org/en/cxx/latest/reference/libtmux-captureoptions/)
  * [Command​Failure](https://libtmux.org/en/cxx/latest/reference/libtmux-commandfailure/)
  * [Command​Report](https://libtmux.org/en/cxx/latest/reference/libtmux-commandreport/)
  * [Command​Runtime​Config](https://libtmux.org/en/cxx/latest/reference/libtmux-commandruntimeconfig/)
  * [Command​Runtime​Shutdown](https://libtmux.org/en/cxx/latest/reference/libtmux-commandruntimeshutdown/)
  * [Command​Runtime​Snapshot](https://libtmux.org/en/cxx/latest/reference/libtmux-commandruntimesnapshot/)
  * [Connection​Options](https://libtmux.org/en/cxx/latest/reference/libtmux-connectionoptions/)
  * [Control​Block](https://libtmux.org/en/cxx/latest/reference/libtmux-controlblock/)
  * [Control​Command](https://libtmux.org/en/cxx/latest/reference/libtmux-controlcommand/)
  * [Control​Request](https://libtmux.org/en/cxx/latest/reference/libtmux-controlrequest/)
  * [Control​Request​Result](https://libtmux.org/en/cxx/latest/reference/libtmux-controlrequestresult/)
  * [Environment​Entry](https://libtmux.org/en/cxx/latest/reference/libtmux-environmententry/)
  * [Execution​Policy](https://libtmux.org/en/cxx/latest/reference/libtmux-executionpolicy/)
  * [Executor​Options](https://libtmux.org/en/cxx/latest/reference/libtmux-executoroptions/)
  * [Lowered​Node](https://libtmux.org/en/cxx/latest/reference/libtmux-lowerednode/)
  * [New​Session​Options](https://libtmux.org/en/cxx/latest/reference/libtmux-newsessionoptions/)
  * [New​Window​Options](https://libtmux.org/en/cxx/latest/reference/libtmux-newwindowoptions/)
  * [Notification](https://libtmux.org/en/cxx/latest/reference/libtmux-notification/)
  * [Number​Field](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfield/)
  * [Number​Field​Handle](https://libtmux.org/en/cxx/latest/reference/libtmux-numberfieldhandle/)
  * [Option​Entry](https://libtmux.org/en/cxx/latest/reference/libtmux-optionentry/)
  * [Parsed​Notification](https://libtmux.org/en/cxx/latest/reference/libtmux-parsednotification/)
  * [Protocol​Error](https://libtmux.org/en/cxx/latest/reference/libtmux-protocolerror/)
  * [Respawn​Options](https://libtmux.org/en/cxx/latest/reference/libtmux-respawnoptions/)
  * [Server​Capabilities](https://libtmux.org/en/cxx/latest/reference/libtmux-servercapabilities/)
  * [Split​Options](https://libtmux.org/en/cxx/latest/reference/libtmux-splitoptions/)
  * [String​Field](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfield/)
  * [String​Field​Handle](https://libtmux.org/en/cxx/latest/reference/libtmux-stringfieldhandle/)
  * [Version](https://libtmux.org/en/cxx/latest/reference/libtmux-version/)
  * [Wait​Options](https://libtmux.org/en/cxx/latest/reference/libtmux-waitoptions/)
  * [Wait​Result](https://libtmux.org/en/cxx/latest/reference/libtmux-waitresult/)
  * [is​\_validation​\_reason](https://libtmux.org/en/cxx/latest/reference/libtmux-is_validation_reason/)
  * [is​\_validation​\_reason\<Cardinality​Error>](https://libtmux.org/en/cxx/latest/reference/libtmux-is_validation_reason-cardinalityerror/)
  * [is​\_validation​\_reason\<Key​Error>](https://libtmux.org/en/cxx/latest/reference/libtmux-is_validation_reason-keyerror/)
  * [is​\_validation​\_reason\<Lookup​Parse​Error>](https://libtmux.org/en/cxx/latest/reference/libtmux-is_validation_reason-lookupparseerror/)
  * [is​\_validation​\_reason\<Socket​Error>](https://libtmux.org/en/cxx/latest/reference/libtmux-is_validation_reason-socketerror/)
  * [is​\_validation​\_reason\<Target​Error>](https://libtmux.org/en/cxx/latest/reference/libtmux-is_validation_reason-targeterror/)
  * [is​\_validation​\_reason\<Version​Error>](https://libtmux.org/en/cxx/latest/reference/libtmux-is_validation_reason-versionerror/)
  * [k​Command​Separator](https://libtmux.org/en/cxx/latest/reference/libtmux-kcommandseparator/)
  * [k​Default​Line​Bytes](https://libtmux.org/en/cxx/latest/reference/libtmux-kdefaultlinebytes/)
  * [k​Default​Retained​Reply​Bytes](https://libtmux.org/en/cxx/latest/reference/libtmux-kdefaultretainedreplybytes/)
  * [k​Format​Escape](https://libtmux.org/en/cxx/latest/reference/libtmux-kformatescape/)
  * [k​Format​Separator](https://libtmux.org/en/cxx/latest/reference/libtmux-kformatseparator/)
  * [k​Minimum​Supported](https://libtmux.org/en/cxx/latest/reference/libtmux-kminimumsupported/)
  * [k​Named​Keys](https://libtmux.org/en/cxx/latest/reference/libtmux-knamedkeys/)
  * [k​Socket​Path​Limit](https://libtmux.org/en/cxx/latest/reference/libtmux-ksocketpathlimit/)
  * [all​\_of](https://libtmux.org/en/cxx/latest/reference/libtmux-all_of/)
  * [any​\_of](https://libtmux.org/en/cxx/latest/reference/libtmux-any_of/)
  * [as​\_command​\_failure](https://libtmux.org/en/cxx/latest/reference/libtmux-as_command_failure/)
  * [as​\_protocol​\_error](https://libtmux.org/en/cxx/latest/reference/libtmux-as_protocol_error/)
  * [capture​\_lines](https://libtmux.org/en/cxx/latest/reference/libtmux-capture_lines/)
  * [children​\_of](https://libtmux.org/en/cxx/latest/reference/libtmux-children_of/)
  * [decode​\_value](https://libtmux.org/en/cxx/latest/reference/libtmux-decode_value/)
  * [escape​\_literal](https://libtmux.org/en/cxx/latest/reference/libtmux-escape_literal/)
  * [exactly​\_one](https://libtmux.org/en/cxx/latest/reference/libtmux-exactly_one/)
  * [exactly​\_one​\_owned](https://libtmux.org/en/cxx/latest/reference/libtmux-exactly_one_owned/)
  * [first](https://libtmux.org/en/cxx/latest/reference/libtmux-first/)
  * [first​\_owned](https://libtmux.org/en/cxx/latest/reference/libtmux-first_owned/)
  * [format​\_request](https://libtmux.org/en/cxx/latest/reference/libtmux-format_request/)
  * [is](https://libtmux.org/en/cxx/latest/reference/libtmux-is/)
  * [is​\_function​\_key](https://libtmux.org/en/cxx/latest/reference/libtmux-is_function_key/)
  * [is​\_key​\_name](https://libtmux.org/en/cxx/latest/reference/libtmux-is_key_name/)
  * [is​\_pane​\_id](https://libtmux.org/en/cxx/latest/reference/libtmux-is_pane_id/)
  * [is​\_session​\_id](https://libtmux.org/en/cxx/latest/reference/libtmux-is_session_id/)
  * [is​\_supported](https://libtmux.org/en/cxx/latest/reference/libtmux-is_supported/)
  * [is​\_window​\_id](https://libtmux.org/en/cxx/latest/reference/libtmux-is_window_id/)
  * [layout​\_contains​\_pane](https://libtmux.org/en/cxx/latest/reference/libtmux-layout_contains_pane/)
  * [library​\_version](https://libtmux.org/en/cxx/latest/reference/libtmux-library_version/)
  * [literal​\_arguments](https://libtmux.org/en/cxx/latest/reference/libtmux-literal_arguments/)
  * [lookup​\_of](https://libtmux.org/en/cxx/latest/reference/libtmux-lookup_of/)
  * [lower](https://libtmux.org/en/cxx/latest/reference/libtmux-lower/)
  * [matching](https://libtmux.org/en/cxx/latest/reference/libtmux-matching/)
  * [name​\_of](https://libtmux.org/en/cxx/latest/reference/libtmux-name_of/)
  * [none​\_of](https://libtmux.org/en/cxx/latest/reference/libtmux-none_of/)
  * [output​\_confirms](https://libtmux.org/en/cxx/latest/reference/libtmux-output_confirms/)
  * [pane​\_target](https://libtmux.org/en/cxx/latest/reference/libtmux-pane_target/)
  * [parent​\_of](https://libtmux.org/en/cxx/latest/reference/libtmux-parent_of/)
  * [parse](https://libtmux.org/en/cxx/latest/reference/libtmux-parse/)
  * [parse​\_lookup](https://libtmux.org/en/cxx/latest/reference/libtmux-parse_lookup/)
  * [parse​\_option](https://libtmux.org/en/cxx/latest/reference/libtmux-parse_option/)
  * [parse​\_options](https://libtmux.org/en/cxx/latest/reference/libtmux-parse_options/)
  * [parse​\_version](https://libtmux.org/en/cxx/latest/reference/libtmux-parse_version/)
  * [path​\_component](https://libtmux.org/en/cxx/latest/reference/libtmux-path_component/)
  * [quantified](https://libtmux.org/en/cxx/latest/reference/libtmux-quantified/)
  * [replay](https://libtmux.org/en/cxx/latest/reference/libtmux-replay/)
  * [session​\_target](https://libtmux.org/en/cxx/latest/reference/libtmux-session_target/)
  * [socket​\_name​\_arguments](https://libtmux.org/en/cxx/latest/reference/libtmux-socket_name_arguments/)
  * [socket​\_path​\_arguments](https://libtmux.org/en/cxx/latest/reference/libtmux-socket_path_arguments/)
  * [split​\_row](https://libtmux.org/en/cxx/latest/reference/libtmux-split_row/)
  * [to​\_string](https://libtmux.org/en/cxx/latest/reference/libtmux-to_string/)
  * [unexpected](https://libtmux.org/en/cxx/latest/reference/libtmux-unexpected/)
  * [unquote](https://libtmux.org/en/cxx/latest/reference/libtmux-unquote/)
  * [variable](https://libtmux.org/en/cxx/latest/reference/libtmux-variable/)
  * [window​\_target](https://libtmux.org/en/cxx/latest/reference/libtmux-window_target/)
  * [without​\_trailing​\_blanks](https://libtmux.org/en/cxx/latest/reference/libtmux-without_trailing_blanks/)
  * [bad​\_expected​\_access](https://libtmux.org/en/cxx/latest/reference/libtmux-bad_expected_access/)
  * [Command​Observer](https://libtmux.org/en/cxx/latest/reference/libtmux-commandobserver/)
  * [Event](https://libtmux.org/en/cxx/latest/reference/libtmux-event/)
  * [expected](https://libtmux.org/en/cxx/latest/reference/libtmux-expected/)
  * [Lowered​Expression](https://libtmux.org/en/cxx/latest/reference/libtmux-loweredexpression/)
  * [Pane​Id](https://libtmux.org/en/cxx/latest/reference/libtmux-paneid/)
  * [Referenced](https://libtmux.org/en/cxx/latest/reference/libtmux-referenced/)
  * [Related​Many](https://libtmux.org/en/cxx/latest/reference/libtmux-relatedmany/)
  * [Related​One](https://libtmux.org/en/cxx/latest/reference/libtmux-relatedone/)
  * [Session​Id](https://libtmux.org/en/cxx/latest/reference/libtmux-sessionid/)
  * [unexpected​\_t](https://libtmux.org/en/cxx/latest/reference/libtmux-unexpected_t/)
  * [Window​Id](https://libtmux.org/en/cxx/latest/reference/libtmux-windowid/)

* std 9

  * [formatter\<libtmux::​Client>](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-client/)
  * [formatter\<libtmux::​Command​Failure>](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-commandfailure/)
  * [formatter\<libtmux::​Pane>](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-pane/)
  * [formatter\<libtmux::​Session>](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-session/)
  * [formatter\<libtmux::​Window>](https://libtmux.org/en/cxx/latest/reference/std-formatter-libtmux-window/)
  * [hash\<libtmux::​Client>](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-client/)
  * [hash\<libtmux::​Pane>](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-pane/)
  * [hash\<libtmux::​Session>](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-session/)
  * [hash\<libtmux::​Window>](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-window/)

* abi.hpp 3

  * [LIBTMUX​\_ABI​\_NAMESPACE](https://libtmux.org/en/cxx/latest/reference/abi-hpp-libtmux_abi_namespace/)
  * [LIBTMUX​\_NAMESPACE​\_BEGIN](https://libtmux.org/en/cxx/latest/reference/abi-hpp-libtmux_namespace_begin/)
  * [LIBTMUX​\_NAMESPACE​\_END](https://libtmux.org/en/cxx/latest/reference/abi-hpp-libtmux_namespace_end/)

* capabilities.hpp 2

  * [LIBTMUX​\_REQUIRES​\_TMUX](https://libtmux.org/en/cxx/latest/reference/capabilities-hpp-libtmux_requires_tmux/)
  * [LIBTMUX​\_SKIP​\_TMUX​\_DEFECT](https://libtmux.org/en/cxx/latest/reference/capabilities-hpp-libtmux_skip_tmux_defect/)

* libtmux::buffer 4

  * [created](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer-created-h7cl/)
  * [name](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer-name-n46r/)
  * [sample](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer-sample-1ocw/)
  * [size](https://libtmux.org/en/cxx/latest/reference/libtmux-buffer-size-1ih1/)

* libtmux::client 10

  * [control​\_mode](https://libtmux.org/en/cxx/latest/reference/libtmux-client-control_mode-vqad/)
  * [created](https://libtmux.org/en/cxx/latest/reference/libtmux-client-created-1dtc/)
  * [height](https://libtmux.org/en/cxx/latest/reference/libtmux-client-height-19tm/)
  * [last​\_activity](https://libtmux.org/en/cxx/latest/reference/libtmux-client-last_activity-krbn/)
  * [name](https://libtmux.org/en/cxx/latest/reference/libtmux-client-name-et7n/)
  * [read​\_only](https://libtmux.org/en/cxx/latest/reference/libtmux-client-read_only-uoyl/)
  * [session​\_name](https://libtmux.org/en/cxx/latest/reference/libtmux-client-session_name-1yzv/)
  * [terminal](https://libtmux.org/en/cxx/latest/reference/libtmux-client-terminal-197l/)
  * [tty](https://libtmux.org/en/cxx/latest/reference/libtmux-client-tty-65zh/)
  * [width](https://libtmux.org/en/cxx/latest/reference/libtmux-client-width-l6pa/)

* libtmux::command 3

  * [alias](https://libtmux.org/en/cxx/latest/reference/libtmux-command-alias-1fzs/)
  * [name](https://libtmux.org/en/cxx/latest/reference/libtmux-command-name-193l/)
  * [usage](https://libtmux.org/en/cxx/latest/reference/libtmux-command-usage-d8og/)

* libtmux::detail 8

  * [Row](https://libtmux.org/en/cxx/latest/reference/libtmux-detail-row/)
  * [is​\_word​\_byte](https://libtmux.org/en/cxx/latest/reference/libtmux-detail-is_word_byte/)
  * [mask​\_whole​\_occurrences](https://libtmux.org/en/cxx/latest/reference/libtmux-detail-mask_whole_occurrences/)
  * [same​\_entity​\_id](https://libtmux.org/en/cxx/latest/reference/libtmux-detail-same_entity_id/)
  * [server​\_over](https://libtmux.org/en/cxx/latest/reference/libtmux-detail-server_over/)
  * [to​\_flag](https://libtmux.org/en/cxx/latest/reference/libtmux-detail-to_flag/)
  * [to​\_number](https://libtmux.org/en/cxx/latest/reference/libtmux-detail-to_number/)
  * [to​\_time](https://libtmux.org/en/cxx/latest/reference/libtmux-detail-to_time/)

* libtmux::FilterExpr 6

  * [Bool​Test](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-booltest/)
  * [Group](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-group/)
  * [Negation](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-negation/)
  * [Number​Test](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-numbertest/)
  * [Relation​Test](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-relationtest/)
  * [String​Test](https://libtmux.org/en/cxx/latest/reference/libtmux-filterexpr-stringtest/)

* libtmux::json\_wire 6

  * [k​Schema​Version](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-json_wire-kschemaversion/)
  * [from​\_json](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-json_wire-from_json/)
  * [is​\_known​\_field](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-json_wire-is_known_field/)
  * [kind​\_from](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-json_wire-kind_from/)
  * [name​\_of](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-json_wire-name_of/)
  * [to​\_json](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-json_wire-to_json/)

* libtmux::mcp 31

  * [Tool​Registry](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-toolregistry/)
  * [Argument​Type](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-argumenttype/)
  * [Effect](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-effect/)
  * [Input​Control](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-inputcontrol/)
  * [Input​Sink](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-inputsink/)
  * [Nested​Authority](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-nestedauthority/)
  * [Output​Class](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-outputclass/)
  * [Output​Shape](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-outputshape/)
  * [Process​Reach](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-processreach/)
  * [Toolset](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-toolset/)
  * [Arguments](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-arguments/)
  * [Call​Context](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-callcontext/)
  * [Flat​Arguments](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-flatarguments/)
  * [Parameter](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-parameter/)
  * [Read​Tool​Call](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-readtoolcall/)
  * [Sink](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-sink/)
  * [Structured​Value](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-structuredvalue/)
  * [Tool​Annotations](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-toolannotations/)
  * [Tool​Authority](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-toolauthority/)
  * [Tool​Definition](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-tooldefinition/)
  * [Tool​Error](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-toolerror/)
  * [Tool​Output](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-tooloutput/)
  * [Tool​Schema](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-toolschema/)
  * [Tool​Selection](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-toolselection/)
  * [k​Conservative​Annotations](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-kconservativeannotations/)
  * [configured​\_tools](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-configured_tools/)
  * [default​\_tools](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-default_tools/)
  * [parse​\_tool​\_selection](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-parse_tool_selection/)
  * [Argument​Map](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-argumentmap/)
  * [Handler](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-handler/)
  * [Tool​Result](https://libtmux.org/en/cxx/latest/mcp/reference/libtmux-mcp-toolresult/)

* libtmux::NotificationRange 1

  * [iterator](https://libtmux.org/en/cxx/latest/reference/libtmux-notificationrange-iterator/)

* libtmux::pane 23

  * [active](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-active-1lsu/)
  * [at​\_bottom](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-at_bottom-1fcx/)
  * [at​\_left](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-at_left-nnhz/)
  * [at​\_right](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-at_right-8bbz/)
  * [at​\_top](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-at_top-cxhf/)
  * [command](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-command-1csk/)
  * [dead](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-dead-fppz/)
  * [exit​\_status](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-exit_status-25ts/)
  * [height](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-height-13yh/)
  * [id](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-id-y6bn/)
  * [in​\_mode](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-in_mode-1flx/)
  * [index](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-index-b9np/)
  * [left](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-left-t0o5/)
  * [path](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-path-1usu/)
  * [pid](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-pid-wx6g/)
  * [piping](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-piping-1wse/)
  * [session​\_id](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-session_id-12gx/)
  * [session​\_name](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-session_name-mmse/)
  * [title](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-title-17ke/)
  * [top](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-top-1mvh/)
  * [tty](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-tty-1ovf/)
  * [width](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-width-um8i/)
  * [window​\_id](https://libtmux.org/en/cxx/latest/reference/libtmux-pane-window_id-5m7o/)

* libtmux::session 9

  * [attached](https://libtmux.org/en/cxx/latest/reference/libtmux-session-attached-1hq4/)
  * [client​\_count](https://libtmux.org/en/cxx/latest/reference/libtmux-session-client_count-1mj7/)
  * [created](https://libtmux.org/en/cxx/latest/reference/libtmux-session-created-1ibc/)
  * [group](https://libtmux.org/en/cxx/latest/reference/libtmux-session-group-1vgj/)
  * [grouped](https://libtmux.org/en/cxx/latest/reference/libtmux-session-grouped-1we8/)
  * [id](https://libtmux.org/en/cxx/latest/reference/libtmux-session-id-59rb/)
  * [name](https://libtmux.org/en/cxx/latest/reference/libtmux-session-name-1eby/)
  * [path](https://libtmux.org/en/cxx/latest/reference/libtmux-session-path-4gm2/)
  * [window​\_count](https://libtmux.org/en/cxx/latest/reference/libtmux-session-window_count-c4j5/)

* libtmux::test 12

  * [Environment​Guard](https://libtmux.org/en/cxx/latest/reference/libtmux-test-environmentguard/)
  * [Scoped​Tmux​Server](https://libtmux.org/en/cxx/latest/reference/libtmux-test-scopedtmuxserver/)
  * [Socket​Mode](https://libtmux.org/en/cxx/latest/reference/libtmux-test-socketmode/)
  * [Scoped​Tmux​Server​Options](https://libtmux.org/en/cxx/latest/reference/libtmux-test-scopedtmuxserveroptions/)
  * [Socket​Namespace](https://libtmux.org/en/cxx/latest/reference/libtmux-test-socketnamespace/)
  * [Teardown​Report](https://libtmux.org/en/cxx/latest/reference/libtmux-test-teardownreport/)
  * [current​\_environment](https://libtmux.org/en/cxx/latest/reference/libtmux-test-current_environment/)
  * [describe​\_running​\_tmux](https://libtmux.org/en/cxx/latest/reference/libtmux-test-describe_running_tmux/)
  * [erase​\_environment](https://libtmux.org/en/cxx/latest/reference/libtmux-test-erase_environment/)
  * [running​\_tmux](https://libtmux.org/en/cxx/latest/reference/libtmux-test-running_tmux/)
  * [same​\_socket​\_inode](https://libtmux.org/en/cxx/latest/reference/libtmux-test-same_socket_inode/)
  * [set​\_environment](https://libtmux.org/en/cxx/latest/reference/libtmux-test-set_environment/)

* libtmux::tmuxq 1

  * [matching](https://libtmux.org/en/cxx/latest/reference/libtmux-tmuxq-matching/)

* libtmux::window 14

  * [active](https://libtmux.org/en/cxx/latest/reference/libtmux-window-active-1nkh/)
  * [activity](https://libtmux.org/en/cxx/latest/reference/libtmux-window-activity-1gwj/)
  * [bell](https://libtmux.org/en/cxx/latest/reference/libtmux-window-bell-16ky/)
  * [height](https://libtmux.org/en/cxx/latest/reference/libtmux-window-height-vlzt/)
  * [id](https://libtmux.org/en/cxx/latest/reference/libtmux-window-id-1jff/)
  * [index](https://libtmux.org/en/cxx/latest/reference/libtmux-window-index-isxp/)
  * [layout](https://libtmux.org/en/cxx/latest/reference/libtmux-window-layout-1aks/)
  * [linked​\_sessions](https://libtmux.org/en/cxx/latest/reference/libtmux-window-linked_sessions-g8ns/)
  * [name](https://libtmux.org/en/cxx/latest/reference/libtmux-window-name-1187/)
  * [pane​\_count](https://libtmux.org/en/cxx/latest/reference/libtmux-window-pane_count-1gmi/)
  * [session​\_id](https://libtmux.org/en/cxx/latest/reference/libtmux-window-session_id-rzt6/)
  * [session​\_name](https://libtmux.org/en/cxx/latest/reference/libtmux-window-session_name-5i0n/)
  * [width](https://libtmux.org/en/cxx/latest/reference/libtmux-window-width-aksp/)
  * [zoomed](https://libtmux.org/en/cxx/latest/reference/libtmux-window-zoomed-rcw4/)

* libtmux::workspace 8

  * [Build​Error](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-builderror/)
  * [Command](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-command/)
  * [Pane](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-pane/)
  * [Parse​Error](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-parseerror/)
  * [Window](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-window/)
  * [Workspace](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-workspace/)
  * [build](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-build/)
  * [parse​\_tmuxp](https://libtmux.org/en/cxx/latest/workspace/reference/libtmux-workspace-parse_tmuxp/)

* version.hpp 4

  * [LIBTMUX​\_VERSION​\_MAJOR](https://libtmux.org/en/cxx/latest/reference/version-hpp-libtmux_version_major/)
  * [LIBTMUX​\_VERSION​\_MINOR](https://libtmux.org/en/cxx/latest/reference/version-hpp-libtmux_version_minor/)
  * [LIBTMUX​\_VERSION​\_PATCH](https://libtmux.org/en/cxx/latest/reference/version-hpp-libtmux_version_patch/)
  * [LIBTMUX​\_VERSION​\_STRING](https://libtmux.org/en/cxx/latest/reference/version-hpp-libtmux_version_string/)

* Types 4

  * [hash\<libtmux::​Client>](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-client/)
  * [hash\<libtmux::​Pane>](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-pane/)
  * [hash\<libtmux::​Session>](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-session/)
  * [hash\<libtmux::​Window>](https://libtmux.org/en/cxx/latest/reference/std-hash-libtmux-window/)
