From 6b7f0c6cf098af92bfd8ed95590a65b55ceb95bf Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:30:30 -0600 Subject: [PATCH 01/41] julia(fix[install]) Drop the registry install and published status why: The maintainer ruled on 2026-11-13 that Julia is not released. General carries none of LibTmux, LibTmuxWorkspace or LibTmuxMCP (each Package.toml answers 404), yet the release and prerelease install forms advertised `Pkg.add("LibTmux")` and the inventory marked every package `published`. Only a registry release is published; the Git install is the one install. what: - Point the release, prerelease and git install forms at the Git URL - Mark each Julia package configured-unpublished with its source linked - Keep the public repository entry published - Add package-destinations tests that hold both facts for Julia --- site/src/lib/port-inventory.ts | 21 +++++--- site/src/lib/ports.ts | 12 +++-- site/test/package-destinations.test.ts | 73 ++++++++++++++++++++++++++ 3 files changed, 96 insertions(+), 10 deletions(-) create mode 100644 site/test/package-destinations.test.ts diff --git a/site/src/lib/port-inventory.ts b/site/src/lib/port-inventory.ts index 1c380fbe6..8b1a90bcb 100644 --- a/site/src/lib/port-inventory.ts +++ b/site/src/lib/port-inventory.ts @@ -235,6 +235,14 @@ const spiTarget = (target: string): Pick => ({ api: { host: 'swift-package-index', url: `${SPI}/documentation/${target.toLowerCase()}`, tool: 'DocC' }, }) +/** + * An entry installed from public Git because no registry carries it. Its source + * is linked and nothing else: `published` means a registry release, which this + * entry does not have. + */ +const fromGit = (build: ReturnType, note: string) => + (draft: Draft & { repo?: string }): InventoryEntry => build({ status: 'configured-unpublished', sourceAvailable: true, note, ...draft }) + const PY = 'tmux-python/libtmux' const py = family(PY) const tmuxp = family('tmux-python/tmuxp') @@ -243,6 +251,7 @@ const ruby = family('libtmux/libtmux-ruby') const lua = family('libtmux/libtmux-lua') const powershell = family('libtmux/libtmux-powershell') const julia = family('libtmux/libtmux-julia') +const juliaSource = fromGit(julia, 'Installs from Git; the General registry does not carry it.') const elixir = family('libtmux/libtmux-elixir', 'main') const haskell = family('libtmux/libtmux-haskell') const lisp = family('libtmux/libtmux-lisp') @@ -364,19 +373,19 @@ export const INVENTORY: Readonly> = { ], julia: [ // None of the three packages is registered in General; they install from the repository by URL and subdirectory. - julia({ id: 'LibTmux', kind: 'library', product: 'core', unit: 'package', label: 'LibTmux', path: 'src', aliases: ['using LibTmux'] }), + juliaSource({ id: 'LibTmux', kind: 'library', product: 'core', unit: 'package', label: 'LibTmux', path: 'src', aliases: ['using LibTmux'] }), julia({ id: 'repository', kind: 'source', product: 'core', label: 'libtmux-julia', coordinate: 'libtmux/libtmux-julia' }), // Defined in src/criteria.jl and loaded with LibTmux. - julia({ id: 'LibTmux.Filters', kind: 'module', product: 'core', unit: 'module', within: 'LibTmux', label: 'LibTmux.Filters', + juliaSource({ id: 'LibTmux.Filters', kind: 'module', product: 'core', unit: 'module', within: 'LibTmux', label: 'LibTmux.Filters', path: 'src/criteria.jl', file: true, aliases: ['using LibTmux.Filters'] }), // Package extensions, loaded when JSON or Tables is; each is a file of ext/. - julia({ id: 'LibTmuxJSONExt', kind: 'module', product: 'core', unit: 'extension', within: 'LibTmux', label: 'LibTmuxJSONExt', + juliaSource({ id: 'LibTmuxJSONExt', kind: 'module', product: 'core', unit: 'extension', within: 'LibTmux', label: 'LibTmuxJSONExt', path: 'ext/LibTmuxJSONExt.jl', file: true, aliases: ['JSON'] }), - julia({ id: 'LibTmuxTablesExt', kind: 'module', product: 'core', unit: 'extension', within: 'LibTmux', label: 'LibTmuxTablesExt', + juliaSource({ id: 'LibTmuxTablesExt', kind: 'module', product: 'core', unit: 'extension', within: 'LibTmux', label: 'LibTmuxTablesExt', path: 'ext/LibTmuxTablesExt.jl', file: true, aliases: ['Tables'] }), - julia({ id: 'LibTmuxMCP', kind: 'mcp-server', product: 'mcp', unit: 'package', label: 'LibTmuxMCP', path: 'packages/LibTmuxMCP', + juliaSource({ id: 'LibTmuxMCP', kind: 'mcp-server', product: 'mcp', unit: 'package', label: 'LibTmuxMCP', path: 'packages/LibTmuxMCP', aliases: ['using LibTmuxMCP', 'libtmux-mcp'] }), - julia({ id: 'LibTmuxWorkspace', kind: 'companion', product: 'workspace', unit: 'package', label: 'LibTmuxWorkspace', + juliaSource({ id: 'LibTmuxWorkspace', kind: 'companion', product: 'workspace', unit: 'package', label: 'LibTmuxWorkspace', path: 'packages/LibTmuxWorkspace', aliases: ['using LibTmuxWorkspace', 'libtmux-workspace'] }), ], erlang: [ diff --git a/site/src/lib/ports.ts b/site/src/lib/ports.ts index 194e82540..70cd3184f 100644 --- a/site/src/lib/ports.ts +++ b/site/src/lib/ports.ts @@ -382,6 +382,10 @@ const ERLANG_GIT_INSTALL: InstallForm = { code: ERLANG_SOURCE_INSTALL.replaceAll('{revision}', '"master"'), lang: 'erlang', } +const JULIA_GIT_INSTALL: InstallForm = { + code: 'using Pkg\nPkg.add(PackageSpec(url="https://github.com/libtmux/libtmux-julia.git", rev="master"))', lang: 'julia', +} + const CORE_PORTS: readonly Port[] = [ { slug: 'py', @@ -659,10 +663,10 @@ const CORE_PORTS: readonly Port[] = [ note: 'Run in Julia with tmux on PATH. The package is not registered in General, so this installs from Git; Manifest.toml records the package tree hash.' }], initProject: { code: 'using Pkg\nPkg.activate(".")', lang: 'julia' }, installForms: { - release: { code: 'using Pkg\nPkg.add("LibTmux")', lang: 'julia' }, - prerelease: { code: 'using Pkg\nPkg.add(PackageSpec(name="LibTmux", version="{version}"))', lang: 'julia' }, - // Unselected source installs follow the default branch. - git: { code: 'using Pkg\nPkg.add(PackageSpec(url="https://github.com/libtmux/libtmux-julia.git", rev="master"))', lang: 'julia' }, + // General does not carry LibTmux, so every form installs from Git. Unselected source installs follow the default branch. + release: JULIA_GIT_INSTALL, + prerelease: JULIA_GIT_INSTALL, + git: JULIA_GIT_INSTALL, }, installNote: 'Requires Julia 1.13.1 and tmux 3.3a or newer. JSON layouts require tmux 3.8. Companion packages install from the same revision as the core.', }, diff --git a/site/test/package-destinations.test.ts b/site/test/package-destinations.test.ts new file mode 100644 index 000000000..93a79dbe7 --- /dev/null +++ b/site/test/package-destinations.test.ts @@ -0,0 +1,73 @@ +import { describe, expect, it } from 'vitest' +import { portHeaderLinks } from '../src/lib/header-links' +import { INVENTORY } from '../src/lib/port-inventory' +import { PORT_BY_SLUG } from '../src/lib/ports' + +/** + * Where each package's registry destination and install command come from. + * + * A package with no registry release gets no registry link, no registry + * install and no `published` status; its source install is the only install. + * The registry's answer for each is recorded in `scripts/gen-registry.mjs` + * and `destination-evidence.json`; these tests hold the site's own tables to it. + */ + +/** The spelling that would resolve the package from its ecosystem's registry. */ +const REGISTRY_INSTALL: Record = { + julia: /Pkg\.add\("LibTmux"\)|PackageSpec\(name=/, +} + +/** Every command a reader or a prompt can be handed for a port's core package. */ +const coreInstalls = (slug: string) => { + const port = PORT_BY_SLUG[slug]! + return [...port.installs.map(({ label, code }) => [`installs ${label}`, code] as const), + ...Object.entries(port.installForms).map(([form, { code }]) => [`installForms.${form}`, code] as const)] +} + +describe.each(['julia'])('%s, which no registry carries', (slug) => { + it('offers no registry install in any form', () => { + for (const [where, code] of coreInstalls(slug)) expect(code, where).not.toMatch(REGISTRY_INSTALL[slug]!) + }) + + it('keeps Git as the one install, in every form', () => { + for (const [where, code] of coreInstalls(slug)) expect(code, where).toContain(`libtmux/libtmux-${slug}.git`) + }) + + it('names no registry for the port', () => { + expect(PORT_BY_SLUG[slug]!.registry).toBeUndefined() + expect(PORT_BY_SLUG[slug]!.ecosystemHost).toBeUndefined() + }) + + it('records every package as available from source, never as published', () => { + const packages = INVENTORY[slug]!.filter(({ kind }) => kind !== 'source') + expect(packages.length).toBeGreaterThan(0) + for (const entry of packages) { + expect(entry.status, entry.id).toBe('configured-unpublished') + expect(entry.sourceAvailable, entry.id).toBe(true) + expect(entry.note, entry.id).toBeTruthy() + expect(entry.package ?? entry.api, entry.id).toBeUndefined() + } + // The public repository itself is what is published. + expect(INVENTORY[slug]!.filter(({ kind }) => kind === 'source').map(({ status }) => status)).toEqual(['published']) + }) + + it('links only source from the header', () => { + const links = portHeaderLinks(PORT_BY_SLUG[slug]!) + expect(links.actions.map(({ kind }) => kind)).toEqual(['source']) + expect(links.rows.every(({ kind }) => kind === 'source')).toBe(true) + }) +}) + +describe('Julia companions', () => { + const julia = PORT_BY_SLUG.julia! + + it('offer only the Git install, with no registry spelling', () => { + for (const pkg of julia.packages!) { + for (const { label, code } of pkg.installs!) { + expect(pkg.registry, pkg.name).toBeUndefined() + expect(code, `${pkg.name} ${label}`).toContain('url=repo') + expect(code, `${pkg.name} ${label}`).not.toMatch(REGISTRY_INSTALL.julia!) + } + } + }) +}) From 06b21cfafb5cb2b22afe5dc0054fbb2d2ccb8998 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:31:25 -0600 Subject: [PATCH 02/41] ocaml(fix[inventory]) Stop marking opam packages published why: The maintainer ruled on 2026-11-13 that OCaml is unreleased and installs from source only. The opam repository carries no libtmux package (its packages/libtmux directory and opam.ocaml.org/packages/libtmux both answer 404), yet all six opam packages were `published`, which the inventory reserves for a registry release. what: - Mark each opam package configured-unpublished with its source linked - Keep the existing source-only install and its note unchanged - Extend the package-destinations tests to OCaml --- site/src/lib/port-inventory.ts | 19 +++++++---------- site/test/package-destinations.test.ts | 29 ++++++++++++++++---------- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/site/src/lib/port-inventory.ts b/site/src/lib/port-inventory.ts index 8b1a90bcb..37344a43e 100644 --- a/site/src/lib/port-inventory.ts +++ b/site/src/lib/port-inventory.ts @@ -263,6 +263,7 @@ const jvm = family('libtmux/libtmux-java') const dotnet = family('libtmux/libtmux-dotnet') const cxx = family('libtmux/libtmux-cxx') const swift = family('libtmux/libtmux-swift') +const ocaml = fromGit(family('libtmux/libtmux-ocaml'), 'Installs from source; the opam repository does not carry it.') export type DestinationKind = 'source' | 'package' | 'api' @@ -307,18 +308,12 @@ const GO = 'github.com/libtmux/libtmux-go' */ export const INVENTORY: Readonly> = { ocaml: [ - { id: 'libtmux', kind: 'library', product: 'core', unit: 'opam package', label: 'libtmux', coordinate: 'libtmux', - aliases: ['Libtmux'], repo: 'libtmux/libtmux-ocaml', ref: 'master', path: 'lib', status: 'published' }, - { id: 'libtmux-unix', kind: 'companion', product: 'core', unit: 'opam package', label: 'libtmux-unix', coordinate: 'libtmux-unix', - aliases: ['Libtmux_unix'], repo: 'libtmux/libtmux-ocaml', ref: 'master', path: 'unix', status: 'published' }, - { id: 'libtmux-eio', kind: 'companion', product: 'core', unit: 'opam package', label: 'libtmux-eio', coordinate: 'libtmux-eio', - aliases: ['Libtmux_eio'], repo: 'libtmux/libtmux-ocaml', ref: 'master', path: 'eio', status: 'published' }, - { id: 'libtmux-json', kind: 'companion', product: 'core', unit: 'opam package', label: 'libtmux-json', coordinate: 'libtmux-json', - aliases: ['Libtmux_json'], repo: 'libtmux/libtmux-ocaml', ref: 'master', path: 'json', status: 'published' }, - { id: 'libtmux-workspace', kind: 'companion', product: 'workspace', unit: 'opam package', label: 'libtmux-workspace', coordinate: 'libtmux-workspace', - aliases: ['Libtmux_workspace'], repo: 'libtmux/libtmux-ocaml', ref: 'master', path: 'workspace', status: 'published' }, - { id: 'libtmux-workspace-cli', kind: 'cli', product: 'workspace', unit: 'opam package', label: 'libtmux-workspace-cli', coordinate: 'libtmux-workspace-cli', - aliases: ['tmux-workspace'], repo: 'libtmux/libtmux-ocaml', ref: 'master', path: 'cli', status: 'published' }, + ocaml({ id: 'libtmux', kind: 'library', product: 'core', unit: 'opam package', label: 'libtmux', aliases: ['Libtmux'], path: 'lib' }), + ocaml({ id: 'libtmux-unix', kind: 'companion', product: 'core', unit: 'opam package', label: 'libtmux-unix', aliases: ['Libtmux_unix'], path: 'unix' }), + ocaml({ id: 'libtmux-eio', kind: 'companion', product: 'core', unit: 'opam package', label: 'libtmux-eio', aliases: ['Libtmux_eio'], path: 'eio' }), + ocaml({ id: 'libtmux-json', kind: 'companion', product: 'core', unit: 'opam package', label: 'libtmux-json', aliases: ['Libtmux_json'], path: 'json' }), + ocaml({ id: 'libtmux-workspace', kind: 'companion', product: 'workspace', unit: 'opam package', label: 'libtmux-workspace', aliases: ['Libtmux_workspace'], path: 'workspace' }), + ocaml({ id: 'libtmux-workspace-cli', kind: 'cli', product: 'workspace', unit: 'opam package', label: 'libtmux-workspace-cli', aliases: ['tmux-workspace'], path: 'cli' }), ], perl: [ { id: 'LibTmux', kind: 'library', product: 'core', label: 'LibTmux', coordinate: 'LibTmux', aliases: ["LibTmux::Server"], repo: 'libtmux/libtmux-perl', ref: 'master', path: 'packages/core', status: 'configured-unpublished', sourceAvailable: true, note: 'Install from verified source; no CPAN release is published.' }, diff --git a/site/test/package-destinations.test.ts b/site/test/package-destinations.test.ts index 93a79dbe7..01af6fbe9 100644 --- a/site/test/package-destinations.test.ts +++ b/site/test/package-destinations.test.ts @@ -12,9 +12,13 @@ import { PORT_BY_SLUG } from '../src/lib/ports' * and `destination-evidence.json`; these tests hold the site's own tables to it. */ -/** The spelling that would resolve the package from its ecosystem's registry. */ -const REGISTRY_INSTALL: Record = { - julia: /Pkg\.add\("LibTmux"\)|PackageSpec\(name=/, +/** + * Per port with no registry release: the spelling that would resolve its + * package from the ecosystem's registry, and what every install must name instead. + */ +const SOURCE_ONLY: Record = { + julia: { registryInstall: /Pkg\.add\("LibTmux"\)|PackageSpec\(name=/, source: 'libtmux/libtmux-julia.git' }, + ocaml: { registryInstall: /\bopam\s+(?:install|pin\s+add)\s+libtmux/ }, } /** Every command a reader or a prompt can be handed for a port's core package. */ @@ -24,13 +28,15 @@ const coreInstalls = (slug: string) => { ...Object.entries(port.installForms).map(([form, { code }]) => [`installForms.${form}`, code] as const)] } -describe.each(['julia'])('%s, which no registry carries', (slug) => { +describe.each(Object.keys(SOURCE_ONLY))('%s, which no registry carries', (slug) => { + const { registryInstall, source } = SOURCE_ONLY[slug]! + it('offers no registry install in any form', () => { - for (const [where, code] of coreInstalls(slug)) expect(code, where).not.toMatch(REGISTRY_INSTALL[slug]!) + for (const [where, code] of coreInstalls(slug)) expect(code, where).not.toMatch(registryInstall) }) - it('keeps Git as the one install, in every form', () => { - for (const [where, code] of coreInstalls(slug)) expect(code, where).toContain(`libtmux/libtmux-${slug}.git`) + it.skipIf(!source)('names its source in every install form', () => { + for (const [where, code] of coreInstalls(slug)) expect(code, where).toContain(source!) }) it('names no registry for the port', () => { @@ -42,13 +48,14 @@ describe.each(['julia'])('%s, which no registry carries', (slug) => { const packages = INVENTORY[slug]!.filter(({ kind }) => kind !== 'source') expect(packages.length).toBeGreaterThan(0) for (const entry of packages) { - expect(entry.status, entry.id).toBe('configured-unpublished') - expect(entry.sourceAvailable, entry.id).toBe(true) + // A planned entry is declared but not yet in the repository, so it links nothing. + expect(['configured-unpublished', 'planned'], entry.id).toContain(entry.status) + if (entry.status === 'configured-unpublished') expect(entry.sourceAvailable, entry.id).toBe(true) expect(entry.note, entry.id).toBeTruthy() expect(entry.package ?? entry.api, entry.id).toBeUndefined() } // The public repository itself is what is published. - expect(INVENTORY[slug]!.filter(({ kind }) => kind === 'source').map(({ status }) => status)).toEqual(['published']) + for (const entry of INVENTORY[slug]!.filter(({ kind }) => kind === 'source')) expect(entry.status, entry.id).toBe('published') }) it('links only source from the header', () => { @@ -66,7 +73,7 @@ describe('Julia companions', () => { for (const { label, code } of pkg.installs!) { expect(pkg.registry, pkg.name).toBeUndefined() expect(code, `${pkg.name} ${label}`).toContain('url=repo') - expect(code, `${pkg.name} ${label}`).not.toMatch(REGISTRY_INSTALL.julia!) + expect(code, `${pkg.name} ${label}`).not.toMatch(SOURCE_ONLY.julia!.registryInstall) } } }) From f3488a3d8cf6e5f05cd8089a358cbfe93ec60987 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:31:59 -0600 Subject: [PATCH 03/41] lisp(fix[inventory]) Stop marking ASDF systems published why: The maintainer ruled on 2026-11-13 that Common Lisp is unreleased and installs from source only. The current Quicklisp dist (2026-01-01, 6208 systems) lists no libtmux system, and Quickdocs answers 404 for libtmux, yet the library, its ASDF systems and its workspace command were `published`, which the inventory reserves for a registry release. what: - Mark each ASDF system and the workspace command configured-unpublished with its source linked; keep the public repository entry published - Extend the package-destinations tests to Common Lisp --- site/src/lib/port-inventory.ts | 17 +++++++++-------- site/test/package-destinations.test.ts | 1 + 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/site/src/lib/port-inventory.ts b/site/src/lib/port-inventory.ts index 37344a43e..c3c13bbd9 100644 --- a/site/src/lib/port-inventory.ts +++ b/site/src/lib/port-inventory.ts @@ -255,6 +255,7 @@ const juliaSource = fromGit(julia, 'Installs from Git; the General registry does const elixir = family('libtmux/libtmux-elixir', 'main') const haskell = family('libtmux/libtmux-haskell') const lisp = family('libtmux/libtmux-lisp') +const lispSource = fromGit(lisp, 'Installs from source; Quicklisp does not carry it.') const erlang = family('libtmux/libtmux-erlang') const ts = family('libtmux/libtmux-ts') const rs = family('libtmux/libtmux-rs') @@ -409,23 +410,23 @@ export const INVENTORY: Readonly> = { note: 'Planned workspace library and CLI; no package or executable is implemented.' }), ], lisp: [ - lisp({ id: 'libtmux', kind: 'library', product: 'core', unit: 'source distribution', label: 'libtmux', + lispSource({ id: 'libtmux', kind: 'library', product: 'core', unit: 'source distribution', label: 'libtmux', path: 'src', aliases: ['libtmux'], note: 'The 0.1.0 ASDF systems are source-installed and unreleased.' }), lisp({ id: 'repository', kind: 'source', product: 'core', label: 'libtmux-lisp', coordinate: 'libtmux/libtmux-lisp' }), - lisp({ id: 'libtmux/query', kind: 'companion', product: 'core', unit: 'ASDF system', within: 'libtmux', + lispSource({ id: 'libtmux/query', kind: 'companion', product: 'core', unit: 'ASDF system', within: 'libtmux', label: 'libtmux/query', path: 'libtmux.asd', file: true, aliases: ['libtmux.query'] }), - lisp({ id: 'libtmux/regex', kind: 'companion', product: 'core', unit: 'ASDF system', within: 'libtmux', + lispSource({ id: 'libtmux/regex', kind: 'companion', product: 'core', unit: 'ASDF system', within: 'libtmux', label: 'libtmux/regex', path: 'libtmux.asd', file: true, aliases: ['libtmux.regex'] }), - lisp({ id: 'libtmux/json', kind: 'companion', product: 'core', unit: 'ASDF system', within: 'libtmux', + lispSource({ id: 'libtmux/json', kind: 'companion', product: 'core', unit: 'ASDF system', within: 'libtmux', label: 'libtmux/json', path: 'libtmux.asd', file: true, aliases: ['libtmux.json'] }), - lisp({ id: 'libtmux/control', kind: 'companion', product: 'core', unit: 'ASDF system', within: 'libtmux', + lispSource({ id: 'libtmux/control', kind: 'companion', product: 'core', unit: 'ASDF system', within: 'libtmux', label: 'libtmux/control', path: 'libtmux.asd', file: true, aliases: ['libtmux.control'] }), - lisp({ id: 'libtmux/workspace', kind: 'companion', product: 'workspace', unit: 'ASDF system', within: 'libtmux', + lispSource({ id: 'libtmux/workspace', kind: 'companion', product: 'workspace', unit: 'ASDF system', within: 'libtmux', label: 'libtmux/workspace', path: 'src/workspace.lisp', file: true, aliases: ['libtmux.workspace', '(asdf:load-system "libtmux/workspace")'] }), - lisp({ id: 'libtmux/workspace/cli', kind: 'companion', product: 'workspace', unit: 'ASDF system', within: 'libtmux', + lispSource({ id: 'libtmux/workspace/cli', kind: 'companion', product: 'workspace', unit: 'ASDF system', within: 'libtmux', label: 'libtmux/workspace/cli', path: 'src/workspace-cli.lisp', file: true, aliases: ['libtmux.workspace.cli'] }), - lisp({ id: 'workspace-command', kind: 'cli', product: 'workspace', unit: 'script', within: 'libtmux', + lispSource({ id: 'workspace-command', kind: 'cli', product: 'workspace', unit: 'script', within: 'libtmux', label: 'libtmux-workspace', coordinate: 'mise exec -- tools/lisp.sh tools/workspace-cli.lisp', path: 'bin/libtmux-workspace', file: true, aliases: ['libtmux-workspace', 'tools/workspace-cli.lisp'] }), ], diff --git a/site/test/package-destinations.test.ts b/site/test/package-destinations.test.ts index 01af6fbe9..be904ac8f 100644 --- a/site/test/package-destinations.test.ts +++ b/site/test/package-destinations.test.ts @@ -19,6 +19,7 @@ import { PORT_BY_SLUG } from '../src/lib/ports' const SOURCE_ONLY: Record = { julia: { registryInstall: /Pkg\.add\("LibTmux"\)|PackageSpec\(name=/, source: 'libtmux/libtmux-julia.git' }, ocaml: { registryInstall: /\bopam\s+(?:install|pin\s+add)\s+libtmux/ }, + lisp: { registryInstall: /ql:quickload|ros\s+install|qlot\s+add\s+libtmux/ }, } /** Every command a reader or a prompt can be handed for a port's core package. */ From 9d8ee35a8a6aca626347433c6e8af89b87b3006b Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:32:28 -0600 Subject: [PATCH 04/41] haskell(fix[install]) Drop the Hackage install and published status why: The maintainer ruled on 2026-11-13 that Haskell has no Hackage release. Hackage answers 404 for the libtmux-haskell package, yet the release and prerelease install forms were a bare `build-depends` line that only resolves from Hackage, and the library was `published`, which the inventory reserves for a registry release. what: - Point the release and prerelease install forms at the source-repository-package form - Mark the Cabal package configured-unpublished with its source linked - Keep the Hackage page as a rejected candidate, so the verifier reports the day it answers - Update the port-metadata status pin and extend the package-destinations tests to Haskell --- site/src/lib/port-inventory.ts | 3 ++- site/src/lib/ports.ts | 11 ++++++++--- site/test/package-destinations.test.ts | 1 + site/test/port-metadata.test.ts | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/site/src/lib/port-inventory.ts b/site/src/lib/port-inventory.ts index c3c13bbd9..071447d67 100644 --- a/site/src/lib/port-inventory.ts +++ b/site/src/lib/port-inventory.ts @@ -254,6 +254,7 @@ const julia = family('libtmux/libtmux-julia') const juliaSource = fromGit(julia, 'Installs from Git; the General registry does not carry it.') const elixir = family('libtmux/libtmux-elixir', 'main') const haskell = family('libtmux/libtmux-haskell') +const haskellSource = fromGit(haskell, 'Installs from source; Hackage does not carry it.') const lisp = family('libtmux/libtmux-lisp') const lispSource = fromGit(lisp, 'Installs from source; Quicklisp does not carry it.') const erlang = family('libtmux/libtmux-erlang') @@ -402,7 +403,7 @@ export const INVENTORY: Readonly> = { unavailable: [{ kind: 'package', host: 'hex', url: 'https://hex.pm/packages/libtmux_workspace', reason: 'not published' }] }), ], haskell: [ - haskell({ id: 'libtmux-haskell', kind: 'library', product: 'core', unit: 'Cabal package', label: 'libtmux-haskell', path: 'src', + haskellSource({ id: 'libtmux-haskell', kind: 'library', product: 'core', unit: 'Cabal package', label: 'libtmux-haskell', path: 'src', aliases: ['LibTmux', 'LibTmux.Server', 'LibTmux.Snapshot', 'LibTmux.Query', 'LibTmux.Snapshot.Fixture', 'LibTmux.Id', 'LibTmux.Value', 'LibTmux.Version'], note: 'Available from source; not published on Hackage.', unavailable: [{ kind: 'package', host: 'Hackage', url: 'https://hackage.haskell.org/package/libtmux-haskell', reason: 'not published' }] }), haskell({ id: 'repository', kind: 'source', product: 'core', label: 'libtmux-haskell', coordinate: 'libtmux/libtmux-haskell' }), diff --git a/site/src/lib/ports.ts b/site/src/lib/ports.ts index 70cd3184f..86cd75b95 100644 --- a/site/src/lib/ports.ts +++ b/site/src/lib/ports.ts @@ -386,6 +386,10 @@ const JULIA_GIT_INSTALL: InstallForm = { code: 'using Pkg\nPkg.add(PackageSpec(url="https://github.com/libtmux/libtmux-julia.git", rev="master"))', lang: 'julia', } +const HASKELL_GIT_INSTALL: InstallForm = { + code: 'packages: .\n\nsource-repository-package\n type: git\n location: https://github.com/libtmux/libtmux-haskell\n tag: master', lang: 'text', +} + const CORE_PORTS: readonly Port[] = [ { slug: 'py', @@ -772,9 +776,10 @@ const CORE_PORTS: readonly Port[] = [ }], initProject: { lang: 'console', code: 'cabal init --non-interactive --exe --language=GHC2024 --dependency="base >=4.22 && <4.23, libtmux-haskell ^>=0.1.0.0"' }, installForms: { - release: { lang: 'text', code: 'build-depends: libtmux-haskell ^>={version}' }, - prerelease: { lang: 'text', code: 'build-depends: libtmux-haskell =={version}' }, - git: { lang: 'text', code: 'packages: .\n\nsource-repository-package\n type: git\n location: https://github.com/libtmux/libtmux-haskell\n tag: master' }, + // Hackage does not carry libtmux-haskell, so every form installs from Git. + release: HASKELL_GIT_INSTALL, + prerelease: HASKELL_GIT_INSTALL, + git: HASKELL_GIT_INSTALL, }, installNote: 'The source provides scoped Server handles, detached snapshots, typed queries, checked renames and pane titles, and validated offline fixtures. Creation, events and workspace tooling remain in development; MCP is excluded.', }, diff --git a/site/test/package-destinations.test.ts b/site/test/package-destinations.test.ts index be904ac8f..5f029945c 100644 --- a/site/test/package-destinations.test.ts +++ b/site/test/package-destinations.test.ts @@ -19,6 +19,7 @@ import { PORT_BY_SLUG } from '../src/lib/ports' const SOURCE_ONLY: Record = { julia: { registryInstall: /Pkg\.add\("LibTmux"\)|PackageSpec\(name=/, source: 'libtmux/libtmux-julia.git' }, ocaml: { registryInstall: /\bopam\s+(?:install|pin\s+add)\s+libtmux/ }, + haskell: { registryInstall: /^build-depends:|cabal\s+install\s+libtmux/m, source: 'libtmux/libtmux-haskell' }, lisp: { registryInstall: /ql:quickload|ros\s+install|qlot\s+add\s+libtmux/ }, } diff --git a/site/test/port-metadata.test.ts b/site/test/port-metadata.test.ts index 419527fd8..58692612d 100644 --- a/site/test/port-metadata.test.ts +++ b/site/test/port-metadata.test.ts @@ -34,7 +34,7 @@ describe('Haskell port metadata', () => { expect(installCommand(haskell, { status: 'unpublished', version: null, release: null, tag: null }).code) .toContain('location: https://github.com/libtmux/libtmux-haskell') expect(INVENTORY.haskell.map((entry) => [entry.id, entry.status])).toEqual([ - ['libtmux-haskell', 'published'], ['repository', 'published'], ['libtmux-haskell-workspace', 'planned'], + ['libtmux-haskell', 'configured-unpublished'], ['repository', 'published'], ['libtmux-haskell-workspace', 'planned'], ]) const workspace = INVENTORY.haskell[2] expect(workspace.path).toBeUndefined() From c3506b7a2fcb2b8efb48eab4be67d801372f8ad2 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:33:19 -0600 Subject: [PATCH 05/41] destinations(fix[manifest-placeholder]) Record a development placeholder instead of asking a host for it why: A package's pinned manifest can still say `0.0.0+development` after its first release, because the documented revision predates the version bump. Erlang is that case: libtmux_erlang 0.0.1 is on Hex, and v0.0.1 contains the documented revision with only release preparation on top. Asking Hex for `0.0.0+development` would call the real package absent and block linking it. A placeholder names no release, so the verifier records that it declines to check one, with the manifest that says so, until the pin moves to a released revision. what: - Flag a `+development` version in manifestVersion and keep it out of the versions a host must carry - Write the declined check with the placeholder's manifest as its note - Let the every-host version test accept that note, and only that one, in place of a confirmed version - Test that the placeholder is skipped and that real and prerelease versions are still asked for --- scripts/lib/destination-verification.mjs | 24 +++++++++++++++----- site/test/destination-evidence.test.ts | 28 ++++++++++++++++++++++-- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/scripts/lib/destination-verification.mjs b/scripts/lib/destination-verification.mjs index fa4bb0ab8..bb6456f9a 100644 --- a/scripts/lib/destination-verification.mjs +++ b/scripts/lib/destination-verification.mjs @@ -414,6 +414,10 @@ export const hostOf = (url) => { async function versionChecks(result, destination) { const expected = destination.expected ?? [] if (expected.length === 0) { + const placeholders = destination.placeholders ?? [] + if (placeholders.length > 0) { + return [{ check: 'unsupported', note: `the pinned manifest (${placeholders.join(', ')}) declares a development placeholder, which names no release` }] + } return [{ check: 'unsupported', note: destination.kinds.every((kind) => kind === 'source') ? 'a branch link names no release' : 'no manifest declares a version for this destination' }] } const checks = [] @@ -481,14 +485,23 @@ function distributionOf(entries, entry) { return current } +/** + * A manifest's placeholder for a version not yet released, such as Erlang's + * `0.0.0+development`. It names no release, so no host is asked to carry it. + */ +const DEVELOPMENT_PLACEHOLDER = /\+development$/ + /** * The version the pinned manifest declares for the distribution an entry - * belongs to, and the manifest file it came from. + * belongs to, and the manifest file it came from. A development placeholder + * is flagged: it declares no release for a host to carry. */ export function manifestVersion(manifests, port, entries, entry) { const distribution = distributionOf(entries, entry) const found = manifests?.ports?.[port]?.distributions?.find((candidate) => candidate.name === distribution.coordinate) - return found ? { version: found.version, source: `${found.repo}:${found.manifest}` } : undefined + if (!found) return undefined + const declared = { version: found.version, source: `${found.repo}:${found.manifest}` } + return DEVELOPMENT_PLACEHOLDER.test(found.version ?? '') ? { ...declared, placeholder: true } : declared } /** @@ -503,10 +516,10 @@ export function manifestVersion(manifests, port, entries, entry) { * the manifest declares for their distribution. */ export function collectDestinations(inventory, manifests) { - /** @type {Map} */ + /** @type {Map} */ const found = new Map() const add = (port, entry, { kind, url, host }, status) => { - const known = found.get(url) ?? { url, host, kinds: [], entries: [], repos: [], paths: [], expected: [] } + const known = found.get(url) ?? { url, host, kinds: [], entries: [], repos: [], paths: [], expected: [], placeholders: [] } if (!known.kinds.includes(kind)) known.kinds.push(kind) // An entry whose package page is also its reference names the URL twice. if (!known.entries.some((owner) => owner.port === port && owner.id === entry.id)) known.entries.push({ port, id: entry.id, status }) @@ -516,7 +529,8 @@ export function collectDestinations(inventory, manifests) { if (status === 'published' && kind !== 'source') { const declared = manifestVersion(manifests, port, inventory[port], entry) const same = known.expected.find((candidate) => candidate.version === declared?.version) - if (declared && same) { if (!same.ports.includes(port)) same.ports.push(port) } + if (declared?.placeholder) { if (!known.placeholders.includes(declared.source)) known.placeholders.push(declared.source) } + else if (declared && same) { if (!same.ports.includes(port)) same.ports.push(port) } else if (declared) known.expected.push({ version: declared.version, source: declared.source, ports: [port] }) } found.set(url, known) diff --git a/site/test/destination-evidence.test.ts b/site/test/destination-evidence.test.ts index 33526e454..cfd0dff3a 100644 --- a/site/test/destination-evidence.test.ts +++ b/site/test/destination-evidence.test.ts @@ -107,11 +107,20 @@ describe('destination evidence', () => { }) it('checks the manifest version on every host that lists versions, and says why where one cannot', () => { - const counts = { confirmed: 0, unsupported: 0 } + const counts = { confirmed: 0, unsupported: 0, placeholder: 0 } for (const [url, destination] of wanted) { const record = records.get(url)! if (!record.ok || !destination.entries.some(({ status }: { status: string }) => status === 'published')) continue expect(checksOf(url).length, url).toBeGreaterThan(0) + if (destination.placeholders.length > 0) { + // The pinned manifest predates the release it documents: the record says so, until the pin moves to a released revision. + for (const check of checksOf(url)) { + expect(check.check, url).toBe('unsupported') + expect(check.note, `${url} says why`).toMatch(/development placeholder/) + } + counts.placeholder += 1 + continue + } if (destination.kinds.every((kind: string) => kind === 'source')) { // Only a branch link may decline: every registry and reference host here can say whether a version exists. expect(VERSION_SUPPORT[destination.host as keyof typeof VERSION_SUPPORT], url).toBe(false) @@ -128,7 +137,7 @@ describe('destination evidence', () => { } // Every package and reference page is confirmed; every source link names a branch. const nonSource = [...wanted.values()].filter((destination) => !destination.kinds.every((kind: string) => kind === 'source') && destination.entries.some(({ status }: { status: string }) => status === 'published')) - expect(counts.confirmed).toBe(nonSource.length) + expect(counts.confirmed + counts.placeholder).toBe(nonSource.length) expect(counts.unsupported).toBeGreaterThan(0) }) @@ -312,6 +321,21 @@ describe('destination evidence', () => { .toMatch(/does not carry 9\.9\.9, the version x:Cargo\.toml declares for demo/) }) + it('asks a host for no version when the manifest declares only a development placeholder', () => { + const registry = demo(crates) + const manifest = (version: string) => ({ ports: { demo: distribution(version) } }) + const asked = (version: string) => collectDestinations(registry, manifest(version)).get('https://crates.io/crates/demo')!.expected + .map((expected: { version: string }) => expected.version) + // Erlang's umbrella declares 0.0.0+development until a release is cut, and no host can carry that. + expect(asked('0.0.0+development')).toEqual([]) + expect(collectDestinations(registry, manifest('0.0.0+development')).get('https://crates.io/crates/demo')!.placeholders) + .toEqual(['libtmux/libtmux-rs:Cargo.toml']) + expect(checkEvidence(registry, passing(registry, manifest('0.0.0+development')), { manifests: manifest('0.0.0+development') })).toEqual([]) + // Control: every other declared version is still asked for, a zero release and a prerelease included. + expect(asked('0.0.1')).toEqual(['0.0.1']) + expect(asked('0.1.0-alpha.1')).toEqual(['0.1.0-alpha.1']) + }) + it('fails when a host that lists versions declines to confirm one', () => { const registry = demo(crates) const manifest = { ports: { demo: distribution('1.0.0') } } From beabd4145201e4c7a754e95c655899c882e84fc9 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:43:19 -0600 Subject: [PATCH 06/41] raku(feat[port]) Register the published Raku distribution why: LibTmux:ver<0.0.1>:auth is on Raku Land and in the zef ecosystem index, so the shared catalog can list Raku and link its package. The rule is that a port appears only with a published package, and libtmux/docs issue 315 asks for the catalog entry before any link to a Raku docs route. what: - Add the raku port: zef install of the auth-qualified name as the registry form, a source checkout as the explicit alternative, workspace and MCP excluded because the repository ships neither - Add the Raku Land mark and host, with an identity rule that checks the page title, the version selector and the repository link, and its negative cases - Read META6.json for the manifest inventory and probe the zef ecosystem index for the registry state; only the raku entries are added to the generated data - Record the verified Raku Land and GitHub destinations and the header expectations - Seed the Raku trunk entry in versions.json and the shell port list, and group Raku with the scripting languages in the picker --- scripts/gen-registry.mjs | 19 ++++++ scripts/lib/destination-verification.mjs | 26 +++++++- scripts/lib/manifest-packages.mjs | 8 +++ scripts/verify-destinations.negative.mjs | 10 ++- site/public/_shell/shell.js | 1 + site/public/versions.json | 11 +++- site/src/components/icons/RegistryIcon.astro | 7 ++ site/src/data/destination-evidence.json | 69 ++++++++++++++++++++ site/src/data/manifest-packages.json | 14 ++++ site/src/data/registry.json | 6 ++ site/src/lib/port-families.ts | 2 +- site/src/lib/port-inventory.ts | 13 ++++ site/src/lib/ports.ts | 28 ++++++++ site/test/fixtures/header-links.ts | 10 +++ site/test/fixtures/port-destinations.ts | 4 ++ site/test/port-landing.test.ts | 1 + 16 files changed, 225 insertions(+), 4 deletions(-) diff --git a/scripts/gen-registry.mjs b/scripts/gen-registry.mjs index 70cb700fb..33b8b4d75 100644 --- a/scripts/gen-registry.mjs +++ b/scripts/gen-registry.mjs @@ -299,6 +299,25 @@ const PROBES = { // has no central package-registry entry to probe. return null }, + async raku(port) { + // zef reads one ecosystem index, so the index is the registry. Raku Land renders the same + // entries, but its pages carry no machine-readable listing. The authority is part of a + // distribution's identity; another publisher's LibTmux is not this package. + const response = await fetch('https://360.zef.pm/index.json', { + headers: { 'user-agent': 'libtmux-docs gen-registry.mjs' }, + signal: AbortSignal.timeout(90_000), + }) + if (!response.ok) throw new Error(`Raku ecosystem index: HTTP ${response.status}`) + const index = await response.json() + if (!Array.isArray(index)) throw new Error('Invalid Raku ecosystem index') + const versions = index + .filter((entry) => entry?.name === port.packageName && entry.auth === 'zef:libtmux') + .map((entry) => entry.version) + if (versions.some((version) => typeof version !== 'string' || !releaseTag(`v${version}`, port))) { + throw new Error('Unsupported Raku distribution version') + } + return versions.length > 0 ? versions : null + }, async ts() { // `libtmux`, not the scoped `@libtmux/libtmux` this probe used to ask for. // The scoped name 404s, which classified a published package as having diff --git a/scripts/lib/destination-verification.mjs b/scripts/lib/destination-verification.mjs index fa4bb0ab8..52eb50906 100644 --- a/scripts/lib/destination-verification.mjs +++ b/scripts/lib/destination-verification.mjs @@ -373,6 +373,27 @@ const VERIFIERS = { exact: async (wanted) => { const page = await get(`https://${name}.hexdocs.pm/${wanted}/`); return page.status === 200 && titleOf(page.text) === titled(wanted) } }) : fail('identity', `title is "${title}", expected the documentation of ${name}`, { status: 200, requested: url }) }, + + async 'raku-land'({ url }, { get }) { + // Raku Land names a distribution by its Fez authority and its name, and answers 404 for an unknown one. + const [, authority, name] = /^https:\/\/raku\.land\/(zef:[^/?#]+)\/([^/?#]+)$/.exec(url) ?? [] + if (!name) return fail('identity', `${url} is not a distribution page under a zef authority on raku.land`) + const response = await get(url) + const missing = answered(response, url) + if (missing) return missing + const title = titleOf(response.text) + if (title !== `Raku Land - ${name}`) return fail('identity', `title is "${title}", expected "Raku Land - ${name}"`, { status: 200, requested: url }) + // The version selector lists every release and marks the one shown. + const options = [...response.text.matchAll(/]*)>/g)].map(([, value, attributes]) => ({ value, selected: /\bselected\b/.test(attributes) })) + const sources = [...response.text.matchAll(/]*>\s*github\.com\/[^<\s]+\s* match[1]) + return pass({ status: 200, requested: url, identity: `${name}:auth<${authority}>`, version: options.find((option) => option.selected)?.value, + versions: options.map((option) => option.value), repository: reposOf(sources), + exact: async (wanted) => { + const page = await get(`${url}?v=${encodeURIComponent(wanted)}`) + return page.status === 200 && titleOf(page.text) === title + && [...page.text.matchAll(/]*)>/g)].some(([, value, attributes]) => value === wanted && /\bselected\b/.test(attributes)) + } }) + }, } /** @@ -390,15 +411,18 @@ const SAMPLES = { 'javadoc-io': 3 } export const VERSION_SUPPORT = { github: false, pypi: true, npm: true, crates: true, rubygems: true, 'powershell-gallery': true, nuget: true, luarocks: true, 'maven-central': true, 'swift-package-index': true, 'pkg-go-dev': true, 'docs-rs': true, 'javadoc-io': true, hex: true, hexdocs: true, + 'raku-land': true, } /** Hosts whose records must name the repository the host reports. */ -export const REPOSITORY_HOSTS = new Set(['pypi', 'npm', 'crates', 'rubygems', 'powershell-gallery', 'nuget', 'luarocks', 'maven-central', 'swift-package-index', 'javadoc-io', 'hex']) +export const REPOSITORY_HOSTS = new Set(['pypi', 'npm', 'crates', 'rubygems', 'powershell-gallery', 'nuget', 'luarocks', 'maven-central', 'swift-package-index', 'javadoc-io', 'hex', + 'raku-land']) const HOSTNAMES = { 'pypi.org': 'pypi', 'www.npmjs.com': 'npm', 'crates.io': 'crates', 'rubygems.org': 'rubygems', 'www.powershellgallery.com': 'powershell-gallery', 'www.nuget.org': 'nuget', 'luarocks.org': 'luarocks', 'central.sonatype.com': 'maven-central', 'swiftpackageindex.com': 'swift-package-index', 'pkg.go.dev': 'pkg-go-dev', 'docs.rs': 'docs-rs', 'javadoc.io': 'javadoc-io', 'github.com': 'github', 'hex.pm': 'hex', + 'raku.land': 'raku-land', } /** The host id of a URL; HexDocs serves each package from a subdomain of `hexdocs.pm`. */ export const hostOf = (url) => { diff --git a/scripts/lib/manifest-packages.mjs b/scripts/lib/manifest-packages.mjs index 71219eb72..669c5d30f 100644 --- a/scripts/lib/manifest-packages.mjs +++ b/scripts/lib/manifest-packages.mjs @@ -266,6 +266,13 @@ const READERS = { return { distributions, units: [] } }, + /** META6.json is JSON: the root file names the one distribution zef publishes. */ + raku(repo) { + const { name, version } = JSON.parse(repo.read('META6.json')) + if (typeof name !== 'string' || typeof version !== 'string') throw new Error('Invalid META6.json: name and version are required') + return { distributions: [{ name, version, manifest: 'META6.json' }], units: [] } + }, + /** One source distribution exports the non-test ASDF systems and workspace script. */ lisp(repo) { const manifest = 'libtmux.asd' @@ -285,6 +292,7 @@ const READER_FOR = { java: 'java', clojure: 'java', kotlin: 'java', scala: 'java', csharp: 'dotnet', fsharp: 'dotnet', cxx: 'cxx', swift: 'swift', elixir: 'elixir', ocaml: 'ocaml', haskell: 'haskell', lisp: 'lisp', erlang: 'erlang', + raku: 'raku', } /** diff --git a/scripts/verify-destinations.negative.mjs b/scripts/verify-destinations.negative.mjs index bfb4b74ee..108c604f4 100644 --- a/scripts/verify-destinations.negative.mjs +++ b/scripts/verify-destinations.negative.mjs @@ -180,6 +180,14 @@ const FAMILIES = [ routes[`/hex.pm/api/packages/${id}`] = () => text({ name: shown, latest_version: '1.0.0', releases: [{ version: '1.0.0' }], meta: { links: repo ? { GitHub: `https://github.com/${repo}` } : {} } }) }, }, + { + host: 'raku-land', variants: REPORTS_REPOSITORY, coordinate: (id) => `${id}:auth`, destination: (id) => ({ package: { host: 'raku-land', url: `https://raku.land/zef:demo/${id}` } }), + serve: (id, { shown, repo }) => { + const page = html(`Raku Land - ${shown}`, `${repo ? `github.com/${repo}` : ''}`) + routes[`/raku.land/zef:demo/${id}`] = () => [200, 'text/html', page] + routes[`/raku.land/zef:demo/${id}?v=1.0.0`] = () => [200, 'text/html', page] + }, + }, { host: 'hexdocs', variants: NAMED_BY_URL, coordinate: (id) => id, destination: (id) => ({ api: { host: 'hexdocs', url: `https://${id}.hexdocs.pm/` } }), serve: (id, { shown }) => { @@ -243,7 +251,7 @@ const server = createServer((request, response) => { await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve)) const base = `http://127.0.0.1:${server.address().port}` const ORIGINS = ['github.com', 'pypi.org', 'rubygems.org', 'javadoc.io', 'registry.npmjs.org', 'www.npmjs.com', 'crates.io', 'repo1.maven.org', 'central.sonatype.com', - 'www.nuget.org', 'api.nuget.org', 'www.powershellgallery.com', 'luarocks.org', 'pkg.go.dev', 'proxy.golang.org', 'docs.rs', 'swiftpackageindex.com', 'hex.pm', + 'www.nuget.org', 'api.nuget.org', 'www.powershellgallery.com', 'luarocks.org', 'pkg.go.dev', 'proxy.golang.org', 'docs.rs', 'swiftpackageindex.com', 'hex.pm', 'raku.land', // HexDocs gives each package a host of its own, so each package a case serves is an origin. ...NAMED_BY_URL.map((variant) => `hexdocs-${variant}.hexdocs.pm`)] const rewrite = JSON.stringify(Object.fromEntries(ORIGINS.map((host) => [`https://${host}`, `${base}/${host}`]))) diff --git a/site/public/_shell/shell.js b/site/public/_shell/shell.js index b0893c973..ad87b2abc 100644 --- a/site/public/_shell/shell.js +++ b/site/public/_shell/shell.js @@ -26,6 +26,7 @@ {"slug":"swift","name":"Swift","shortName":"Sw","logoLanguage":"swift","versionedDocs":true,"mcp":true}, {"slug":"ocaml","name":"OCaml","shortName":"ML","logoLanguage":"ocaml","versionedDocs":true,"mcp":false}, {"slug":"perl","name":"Perl","shortName":"Pl","logoLanguage":"perl","versionedDocs":true,"mcp":false}, + {"slug":"raku","name":"Raku","shortName":"Raku","logoLanguage":"raku","versionedDocs":true,"mcp":false}, ] // <<< end generated diff --git a/site/public/versions.json b/site/public/versions.json index 9e0c4bdd9..655aed2ac 100644 --- a/site/public/versions.json +++ b/site/public/versions.json @@ -176,6 +176,14 @@ "kind": "trunk", "supported": true } + ], + "raku": [ + { + "slug": "latest", + "label": "latest", + "kind": "trunk", + "supported": true + } ] }, "defaultVersion": { @@ -200,6 +208,7 @@ "perl": "latest", "clojure": "latest", "lisp": "latest", - "erlang": "latest" + "erlang": "latest", + "raku": "latest" } } diff --git a/site/src/components/icons/RegistryIcon.astro b/site/src/components/icons/RegistryIcon.astro index 14a12176a..5e68bd9a3 100644 --- a/site/src/components/icons/RegistryIcon.astro +++ b/site/src/components/icons/RegistryIcon.astro @@ -27,6 +27,7 @@ interface Props { } export type IconName = 'github' | 'pypi' | 'npm' | 'crates' | 'go' | 'maven' | 'nuget' | 'swift' | 'rubygems' | 'luarocks' | 'powershell' | 'docsrs' | 'javadoc' | 'docc' | 'packages' | 'hex' | 'hexdocs' + | 'raku-land' const ICONS: Record, { label: string; path: string }> = { github: { @@ -88,6 +89,11 @@ const ICONS: Record, { label: string; p label: 'HexDocs', path: 'M2 5.2c2.9-1.2 6.6-1.1 9 .8v12.6c-2.4-1.5-6-1.7-9-.6zM22 5.2c-2.9-1.2-6.6-1.1-9 .8v12.6c2.4-1.5 6-1.7 9-.6z', }, + // A square frame around an R, drawn for this site: Raku Land publishes no vector mark of its own. + 'raku-land': { + label: 'Raku Land', + path: 'M5 2h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3zM4.2 4.2v15.6h15.6V4.2zM8.6 7.4h3.9c1.7 0 2.9 1 2.9 2.5 0 1.1-.6 1.9-1.6 2.3l2 3.9h-1.8l-1.8-3.5h-1.9v3.5H8.6zM10.2 8.9v2.1h2.2c.8 0 1.3-.4 1.3-1.05S13.2 8.9 12.4 8.9z', + }, luarocks: { label: 'LuaRocks', path: 'M7 1h10l6 7-2 11-9 4-9-4L1 8zm1.4 4L5.2 9l1.4 7.2L12 19l5.4-2.8L18.8 9l-3.2-4zM9 7h6l1.5 3.5-2 4.5h-5l-2-4.5z', @@ -127,6 +133,7 @@ const { label, path } = icon === 'powershell' ? { label: 'PowerShell Gallery', p .registry-icon[data-icon='swift'] { --icon-brand: #f05138; --icon-brand-dark: #ff7a5e; } .registry-icon[data-icon='rubygems'] { --icon-brand: #e9573f; --icon-brand-dark: #ff7662; } .registry-icon[data-icon='luarocks'] { --icon-brand: #2c3e86; --icon-brand-dark: #8095e8; } + .registry-icon[data-icon='raku-land'] { --icon-brand: #0000fb; --icon-brand-dark: #8c8cfd; } .registry-icon[data-icon='docsrs'] { --icon-brand: #000000; --icon-brand-dark: #ffffff; } .registry-icon[data-icon='javadoc'] { --icon-brand: #b3261e; --icon-brand-dark: #ff8a80; } .registry-icon[data-icon='docc'] { --icon-brand: #f05138; --icon-brand-dark: #ff7a5e; } diff --git a/site/src/data/destination-evidence.json b/site/src/data/destination-evidence.json index ee42b418a..b2e0c6a0e 100644 --- a/site/src/data/destination-evidence.json +++ b/site/src/data/destination-evidence.json @@ -3649,6 +3649,48 @@ "powershell:LibTmux.Workspace" ] }, + { + "url": "https://github.com/libtmux/libtmux-raku", + "kinds": [ + "source" + ], + "host": "github", + "ok": true, + "status": 200, + "requested": "https://github.com/libtmux/libtmux-raku", + "identity": "libtmux/libtmux-raku", + "versionChecks": [ + { + "check": "unsupported", + "note": "a branch link names no release" + } + ], + "checkedAt": "2026-11-14", + "entries": [ + "raku:repository" + ] + }, + { + "url": "https://github.com/libtmux/libtmux-raku/tree/master/lib", + "kinds": [ + "source" + ], + "host": "github", + "ok": true, + "status": 200, + "requested": "https://github.com/libtmux/libtmux-raku/tree/master/lib", + "identity": "libtmux/libtmux-raku/lib", + "versionChecks": [ + { + "check": "unsupported", + "note": "a branch link names no release" + } + ], + "checkedAt": "2026-11-14", + "entries": [ + "raku:LibTmux" + ] + }, { "url": "https://github.com/libtmux/libtmux-rs", "kinds": [ @@ -6369,6 +6411,33 @@ "py:tmuxp" ] }, + { + "url": "https://raku.land/zef:libtmux/LibTmux", + "kinds": [ + "package" + ], + "host": "raku-land", + "ok": true, + "status": 200, + "requested": "https://raku.land/zef:libtmux/LibTmux", + "identity": "LibTmux:auth", + "version": "0.0.1", + "repository": "libtmux/libtmux-raku", + "versionChecks": [ + { + "version": "0.0.1", + "source": "libtmux/libtmux-raku:META6.json", + "ports": [ + "raku" + ], + "check": "confirmed" + } + ], + "checkedAt": "2026-11-14", + "entries": [ + "raku:LibTmux" + ] + }, { "url": "https://rubygems.org/gems/libtmux", "kinds": [ diff --git a/site/src/data/manifest-packages.json b/site/src/data/manifest-packages.json index 51e755cbe..bc40aaea7 100644 --- a/site/src/data/manifest-packages.json +++ b/site/src/data/manifest-packages.json @@ -983,6 +983,20 @@ "file": true } ] + }, + "raku": { + "repo": "libtmux/libtmux-raku", + "revision": "9a9838047f1585c2c790b011cb708670999b7bdd", + "distributions": [ + { + "name": "LibTmux", + "version": "0.0.1", + "manifest": "META6.json", + "repo": "libtmux/libtmux-raku", + "revision": "9a9838047f1585c2c790b011cb708670999b7bdd" + } + ], + "units": [] } } } diff --git a/site/src/data/registry.json b/site/src/data/registry.json index b5b4e9fcb..8ff2470d3 100644 --- a/site/src/data/registry.json +++ b/site/src/data/registry.json @@ -227,6 +227,12 @@ "maturity": "unreleased" } } + }, + "raku": { + "status": "release", + "version": "0.0.1", + "release": "0.0.1", + "tag": "v0.0.1" } } } diff --git a/site/src/lib/port-families.ts b/site/src/lib/port-families.ts index ba6cba382..c1379ac87 100644 --- a/site/src/lib/port-families.ts +++ b/site/src/lib/port-families.ts @@ -10,7 +10,7 @@ export interface PortFamily { * by how they are built and run. A port belongs to one group. */ export const PORT_FAMILIES: readonly PortFamily[] = [ - { label: 'Scripting & web', ports: ['py', 'ruby', 'lua', 'julia', 'ts', 'perl'] }, + { label: 'Scripting & web', ports: ['py', 'ruby', 'lua', 'julia', 'ts', 'perl', 'raku'] }, { label: 'Compiled & native', ports: ['rs', 'go', 'cxx', 'lisp', 'swift', 'ocaml', 'haskell'] }, { label: 'JVM', ports: ['java', 'kotlin', 'scala', 'clojure'] }, { label: '.NET', ports: ['csharp', 'fsharp', 'powershell'] }, diff --git a/site/src/lib/port-inventory.ts b/site/src/lib/port-inventory.ts index 1c380fbe6..5270cb6e4 100644 --- a/site/src/lib/port-inventory.ts +++ b/site/src/lib/port-inventory.ts @@ -79,9 +79,11 @@ export type PublicationStatus = 'published' | 'configured-unpublished' | 'planne export type PackageHostId = | 'pypi' | 'rubygems' | 'luarocks' | 'powershell-gallery' | 'npm' | 'crates' | 'pkg-go-dev' | 'maven-central' | 'nuget' | 'swift-package-index' | 'hex' + | 'raku-land' export type ApiHostId = 'docs-rs' | 'pkg-go-dev' | 'javadoc-io' | 'swift-package-index' | 'hexdocs' export type HostIcon = 'github' | 'pypi' | 'npm' | 'crates' | 'go' | 'maven' | 'nuget' | 'swift' | 'rubygems' | 'luarocks' | 'powershell' | 'docsrs' | 'javadoc' | 'docc' | 'hex' | 'hexdocs' + | 'raku-land' export interface HostIdentity { name: string @@ -108,6 +110,7 @@ export const PACKAGE_HOSTS: Readonly> = { nuget: { name: 'NuGet', hostname: 'www.nuget.org', icon: 'nuget' }, 'swift-package-index': { name: 'Swift Package Index', hostname: 'swiftpackageindex.com', icon: 'swift' }, hex: { name: 'Hex', hostname: 'hex.pm', icon: 'hex' }, + 'raku-land': { name: 'Raku Land', hostname: 'raku.land', icon: 'raku-land' }, } export const API_HOSTS: Readonly> = { @@ -219,6 +222,11 @@ const hexPackage = (name: string): Located & Pick => ({ package: { host: 'hex', url: `https://hex.pm/packages/${name}` }, api: { host: 'hexdocs', url: `https://${name}.hexdocs.pm/` }, }) +/** A distribution on Raku Land under its Fez authority; the site serves no API reference for it. */ +const rakuDist = (authority: string, name: string): Located => ({ + coordinate: name, + package: { host: 'raku-land', url: `https://raku.land/${authority}/${name}` }, +}) const MAVEN_GROUP = 'io.github.libtmux' const central = (artifact: string): Located => ({ coordinate: `${MAVEN_GROUP}:${artifact}`, @@ -244,6 +252,7 @@ const lua = family('libtmux/libtmux-lua') const powershell = family('libtmux/libtmux-powershell') const julia = family('libtmux/libtmux-julia') const elixir = family('libtmux/libtmux-elixir', 'main') +const raku = family('libtmux/libtmux-raku') const haskell = family('libtmux/libtmux-haskell') const lisp = family('libtmux/libtmux-lisp') const erlang = family('libtmux/libtmux-erlang') @@ -297,6 +306,10 @@ const GO = 'github.com/libtmux/libtmux-go' * testing products in the order a reader reaches for them. */ export const INVENTORY: Readonly> = { + raku: [ + raku({ id: 'LibTmux', kind: 'library', product: 'core', unit: 'Raku distribution', label: 'LibTmux', ...rakuDist('zef:libtmux', 'LibTmux'), aliases: ['use LibTmux', 'LibTmux:auth'], path: 'lib' }), + raku({ id: 'repository', kind: 'source', product: 'core', label: 'libtmux-raku', coordinate: 'libtmux/libtmux-raku' }), + ], ocaml: [ { id: 'libtmux', kind: 'library', product: 'core', unit: 'opam package', label: 'libtmux', coordinate: 'libtmux', aliases: ['Libtmux'], repo: 'libtmux/libtmux-ocaml', ref: 'master', path: 'lib', status: 'published' }, diff --git a/site/src/lib/ports.ts b/site/src/lib/ports.ts index 194e82540..c00ff2ec4 100644 --- a/site/src/lib/ports.ts +++ b/site/src/lib/ports.ts @@ -39,6 +39,7 @@ export interface PackageRegistry { url: string /** Which mark `components/icons/RegistryIcon.astro` draws. */ icon: 'pypi' | 'npm' | 'crates' | 'go' | 'maven' | 'nuget' | 'swift' | 'rubygems' | 'luarocks' | 'powershell' | 'hex' + | 'raku-land' } export type PortPackageId = 'core' | 'async' | DocProduct @@ -1433,6 +1434,33 @@ target_link_libraries(your_target PRIVATE libtmux::libtmux)`, }, installNote: 'Install core before workspace or optional async. These package names do not identify published CPAN releases.', }, + { + slug: 'raku', projectName: 'libtmux-raku', logoLanguage: 'raku', shortName: 'Raku', + name: 'Raku', language: 'Raku', packageName: 'LibTmux', + repo: 'libtmux/libtmux-raku', checkout: '~/work/libtmux/libtmux-raku', + worktree: '~/work/libtmux/libtmux-raku-docs-site', + source: { path: 'lib', ref: 'master' }, versionedDocs: true, + docsDispatch: { workflow: 'docs.yml' }, + tagGrammar: 'semver', publishesOwnTree: true, + renderer: 'astro', generator: 'Rakudo RakuAST and native RakuDoc', referenceKind: 'model', + productAvailability: { workspace: 'excluded', mcp: 'excluded' }, + registry: { name: 'Raku Land', url: 'https://raku.land/zef:libtmux/LibTmux', icon: 'raku-land' }, + packages: [{ id: 'core', name: 'LibTmux', coordinate: 'LibTmux:auth', require: 'LibTmux', source: { path: 'lib', ref: 'master' } }], + installs: [ + { label: 'zef', lang: 'console', code: "zef install 'LibTmux:auth'", + note: 'Requires Linux, Raku 6.d and tmux 3.3a through 3.8. The authority names the Fez publisher, zef:libtmux.' }, + { label: 'zef (source)', lang: 'console', + code: 'git clone https://github.com/libtmux/libtmux-raku.git && \\\n cd libtmux-raku && \\\n zef install .', + note: 'Install a checkout instead of the published distribution.' }, + ], + initProject: { lang: 'text', code: 'Add "LibTmux:auth" to the depends array of META6.json.' }, + installForms: { + release: { lang: 'console', code: "zef install 'LibTmux:auth'" }, + prerelease: { lang: 'console', code: "zef install 'LibTmux:ver<{version}>:auth'" }, + git: { lang: 'console', code: 'git clone --branch {tag} --depth 1 https://github.com/libtmux/libtmux-raku.git && \\\n cd libtmux-raku && \\\n zef install .' }, + }, + installNote: 'The API is experimental and may change between 0.x releases. CI qualifies Rakudo 2026.09 on Linux with tmux 3.3a and 3.8; other platforms and compiler versions are unverified. Workspace and MCP products are not published.', + }, ] as const diff --git a/site/test/fixtures/header-links.ts b/site/test/fixtures/header-links.ts index d5092837b..924ca6cf7 100644 --- a/site/test/fixtures/header-links.ts +++ b/site/test/fixtures/header-links.ts @@ -25,6 +25,16 @@ export interface ExpectedLinks { } export const LINKS: Record = { + raku: { + actions: [['source', 'GitHub', 'GitHub: libtmux/libtmux-raku/lib', 'https://github.com/libtmux/libtmux-raku/tree/master/lib'], + ['package', 'Raku Land', 'Raku Land: LibTmux package', 'https://raku.land/zef:libtmux/LibTmux']], + indexed: true, + rows: [ + ['source', 'LibTmux', 'Raku distribution · lib', 'https://github.com/libtmux/libtmux-raku/tree/master/lib', ['LibTmux']], + ['source', 'libtmux-raku', 'libtmux/libtmux-raku', 'https://github.com/libtmux/libtmux-raku', ['repository']], + ['package', 'LibTmux', 'Raku distribution · Raku Land', 'https://raku.land/zef:libtmux/LibTmux', ['LibTmux']], + ], + }, ocaml: { actions: [['source', 'GitHub', 'GitHub: libtmux/libtmux-ocaml/lib', 'https://github.com/libtmux/libtmux-ocaml/tree/master/lib']], indexed: true, diff --git a/site/test/fixtures/port-destinations.ts b/site/test/fixtures/port-destinations.ts index ff0ae5851..bcc35d75d 100644 --- a/site/test/fixtures/port-destinations.ts +++ b/site/test/fixtures/port-destinations.ts @@ -20,6 +20,10 @@ export interface ExpectedDestinations { const github = (url: string, name: string): ExpectedLink => ({ url, label: `${name} on GitHub` }) export const DESTINATIONS: Record = { + raku: { + source: github('https://github.com/libtmux/libtmux-raku/tree/master/lib', 'libtmux-raku/lib'), + registry: { name: 'Raku Land', url: 'https://raku.land/zef:libtmux/LibTmux', icon: 'raku-land', label: 'LibTmux on Raku Land' }, + }, ocaml: { source: github('https://github.com/libtmux/libtmux-ocaml/tree/master/lib', 'libtmux-ocaml/lib'), }, diff --git a/site/test/port-landing.test.ts b/site/test/port-landing.test.ts index 0e6c9f308..23e751838 100644 --- a/site/test/port-landing.test.ts +++ b/site/test/port-landing.test.ts @@ -20,6 +20,7 @@ const read = (path: string) => JSON.parse(readFileSync(new URL(path, import.meta /** Every product a port ships, as the selector offers it. */ const PRODUCTS: Record = { + raku: ['core'], ocaml: ['core', 'workspace'], perl: ['core', 'workspace'], py: ['core', 'mcp', 'workspace'], From 3c1eaef9d04d0c4c7bc0f0d4bcee5f5c3f302579 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:43:26 -0600 Subject: [PATCH 07/41] raku(feat[api-model]) Adapt the native Raku documentation why: The Raku library ships its own exporter, tools/export-docs.raku, which reads declarations with Rakudo's RakuAST and documentation from native RakuDoc. The site needs an adapter that checks that artifact rather than parsing Raku in JavaScript, and a model committed at the revision it describes. what: - Add the libtmux.raku-api/v1 adapter: it rejects uncommitted inputs, altered sources, unresolved RakuDoc links and invalid signature spans, and derives the native signature spans the shared renderer uses - Verify in gen-api-model that the exporter bytes and compiler match the committed source and its .tool-versions pin - Bind 162 shared concepts to Raku declarations and mark the rest absent - Place a module exported by another module once in the export-group sidebar, with a test that fails without the fix - Render Raku signatures natively and name the port in the shared tables - Commit the model, sidebar and path sidecars generated from libtmux-raku at 9a9838047f15 (1069 public declarations, none lacking documentation) --- packages/api-model/src/concepts.ts | 90 +++++++++++++++ packages/api-model/src/doc/roles.ts | 2 + packages/api-model/src/index.ts | 1 + packages/api-model/src/inventory.ts | 1 + packages/api-model/src/languages/raku.ts | 118 ++++++++++++++++++++ packages/api-model/src/mentions.ts | 1 + packages/api-model/src/model.ts | 3 + packages/api-model/src/nav-sidecar.ts | 6 +- packages/api-model/src/prose.ts | 1 + packages/api-model/src/resolver.ts | 1 + packages/api-model/test/nav-sidecar.test.ts | 15 +++ packages/api-model/test/raku.test.ts | 73 ++++++++++++ scripts/gen-api-model.mjs | 17 ++- site/src/data/api/raku.json | 1 + site/src/data/api/raku.nav.json | 1 + site/src/data/api/raku.paths.json | 1 + site/src/lib/api-models.ts | 5 + site/src/lib/api-sections.ts | 2 +- site/src/lib/code-layout.ts | 11 ++ 19 files changed, 346 insertions(+), 4 deletions(-) create mode 100644 packages/api-model/src/languages/raku.ts create mode 100644 packages/api-model/test/raku.test.ts create mode 100644 site/src/data/api/raku.json create mode 100644 site/src/data/api/raku.nav.json create mode 100644 site/src/data/api/raku.paths.json diff --git a/packages/api-model/src/concepts.ts b/packages/api-model/src/concepts.ts index 09be240fa..7733f1c6b 100644 --- a/packages/api-model/src/concepts.ts +++ b/packages/api-model/src/concepts.ts @@ -4144,8 +4144,98 @@ for (const [id, binding] of Object.entries(CLOJURE_CONCEPTS)) { concept.symbols.clojure = binding.symbol if (binding.note) (concept.notes ??= {}).clojure = binding.note } +const RAKU_CONCEPTS: Record = { + server: { symbol: 'LibTmux::Server' }, + session: { symbol: 'LibTmux::Model::Session' }, + window: { symbol: 'LibTmux::Model::Window', note: 'A physical window may have multiple WindowLink placements, including distinct indexes in one session.' }, + pane: { symbol: 'LibTmux::Model::Pane' }, + snapshot: { symbol: 'LibTmux::Server.snapshot', note: 'Explicit I/O captures an observation interval. Existing views and relationships remain local.' }, + 'list-sessions': { symbol: 'LibTmux::Model::Snapshot.sessions' }, + 'list-server-windows': { symbol: 'LibTmux::Model::Snapshot.windows', note: 'Physical windows occur once; window-links preserves placements.' }, + 'list-server-panes': { symbol: 'LibTmux::Model::Snapshot.panes' }, + 'list-clients': { symbol: 'LibTmux::Model::Snapshot.clients' }, + 'list-windows': { symbol: 'LibTmux::Model::Session.window-links', note: 'Returns captured WindowLink placements. Follow each window relationship for the physical window.' }, + 'list-panes': { symbol: 'LibTmux::Model::Window.panes' }, + 'pane-window': { symbol: 'LibTmux::Model::Pane.window' }, + 'window-session': { symbol: 'LibTmux::Model::WindowLink.session', note: 'The session belongs to a link, not to the physical Window.' }, + 'window-link-window': { symbol: 'LibTmux::Model::WindowLink.window' }, + 'client-session': { symbol: 'LibTmux::Model::Client.session' }, + 'active-pane': { symbol: 'LibTmux::Model::Window.active-pane' }, + 'active-window': { symbol: 'LibTmux::Model::Session.current-link', note: 'Returns the captured active WindowLink; its window relationship selects the physical window.' }, + 'new-session': { symbol: 'LibTmux::Server.new-session' }, + 'start-server': { symbol: 'LibTmux::Server.start', note: 'Starts an owned private daemon; close stops only an owned incarnation.' }, + 'kill-server': { symbol: 'LibTmux::Server.kill-server', note: 'Explicitly terminates the observed daemon. Owned callers still close to join cleanup.' }, + 'server-from-env': { symbol: 'LibTmux::Server.from-env', note: 'Explicitly imports TMUX environment data, verifies the daemon PID and binds that incarnation.' }, + 'has-session': { symbol: 'LibTmux::Server.has-session', note: 'Checks one exact ID or name; acquisition and identity failures still throw.' }, + 'run-shell': { symbol: 'LibTmux::Server.run-shell', note: 'Background acknowledgement does not establish job completion.' }, + 'if-shell': { symbol: 'LibTmux::Server.if-shell', note: 'Branches use bounded Invocation values; the condition explicitly selects shell or FORMAT semantics.' }, + 'source-file': { symbol: 'LibTmux::Server.source-file', note: 'Sources a literal pathname; parse-only validates without executing commands.' }, + 'wait-for': { symbol: 'LibTmux::Server.wait-for', note: 'Waits, signals, locks or unlocks a named channel within the Server deadline.' }, + 'server-cmd': { symbol: 'LibTmux::Server.command' }, + 'attach-session': { symbol: 'LibTmux::Server.attach', note: 'Returns a separately owned attachment with an explicit lifecycle.' }, + 'server-version': { symbol: 'LibTmux::Server.capabilities', note: 'Client and observed daemon versions are distinct capability inputs.' }, + 'chain-commands': { symbol: 'LibTmux::Server.run-batch', note: 'Returns per-operation evidence and partial results; this is not a transaction.' }, +} +for (const [owner, bindings] of Object.entries({ + SessionRef: { 'new-window': 'new-window', 'kill-session': 'kill', 'rename-session': 'rename', 'session-cmd': 'command', + 'refresh-session': 'inspect', 'next-window': 'next-window', 'previous-window': 'previous-window', 'last-window': 'last-window', + 'detach-session-clients': 'detach-clients', 'lock-session': 'lock' }, + WindowRef: { 'kill-window': 'kill', 'rename-window': 'rename', 'window-cmd': 'command', 'refresh-window': 'inspect', + 'select-layout': 'select-layout', 'next-layout': 'next-layout', 'previous-layout': 'previous-layout', 'resize-window': 'resize', + 'respawn-window': 'respawn', 'link-window': 'link', 'rotate-panes': 'rotate', 'last-pane': 'last-pane' }, + WindowLinkRef: { 'unlink-window': 'unlink', 'move-window': 'move', 'swap-window': 'swap', 'select-window': 'select' }, + PaneRef: { 'capture-pane': 'capture', 'send-keys': 'send-keys', 'split-pane': 'split', 'respawn-pane': 'respawn', + 'resize-pane': 'resize', 'kill-pane': 'kill', 'break-pane': 'break', 'join-pane': 'join', 'move-pane': 'move', 'swap-pane': 'swap', + 'pipe-pane': 'pipe', 'select-pane': 'select', 'clear-history': 'clear-history', 'set-pane-title': 'set-title', + 'copy-mode': 'copy-mode', 'clock-mode': 'clock-mode', 'send-prefix': 'send-prefix', 'reset-pane': 'reset', + 'pane-cmd': 'command', 'refresh-pane': 'inspect' }, + ClientRef: { 'detach-client': 'detach', 'refresh-client': 'refresh', 'switch-client': 'switch', 'lock-client': 'lock', + 'suspend-client': 'suspend', 'display-menu': 'menu-async', 'display-popup': 'popup-async', 'command-prompt': 'prompt-async', + 'confirm-before': 'confirm-async', 'prompt-history': 'prompt-history', 'clear-prompt-history': 'clear-prompt-history', + 'find-window': 'find-window' }, +})) for (const [concept, method] of Object.entries(bindings)) RAKU_CONCEPTS[concept] = { symbol: `LibTmux::Model::${owner}.${method}` } +for (const [prefix, owner, fields] of [ + ['session', 'Session', ['id', 'name', 'created', 'path', 'group', 'grouped']], + ['window', 'Window', ['id', 'name', 'height', 'width', 'layout', 'linked']], + ['pane', 'Pane', ['id', 'index', 'height', 'width', 'title', 'active', 'current-command', 'current-path', 'pid', 'tty', 'dead', 'in-mode', 'window-id']], + ['window', 'WindowLink', ['index', 'active', 'session-id']], +] as const) for (const field of fields) RAKU_CONCEPTS[`${prefix}-${field}`] = { symbol: `LibTmux::Model::${owner}.${field}` } +for (const scope of ['server', 'session', 'window', 'pane']) { + for (const [suffix, method] of Object.entries({ options: 'entries', option: 'get' })) RAKU_CONCEPTS[`${scope}-${suffix}`] = { + symbol: `LibTmux::Configuration::Options.${method}`, note: 'Use the corresponding server or reference options facade; acquisition is explicit.' } + for (const method of ['set', 'unset']) RAKU_CONCEPTS[`${method}-${scope}-option`] = { symbol: `LibTmux::Configuration::Options.${method}` } + RAKU_CONCEPTS[`${scope}-hooks`] = { symbol: 'LibTmux::Configuration::Hooks.list', note: 'Use the explicitly scoped hooks facade.' } + for (const method of ['set', 'unset']) RAKU_CONCEPTS[`${method}-${scope}-hook`] = { symbol: `LibTmux::Configuration::Hooks.${method}` } +} +for (const scope of ['server', 'session']) { + RAKU_CONCEPTS[`${scope}-environment`] = { symbol: 'LibTmux::Configuration::Environment.list', note: 'Use the corresponding server or session environment facade.' } + RAKU_CONCEPTS[`${scope}-get-environment`] = { symbol: 'LibTmux::Configuration::Environment.get' } + for (const method of ['set', 'unset', 'remove']) RAKU_CONCEPTS[`${method}-${scope}-environment`] = { symbol: `LibTmux::Configuration::Environment.${method}` } +} +for (const [concept, method] of Object.entries({ 'list-buffers': 'list', 'show-buffer': 'get', 'set-buffer': 'put', 'delete-buffer': 'delete', 'paste-buffer': 'paste' })) { + RAKU_CONCEPTS[concept] = { symbol: `LibTmux::Configuration::Buffers.${method}`, note: 'Buffer content is byte data; file I/O remains a separate caller operation.' } +} +for (const [concept, method] of Object.entries({ 'list-keys': 'list', 'bind-key': 'bind', 'unbind-key': 'unbind' })) RAKU_CONCEPTS[concept] = { symbol: `LibTmux::Configuration::KeyBindings.${method}` } +for (const [id, binding] of Object.entries(RAKU_CONCEPTS)) { + const concept = CONCEPTS[id] + if (!concept) throw new Error(`concepts: Raku maps unknown concept ${id}`) + concept.symbols.raku = binding.symbol + if (binding.note) (concept.notes ??= {}).raku = binding.note +} +for (const [id, reason] of Object.entries({ + 'workspace-description': 'Workspace functionality is outside the Raku core library scope.', + 'build-workspace': 'Workspace functionality is outside the Raku core library scope.', + 'freeze-workspace': 'Workspace functionality is outside the Raku core library scope.', + 'pane-session': 'A pane belongs to a physical window, which can have several session links. Traverse window.links and each link.session.', + 'pane-session-id': 'A physical pane has no single session identity; inspect its window links.', + 'session-from-env': 'Session targeting is explicit and incarnation-bound.', + 'load-buffer': 'Read file bytes with native Raku I/O and pass them to Buffers.put.', + 'save-buffer': 'Acquire bytes with Buffers.get and write them with native Raku I/O.', +})) (CONCEPTS[id]!.absent ??= {}).raku = reason + for (const concept of Object.values(CONCEPTS)) { concept.absent ??= {} + if (!concept.symbols.raku) concept.absent.raku ??= 'No direct Raku mapping is recorded for this operation; consult the native API reference.' if (!concept.symbols.powershell) concept.absent.powershell ??= 'No source-verified PowerShell equivalent is recorded for this operation.' if (!concept.symbols.julia) concept.absent.julia ??= 'No source-verified Julia equivalent is recorded for this operation.' if (!concept.symbols.elixir) concept.absent.elixir = 'No source-verified Elixir equivalent is recorded for this operation.' diff --git a/packages/api-model/src/doc/roles.ts b/packages/api-model/src/doc/roles.ts index a45540364..7cf2758ec 100644 --- a/packages/api-model/src/doc/roles.ts +++ b/packages/api-model/src/doc/roles.ts @@ -284,6 +284,8 @@ const SYNTAX: Record> = { py: new Set(['rest', 'citation']), // Pod::Simple exports local POD targets as roles and external targets as Markdown links. perl: new Set(['pod', 'markdown-link']), + // The RakuDoc adapter resolves L<> links into roles; C<> stays literal code. + raku: new Set(['rest-role', 'markdown-link', 'literal-code']), rs: new Set(['intra-doc']), go: new Set(['go-link']), java: new Set(['jsdoc']), diff --git a/packages/api-model/src/index.ts b/packages/api-model/src/index.ts index 856684be4..12daf91b5 100644 --- a/packages/api-model/src/index.ts +++ b/packages/api-model/src/index.ts @@ -1,4 +1,5 @@ export { extractPerlArtifact } from './languages/perl.ts' +export { extractRakuArtifact } from './languages/raku.ts' export * from './model.ts' export * from './doc/prose-blocks.ts' export { sourceUrl, symbolsForProduct } from './products.ts' diff --git a/packages/api-model/src/inventory.ts b/packages/api-model/src/inventory.ts index 1be2c2b82..89b7a63c2 100644 --- a/packages/api-model/src/inventory.ts +++ b/packages/api-model/src/inventory.ts @@ -33,6 +33,7 @@ export function symbolEntries(entries: T[]): T[] { /** Sphinx v2 uses object types in records; roles resolve those types. */ const DOMAIN: Record = { perl: 'std', + raku: 'std', py: 'py', ruby: 'std', lua: 'std', diff --git a/packages/api-model/src/languages/raku.ts b/packages/api-model/src/languages/raku.ts new file mode 100644 index 000000000..298dc7751 --- /dev/null +++ b/packages/api-model/src/languages/raku.ts @@ -0,0 +1,118 @@ +import { createHash } from 'node:crypto' +import type { ApiModel, ApiSymbol, DocBlock } from '../model.ts' + +interface RakuArtifact extends ApiModel { + schema: string + workingTree: boolean + compiler: string + language: string + aliases: Record + missingDocumentation: Record +} + +const SHA = /^[a-f0-9]{40}$/ +const HASH = /^[a-f0-9]{64}$/ +const relative = (path: string) => Boolean(path) && !path.startsWith('/') && !path.includes('\\') && !path.split('/').includes('..') +const digest = (text: string) => createHash('sha256').update(text).digest('hex') + +function check(condition: unknown, message: string): asserts condition { + if (!condition) throw new Error(`Invalid Raku documentation artifact: ${message}`) +} + +/** Adapt compiler declarations and native RakuDoc; never parse Raku source in JavaScript. */ +export function extractRakuArtifact(input: unknown, expectedRevision?: string): ApiModel { + const artifact = structuredClone(input) as RakuArtifact + check(artifact?.schema === 'libtmux.raku-api/v1' && artifact.port === 'raku' && + artifact.repo === 'libtmux/libtmux-raku' && SHA.test(artifact.revision ?? ''), 'schema or library identity') + check(!expectedRevision || artifact.revision === expectedRevision, 'library revision mismatch') + check(typeof artifact.workingTree === 'boolean' && /^v?\d{4}\.\d{2}$/.test(artifact.compiler) && artifact.language === '6.d', 'native compiler profile') + const producer = artifact.nativeProvenance?.exporter + const library = artifact.nativeProvenance?.library + check(library?.repository === artifact.repo && library.revision === artifact.revision && + library.workingTree === artifact.workingTree, 'library provenance differs') + check(producer?.name === 'RakuAST and RakuDoc export' && producer.version === 1 && + producer.repository === artifact.repo && typeof producer.revision === 'string' && SHA.test(producer.revision) && + producer.path === 'tools/export-docs.raku' && typeof producer.sha256 === 'string' && HASH.test(producer.sha256) && + typeof producer.workingTree === 'boolean', 'exporter identity') + check(!artifact.workingTree && !producer.workingTree, 'uncommitted inputs cannot be published') + producer.compiler = artifact.compiler.replace(/^v/, '') + check(Array.isArray(artifact.nativeProvenance?.files) && artifact.nativeProvenance.files.length > 0 && + artifact.generatedSources && typeof artifact.generatedSources === 'object', 'source inventory') + const files = new Map() + for (const file of artifact.nativeProvenance.files) { + check(relative(file.path) && HASH.test(file.sha256) && !files.has(file.path), 'invalid or repeated source path') + files.set(file.path, file.sha256) + } + for (const [path, text] of Object.entries(artifact.generatedSources)) { + check(relative(path) && files.has(path) && typeof text === 'string' && digest(text) === files.get(path), `source digest differs: ${path}`) + } + check(Array.isArray(artifact.symbols) && artifact.symbols.length > 0, 'empty public API') + const ids = new Map(artifact.symbols.map((symbol) => [symbol.id, symbol])) + check(ids.size === artifact.symbols.length, 'repeated public identity') + const aliases = artifact.aliases ?? {} + const resolve = (name: string, owner: ApiSymbol): string => { + if (ids.has(name)) return name + if (aliases[name] && ids.has(aliases[name])) return aliases[name] + const scoped = `${owner.parent ?? owner.id}::${name}` + if (ids.has(scoped)) return scoped + if (aliases[scoped] && ids.has(aliases[scoped])) return aliases[scoped] + const candidates = artifact.symbols.filter((symbol) => symbol.name === name) + check(candidates.length === 1, `unresolved or ambiguous RakuDoc target ${name} in ${owner.id}`) + return candidates[0]!.id + } + const prose = (text: string, owner: ApiSymbol): string => text.replace(/\[([^\]]+)\]\(rakudoc:([^)]+)\)/g, + (_match, label: string, encoded: string) => { + let target: string + try { target = decodeURIComponent(encoded) } catch { throw new Error('Invalid RakuDoc target encoding') } + return `:obj:\`${label.replaceAll('`', '')} <${resolve(target, owner)}>\`` + }) + const docs = (value: DocBlock | undefined, owner: ApiSymbol): DocBlock | undefined => value ? { + ...value, summary: prose(value.summary ?? '', owner), ...(value.body ? { body: prose(value.body, owner) } : {}), + } : undefined + for (const symbol of artifact.symbols) { + check(symbol.apiScope === 'exported' && symbol.product === 'core' && symbol.package === 'LibTmux' && + /^(?:LibTmux|X::LibTmux)(?:::|\.|$)/.test(symbol.id) && symbol.publicId === symbol.id && + (!symbol.parent || ids.has(symbol.parent)), `invalid public declaration ${symbol.id}`) + check(relative(symbol.source?.file) && files.has(symbol.source.file) && + artifact.generatedSources[symbol.source.file] !== undefined && + Number.isInteger(symbol.source.line) && symbol.source.line! > 0 && + symbol.source.line! <= artifact.generatedSources[symbol.source.file]!.split('\n').length && + symbol.source.revision === artifact.revision, `source identity differs: ${symbol.id}`) + check(Array.isArray(symbol.signatures), `missing signatures: ${symbol.id}`) + for (const signature of symbol.signatures) { + check(typeof signature.raw === 'string' && signature.raw.length > 0 && Array.isArray(signature.params), `invalid native signature: ${symbol.id}`) + let previous = -1 + for (const reference of signature.references ?? []) { + check(Number.isInteger(reference.start) && Number.isInteger(reference.end) && reference.start >= 0 && + reference.end > reference.start && reference.end <= signature.raw.length && reference.start >= previous && + ids.has(reference.target), `invalid native type reference in ${symbol.id}: ${reference.target}`) + previous = reference.end + } + const start = signature.raw.indexOf(`${symbol.name}(`) + check(start >= 0, `missing native declaration name: ${symbol.id}`) + signature.nativeSyntax = [{ start, end: start + symbol.name.length, kind: 'name' }] + const ranges = [ + { start, end: start + symbol.name.length, declaration: true }, + ...(signature.references ?? []).map((reference) => ({ ...reference, declaration: false })), + ].sort((a, b) => a.start - b.start) + signature.nativeSpans = [] + let offset = 0 + for (const range of ranges) { + check(range.start >= offset, `overlapping native spans: ${symbol.id}`) + if (range.start > offset) signature.nativeSpans.push({ text: signature.raw.slice(offset, range.start) }) + signature.nativeSpans.push({ text: signature.raw.slice(range.start, range.end), + ...('target' in range ? { target: range.target } : { declaration: true }) }) + offset = range.end + } + if (offset < signature.raw.length) signature.nativeSpans.push({ text: signature.raw.slice(offset) }) + signature.doc = docs(signature.doc, symbol) + } + symbol.doc = docs(symbol.doc, symbol) + } + return { + port: 'raku', repo: artifact.repo, revision: artifact.revision, + extractor: artifact.extractor, symbols: artifact.symbols, + exportGroups: artifact.exportGroups, + generatedSources: artifact.generatedSources, nativeProvenance: artifact.nativeProvenance, + } +} diff --git a/packages/api-model/src/mentions.ts b/packages/api-model/src/mentions.ts index 51bf786d6..b54b658bd 100644 --- a/packages/api-model/src/mentions.ts +++ b/packages/api-model/src/mentions.ts @@ -96,6 +96,7 @@ const FENCE_PORT: Record = { elixir: 'elixir', ex: 'elixir', exs: 'elixir', perl: 'perl', pl: 'perl', pm: 'perl', lisp: 'lisp', 'common-lisp': 'lisp', + raku: 'raku', } /** A symbol that a link on a page names. */ diff --git a/packages/api-model/src/model.ts b/packages/api-model/src/model.ts index 9ade56f16..0d7ed68cc 100644 --- a/packages/api-model/src/model.ts +++ b/packages/api-model/src/model.ts @@ -15,6 +15,7 @@ /** Language libraries, by the slug the site uses. */ export type PortSlug = 'perl' | 'py' | 'ruby' | 'lua' | 'ts' | 'rs' | 'go' | 'java' | 'csharp' | 'cxx' | 'swift' | 'kotlin' | 'scala' | 'fsharp' | 'powershell' | 'julia' | 'elixir' | 'ocaml' | 'haskell' | 'clojure' | 'lisp' | 'erlang' + | 'raku' export type ApiProduct = 'core' | 'workspace' | 'mcp' @@ -384,6 +385,8 @@ export interface ApiModelBase { nativeProvenance?: { files: { path: string; sha256: string }[] exporter: Record + /** The library revision a native exporter described, when it records one apart from the exporter's own. */ + library?: { repository: string; revision: string; workingTree: boolean } } /** Generated public source files, stored with the revision that produced them. */ generatedSources?: Record diff --git a/packages/api-model/src/nav-sidecar.ts b/packages/api-model/src/nav-sidecar.ts index 7210bc5ae..c38bdfd50 100644 --- a/packages/api-model/src/nav-sidecar.ts +++ b/packages/api-model/src/nav-sidecar.ts @@ -62,8 +62,10 @@ export function exportGroupsNav(model: ApiModelBase): NavConfig { } members.add(id) } - bucket.children!.push({ id: `${bucket.id}:${bucket.children!.length}`, label: group.title, - match: { kind: 'id', is: [...group.members] }, order: [...group.members] }) + // A module exported by another module already owns a bucket; listing it here too would place it twice. + const declarations = group.members.filter((id) => !modules.has(byId.get(id)!.id)) + if (declarations.length) bucket.children!.push({ id: `${bucket.id}:${bucket.children!.length}`, label: group.title, + match: { kind: 'id', is: declarations }, order: declarations }) } for (const symbol of model.symbols) { if (symbol.kind === 'module' && publicSymbol(symbol) && !owners.has(symbol.publicId ?? symbol.id)) { diff --git a/packages/api-model/src/prose.ts b/packages/api-model/src/prose.ts index 25ef2bba6..1d0d072bd 100644 --- a/packages/api-model/src/prose.ts +++ b/packages/api-model/src/prose.ts @@ -19,6 +19,7 @@ export const PORT_NAME: Record = { ocaml: 'OCaml', py: 'Python', perl: 'Perl', + raku: 'Raku', ts: 'TypeScript', rs: 'Rust', go: 'Go', diff --git a/packages/api-model/src/resolver.ts b/packages/api-model/src/resolver.ts index 6dadb3973..f09ca6817 100644 --- a/packages/api-model/src/resolver.ts +++ b/packages/api-model/src/resolver.ts @@ -78,6 +78,7 @@ export const DEFAULT_PRIMARY_MODULES: Record = { elixir: 'LibTmux', perl: 'LibTmux', lisp: 'libtmux', + raku: 'LibTmux', } export const DEFAULT_TEMPLATES: UrlTemplate[] = [ diff --git a/packages/api-model/test/nav-sidecar.test.ts b/packages/api-model/test/nav-sidecar.test.ts index a9815b386..729b6ebdb 100644 --- a/packages/api-model/test/nav-sidecar.test.ts +++ b/packages/api-model/test/nav-sidecar.test.ts @@ -166,6 +166,21 @@ describe('native export groups', () => { expect(actual.diagnostics.unmatched).toEqual([]) }) + it('places a nested exported module in its own module bucket exactly once', () => { + const model = fixture() + model.symbols.push( + { ...symbol('Module.Z.Inner', 'module', 'Module.Z'), apiScope: 'exported' }, + { ...symbol('Module.Z.Inner.value', 'function', 'Module.Z.Inner'), apiScope: 'exported' }, + ) + model.exportGroups![0].members.push('Module.Z.Inner') + model.exportGroups!.push({ owner: 'Module.Z.Inner', title: 'Values', members: ['Module.Z.Inner.value'] }) + const before = structuredClone(model) + const actual = navSidecar(GROUPS_ONLY, model)! + expect(actual.diagnostics).toEqual({ unmatched: [], deadBuckets: [], ambiguous: [], staleUnsettled: [] }) + expect(actual.assignments['exports:Module.Z.Inner'].map((entry) => entry.id)).toEqual(['Module.Z.Inner']) + expect(model).toEqual(before) + }) + it.each([ ['missing direct declaration', (model: ApiModel) => model.exportGroups![1].members.pop()], ['duplicate declaration', (model: ApiModel) => model.exportGroups![1].members.push('Module.Z#v:z')], diff --git a/packages/api-model/test/raku.test.ts b/packages/api-model/test/raku.test.ts new file mode 100644 index 000000000..08c4f6925 --- /dev/null +++ b/packages/api-model/test/raku.test.ts @@ -0,0 +1,73 @@ +import { createHash } from 'node:crypto' +import { describe, expect, it } from 'vitest' +import { extractRakuArtifact } from '../src/languages/raku.ts' +import { sourceUrl } from '../src/products.ts' +import { SymbolIndex } from '../src/reference.ts' + +const revision = 'a'.repeat(40) +const source = 'unit module LibTmux;\nclass Pane { method inspect(--> Pane:D) {} }\n' +const file = 'lib/LibTmux.rakumod' +const hash = createHash('sha256').update(source).digest('hex') + +function artifact() { + const common = { apiScope: 'exported', product: 'core', package: 'LibTmux', modifiers: [], + source: { file, line: 2, revision } } + return { + schema: 'libtmux.raku-api/v1', port: 'raku', repo: 'libtmux/libtmux-raku', revision, + workingTree: false, compiler: 'v2026.09', language: '6.d', extractor: 'Rakudo RakuAST and RakuDoc/v1', + aliases: { Pane: 'LibTmux::Pane' }, missingDocumentation: {}, + generatedSources: { [file]: source }, + nativeProvenance: { files: [{ path: file, sha256: hash }], + library: { repository: 'libtmux/libtmux-raku', revision, workingTree: false }, exporter: { + name: 'RakuAST and RakuDoc export', version: 1, repository: 'libtmux/libtmux-raku', + revision: 'b'.repeat(40), path: 'tools/export-docs.raku', sha256: 'c'.repeat(64), workingTree: false, + } }, + symbols: [ + { ...common, id: 'LibTmux', publicId: 'LibTmux', name: 'LibTmux', kind: 'module', signatures: [] }, + { ...common, id: 'LibTmux::Pane', publicId: 'LibTmux::Pane', name: 'Pane', kind: 'class', parent: 'LibTmux', signatures: [] }, + { ...common, id: 'LibTmux::Pane.inspect', publicId: 'LibTmux::Pane.inspect', name: 'inspect', kind: 'method', parent: 'LibTmux::Pane', + doc: { summary: 'Acquire a [pane](rakudoc:Pane).' }, + signatures: [{ raw: 'method inspect(--> Pane:D)', params: [], references: [{ start: 19, end: 25, target: 'LibTmux::Pane' }] }] }, + ], + } +} + +describe('native Raku documentation', () => { + it('retains compiler signatures, links and exact source provenance', () => { + const input = artifact() + const model = extractRakuArtifact(input, revision) + const method = model.symbols[2]! + expect(method.signatures[0]!.raw).toBe('method inspect(--> Pane:D)') + expect(method.signatures[0]!.nativeSyntax).toEqual([{ start: 7, end: 14, kind: 'name' }]) + expect(method.signatures[0]!.nativeSpans!.map((span) => span.text).join('')).toBe(method.signatures[0]!.raw) + expect(method.signatures[0]!.nativeSpans!.filter((span) => span.target).map((span) => span.target)).toEqual(['LibTmux::Pane']) + expect(method.doc?.summary).toBe('Acquire a :obj:`pane `.') + const index = new SymbolIndex(model.symbols, (symbol) => `/reference/${symbol.id}/`, 'raku') + const prose = index.docSpans(method.doc!.summary!, method) + expect(prose.map((span) => 'text' in span ? span.text : 'label' in span ? span.label : '').join('')) + .toBe('Acquire a pane.') + expect(prose).toContainEqual(expect.objectContaining({ kind: 'ref', label: 'pane', + link: expect.objectContaining({ href: '/reference/LibTmux::Pane/' }) })) + expect(index.docSpans('`LibTmux::Pane`', method)).toEqual([{ kind: 'code', text: 'LibTmux::Pane' }]) + expect(sourceUrl(model, method, '/reference/')).toBe(`/reference/sources/${file}`) + expect(model.nativeProvenance?.exporter.revision).not.toBe(model.revision) + expect(model.nativeProvenance?.exporter.compiler).toBe('2026.09') + expect(input.symbols[2]!.doc?.summary).toContain('rakudoc:') + }) + + it('refuses uncommitted inputs, altered sources and unresolved native links', () => { + const dirty = artifact(); dirty.workingTree = true; dirty.nativeProvenance.library.workingTree = true + expect(() => extractRakuArtifact(dirty, revision)).toThrow(/uncommitted/) + const exporter = artifact(); exporter.nativeProvenance.exporter.workingTree = true + expect(() => extractRakuArtifact(exporter, revision)).toThrow(/uncommitted/) + expect(() => extractRakuArtifact(artifact(), 'd'.repeat(40))).toThrow(/revision mismatch/) + const altered = artifact(); altered.generatedSources[file] += '# changed\n' + expect(() => extractRakuArtifact(altered, revision)).toThrow(/digest/) + const escaped = artifact(); escaped.nativeProvenance.files[0]!.path = '../outside' + expect(() => extractRakuArtifact(escaped, revision)).toThrow(/source path/) + const missing = artifact(); missing.symbols[2]!.doc!.summary = '[bad](rakudoc:Missing)' + expect(() => extractRakuArtifact(missing, revision)).toThrow(/unresolved/) + const invalid = artifact(); invalid.symbols[2]!.signatures[0]!.references[0]!.end = 999 + expect(() => extractRakuArtifact(invalid, revision)).toThrow(/type reference/) + }) +}) diff --git a/scripts/gen-api-model.mjs b/scripts/gen-api-model.mjs index 6d71b5265..42b329c01 100644 --- a/scripts/gen-api-model.mjs +++ b/scripts/gen-api-model.mjs @@ -16,6 +16,7 @@ import { PORTS as PORT_DEFS } from '../site/src/lib/ports.ts' import { extractDoxygen } from '../packages/api-model/src/languages/doxygen.ts' import { extractLua } from '../packages/api-model/src/languages/lua.ts' import { extractPerlArtifact } from '../packages/api-model/src/languages/perl.ts' +import { extractRakuArtifact } from '../packages/api-model/src/languages/raku.ts' import { extractRuby } from '../packages/api-model/src/languages/ruby.ts' import { extractPowerShell } from '../packages/api-model/src/languages/powershell.ts' import { extractJulia } from '../packages/api-model/src/languages/julia.ts' @@ -235,6 +236,10 @@ const PORTS = { checkout: '~/work/libtmux/libtmux-perl-docs-site', root: '.', nativeArtifact: 'docs/_build/api.json', repo: 'libtmux/libtmux-perl', options: {}, }, + raku: { + checkout: '~/work/libtmux/libtmux-raku-docs-site', root: '.', nativeArtifact: 'docs/_build/api.json', + repo: 'libtmux/libtmux-raku', options: {}, + }, ruby: { checkout: '~/work/libtmux/libtmux-ruby-docs', root: '.', @@ -689,8 +694,18 @@ for (const [port, cfg] of Object.entries(PORTS)) { process.exit(1) } const artifact = JSON.parse(readFileSync(artifactPath, 'utf8')) - const nativeExtractors = { perl: extractPerlArtifact, ruby: extractRuby, lua: extractLua, powershell: extractPowerShell, julia: extractJulia, elixir: extractElixir, ocaml: extractOcamlArtifact, haskell: extractHaskellArtifact, clojure: extractClojure, lisp: extractCommonLisp, erlang: extractErlang } + const nativeExtractors = { raku: extractRakuArtifact, perl: extractPerlArtifact, ruby: extractRuby, lua: extractLua, powershell: extractPowerShell, julia: extractJulia, elixir: extractElixir, ocaml: extractOcamlArtifact, haskell: extractHaskellArtifact, clojure: extractClojure, lisp: extractCommonLisp, erlang: extractErlang } model = nativeExtractors[port](artifact, head) + if (port === 'raku') { + // The exporter runs in the library checkout, so its bytes and compiler are part of what the model claims. + const producer = model.nativeProvenance.exporter + const pin = git(checkout, 'show', `${head}:.tool-versions`)?.split('\n').includes(`raku ${producer.compiler}`) + if (!pin) throw new Error('gen-api-model: raku native artifact compiler differs from the .tool-versions pin') + const exporterBytes = execFileSync('git', ['-C', checkout, 'show', `${head}:${producer.path}`], { maxBuffer: 1 << 26 }) + if (createHash('sha256').update(exporterBytes).digest('hex') !== producer.sha256) { + throw new Error('gen-api-model: raku native artifact uses different exporter bytes') + } + } if (port === 'haskell') { const verify = (root, sourceRevision, input) => { const bytes = execFileSync('git', ['-C', root, 'show', `${sourceRevision}:${input.path}`], { diff --git a/site/src/data/api/raku.json b/site/src/data/api/raku.json new file mode 100644 index 000000000..0ee072e3d --- /dev/null +++ b/site/src/data/api/raku.json @@ -0,0 +1 @@ +{"port":"raku","repo":"libtmux/libtmux-raku","revision":"9a9838047f1585c2c790b011cb708670999b7bdd","extractor":"Rakudo RakuAST and RakuDoc/v1","symbols":[{"apiScope":"exported","doc":{"body":"# LibTmux\n\nTyped tmux snapshots, local selections and explicit commands for Raku programs.\n\n\n\n# Create a session and split a pane\n\n:obj:`Server ` starts and owns a private daemon. Split the first pane,\nset pane titles, then capture the new state. Both panes run ` cat ` as an echo\nprocess. ` LEAVE ` closes the owner on normal or exceptional exit.\n\n\n\n```raku\nuse LibTmux;\n\nmy $server = Server.start(:name, :shell-command('exec cat'));\nLEAVE $server.close if $server.defined;\n\nmy $before = $server.snapshot;\nmy $left = $before.panes.single.ref;\nmy $right = $left.split(:horizontal, :shell-command('exec cat'));\n$left.set-title('editor');\n$right.set-title('logs');\n\nmy $after = $server.snapshot;\nmy $editor = $after.panes.filter(*.title eq 'editor').single;\nsay \"{$editor.title}: {$after.panes.elems} panes\";\n```\n\nThe program prints ` editor: 2 panes `. The earlier snapshot retains\none pane. ` .ref ` constructs an explicit command target; mutation does not change\nan earlier observation. ` snapshot ` performs I/O, while reading a captured field\nor relationship stays local.\n\n\n\n# Follow the captured graph\n\nA :obj:`Snapshot ` contains sessions, session groups, physical\nwindows, window links, panes, clients and buffer metadata. A physical window can\nappear at several indexes, including twice in the same session. Its\n` WindowLink ` owns the session-relative index and active state. ` windows ` and\n` panes ` enumerate physical identities once; ` window-links ` preserves placements.\n\nA pane's ` window ` and a window's ` panes ` resolve against the retained graph.\nKeeping an observation after closing its acquisition owner remains useful:\nfield reads, relationship traversal and selection operations make no tmux calls.\nUse ` .ref.inspect ` or a new snapshot when fresh information is needed.\nReferences include daemon incarnation evidence, so a replacement daemon does\nnot inherit an old pane reference merely by reusing its ID.\n\n\n\n# Query captured values\n\nCombine validated query data with native Raku predicates and transformations:\n\n\n\n```raku\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(160), :height(40), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $editor = $server.snapshot.panes.single.ref;\n my $tests = $editor.split(:horizontal, :shell-command('exec cat'));\n my $logs = $tests.split(:shell-command('exec cat'));\n $editor.set-title('editor');\n $tests.set-title('tests');\n $logs.set-title('logs');\n\n my $snapshot = $server.snapshot;\n my @wide := $snapshot.panes.where(%(width => %(gte => 60)));\n my $selected = @wide.filter(*.title eq 'editor').single;\n say \"Wide pane: {$selected.title}\";\n\n my @others = $snapshot.panes.grep(*.id ne $selected.id).map(*.title).sort;\n say 'Other panes: ' ~ @others.join(', ');\n}\n```\n\nIt prints ` Wide pane: editor ` and\n` Other panes: logs, tests `.\n\nBinding with ` := ` preserves a typed selection. Array assignment materializes\nordinary Raku values; scalar assignment itemizes the collection. ` where `\nvalidates fields and operators even on an empty selection. ` filter ` evaluates a\ncallback eagerly and returns the same entity selection type. ` grep `, including\n` :k `, ` :kv ` and ` :p `, retains its native ` Seq ` contract. ` map `, ` sort `,\n` first ` and junction operations also retain ordinary Raku behavior. Mapping\npanes to titles does not produce a pane selection of strings.\n\nUse ` single ` for exactly one member and ` single-or-nil ` for zero or one;\nmultiple matches throw :obj:`Cardinality `. ` one ` remains a\njunction. A directly returned ` Failure ` from a ` filter ` callback throws its\nwrapped exception before Boolean coercion.\n\nCompile reusable criteria with :obj:`Filter `. Its ` ACCEPTS `\nmethod permits native matching, and ` to-json `/` from-json ` preserve the bounded\nportable data grammar. Closures, regexes and junctions remain local Raku\nmatchers. Data equality follows field types; it does not use generic smartmatch.\nRelations use ` some `, ` every `, ` none `, ` is ` and ` is-not `. An unloaded\nrelation raises :obj:`MissingData ` instead of behaving like\nan empty relation.\n\nFor explicit live acquisition, ` query-panes ` accepts ` where ` and a pushdown\npolicy. ` auto ` pushes proven exact restrictions and evaluates residual work\nlocally; ` never ` evaluates locally after acquisition; ` require ` refuses an\ninexact translation. ` explain-panes ` describes projections, scope, pushed\nconditions and residual work. Arbitrary callbacks are not translated to tmux.\n\n\n\n# Choose an operation from capabilities\n\nCapabilities describe the observed daemon separately from the client executable.\nAsk ` supports ` before offering a newer operation, or use ` require ` to obtain a\ntyped refusal with its reason. This program creates an empty ` status ` pane\nas a floating pane when supported and a tiled split otherwise:\n\n\n\n```raku\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(120), :height(36), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $snapshot = $server.snapshot;\n my $main = $snapshot.panes.single.ref;\n my $floating = $snapshot.capabilities.supports('pane-floating');\n my $auxiliary = $floating\n ?? $main.new-floating(:width(40), :height(12), :x(2), :y(2), :empty)\n !! $main.split(:horizontal, :empty);\n $auxiliary.set-title('status');\n\n my $after = $server.snapshot;\n die 'The auxiliary pane was not captured' unless $after.panes.elems == 2;\n say 'Status pane: ' ~ ($floating ?? 'floating' !! 'tiled');\n say $after.panes.where(%(id => $auxiliary.id)).single.title;\n}\n```\n\nThe selected placement and ` status ` are printed. An empty pane can\nhave no child PID; its ` pid ` is then null rather than a fabricated integer.\n` state('pid') ` distinguishes known null from a field that was not acquired.\nUnknown release profiles are refused conservatively. Field, codec, layout and\ncommand decisions come from the same packaged catalogue.\n\n\n\n# React to terminal output\n\nSynchronous acquisition returns a snapshot or selection. An ` -async ` method\nreturns a ` Promise ` resolving to that result. A\n:obj:`ControlConnection ` owns one persistent client;\nits event ` Supply ` is shared by its subscribers. Native ` react ` and ` whenever `\ncan consume the output without polling:\n\n\n\n```raku\nuse v6.d;\nuse LibTmux;\nuse LibTmux::Control;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name, :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $snapshot = await $server.snapshot-async;\n my $pane = $snapshot.panes.single.ref;\n my $connection = await $server.open-control-async(:session-id($snapshot.sessions.single.id));\n LEAVE $connection.close if $connection.defined;\n\n my $message = 'hello from Raku';\n my $received = '';\n react {\n whenever $connection.events.grep(PaneOutput) -> $event {\n if $event.pane-id eq $pane.id {\n $received ~= $event.data.decode('utf8-c8');\n die 'Pane output exceeded its bound' if $received.chars > 65536;\n done if $received.contains($message);\n }\n }\n whenever start { $pane.send-text($message); $pane.send-keys('Enter') } { }\n whenever Promise.in(2) { die 'Pane output timed out' }\n }\n\n die 'The captured screen did not contain the message'\n unless $pane.capture.decode('utf8').contains($message);\n say $message;\n say 'Screen capture confirmed';\n}\n```\n\nIt prints ` hello from Raku ` and ` Screen capture confirmed `.\nThe pane runs ` cat ` as an echo process. Subscribing precedes input.\nReceived pane bytes establish the screen-capture\nprecondition; the deadline bounds the wait. ` send-text ` never appends Enter.\nOutput remains bytes until an explicit decoder is selected, so fragmented and\ninvalid UTF-8 remains available. Unknown notification types retain their raw\nrepresentation.\n\nConnections need explicit close. Cancellation terminates and joins owned client\nwork, but does not undo commands that the daemon already executed. Reconnection\nrequires a fresh observation; event delivery does not imply a complete current\ngraph. :obj:`Attachment ` is a separate terminal client owner.\n\n\n\n# Recover from partial completion\n\n:obj:`Batch ` reports each operation's completion scope and\noutcome. The\n[batch recovery program](https://github.com/libtmux/libtmux-raku/blob/master/examples/batch-recovery.raku)\nchecks ` Complete `, ` Failed ` and ` Skipped `, verifies the successful first\neffect, then removes it explicitly. Acknowledgement alone does not prove an\napplication effect. A failed batch offers no rollback guarantee.\n\nThe\n[session workflow program](https://github.com/libtmux/libtmux-raku/blob/master/examples/session-workflow.raku)\ncombines creation, a control-output subscription, screen capture, local\nfiltering and an explained source query in one checked lifecycle.\n\n\n\n# Ownership and operational errors\n\n` Server.start ` owns its private daemon. ` Server.new ` configures a borrowed\nendpoint; closing that facade leaves the daemon running. Both need explicit\nclose. A connection or terminal attachment has its own lifetime and must also\nbe closed. An observation retains values and the captured graph, not a live\nacquisition process.\n\nCommands pass an argument vector. Literal pane text, explicit key presses,\nFORMAT expressions, tmux command templates and deliberate shell commands have\nseparate entry points. Operational errors retain typed context and captured\nbytes. Optional lookup absence never disguises a failed command. Fields retain\nknown null, false, zero, empty text, unsupported, unavailable and unloaded data\nas distinct states.","summary":""},"id":"LibTmux","kind":"module","modifiers":[],"name":"LibTmux","package":"LibTmux","product":"core","publicId":"LibTmux","signatures":[],"source":{"file":"lib/LibTmux.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux"},{"apiScope":"exported","doc":{"body":"# Explicit interactive terminal ownership\n\nspawn binds stdin and stdout to the supplied open terminal handle. It never\ninherits the calling program's terminal implicitly. The caller owns that handle\nand its terminal output; Attachment owns the child and bounded binary stderr.\nclose stops and reaps only that child, leaves the handle open, and does not stop\nthe daemon or other clients. Cancellation applies to startup, not the later\ninteractive lifetime. Use close to end that lifetime.\n\nspawn proves OS process creation only. state starts as AttachmentPending;\ninspect-client makes one explicit listing and records AttachmentAttached when\nthe owned PID is present. Child exit independently records AttachmentExited.\nThere is no polling loop or implicit readiness claim. An event from a separately\nowned control connection may supply application-specific readiness evidence.\n\nThe initial session read checks Linux daemon identity, and the attach command\nruns in a PID/start-time fence. The Engine's documented same-PID/same-second\nreplacement and normal builtin-dispatch assumptions also apply here. An exit\nResult describes the tmux client process, not the lifetime of its session.","summary":""},"id":"LibTmux::Attachment","kind":"class","modifiers":[],"name":"LibTmux::Attachment","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Attachment","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment"},{"apiScope":"exported","doc":{"body":"Refuse copying an owner, which would duplicate cleanup authority over one child.","summary":"Refuse copying an owner, which would duplicate cleanup authority over one child."},"id":"LibTmux::Attachment.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":52,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-clone"},{"apiScope":"exported","doc":{"body":"Terminate and reap only this child. The caller's terminal handle stays open.","summary":"Terminate and reap only this child. The caller's terminal handle stays open."},"id":"LibTmux::Attachment.close","kind":"method","modifiers":[],"name":"close","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.close","signatures":[{"params":[],"raw":"method close(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":220,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-close"},{"apiScope":"exported","doc":{"body":"Share idempotent child cleanup; failure to reap breaks the returned Promise.","summary":"Share idempotent child cleanup; failure to reap breaks the returned Promise."},"id":"LibTmux::Attachment.close-async","kind":"method","modifiers":[],"name":"close-async","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.close-async","signatures":[{"params":[],"raw":"method close-async(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-async","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":222,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-close-async"},{"apiScope":"exported","doc":{"body":"Socket and executable configuration used for this child and explicit inspections.","summary":"Socket and executable configuration used for this child and explicit inspections."},"id":"LibTmux::Attachment.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-attachment-endpoint"},{"apiScope":"exported","doc":{"body":"Daemon identity captured before attachment; a replacement daemon is rejected.","summary":"Daemon identity captured before attachment; a replacement daemon is rejected."},"id":"LibTmux::Attachment.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Incarnation:D","slug":"libtmux-attachment-incarnation"},{"apiScope":"exported","doc":{"body":"Perform one explicit listing. Nil means no matching attached client was observed.","summary":"Perform one explicit listing. Nil means no matching attached client was observed."},"id":"LibTmux::Attachment.inspect-client","kind":"method","modifiers":[],"name":"inspect-client","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.inspect-client","signatures":[{"params":[{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true,"type":"Positive:D"}],"raw":"method inspect-client(Positive:D :$timeout-ms = 10_000 --> Mu)","references":[{"end":32,"start":22,"target":"LibTmux::Types::Positive"}],"returns":"Mu","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect-client","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms = 10_000 --> Mu)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":196,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-inspect-client"},{"apiScope":"exported","doc":{"body":"Retained stderr byte limit; exceeding it terminates the child and fails when-exited.","summary":"Retained stderr byte limit; exceeding it terminates the child and fails when-exited."},"id":"LibTmux::Attachment.max-stderr-bytes","kind":"property","modifiers":[],"name":"max-stderr-bytes","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.max-stderr-bytes","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-attachment-max-stderr-bytes"},{"apiScope":"exported","doc":{"body":"Construction requires spawn so an unstarted process owner cannot escape.","summary":"Construction requires spawn so an unstarted process owner cannot escape."},"id":"LibTmux::Attachment.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":50,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-new"},{"apiScope":"exported","doc":{"body":"Owned OS child identity; a nonzero PID does not establish attachment readiness.","summary":"Owned OS child identity; a nonzero PID does not establish attachment readiness."},"id":"LibTmux::Attachment.pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.pid","signatures":[{"params":[],"raw":"method pid(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pid","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":189,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-pid"},{"apiScope":"exported","doc":{"body":"Initial session ID; later interactive switching does not change this value.","summary":"Initial session ID; later interactive switching does not change this value."},"id":"LibTmux::Attachment.session","kind":"property","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.session","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":29,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SessionId:D","slug":"libtmux-attachment-session"},{"apiScope":"exported","doc":{"body":"Spawn a tmux client on a supplied terminal. This does not prove attachment.","summary":"Spawn a tmux client on a supplied terminal. This does not prove attachment."},"id":"LibTmux::Attachment.spawn","kind":"method","modifiers":[],"name":"spawn","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.spawn","signatures":[{"params":[{"keywordOnly":true,"name":"$endpoint","optional":false,"type":"Endpoint:D"},{"keywordOnly":true,"name":"$incarnation","optional":false,"type":"Incarnation:D"},{"keywordOnly":true,"name":"$session","optional":false,"type":"SessionId:D"},{"keywordOnly":true,"name":"$terminal","optional":false,"type":"IO::Handle:D"},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true,"type":"Positive:D"},{"default":"64 * 1024","keywordOnly":true,"name":"$max-stderr-bytes","optional":true,"type":"Positive:D"},{"default":"False","keywordOnly":true,"name":"$read-only","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$detach-others","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$update-environment","optional":true,"type":"Bool:D"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method spawn(Endpoint:D :$endpoint!, Incarnation:D :$incarnation!,\n SessionId:D :$session!, IO::Handle:D :$terminal!,\n Positive:D :$timeout-ms = 10_000, Positive:D :$max-stderr-bytes = 64 * 1024,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n Cancellation :$cancel = Cancellation --> LibTmux::Attachment:D)","references":[{"end":23,"start":13,"target":"LibTmux::Engine::Endpoint"},{"end":50,"start":37,"target":"LibTmux::Engine::Incarnation"},{"end":91,"start":80,"target":"LibTmux::Types::SessionId"},{"end":153,"start":143,"target":"LibTmux::Types::Positive"},{"end":187,"start":177,"target":"LibTmux::Types::Positive"},{"end":368,"start":356,"target":"LibTmux::Transport::Cancellation"},{"end":392,"start":380,"target":"LibTmux::Transport::Cancellation"},{"end":418,"start":397,"target":"LibTmux::Attachment"}],"returns":"LibTmux::Attachment:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"spawn","declaration":true},{"text":"("},{"text":"Endpoint:D","target":"LibTmux::Engine::Endpoint"},{"text":" :$endpoint!, "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":" :$incarnation!,\n "},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session!, IO::Handle:D :$terminal!,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms = 10_000, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-stderr-bytes = 64 * 1024,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"LibTmux::Attachment:D","target":"LibTmux::Attachment"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-spawn"},{"apiScope":"exported","doc":{"body":"Last explicit attachment observation, or the independently observed process exit.","summary":"Last explicit attachment observation, or the independently observed process exit."},"id":"LibTmux::Attachment.state","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.state","signatures":[{"params":[],"raw":"method state(--> AttachmentState:D)","references":[{"end":34,"start":17,"target":"LibTmux::Attachment::AttachmentState"}],"returns":"AttachmentState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(--> "},{"text":"AttachmentState:D","target":"LibTmux::Attachment::AttachmentState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":191,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-state"},{"apiScope":"exported","doc":{"body":"Resolve after the child exits and stderr is drained, preserving its exit status.","summary":"Resolve after the child exits and stderr is drained, preserving its exit status."},"id":"LibTmux::Attachment.when-exited","kind":"method","modifiers":[],"name":"when-exited","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.when-exited","signatures":[{"params":[],"raw":"method when-exited(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"when-exited","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":193,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-when-exited"},{"apiScope":"exported","doc":{"body":"State established by process completion or the most recent explicit inspection.","summary":"State established by process completion or the most recent explicit inspection."},"id":"LibTmux::Attachment::AttachmentState","kind":"enum","modifiers":[],"name":"AttachmentState","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment::AttachmentState","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-attachmentstate"},{"apiScope":"exported","doc":{"body":"State established by process completion or the most recent explicit inspection.","summary":"State established by process completion or the most recent explicit inspection."},"id":"LibTmux::Attachment::AttachmentState.AttachmentAttached","kind":"constant","modifiers":[],"name":"AttachmentAttached","package":"LibTmux","parent":"LibTmux::Attachment::AttachmentState","product":"core","publicId":"LibTmux::Attachment::AttachmentState.AttachmentAttached","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"1","slug":"libtmux-attachment-attachmentstate-attachmentattached"},{"apiScope":"exported","doc":{"body":"State established by process completion or the most recent explicit inspection.","summary":"State established by process completion or the most recent explicit inspection."},"id":"LibTmux::Attachment::AttachmentState.AttachmentExited","kind":"constant","modifiers":[],"name":"AttachmentExited","package":"LibTmux","parent":"LibTmux::Attachment::AttachmentState","product":"core","publicId":"LibTmux::Attachment::AttachmentState.AttachmentExited","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"2","slug":"libtmux-attachment-attachmentstate-attachmentexited"},{"apiScope":"exported","doc":{"body":"State established by process completion or the most recent explicit inspection.","summary":"State established by process completion or the most recent explicit inspection."},"id":"LibTmux::Attachment::AttachmentState.AttachmentPending","kind":"constant","modifiers":[],"name":"AttachmentPending","package":"LibTmux","parent":"LibTmux::Attachment::AttachmentState","product":"core","publicId":"LibTmux::Attachment::AttachmentState.AttachmentPending","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"0","slug":"libtmux-attachment-attachmentstate-attachmentpending"},{"apiScope":"exported","doc":{"body":"# Partial outcomes, not transactions\n\nOperation requires either acknowledgement-only or a Promise of Evidence. In\ncommand scope, Complete means a successful command acknowledgement; it does not\nprove an asynchronous external effect. In effect scope, Complete additionally\nrequires matching named Evidence with satisfied=True. Evidence is supplied by\nthe caller, who must arm and correlate its operation-specific observer before\ndispatch. A name match is not proof of causation. No caller callback runs inside\nthe batch. Its deadline bounds waiting, not the caller's independent work.\nEvidence Promises are one-shot: rerunning effect-aware commands requires newly\narmed evidence, rather than treating an old observation as a new completion.\n\nThe immutable Batch captures finite membership, preserving order and rejecting\nduplicate names. Empty membership is a no-op. run/run-async accept an existing\nRuntime, Control connection or compatible CommandExecutor and never close it.\nAdapters must validate without effects, honor absolute deadlines and cancellation,\nsettle their execution Promises with Receipt values, and preserve effect certainty\nin typed errors.\nAll operations share one absolute deadline. A supplied ` :deadline(Instant) `\ncan shorten the local ` timeout-ms ` budget; it never extends that budget. The\nsame Instant is passed to every command and retained in the report. An already\nexpired deadline skips dispatch. The executor may use a shorter local limit. Cleanup retains\nthe executor's own separate bounds. Cancelling a dispatched Control request can\nclose that connection according to its documented delivery contract.\n\nEvery position receives an OperationResult. Failure stops subsequent dispatch\nby default; on-error=continue attempts remaining operations while time and\ncancellation permit. Never-dispatched suffixes are Skipped. A timed out or lost\nin-flight effect is Indeterminate, even if acknowledgement was received. The\noriginal exception and its outcome remain available through error/error-outcome.\nNo rollback is attempted or promised, and reports retain no executor owner.\n\noutput-budget-bytes defaults to 8 MiB. After each operation, Batch counts receipt\noutput and Command exception stdout/stderr, following shared Command causes only\nonce. Reaching or exceeding the threshold stops further dispatch even under\non-error=continue. The complete threshold-crossing receipt/error is retained and\nthe undispatched suffix is Skipped. This is an admission threshold: retained\noutput can reach the budget plus one executor-bounded response. It is not a hard\nRSS cap; object overhead, arbitrary adapter/evidence exceptions and independent\ncaller-owned tasks remain outside that bound. Such adapters must accurately\nreport Receipt.output-bytes and bound their own responses.","summary":""},"id":"LibTmux::Batch","kind":"module","modifiers":[],"name":"LibTmux::Batch","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Batch","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch"},{"apiScope":"exported","doc":{"body":"A finite replayable sequence of explicit commands, without transaction semantics.","summary":"A finite replayable sequence of explicit commands, without transaction semantics."},"id":"LibTmux::Batch::Batch","kind":"class","modifiers":[],"name":"Batch","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::Batch","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":206,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch"},{"apiScope":"exported","doc":{"body":"Revalidate changed membership or limits; unchanged evidence is not rearmed.","summary":"Revalidate changed membership or limits; unchanged evidence is not rearmed."},"id":"LibTmux::Batch::Batch.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Batch:D)","references":[{"end":34,"start":27,"target":"LibTmux::Batch::Batch"}],"returns":"Batch:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Batch:D","target":"LibTmux::Batch::Batch"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":248,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch-clone"},{"apiScope":"exported","doc":{"body":"Maximum sum of encoded Invocation source bytes before executor guard encoding.","summary":"Maximum sum of encoded Invocation source bytes before executor guard encoding."},"id":"LibTmux::Batch::Batch.max-command-bytes","kind":"property","modifiers":[],"name":"max-command-bytes","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.max-command-bytes","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":212,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-batch-batch-max-command-bytes"},{"apiScope":"exported","doc":{"body":"Maximum admitted operation count, enforced during incremental traversal.","summary":"Maximum admitted operation count, enforced during incremental traversal."},"id":"LibTmux::Batch::Batch.max-operations","kind":"property","modifiers":[],"name":"max-operations","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.max-operations","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":210,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-batch-batch-max-operations"},{"apiScope":"exported","doc":{"body":"Copy finite membership and validate all size/name limits without I/O.","summary":"Copy finite membership and validate all size/name limits without I/O."},"id":"LibTmux::Batch::Batch.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.new","signatures":[{"params":[{"keywordOnly":true,"name":"$operations","optional":false,"type":"Mu"},{"default":"256","keywordOnly":true,"name":"$max-operations","optional":true,"type":"Mu"},{"default":"1024 * 1024","keywordOnly":true,"name":"$max-command-bytes","optional":true,"type":"Mu"},{"default":"8 * 1024 * 1024","keywordOnly":true,"name":"$output-budget-bytes","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method new(Mu :$operations!, Mu :$max-operations = 256,\n Mu :$max-command-bytes = 1024 * 1024,\n Mu :$output-budget-bytes = 8 * 1024 * 1024, *%unknown)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(Mu :$operations!, Mu :$max-operations = 256,\n Mu :$max-command-bytes = 1024 * 1024,\n Mu :$output-budget-bytes = 8 * 1024 * 1024, *%unknown)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":217,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch-new"},{"apiScope":"exported","doc":{"body":"Captured eager Operation membership; replay preserves this order.","summary":"Captured eager Operation membership; replay preserves this order."},"id":"LibTmux::Batch::Batch.operations","kind":"property","modifiers":[],"name":"operations","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.operations","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":208,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-batch-batch-operations"},{"apiScope":"exported","doc":{"body":"Stop further dispatch once retained output reaches this byte threshold.","summary":"Stop further dispatch once retained output reaches this byte threshold."},"id":"LibTmux::Batch::Batch.output-budget-bytes","kind":"property","modifiers":[],"name":"output-budget-bytes","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.output-budget-bytes","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":214,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-batch-batch-output-budget-bytes"},{"apiScope":"exported","doc":{"body":"Run sequentially through a caller-owned executor; collect every position.","summary":"Run sequentially through a caller-owned executor; collect every position."},"id":"LibTmux::Batch::Batch.run","kind":"method","modifiers":[],"name":"run","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.run","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method run(*%options --> Report:D)","references":[{"end":33,"start":25,"target":"LibTmux::Batch::Report"}],"returns":"Report:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run","declaration":true},{"text":"(*%options --> "},{"text":"Report:D","target":"LibTmux::Batch::Report"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":259,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch-run"},{"apiScope":"exported","doc":{"body":"Share one deadline across commands and evidence; never invoke caller callbacks.","summary":"Share one deadline across commands and evidence; never invoke caller callbacks."},"id":"LibTmux::Batch::Batch.run-async","kind":"method","modifiers":[],"name":"run-async","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.run-async","signatures":[{"params":[{"keywordOnly":true,"name":"$executor","optional":false,"type":"Mu"},{"keywordOnly":true,"name":"$incarnation","optional":false,"type":"Mu"},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true,"type":"Mu"},{"default":"Instant","keywordOnly":true,"name":"$requested-deadline","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Mu"},{"default":"'stop'","keywordOnly":true,"name":"$on-error","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method run-async(Mu :$executor!, Mu :$incarnation!, Mu :$timeout-ms = 10_000,\n Mu :deadline($requested-deadline) = Instant,\n Mu :$cancel = Cancellation, Mu :$on-error = 'stop',\n *%unknown --> Promise:D)","references":[{"end":191,"start":179,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-async","declaration":true},{"text":"(Mu :$executor!, Mu :$incarnation!, Mu :$timeout-ms = 10_000,\n Mu :deadline($requested-deadline) = Instant,\n Mu :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":", Mu :$on-error = 'stop',\n *%unknown --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":262,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch-run-async"},{"apiScope":"exported","doc":{"body":"Caller-supplied evidence for one named operation, not a command acknowledgement.","summary":"Caller-supplied evidence for one named operation, not a command acknowledgement."},"id":"LibTmux::Batch::Evidence","kind":"class","modifiers":[],"name":"Evidence","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::Evidence","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-evidence"},{"apiScope":"exported","doc":{"body":"Validate replacement observation data; cloning does not reobserve an effect.","summary":"Validate replacement observation data; cloning does not reobserve an effect."},"id":"LibTmux::Batch::Evidence.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::Evidence","product":"core","publicId":"LibTmux::Batch::Evidence.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Evidence:D)","references":[{"end":37,"start":27,"target":"LibTmux::Batch::Evidence"}],"returns":"Evidence:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Evidence:D","target":"LibTmux::Batch::Evidence"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":42,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-evidence-clone"},{"apiScope":"exported","doc":{"body":"Caller description of the observed postcondition, limited to 4096 characters.","summary":"Caller description of the observed postcondition, limited to 4096 characters."},"id":"LibTmux::Batch::Evidence.description","kind":"property","modifiers":[],"name":"description","package":"LibTmux","parent":"LibTmux::Batch::Evidence","product":"core","publicId":"LibTmux::Batch::Evidence.description","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-evidence-description"},{"apiScope":"exported","doc":{"body":"Unique batch operation name this observation was armed to verify.","summary":"Unique batch operation name this observation was armed to verify."},"id":"LibTmux::Batch::Evidence.operation","kind":"property","modifiers":[],"name":"operation","package":"LibTmux","parent":"LibTmux::Batch::Evidence","product":"core","publicId":"LibTmux::Batch::Evidence.operation","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":29,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-evidence-operation"},{"apiScope":"exported","doc":{"body":"Whether that postcondition held; False records a failed effect contract.","summary":"Whether that postcondition held; False records a failed effect contract."},"id":"LibTmux::Batch::Evidence.satisfied","kind":"property","modifiers":[],"name":"satisfied","package":"LibTmux","parent":"LibTmux::Batch::Evidence","product":"core","publicId":"LibTmux::Batch::Evidence.satisfied","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-batch-evidence-satisfied"},{"apiScope":"exported","doc":{"body":"One immutable command and an explicit completion contract.","summary":"One immutable command and an explicit completion contract."},"id":"LibTmux::Batch::Operation","kind":"class","modifiers":[],"name":"Operation","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::Operation","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operation"},{"apiScope":"exported","doc":{"body":"Accept command acknowledgement as completion without external effect proof.","summary":"Accept command acknowledgement as completion without external effect proof."},"id":"LibTmux::Batch::Operation.acknowledgement-only","kind":"property","modifiers":[],"name":"acknowledgement-only","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.acknowledgement-only","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-batch-operation-acknowledgement-only"},{"apiScope":"exported","doc":{"body":"Revalidate replacements; unchanged evidence retains its one-shot Promise.","summary":"Revalidate replacements; unchanged evidence retains its one-shot Promise."},"id":"LibTmux::Batch::Operation.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Operation:D)","references":[{"end":38,"start":27,"target":"LibTmux::Batch::Operation"}],"returns":"Operation:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Operation:D","target":"LibTmux::Batch::Operation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":70,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operation-clone"},{"apiScope":"exported","doc":{"body":"Immutable command admitted before any batch entry is dispatched.","summary":"Immutable command admitted before any batch entry is dispatched."},"id":"LibTmux::Batch::Operation.command","kind":"property","modifiers":[],"name":"command","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.command","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Invocation:D","slug":"libtmux-batch-operation-command"},{"apiScope":"exported","doc":{"body":"Caller-owned Promise of Evidence; undefined in acknowledgement-only mode.","summary":"Caller-owned Promise of Evidence; undefined in acknowledgement-only mode."},"id":"LibTmux::Batch::Operation.evidence","kind":"property","modifiers":[],"name":"evidence","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.evidence","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Promise","slug":"libtmux-batch-operation-evidence"},{"apiScope":"exported","doc":{"body":"Batch-unique correlation name, limited to 256 characters without NUL.","summary":"Batch-unique correlation name, limited to 256 characters without NUL."},"id":"LibTmux::Batch::Operation.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.name","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-operation-name"},{"apiScope":"exported","doc":{"body":"One position's outcome, preserving its acknowledgement and original exception.","summary":"One position's outcome, preserving its acknowledgement and original exception."},"id":"LibTmux::Batch::OperationResult","kind":"class","modifiers":[],"name":"OperationResult","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::OperationResult","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":82,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult"},{"apiScope":"exported","doc":{"body":"Whether a successful command acknowledgement was received before any later failure.","summary":"Whether a successful command acknowledgement was received before any later failure."},"id":"LibTmux::Batch::OperationResult.acknowledged","kind":"method","modifiers":[],"name":"acknowledged","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.acknowledged","signatures":[{"params":[],"raw":"method acknowledged(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"acknowledged","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":109,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-acknowledged"},{"apiScope":"exported","doc":{"body":"Successful executor Receipt, or an undefined value when none was received.","summary":"Successful executor Receipt, or an undefined value when none was received."},"id":"LibTmux::Batch::OperationResult.acknowledgement","kind":"property","modifiers":[],"name":"acknowledgement","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.acknowledgement","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":92,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-acknowledgement"},{"apiScope":"exported","doc":{"body":"Refuse altered copies of recorded execution outcomes.","summary":"Refuse altered copies of recorded execution outcomes."},"id":"LibTmux::Batch::OperationResult.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":107,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-clone"},{"apiScope":"exported","doc":{"body":"command means acknowledgement; effect additionally requires satisfied Evidence.","summary":"command means acknowledgement; effect additionally requires satisfied Evidence."},"id":"LibTmux::Batch::OperationResult.completion-scope","kind":"property","modifiers":[],"name":"completion-scope","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.completion-scope","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-operationresult-completion-scope"},{"apiScope":"exported","doc":{"body":"Original execution/evidence exception; undefined for complete or skipped work.","summary":"Original execution/evidence exception; undefined for complete or skipped work."},"id":"LibTmux::Batch::OperationResult.error","kind":"property","modifiers":[],"name":"error","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.error","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":96,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Exception","slug":"libtmux-batch-operationresult-error"},{"apiScope":"exported","doc":{"body":"Preserve backend effect certainty even when batch classification differs.","summary":"Preserve backend effect certainty even when batch classification differs."},"id":"LibTmux::Batch::OperationResult.error-outcome","kind":"method","modifiers":[],"name":"error-outcome","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.error-outcome","signatures":[{"params":[],"raw":"method error-outcome(--> Outcome)","references":[{"end":32,"start":25,"target":"LibTmux::Types::Outcome"}],"returns":"Outcome","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"error-outcome","declaration":true},{"text":"(--> "},{"text":"Outcome","target":"LibTmux::Types::Outcome"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":111,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-error-outcome"},{"apiScope":"exported","doc":{"body":"Observed caller Evidence when received, including an unsatisfied observation.","summary":"Observed caller Evidence when received, including an unsatisfied observation."},"id":"LibTmux::Batch::OperationResult.evidence","kind":"property","modifiers":[],"name":"evidence","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.evidence","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Evidence","slug":"libtmux-batch-operationresult-evidence"},{"apiScope":"exported","doc":{"body":"Time its outcome was recorded, not proof that an uncertain effect stopped.","summary":"Time its outcome was recorded, not proof that an uncertain effect stopped."},"id":"LibTmux::Batch::OperationResult.finished","kind":"property","modifiers":[],"name":"finished","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.finished","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":102,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-operationresult-finished"},{"apiScope":"exported","doc":{"body":"Zero-based position in the admitted batch, including skipped entries.","summary":"Zero-based position in the admitted batch, including skipped entries."},"id":"LibTmux::Batch::OperationResult.index","kind":"property","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.index","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":84,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-batch-operationresult-index"},{"apiScope":"exported","doc":{"body":"Correlation name copied from the admitted operation.","summary":"Correlation name copied from the admitted operation."},"id":"LibTmux::Batch::OperationResult.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.name","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":86,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-operationresult-name"},{"apiScope":"exported","doc":{"body":"Refuse fabricated results; only Batch.run constructs execution observations.","summary":"Refuse fabricated results; only Batch.run constructs execution observations."},"id":"LibTmux::Batch::OperationResult.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":105,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-new"},{"apiScope":"exported","doc":{"body":"Complete, Failed, Skipped or Indeterminate under this entry's completion scope.","summary":"Complete, Failed, Skipped or Indeterminate under this entry's completion scope."},"id":"LibTmux::Batch::OperationResult.outcome","kind":"property","modifiers":[],"name":"outcome","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.outcome","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Outcome:D","slug":"libtmux-batch-operationresult-outcome"},{"apiScope":"exported","doc":{"body":"Why dispatch was omitted; empty for an operation that was attempted.","summary":"Why dispatch was omitted; empty for an operation that was attempted."},"id":"LibTmux::Batch::OperationResult.skip-reason","kind":"property","modifiers":[],"name":"skip-reason","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.skip-reason","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":98,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-operationresult-skip-reason"},{"apiScope":"exported","doc":{"body":"Admission time for this position, even when dispatch was skipped.","summary":"Admission time for this position, even when dispatch was skipped."},"id":"LibTmux::Batch::OperationResult.started","kind":"property","modifiers":[],"name":"started","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.started","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":100,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-operationresult-started"},{"apiScope":"exported","doc":{"body":"Captured per-operation results. No runtime, control owner or caller task is retained.","summary":"Captured per-operation results. No runtime, control owner or caller task is retained."},"id":"LibTmux::Batch::Report","kind":"class","modifiers":[],"name":"Report","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::Report","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":117,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-report"},{"apiScope":"exported","doc":{"body":"Refuse altered copies of recorded batch outcomes.","summary":"Refuse altered copies of recorded batch outcomes."},"id":"LibTmux::Batch::Report.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":136,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-report-clone"},{"apiScope":"exported","doc":{"body":"One absolute deadline shared by execution and caller-evidence waiting.","summary":"One absolute deadline shared by execution and caller-evidence waiting."},"id":"LibTmux::Batch::Report.deadline","kind":"property","modifiers":[],"name":"deadline","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.deadline","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":125,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-report-deadline"},{"apiScope":"exported","doc":{"body":"Time all positions were classified, including the undispatched suffix.","summary":"Time all positions were classified, including the undispatched suffix."},"id":"LibTmux::Batch::Report.finished","kind":"property","modifiers":[],"name":"finished","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.finished","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":123,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-report-finished"},{"apiScope":"exported","doc":{"body":"Refuse fabricated reports; only Batch.run records a complete batch attempt.","summary":"Refuse fabricated reports; only Batch.run records a complete batch attempt."},"id":"LibTmux::Batch::Report.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":134,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-report-new"},{"apiScope":"exported","doc":{"body":"Eager immutable membership containing one OperationResult per admitted entry.","summary":"Eager immutable membership containing one OperationResult per admitted entry."},"id":"LibTmux::Batch::Report.operations","kind":"property","modifiers":[],"name":"operations","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.operations","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":119,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-batch-report-operations"},{"apiScope":"exported","doc":{"body":"Aggregate uncertainty first, then failure, skipped work, and complete work.","summary":"Aggregate uncertainty first, then failure, skipped work, and complete work."},"id":"LibTmux::Batch::Report.outcome","kind":"method","modifiers":[],"name":"outcome","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.outcome","signatures":[{"params":[],"raw":"method outcome(--> Outcome:D)","references":[{"end":28,"start":19,"target":"LibTmux::Types::Outcome"}],"returns":"Outcome:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"outcome","declaration":true},{"text":"(--> "},{"text":"Outcome:D","target":"LibTmux::Types::Outcome"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":138,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-report-outcome"},{"apiScope":"exported","doc":{"body":"Admission threshold in bytes; the final retained response may exceed it.","summary":"Admission threshold in bytes; the final retained response may exceed it."},"id":"LibTmux::Batch::Report.output-budget-bytes","kind":"property","modifiers":[],"name":"output-budget-bytes","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.output-budget-bytes","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":131,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-batch-report-output-budget-bytes"},{"apiScope":"exported","doc":{"body":"Counted receipt and Command-error bytes, with shared causes counted once.","summary":"Counted receipt and Command-error bytes, with shared causes counted once."},"id":"LibTmux::Batch::Report.output-bytes","kind":"property","modifiers":[],"name":"output-bytes","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.output-bytes","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":129,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-batch-report-output-bytes"},{"apiScope":"exported","doc":{"body":"Time before command preflight began; the overall deadline starts here.","summary":"Time before command preflight began; the overall deadline starts here."},"id":"LibTmux::Batch::Report.started","kind":"property","modifiers":[],"name":"started","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.started","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":121,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-report-started"},{"apiScope":"exported","doc":{"body":"Cause that requested a stop; undefined when no stopping condition occurred.","summary":"Cause that requested a stop; undefined when no stopping condition occurred."},"id":"LibTmux::Batch::Report.stop-error","kind":"property","modifiers":[],"name":"stop-error","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.stop-error","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":127,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Exception","slug":"libtmux-batch-report-stop-error"},{"apiScope":"exported","doc":{"body":"# Capability observations\nConstruction consumes explicit observations and packaged catalogue data. It\nnever launches tmux. Replacing a daemon or negotiating connection flags needs\na new capability object. The engine binds these observations to actual\ndaemon identity; this class does not establish that identity by itself.\n\n` supports ` and ` require ` describe native features. A fallback identifies an\nalternative which the caller must choose explicitly. ` workaround ` describes\nrequired handling; it never claims the repair was performed. Field support\ndoes not mean the field was acquired or is available in every context.","summary":""},"id":"LibTmux::Capabilities","kind":"class","modifiers":[],"name":"LibTmux::Capabilities","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Capabilities","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities"},{"apiScope":"exported","doc":{"body":"Independently observed executable version, retained for diagnostics.","summary":"Independently observed executable version, retained for diagnostics."},"id":"LibTmux::Capabilities.client-version","kind":"property","modifiers":[],"name":"client-version","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.client-version","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-client-version"},{"apiScope":"exported","doc":{"body":"Reconstruct copies so changed observations cannot retain stale parsed evidence.","summary":"Reconstruct copies so changed observations cannot retain stale parsed evidence."},"id":"LibTmux::Capabilities.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> LibTmux::Capabilities:D)","references":[{"end":50,"start":27,"target":"LibTmux::Capabilities"}],"returns":"LibTmux::Capabilities:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"LibTmux::Capabilities:D","target":"LibTmux::Capabilities"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":60,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-clone"},{"apiScope":"exported","doc":{"body":"Codec identifier selected through catalogue policy: qa or t6.","summary":"Codec identifier selected through catalogue policy: qa or t6."},"id":"LibTmux::Capabilities.codec-profile","kind":"method","modifiers":[],"name":"codec-profile","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.codec-profile","signatures":[{"params":[],"raw":"method codec-profile(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"codec-profile","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":160,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-codec-profile"},{"apiScope":"exported","doc":{"body":"Version observed from the daemon; client version does not establish support.","summary":"Version observed from the daemon; client version does not establish support."},"id":"LibTmux::Capabilities.daemon-version","kind":"property","modifiers":[],"name":"daemon-version","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.daemon-version","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-daemon-version"},{"apiScope":"exported","doc":{"body":"All discoverable feature decisions for this immutable observation.","summary":"All discoverable feature decisions for this immutable observation."},"id":"LibTmux::Capabilities.features","kind":"method","modifiers":[],"name":"features","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.features","signatures":[{"params":[],"raw":"method features(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"features","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":150,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-features"},{"apiScope":"exported","doc":{"body":"Availability of a registered field, independent of acquisition completeness.","summary":"Availability of a registered field, independent of acquisition completeness."},"id":"LibTmux::Capabilities.field-status","kind":"method","modifiers":[],"name":"field-status","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.field-status","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method field-status(Str:D $entity, Str:D $name --> Decision:D)","references":[{"end":61,"start":51,"target":"LibTmux::Capabilities::Decision"}],"returns":"Decision:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"field-status","declaration":true},{"text":"(Str:D $entity, Str:D $name --> "},{"text":"Decision:D","target":"LibTmux::Capabilities::Decision"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":183,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-field-status"},{"apiScope":"exported","doc":{"body":"Opaque immutable identity supplied by the engine's explicit identity probe.","summary":"Opaque immutable identity supplied by the engine's explicit identity probe."},"id":"LibTmux::Capabilities.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":40,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-incarnation"},{"apiScope":"exported","doc":{"body":"Default captured-layout dialect. Control negotiation remains explicit.","summary":"Default captured-layout dialect. Control negotiation remains explicit."},"id":"LibTmux::Capabilities.layout-profile","kind":"method","modifiers":[],"name":"layout-profile","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.layout-profile","signatures":[{"params":[],"raw":"method layout-profile(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"layout-profile","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":175,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-layout-profile"},{"apiScope":"exported","doc":{"body":"Flags already negotiated by an explicitly owned connection.","summary":"Flags already negotiated by an explicitly owned connection."},"id":"LibTmux::Capabilities.negotiated-features","kind":"property","modifiers":[],"name":"negotiated-features","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.negotiated-features","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":44,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-capabilities-negotiated-features"},{"apiScope":"exported","doc":{"body":"Required legacy decoding stage: vis or none. No repair has run here.","summary":"Required legacy decoding stage: vis or none. No repair has run here."},"id":"LibTmux::Capabilities.output-repair","kind":"method","modifiers":[],"name":"output-repair","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.output-repair","signatures":[{"params":[],"raw":"method output-repair(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"output-repair","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":169,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-output-repair"},{"apiScope":"exported","doc":{"body":"Parsed executable release retained for diagnostics, not daemon feature decisions.","summary":"Parsed executable release retained for diagnostics, not daemon feature decisions."},"id":"LibTmux::Capabilities.parsed-client-version","kind":"method","modifiers":[],"name":"parsed-client-version","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.parsed-client-version","signatures":[{"params":[],"raw":"method parsed-client-version(--> TmuxVersion:D)","references":[{"end":46,"start":33,"target":"LibTmux::Catalogue::TmuxVersion"}],"returns":"TmuxVersion:D","nativeSyntax":[{"start":7,"end":28,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"parsed-client-version","declaration":true},{"text":"(--> "},{"text":"TmuxVersion:D","target":"LibTmux::Catalogue::TmuxVersion"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-parsed-client-version"},{"apiScope":"exported","doc":{"body":"Parsed daemon release; syntactic stability does not establish a support profile.","summary":"Parsed daemon release; syntactic stability does not establish a support profile."},"id":"LibTmux::Capabilities.parsed-daemon-version","kind":"method","modifiers":[],"name":"parsed-daemon-version","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.parsed-daemon-version","signatures":[{"params":[],"raw":"method parsed-daemon-version(--> TmuxVersion:D)","references":[{"end":46,"start":33,"target":"LibTmux::Catalogue::TmuxVersion"}],"returns":"TmuxVersion:D","nativeSyntax":[{"start":7,"end":28,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"parsed-daemon-version","declaration":true},{"text":"(--> "},{"text":"TmuxVersion:D","target":"LibTmux::Catalogue::TmuxVersion"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-parsed-daemon-version"},{"apiScope":"exported","doc":{"body":"Require native support or throw a typed, reason-bearing refusal.","summary":"Require native support or throw a typed, reason-bearing refusal."},"id":"LibTmux::Capabilities.require","kind":"method","modifiers":[],"name":"require","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.require","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method require(Str:D $id --> Decision:D)","references":[{"end":39,"start":29,"target":"LibTmux::Capabilities::Decision"}],"returns":"Decision:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"require","declaration":true},{"text":"(Str:D $id --> "},{"text":"Decision:D","target":"LibTmux::Capabilities::Decision"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":129,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-require"},{"apiScope":"exported","doc":{"body":"Return the supported field specification or throw Unsupported with its reason.","summary":"Return the supported field specification or throw Unsupported with its reason."},"id":"LibTmux::Capabilities.require-field","kind":"method","modifiers":[],"name":"require-field","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.require-field","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method require-field(Str:D $entity, Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"require-field","declaration":true},{"text":"(Str:D $entity, Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":205,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-require-field"},{"apiScope":"exported","doc":{"body":"How the caller acquired the daemon observation.","summary":"How the caller acquired the daemon observation."},"id":"LibTmux::Capabilities.source","kind":"property","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.source","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":42,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-source"},{"apiScope":"exported","doc":{"body":"Inspect one feature without I/O. Unknown names remain explicitly unknown.","summary":"Inspect one feature without I/O. Unknown names remain explicitly unknown."},"id":"LibTmux::Capabilities.status","kind":"method","modifiers":[],"name":"status","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.status","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method status(Str:D $id --> Decision:D)","references":[{"end":38,"start":28,"target":"LibTmux::Capabilities::Decision"}],"returns":"Decision:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"status","declaration":true},{"text":"(Str:D $id --> "},{"text":"Decision:D","target":"LibTmux::Capabilities::Decision"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":118,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-status"},{"apiScope":"exported","doc":{"body":"Native support only; an available fallback does not make the feature native.","summary":"Native support only; an available fallback does not make the feature native."},"id":"LibTmux::Capabilities.supports","kind":"method","modifiers":[],"name":"supports","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.supports","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method supports(Str:D $id --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"supports","declaration":true},{"text":"(Str:D $id --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":126,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-supports"},{"apiScope":"exported","doc":{"body":"Whether the observed daemon supports the registered field; unknown means False.","summary":"Whether the observed daemon supports the registered field; unknown means False."},"id":"LibTmux::Capabilities.supports-field","kind":"method","modifiers":[],"name":"supports-field","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.supports-field","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method supports-field(Str:D $entity, Str:D $name --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"supports-field","declaration":true},{"text":"(Str:D $entity, Str:D $name --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":200,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-supports-field"},{"apiScope":"exported","doc":{"body":"Inspect an upstream defect. applies means handling is needed, not completed.","summary":"Inspect an upstream defect. applies means handling is needed, not completed."},"id":"LibTmux::Capabilities.workaround","kind":"method","modifiers":[],"name":"workaround","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.workaround","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method workaround(Str:D $id --> Decision:D)","references":[{"end":42,"start":32,"target":"LibTmux::Capabilities::Decision"}],"returns":"Decision:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"workaround","declaration":true},{"text":"(Str:D $id --> "},{"text":"Decision:D","target":"LibTmux::Capabilities::Decision"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":142,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-workaround"},{"apiScope":"exported","doc":{"body":"All declared defects, including those which do not apply to this release.","summary":"All declared defects, including those which do not apply to this release."},"id":"LibTmux::Capabilities.workarounds","kind":"method","modifiers":[],"name":"workarounds","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.workarounds","signatures":[{"params":[],"raw":"method workarounds(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"workarounds","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-workarounds"},{"apiScope":"exported","doc":{"body":"Evidence and required handling; a repair policy never means repair ran.","summary":"Evidence and required handling; a repair policy never means repair ran."},"id":"LibTmux::Capabilities::Decision","kind":"class","modifiers":[],"name":"Decision","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities::Decision","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":11,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-decision"},{"apiScope":"exported","doc":{"body":"Whether this defect needs handling; True does not mean a repair has run.","summary":"Whether this defect needs handling; True does not mean a repair has run."},"id":"LibTmux::Capabilities::Decision.applies","kind":"method","modifiers":[],"name":"applies","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.applies","signatures":[{"params":[],"raw":"method applies(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"applies","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-decision-applies"},{"apiScope":"exported","doc":{"body":"Provenance label from the immutable daemon capability observation.","summary":"Provenance label from the immutable daemon capability observation."},"id":"LibTmux::Capabilities::Decision.evidence","kind":"property","modifiers":[],"name":"evidence","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.evidence","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-evidence"},{"apiScope":"exported","doc":{"body":"Explicit alternative capability identifier; empty when no fallback is declared.","summary":"Explicit alternative capability identifier; empty when no fallback is declared."},"id":"LibTmux::Capabilities::Decision.fallback","kind":"property","modifiers":[],"name":"fallback","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.fallback","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-fallback"},{"apiScope":"exported","doc":{"body":"Refusal, fallback or repair policy; it does not record an executed action.","summary":"Refusal, fallback or repair policy; it does not record an executed action."},"id":"LibTmux::Capabilities::Decision.handling","kind":"property","modifiers":[],"name":"handling","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.handling","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-handling"},{"apiScope":"exported","doc":{"body":"Catalogue feature, field or defect identifier used by this decision.","summary":"Catalogue feature, field or defect identifier used by this decision."},"id":"LibTmux::Capabilities::Decision.id","kind":"property","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.id","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":13,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-id"},{"apiScope":"exported","doc":{"body":"Whether the decision concerns a feature, field or known upstream defect.","summary":"Whether the decision concerns a feature, field or known upstream defect."},"id":"LibTmux::Capabilities::Decision.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.kind","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":15,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-kind"},{"apiScope":"exported","doc":{"body":"Explanation of availability, missing evidence or a blocking defect.","summary":"Explanation of availability, missing evidence or a blocking defect."},"id":"LibTmux::Capabilities::Decision.reason","kind":"property","modifiers":[],"name":"reason","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.reason","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-reason"},{"apiScope":"exported","doc":{"body":"Pinned upstream source supporting the policy, or empty when no rule exists.","summary":"Pinned upstream source supporting the policy, or empty when no rule exists."},"id":"LibTmux::Capabilities::Decision.source","kind":"property","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.source","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":23,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-source"},{"apiScope":"exported","doc":{"body":"Qualified support state; Unknown is distinct from an unsupported release.","summary":"Qualified support state; Unknown is distinct from an unsupported release."},"id":"LibTmux::Capabilities::Decision.state","kind":"property","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.state","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SupportState:D","slug":"libtmux-capabilities-decision-state"},{"apiScope":"exported","doc":{"body":"True only for a supported feature or field, never for a known defect.","summary":"True only for a supported feature or field, never for a known defect."},"id":"LibTmux::Capabilities::Decision.supported","kind":"method","modifiers":[],"name":"supported","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.supported","signatures":[{"params":[],"raw":"method supported(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"supported","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":30,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-decision-supported"},{"apiScope":"exported","doc":{"body":"Packaged, source-qualified fields, relationships, options and release profiles.\n\n# LibTmux field and capability catalogue\n\nGenerated from the packaged resources. Edit the resources and regenerate this file.\n\nAvailability identifies source support; it does not establish acquisition completeness.\n\n\n\n## session\n\n\n\n- ` id ` / ` id `\n\nFORMAT ` session_id `; session-id; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` session_name `; text; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` windows-count ` / ` windowsCount `\n\nFORMAT ` session_windows `; uint; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` attached-count ` / ` attachedCount `\n\nFORMAT ` session_attached `; uint; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` created ` / ` created `\n\nFORMAT ` session_created `; uint; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` activity ` / ` activity `\n\nFORMAT ` session_activity `; uint; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` path ` / ` path `\n\nFORMAT ` session_path `; text; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` grouped ` / ` grouped `\n\nFORMAT ` session_grouped `; bool; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` group-name ` / ` groupName `\n\nFORMAT ` session_group `; text; context session; nullable True; since 3.3a.\n\nNull policy: not-grouped; dependency: grouped.\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` window-links ` relation\n\nmany window-link; nullable False.\n\n\n\n- ` current-link ` relation\n\none window-link; nullable False.\n\n\n\n- ` group ` relation\n\none session-group; nullable True.\n\n\n\n## window-link\n\n\n\n- ` session-id ` / ` sessionId `\n\nFORMAT ` session_id `; session-id; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` window-id ` / ` windowId `\n\nFORMAT ` window_id `; window-id; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` index ` / ` index `\n\nFORMAT ` window_index `; uint; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 2147483647.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` active ` / ` active `\n\nFORMAT ` window_active `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` last ` / ` last `\n\nFORMAT ` window_last_flag `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` activity ` / ` activity `\n\nFORMAT ` window_activity_flag `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` bell ` / ` bell `\n\nFORMAT ` window_bell_flag `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` silence ` / ` silence `\n\nFORMAT ` window_silence_flag `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` session ` relation\n\none session; nullable False.\n\n\n\n- ` window ` relation\n\none window; nullable False.\n\n\n\n## window\n\n\n\n- ` id ` / ` id `\n\nFORMAT ` window_id `; window-id; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` window_name `; text; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` width ` / ` width `\n\nFORMAT ` window_width `; uint; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 4294967295.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` height ` / ` height `\n\nFORMAT ` window_height `; uint; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 4294967295.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` panes-count ` / ` panesCount `\n\nFORMAT ` window_panes `; uint; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` layout ` / ` layout `\n\nFORMAT ` window_layout `; text; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` visible-layout ` / ` visibleLayout `\n\nFORMAT ` window_visible_layout `; text; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` zoomed ` / ` zoomed `\n\nFORMAT ` window_zoomed_flag `; bool; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` linked ` / ` linked `\n\nFORMAT ` window_linked `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` modal-pane-id ` / ` modalPaneId `\n\nFORMAT ` window_modal_pane `; pane-id; context window; nullable True; since 3.8.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` panes ` relation\n\nmany pane; nullable False.\n\n\n\n- ` links ` relation\n\nmany window-link; nullable False.\n\n\n\n- ` active-pane ` relation\n\none pane; nullable False.\n\n\n\n## pane\n\n\n\n- ` id ` / ` id `\n\nFORMAT ` pane_id `; pane-id; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` window-id ` / ` windowId `\n\nFORMAT ` window_id `; window-id; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` index ` / ` index `\n\nFORMAT ` pane_index `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` active ` / ` active `\n\nFORMAT ` pane_active `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` width ` / ` width `\n\nFORMAT ` pane_width `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 4294967295.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` height ` / ` height `\n\nFORMAT ` pane_height `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 4294967295.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` left ` / ` left `\n\nFORMAT ` pane_left `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` top ` / ` top `\n\nFORMAT ` pane_top `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` pid ` / ` pid `\n\nFORMAT ` pane_pid `; uint; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` tty ` / ` tty `\n\nFORMAT ` pane_tty `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` title ` / ` title `\n\nFORMAT ` pane_title `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` current-command ` / ` currentCommand `\n\nFORMAT ` pane_current_command `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` current-path ` / ` currentPath `\n\nFORMAT ` pane_current_path `; text; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` start-command ` / ` startCommand `\n\nFORMAT ` pane_start_command `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` start-path ` / ` startPath `\n\nFORMAT ` pane_start_path `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` dead ` / ` dead `\n\nFORMAT ` pane_dead `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` dead-status ` / ` deadStatus `\n\nFORMAT ` pane_dead_status `; uint; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` dead-signal ` / ` deadSignal `\n\nFORMAT ` pane_dead_signal `; text; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` dead-time ` / ` deadTime `\n\nFORMAT ` pane_dead_time `; uint; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` in-mode ` / ` inMode `\n\nFORMAT ` pane_in_mode `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` mode ` / ` mode `\n\nFORMAT ` pane_mode `; text; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` pipe ` / ` pipe `\n\nFORMAT ` pane_pipe `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` synchronized ` / ` synchronized `\n\nFORMAT ` pane_synchronized `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` floating ` / ` floating `\n\nFORMAT ` pane_floating_flag `; bool; context pane; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` modal ` / ` modal `\n\nFORMAT ` pane_modal_flag `; bool; context pane; nullable False; since 3.8.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` x ` / ` x `\n\nFORMAT ` pane_x `; int; context pane; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` y ` / ` y `\n\nFORMAT ` pane_y `; int; context pane; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` z ` / ` z `\n\nFORMAT ` pane_z `; uint; context pane; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` command-running ` / ` commandRunning `\n\nFORMAT ` pane_command_running `; bool; context pane; nullable False; since 3.8.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` command-status ` / ` commandStatus `\n\nFORMAT ` pane_command_status `; int; context pane; nullable True; since 3.8.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` at-top ` / ` atTop `\n\nFORMAT ` pane_at_top `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` at-bottom ` / ` atBottom `\n\nFORMAT ` pane_at_bottom `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` at-left ` / ` atLeft `\n\nFORMAT ` pane_at_left `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` at-right ` / ` atRight `\n\nFORMAT ` pane_at_right `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` window ` relation\n\none window; nullable False.\n\n\n\n## client\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` client_name `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` session-id ` / ` sessionId `\n\nFORMAT ` session_id `; session-id; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` session-name ` / ` sessionName `\n\nFORMAT ` client_session `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` tty ` / ` tty `\n\nFORMAT ` client_tty `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` pid ` / ` pid `\n\nFORMAT ` client_pid `; uint; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` width ` / ` width `\n\nFORMAT ` client_width `; uint; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` height ` / ` height `\n\nFORMAT ` client_height `; uint; context client; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c#L1283](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c#L1283)\n\n\n\n- ` created ` / ` created `\n\nFORMAT ` client_created `; uint; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` activity ` / ` activity `\n\nFORMAT ` client_activity `; uint; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` control-mode ` / ` controlMode `\n\nFORMAT ` client_control_mode `; bool; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` read-only ` / ` readOnly `\n\nFORMAT ` client_readonly `; bool; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` terminal-name ` / ` terminalName `\n\nFORMAT ` client_termname `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` key-table ` / ` keyTable `\n\nFORMAT ` client_key_table `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` session ` relation\n\none session; nullable False.\n\n\n\n## session-group\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` session_group `; text; context grouped-session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` size ` / ` size `\n\nFORMAT ` session_group_size `; uint; context grouped-session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` attached-count ` / ` attachedCount `\n\nFORMAT ` session_group_attached `; uint; context grouped-session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` sessions ` relation\n\nmany session; nullable False.\n\n\n\n## buffer\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` buffer_name `; text; context buffer; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` size ` / ` size `\n\nFORMAT ` buffer_size `; uint; context buffer; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` created ` / ` created `\n\nFORMAT ` buffer_created `; uint; context buffer; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` sample ` / ` sample `\n\nFORMAT ` buffer_sample `; text; context buffer; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n## key-binding\n\n\n\n- ` table ` / ` table `\n\nFORMAT ` key_table `; text; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n- ` key ` / ` key `\n\nFORMAT ` key_string `; text; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n- ` repeat ` / ` repeat `\n\nFORMAT ` key_repeat `; bool; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n- ` command-source ` / ` commandSource `\n\nFORMAT ` key_command `; text; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n- ` note ` / ` note `\n\nFORMAT ` key_note `; text; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n## Features and required handling\n\n\n\n- ` managed-commands `\n\nfeature; refuse; since 3.3a. Managed commands require an exact declared daemon release profile.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/cmd.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/cmd.c)\n\n\n\n- ` format-tilde `\n\nfeature; refuse; since 3.3a. Six ordered substitutions encode delimiters, backslashes and dollar signs.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` format-argument-quote `\n\nfeature; fallback; since 3.7. q/a is introduced in 3.7; older profiles use the tested tilde codec.\n\nFallback: ` format-tilde `.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` format-output-vis `\n\ndefect; repair; exact releases 3.4, 3.5, 3.5a. Reverse one VIS output layer before decoding the tilde field.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/server-client.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/server-client.c)\n\n\n\n- ` layout-classic `\n\nfeature; refuse; since 3.3a. Classic layouts remain available for old layouts and unnegotiated control clients.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/layout-custom.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/layout-custom.c)\n\n\n\n- ` layout-json `\n\nfeature; refuse; since 3.8. JSON layouts include floating placements in the current profile.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/layout-custom.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/layout-custom.c)\n\n\n\n- ` control-mode `\n\nfeature; refuse; since 3.3a. Control framing is available at the support floor.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/control.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/control.c)\n\n\n\n- ` control-new-layouts `\n\nfeature; refuse; since 3.8. Enable new-layouts explicitly before interpreting new control layouts.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/server-client.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/server-client.c)\n\n\n\n- ` pane-floating `\n\nfeature; refuse; since 3.7. Floating panes and their coordinates are available starting in 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-split-window.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-split-window.c)\n\n\n\n- ` pane-modal `\n\nfeature; refuse; since 3.8. Modal panes and modal-window fields require 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-split-window.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-split-window.c)\n\n\n\n- ` buffer-full `\n\nfeature; fallback; since 3.6. Use save-buffer when buffer_full is unavailable.\n\nFallback: ` buffer-save `.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/format.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/format.c)\n\n\n\n- ` buffer-save `\n\nfeature; refuse; since 3.3a. Binary save-buffer capture is separate from FORMAT framing.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/cmd-save-buffer.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/cmd-save-buffer.c)\n\n\n\n- ` layout-mirrored-main `\n\nfeature; refuse; since 3.5. Mirrored main-horizontal and main-vertical layouts require 3.5.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/layout-set.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/layout-set.c)\n\n\n\n- ` split-percent-defect `\n\ndefect; refuse; exact releases 3.4. split-window -p is broken in 3.4; use the explicit -l percentage form.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/cmd-split-window.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/cmd-split-window.c)\n\n\n\n- ` break-pane-name-defect `\n\ndefect; refuse; exact releases 3.7. tmux 3.7 ignores explicit break-pane names and dereferences a null name in the unnamed multi-pane path; refuse break-pane before dispatch.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-break-pane.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-break-pane.c)\n\n\n\n- ` name-separator-defect `\n\ndefect; refuse; exact releases 3.7. tmux 3.7 rejects colon and dot names; validate their capability before dispatch.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/tmux.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/tmux.c)\n\n\n\n- ` session-name-separators `\n\nfeature; refuse; since 3.7a. Literal dot and colon in session names require 3.7a; earlier releases replace or reject them.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0e418b62d259ce8da8970f75732cc6632ee4c3a0/tmux.c#L285](https://github.com/tmux/tmux/blob/0e418b62d259ce8da8970f75732cc6632ee4c3a0/tmux.c#L285)\n\n\n\n- ` window-name-separators `\n\nfeature; refuse; since 3.3a. Literal dot and colon in window names are supported unless the declared separator defect applies.\n\n\n\nBlocked by: name-separator-defect.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/window.c#L405](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/window.c#L405)\n\n\n\n- ` pane-empty-flag `\n\nfeature; refuse; since 3.7. Explicit empty split panes use -E from 3.7; older releases require the declared empty-argument adapter.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-split-window.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-split-window.c)\n\n\n\n- ` window-empty `\n\nfeature; refuse; since 3.8. Empty window creation requires the new-window -E flag from 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-new-window.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-new-window.c)\n\n\n\n- ` break-pane-single-print `\n\nfeature; refuse; since 3.6. Breaking the only pane prints its returned identity from 3.6; older releases need an explicit scoped identity acquisition.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-break-pane.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-break-pane.c)\n\n\n\n- ` pane-floating-move `\n\nfeature; refuse; since 3.8. Floating pane position and stack changes require move-pane placement flags from 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-join-pane.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-join-pane.c)\n\n\n\n- ` control-job-output `\n\nfeature; refuse; since 3.5. Foreground run-shell job output is delivered to the command client from 3.5; earlier releases send it to pane view mode. This does not guarantee shell-output framing.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/cmd-run-shell.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/cmd-run-shell.c)\n\n\n\n- ` menu-appearance `\n\nfeature; refuse; since 3.4. Menu border, style, selected style and initial choice flags are available from 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/cmd-display-menu.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/cmd-display-menu.c)\n\n\n\n- ` menu-mouse `\n\nfeature; refuse; since 3.5. The display-menu -M flag enables mouse selection without a triggering mouse event from 3.5.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/cmd-display-menu.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/cmd-display-menu.c)\n\n\n\n- ` popup-close-on-key `\n\nfeature; refuse; since 3.6. The display-popup -k flag requests close on any key from 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-display-menu.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-display-menu.c)\n\n\n\n- ` popup-reset-flags `\n\nfeature; refuse; since 3.6. The display-popup -N flag resets existing popup flags from 3.6; omitted flags otherwise preserve the existing popup policy.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-display-menu.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-display-menu.c)\n\n\n\n- ` prompt-literal-commas `\n\nfeature; refuse; since 3.6. The command-prompt -l flag retains commas in one prompt and initial input from 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-command-prompt.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-command-prompt.c)\n\n\n\n- ` key-binding-format `\n\nfeature; refuse; since 3.7. Key table, key, repeat, note and native command source can be projected with list-keys -F from 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n## Option types and scopes\n\n\n\n- ` activity-action `\n\nchoice; scope session; since 3.3a.\n\nChoices: none, any, current, other.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-bind-key `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-capture-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-copy-mode `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-display-message `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-display-panes `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-kill-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-buffers `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-clients `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-keys `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-panes `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-sessions `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-windows `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-load-buffer `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-lock-server `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-new-session `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-new-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-paste-buffer `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-pipe-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-queue `\n\ncommand; scope session; since 3.3a, before 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-refresh-client `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-rename-session `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-rename-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-resize-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-resize-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-save-buffer `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-select-layout `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-select-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-select-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-send-keys `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-set-buffer `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-set-environment `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-set-hook `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-set-option `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-show-environment `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-show-messages `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-show-options `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-split-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-swap-window `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` after-unbind-key `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` aggressive-resize `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` alert-activity `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` alert-bell `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` alert-silence `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` allow-passthrough `\n\nflag; scope window, pane; since 3.3a, before 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` allow-passthrough `\n\nchoice; scope window, pane; since 3.4.\n\nChoices: off, on, all.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` allow-rename `\n\nflag; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` allow-set-title `\n\nflag; scope window, pane; since 3.5.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c)\n\n\n\n- ` alternate-screen `\n\nflag; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` assume-paste-time `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` automatic-rename `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` automatic-rename-format `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` backspace `\n\nkey; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` base-index `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` bell-action `\n\nchoice; scope session; since 3.3a.\n\nChoices: none, any, current, other.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` buffer-limit `\n\nnumber; scope server; since 3.3a.\n\n\n\nRange: 1 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` clear-on-attach `\n\nflag; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` client-active `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-attached `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-closed `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` client-created `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` client-dark-theme `\n\ncommand; scope session; since 3.6. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` client-detached `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-focus-in `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-focus-out `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-light-theme `\n\ncommand; scope session; since 3.6. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` client-resized `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-session-changed `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` clock-mode-colour `\n\ncolour; scope window; since 3.3a, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` clock-mode-colour `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` clock-mode-style `\n\nchoice; scope window; since 3.3a, before 3.6.\n\nChoices: 12, 24.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` clock-mode-style `\n\nchoice; scope window; since 3.6.\n\nChoices: 12, 24, 12-with-seconds, 24-with-seconds.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` codepoint-widths `\n\nstring; scope server; since 3.6. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` command-alias `\n\nstring; scope server; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` command-error `\n\ncommand; scope session; since 3.5. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c)\n\n\n\n- ` copy-command `\n\nstring; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` copy-mode-current-line-number-style `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` copy-mode-current-line-style `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` copy-mode-current-match-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` copy-mode-line-number-style `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` copy-mode-line-numbers `\n\nchoice; scope window; since 3.7.\n\nChoices: off, default, absolute, relative, hybrid.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` copy-mode-mark-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` copy-mode-match-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` copy-mode-position-format `\n\nstring; scope window, pane; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` copy-mode-position-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` copy-mode-selection-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` cursor-colour `\n\ncolour; scope window, pane; since 3.3a, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` cursor-colour `\n\nstring; scope window, pane; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` cursor-style `\n\nchoice; scope window, pane; since 3.3a.\n\nChoices: default, blinking-block, block, blinking-underline, underline, blinking-bar, bar.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` dark-theme-black `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-blue `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-cyan `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-dark-grey `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-green `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-light-grey `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-magenta `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-red `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-white `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-yellow `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` default-client-command `\n\ncommand; scope server; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` default-command `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` default-shell `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` default-size `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` default-terminal `\n\nstring; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` destroy-unattached `\n\nflag; scope session; since 3.3a, before 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` destroy-unattached `\n\nchoice; scope session; since 3.4.\n\nChoices: off, on, keep-last, keep-group.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` detach-on-destroy `\n\nchoice; scope session; since 3.3a, before 3.4.\n\nChoices: off, on, no-detached.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` detach-on-destroy `\n\nchoice; scope session; since 3.4.\n\nChoices: off, on, no-detached, previous, next.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` display-panes-active-colour `\n\ncolour; scope session; since 3.3a, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` display-panes-active-colour `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-panes-border-style `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-panes-colour `\n\ncolour; scope session; since 3.3a, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` display-panes-colour `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-panes-format `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-panes-time `\n\nnumber; scope session; since 3.3a, before 3.8.\n\n\n\nRange: 1 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` display-panes-time `\n\nnumber; scope window; since 3.8.\n\n\n\nRange: 1 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-time `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` editor `\n\nstring; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` escape-time `\n\nnumber; scope server; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` exit-empty `\n\nflag; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` exit-unattached `\n\nflag; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` extended-keys `\n\nchoice; scope server; since 3.3a.\n\nChoices: off, on, always.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` extended-keys-format `\n\nchoice; scope server; since 3.5.\n\nChoices: csi-u, xterm.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c)\n\n\n\n- ` fill-character `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` focus-events `\n\nflag; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` focus-follows-mouse `\n\nflag; scope session; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` get-clipboard `\n\nchoice; scope server; since 3.7.\n\nChoices: off, buffer, request, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` history-file `\n\nstring; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` history-limit `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` initial-repeat-time `\n\nnumber; scope session; since 3.6.\n\n\n\nRange: 0 through 2000000.\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` input-buffer-size `\n\nnumber; scope server; since 3.6.\n\n\n\nRange: 1048576 through 4294967295.\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` key-table `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` light-theme-black `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-blue `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-cyan `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-dark-grey `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-green `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-light-grey `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-magenta `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-red `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-white `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-yellow `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` lock-after-time `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` lock-command `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` main-pane-height `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` main-pane-width `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` marked-pane-changed `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` menu-border-lines `\n\nchoice; scope window; since 3.4.\n\nChoices: single, double, heavy, simple, rounded, padded, none.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` menu-border-style `\n\nstring; scope window; since 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` menu-selected-style `\n\nstring; scope window; since 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` menu-style `\n\nstring; scope window; since 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` message-command-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` message-format `\n\nstring; scope session; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` message-limit `\n\nnumber; scope server; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` message-line `\n\nchoice; scope session; since 3.4.\n\nChoices: 0, 1, 2, 3, 4.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` message-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` mode-keys `\n\nchoice; scope window; since 3.3a.\n\nChoices: emacs, vi.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` mode-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` monitor-activity `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` monitor-bell `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` monitor-silence `\n\nnumber; scope window; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` mouse `\n\nflag; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` other-pane-height `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` other-pane-width `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-active-border-style `\n\nstring; scope window; since 3.3a, before 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-active-border-style `\n\nstring; scope window, pane; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` pane-activity `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-base-index `\n\nnumber; scope window; since 3.3a.\n\n\n\nRange: 0 through 65535.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-bell `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-border-format `\n\nstring; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-indicators `\n\nchoice; scope window; since 3.3a.\n\nChoices: off, colour, arrows, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-lines `\n\nchoice; scope window; since 3.3a, before 3.6.\n\nChoices: single, double, heavy, simple, number.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-lines `\n\nchoice; scope window; since 3.6, before 3.8.\n\nChoices: single, double, heavy, simple, number, spaces.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-border-lines `\n\nchoice; scope window, pane; since 3.8.\n\nChoices: single, double, heavy, simple, number, spaces, none.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-border-status `\n\nchoice; scope window; since 3.3a, before 3.8.\n\nChoices: off, top, bottom.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-status `\n\nchoice; scope window, pane; since 3.8.\n\nChoices: off, top, bottom, top-floating, bottom-floating.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-border-style `\n\nstring; scope window; since 3.3a, before 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-style `\n\nstring; scope window, pane; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` pane-colours `\n\ncolour; scope window, pane; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-command-finished `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-command-started `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-created `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-died `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-exited `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-focus-in `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-focus-out `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-mode-changed `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-mode-entered `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-mode-exited `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-moved `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-prompt-closed `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-prompt-opened `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-resized `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-scrollbars `\n\nchoice; scope window; since 3.6, before 3.8.\n\nChoices: off, modal, on.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-scrollbars `\n\nchoice; scope window; since 3.8.\n\nChoices: off, modal, on, auto-hide.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-scrollbars-position `\n\nchoice; scope window; since 3.6.\n\nChoices: right, left.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-scrollbars-style `\n\nstring; scope window, pane; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-scrollbars-timeout `\n\nnumber; scope window; since 3.8.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-set-clipboard `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-shell-prompt `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-status-current-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-status-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-title-changed `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` popup-border-lines `\n\nchoice; scope window; since 3.3a.\n\nChoices: single, double, heavy, simple, rounded, padded, none.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` popup-border-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` popup-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` prefix `\n\nkey; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` prefix-timeout `\n\nnumber; scope server; since 3.5.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c)\n\n\n\n- ` prefix2 `\n\nkey; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` prompt-command-cursor-colour `\n\nstring; scope session; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` prompt-command-cursor-style `\n\nchoice; scope session; since 3.7.\n\nChoices: default, blinking-block, block, blinking-underline, underline, blinking-bar, bar.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` prompt-cursor-colour `\n\ncolour; scope session; since 3.6, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` prompt-cursor-colour `\n\nstring; scope session; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` prompt-cursor-style `\n\nchoice; scope session; since 3.6.\n\nChoices: default, blinking-block, block, blinking-underline, underline, blinking-bar, bar.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` prompt-history-limit `\n\nnumber; scope server; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` remain-on-exit `\n\nchoice; scope window, pane; since 3.3a, before 3.7.\n\nChoices: off, on, failed.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` remain-on-exit `\n\nchoice; scope window, pane; since 3.7, before 3.8.\n\nChoices: off, on, failed, key.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` remain-on-exit `\n\nchoice; scope window, pane; since 3.8.\n\nChoices: off, on, failed, key, failed-key.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` remain-on-exit-format `\n\nstring; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` renumber-windows `\n\nflag; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` repeat-time `\n\nnumber; scope session; since 3.3a, before 3.6.\n\n\n\nRange: 0 through 32767.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` repeat-time `\n\nnumber; scope session; since 3.6.\n\n\n\nRange: 0 through 2000000.\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` scroll-on-clear `\n\nflag; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` session-added-to-group `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` session-closed `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` session-created `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` session-removed-from-group `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` session-renamed `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` session-status-current-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` session-status-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` session-window-changed `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` set-clipboard `\n\nchoice; scope server; since 3.3a.\n\nChoices: off, external, on.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` set-titles `\n\nflag; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` set-titles-string `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` silence-action `\n\nchoice; scope session; since 3.3a.\n\nChoices: none, any, current, other.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status `\n\nchoice; scope session; since 3.3a.\n\nChoices: off, on, 2, 3, 4, 5.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-bg `\n\ncolour; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-fg `\n\ncolour; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-format `\n\nstring; scope session; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-interval `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-justify `\n\nchoice; scope session; since 3.3a.\n\nChoices: left, centre, right, absolute-centre.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-keys `\n\nchoice; scope session; since 3.3a.\n\nChoices: emacs, vi.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-left `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-left-length `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 32767.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-left-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-position `\n\nchoice; scope session; since 3.3a.\n\nChoices: top, bottom.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-right `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-right-length `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 32767.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-right-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` switch-mode-match-style `\n\nstring; scope window, pane; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` synchronize-panes `\n\nflag; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` terminal-features `\n\nstring; scope server; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` terminal-overrides `\n\nstring; scope server; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` theme `\n\nchoice; scope server; since 3.8.\n\nChoices: detect, terminal, light, dark.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` tiled-layout-max-columns `\n\nnumber; scope window; since 3.6.\n\n\n\nRange: 0 through 65535.\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` tree-mode-border-style `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` tree-mode-preview-format `\n\nstring; scope window, pane; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` tree-mode-preview-style `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` tree-mode-selection-style `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` update-environment `\n\nstring; scope session; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` user-keys `\n\nstring; scope server; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` variation-selector-always-wide `\n\nflag; scope server; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` visual-activity `\n\nchoice; scope session; since 3.3a.\n\nChoices: off, on, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` visual-bell `\n\nchoice; scope session; since 3.3a.\n\nChoices: off, on, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` visual-silence `\n\nchoice; scope session; since 3.3a.\n\nChoices: off, on, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-active-style `\n\nstring; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-closed `\n\ncommand; scope window; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` window-created `\n\ncommand; scope window; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` window-layout-changed `\n\ncommand; scope window; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-linked `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-pane-changed `\n\ncommand; scope window; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-pane-current-status-format `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` window-pane-status-format `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` window-renamed `\n\ncommand; scope window; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-resized `\n\ncommand; scope window; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-size `\n\nchoice; scope window; since 3.3a.\n\nChoices: largest, smallest, manual, latest.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-activity-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-bell-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-current-format `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-current-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-format `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-last-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-separator `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-style `\n\nstring; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-unlinked `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-unzoomed `\n\ncommand; scope window; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` window-zoomed `\n\ncommand; scope window; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` word-separators `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` wrap-search `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` xterm-keys `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)","summary":"Packaged, source-qualified fields, relationships, options and release profiles."},"id":"LibTmux::Catalogue","kind":"module","modifiers":[],"name":"LibTmux::Catalogue","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Catalogue","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue"},{"apiScope":"exported","doc":{"body":"Return the validated packaged catalogue; no tmux command is executed.","summary":"Return the validated packaged catalogue; no tmux command is executed."},"id":"LibTmux::Catalogue.catalogue","kind":"function","modifiers":[],"name":"catalogue","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue.catalogue","signatures":[{"params":[],"raw":"sub catalogue(--> CatalogueData:D)","references":[{"end":33,"start":18,"target":"LibTmux::Catalogue::CatalogueData"}],"returns":"CatalogueData:D","nativeSyntax":[{"start":4,"end":13,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"catalogue","declaration":true},{"text":"(--> "},{"text":"CatalogueData:D","target":"LibTmux::Catalogue::CatalogueData"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":459,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-catalogue"},{"apiScope":"exported","doc":{"body":"Preserve the raw string and reject vendor/development suffixes as unqualified.","summary":"Preserve the raw string and reject vendor/development suffixes as unqualified."},"id":"LibTmux::Catalogue.parse-tmux-version","kind":"function","modifiers":[],"name":"parse-tmux-version","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue.parse-tmux-version","signatures":[{"params":[{"keywordOnly":false,"name":"$raw","optional":false,"type":"Str:D"}],"raw":"sub parse-tmux-version(Str:D $raw --> TmuxVersion:D)","references":[{"end":51,"start":38,"target":"LibTmux::Catalogue::TmuxVersion"}],"returns":"TmuxVersion:D","nativeSyntax":[{"start":4,"end":22,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"parse-tmux-version","declaration":true},{"text":"(Str:D $raw --> "},{"text":"TmuxVersion:D","target":"LibTmux::Catalogue::TmuxVersion"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-parse-tmux-version"},{"apiScope":"exported","doc":{"body":"Return the immutable release policy without reading configuration or contacting tmux.","summary":"Return the immutable release policy without reading configuration or contacting tmux."},"id":"LibTmux::Catalogue.support-policy","kind":"function","modifiers":[],"name":"support-policy","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue.support-policy","signatures":[{"params":[],"raw":"sub support-policy(--> SupportPolicy:D)","references":[{"end":38,"start":23,"target":"LibTmux::Catalogue::SupportPolicy"}],"returns":"SupportPolicy:D","nativeSyntax":[{"start":4,"end":18,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"support-policy","declaration":true},{"text":"(--> "},{"text":"SupportPolicy:D","target":"LibTmux::Catalogue::SupportPolicy"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":203,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-support-policy"},{"apiScope":"exported","doc":{"body":"Typed schema lookup used by acquisition, local criteria and documentation.","summary":"Typed schema lookup used by acquisition, local criteria and documentation."},"id":"LibTmux::Catalogue::CatalogueData","kind":"class","modifiers":[],"name":"CatalogueData","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue::CatalogueData","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":209,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata"},{"apiScope":"exported","doc":{"body":"Read-only feature and defect policies with upstream provenance.","summary":"Read-only feature and defect policies with upstream provenance."},"id":"LibTmux::Catalogue::CatalogueData.all-capabilities","kind":"property","modifiers":[],"name":"all-capabilities","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.all-capabilities","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":215,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-cataloguedata-all-capabilities"},{"apiScope":"exported","doc":{"body":"Read-only field records across all registered entity schemas.","summary":"Read-only field records across all registered entity schemas."},"id":"LibTmux::Catalogue::CatalogueData.all-fields","kind":"property","modifiers":[],"name":"all-fields","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.all-fields","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":211,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-cataloguedata-all-fields"},{"apiScope":"exported","doc":{"body":"All option variants; use options(release) to select a qualified profile.","summary":"All option variants; use options(release) to select a qualified profile."},"id":"LibTmux::Catalogue::CatalogueData.all-options","kind":"property","modifiers":[],"name":"all-options","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.all-options","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":217,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-cataloguedata-all-options"},{"apiScope":"exported","doc":{"body":"Read-only graph relation records, independent of snapshot completeness.","summary":"Read-only graph relation records, independent of snapshot completeness."},"id":"LibTmux::Catalogue::CatalogueData.all-relations","kind":"property","modifiers":[],"name":"all-relations","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.all-relations","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":213,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-cataloguedata-all-relations"},{"apiScope":"exported","doc":{"body":"Feature policy or Nil; defect identifiers belong to workaround.","summary":"Feature policy or Nil; defect identifiers belong to workaround."},"id":"LibTmux::Catalogue::CatalogueData.capability","kind":"method","modifiers":[],"name":"capability","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.capability","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method capability(Str:D $id)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capability","declaration":true},{"text":"(Str:D $id)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":246,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-capability"},{"apiScope":"exported","doc":{"body":"Registered schema names in catalogue order, without duplicates.","summary":"Registered schema names in catalogue order, without duplicates."},"id":"LibTmux::Catalogue::CatalogueData.entities","kind":"method","modifiers":[],"name":"entities","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.entities","signatures":[{"params":[],"raw":"method entities(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entities","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":220,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-entities"},{"apiScope":"exported","doc":{"body":"One field record or Nil; an unknown entity schema throws InvalidFilter.","summary":"One field record or Nil; an unknown entity schema throws InvalidFilter."},"id":"LibTmux::Catalogue::CatalogueData.field","kind":"method","modifiers":[],"name":"field","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.field","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method field(Str:D $entity, Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"field","declaration":true},{"text":"(Str:D $entity, Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":236,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-field"},{"apiScope":"exported","doc":{"body":"Registered field records; an unknown entity schema throws InvalidFilter.","summary":"Registered field records; an unknown entity schema throws InvalidFilter."},"id":"LibTmux::Catalogue::CatalogueData.fields","kind":"method","modifiers":[],"name":"fields","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.fields","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method fields(Str:D $entity --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"fields","declaration":true},{"text":"(Str:D $entity --> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":226,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-fields"},{"apiScope":"exported","doc":{"body":"Whether a schema is registered, without inspecting any captured entities.","summary":"Whether a schema is registered, without inspecting any captured entities."},"id":"LibTmux::Catalogue::CatalogueData.has-entity","kind":"method","modifiers":[],"name":"has-entity","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.has-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method has-entity(Str:D $entity --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"has-entity","declaration":true},{"text":"(Str:D $entity --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":222,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-has-entity"},{"apiScope":"exported","doc":{"body":"One active option variant, or Nil for an unknown option or unqualified release.","summary":"One active option variant, or Nil for an unknown option or unqualified release."},"id":"LibTmux::Catalogue::CatalogueData.option","kind":"method","modifiers":[],"name":"option","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.option","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$release","optional":false,"type":"Str:D"}],"raw":"method option(Str:D $name, Str:D $release)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"option","declaration":true},{"text":"(Str:D $name, Str:D $release)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":263,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-option"},{"apiScope":"exported","doc":{"body":"Active option variants for an exact support profile; empty for an unqualified release.","summary":"Active option variants for an exact support profile; empty for an unqualified release."},"id":"LibTmux::Catalogue::CatalogueData.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.options","signatures":[{"params":[{"keywordOnly":false,"name":"$release","optional":false,"type":"Str:D"}],"raw":"method options(Str:D $release --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(Str:D $release --> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":254,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-options"},{"apiScope":"exported","doc":{"body":"One relation record or Nil; an unknown entity schema throws InvalidFilter.","summary":"One relation record or Nil; an unknown entity schema throws InvalidFilter."},"id":"LibTmux::Catalogue::CatalogueData.relation","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $entity, Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $entity, Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":241,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-relation"},{"apiScope":"exported","doc":{"body":"Registered relation records; an unknown entity schema throws InvalidFilter.","summary":"Registered relation records; an unknown entity schema throws InvalidFilter."},"id":"LibTmux::Catalogue::CatalogueData.relations","kind":"method","modifiers":[],"name":"relations","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.relations","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method relations(Str:D $entity --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relations","declaration":true},{"text":"(Str:D $entity --> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":231,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-relations"},{"apiScope":"exported","doc":{"body":"Defect policy or Nil, without claiming that handling has occurred.","summary":"Defect policy or Nil, without claiming that handling has occurred."},"id":"LibTmux::Catalogue::CatalogueData.workaround","kind":"method","modifiers":[],"name":"workaround","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.workaround","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method workaround(Str:D $id)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"workaround","declaration":true},{"text":"(Str:D $id)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":250,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-workaround"},{"apiScope":"exported","doc":{"body":"One source-qualified option type, scope and operand range.","summary":"One source-qualified option type, scope and operand range."},"id":"LibTmux::Catalogue::OptionSpec","kind":"class","modifiers":[],"name":"OptionSpec","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue::OptionSpec","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":103,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-optionspec"},{"apiScope":"exported","doc":{"body":"Exclusive ending profile; empty when this variant has no declared end.","summary":"Exclusive ending profile; empty when this variant has no declared end."},"id":"LibTmux::Catalogue::OptionSpec.before","kind":"property","modifiers":[],"name":"before","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.before","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":111,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-before"},{"apiScope":"exported","doc":{"body":"Closed native choice vocabulary; empty for other operand categories.","summary":"Closed native choice vocabulary; empty for other operand categories."},"id":"LibTmux::Catalogue::OptionSpec.choices","kind":"property","modifiers":[],"name":"choices","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.choices","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":117,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-optionspec-choices"},{"apiScope":"exported","doc":{"body":"Whether callers must address individual numeric array elements.","summary":"Whether callers must address individual numeric array elements."},"id":"LibTmux::Catalogue::OptionSpec.is-array","kind":"property","modifiers":[],"name":"is-array","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.is-array","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":119,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-catalogue-optionspec-is-array"},{"apiScope":"exported","doc":{"body":"Whether the option stores hook command lists.","summary":"Whether the option stores hook command lists."},"id":"LibTmux::Catalogue::OptionSpec.is-hook","kind":"property","modifiers":[],"name":"is-hook","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.is-hook","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":121,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-catalogue-optionspec-is-hook"},{"apiScope":"exported","doc":{"body":"Whether string values use tmux style syntax.","summary":"Whether string values use tmux style syntax."},"id":"LibTmux::Catalogue::OptionSpec.is-style","kind":"property","modifiers":[],"name":"is-style","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.is-style","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":123,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-catalogue-optionspec-is-style"},{"apiScope":"exported","doc":{"body":"Native operand category used by typed option validation and decoding.","summary":"Native operand category used by typed option validation and decoding."},"id":"LibTmux::Catalogue::OptionSpec.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.kind","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":107,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-kind"},{"apiScope":"exported","doc":{"body":"Highest accepted integer in the option's native units; undefined outside numeric schemas.","summary":"Highest accepted integer in the option's native units; undefined outside numeric schemas."},"id":"LibTmux::Catalogue::OptionSpec.maximum","kind":"property","modifiers":[],"name":"maximum","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.maximum","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":127,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-catalogue-optionspec-maximum"},{"apiScope":"exported","doc":{"body":"Lowest accepted integer in the option's native units; undefined outside numeric schemas.","summary":"Lowest accepted integer in the option's native units; undefined outside numeric schemas."},"id":"LibTmux::Catalogue::OptionSpec.minimum","kind":"property","modifiers":[],"name":"minimum","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.minimum","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":125,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-catalogue-optionspec-minimum"},{"apiScope":"exported","doc":{"body":"Native option name, without an array index.","summary":"Native option name, without an array index."},"id":"LibTmux::Catalogue::OptionSpec.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.name","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":105,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-name"},{"apiScope":"exported","doc":{"body":"Permitted server, session, window or pane scopes; membership is read-only.","summary":"Permitted server, session, window or pane scopes; membership is read-only."},"id":"LibTmux::Catalogue::OptionSpec.scopes","kind":"property","modifiers":[],"name":"scopes","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.scopes","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":115,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-optionspec-scopes"},{"apiScope":"exported","doc":{"body":"First declared support profile using this exact option variant.","summary":"First declared support profile using this exact option variant."},"id":"LibTmux::Catalogue::OptionSpec.since","kind":"property","modifiers":[],"name":"since","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.since","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":109,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-since"},{"apiScope":"exported","doc":{"body":"Pinned options-table.c source from which this variant was extracted.","summary":"Pinned options-table.c source from which this variant was extracted."},"id":"LibTmux::Catalogue::OptionSpec.source","kind":"property","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.source","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":113,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-source"},{"apiScope":"exported","doc":{"body":"Ordered release profiles are the sole source of the floor and CI endpoints.","summary":"Ordered release profiles are the sole source of the floor and CI endpoints."},"id":"LibTmux::Catalogue::SupportPolicy","kind":"class","modifiers":[],"name":"SupportPolicy","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy"},{"apiScope":"exported","doc":{"body":"Oldest and newest profiles for required CI, deduplicated for a single release.","summary":"Oldest and newest profiles for required CI, deduplicated for a single release."},"id":"LibTmux::Catalogue::SupportPolicy.endpoints","kind":"method","modifiers":[],"name":"endpoints","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.endpoints","signatures":[{"params":[],"raw":"method endpoints(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"endpoints","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":166,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy-endpoints"},{"apiScope":"exported","doc":{"body":"Newest declared supported release, independent of unqualified future releases.","summary":"Newest declared supported release, independent of unqualified future releases."},"id":"LibTmux::Catalogue::SupportPolicy.latest","kind":"method","modifiers":[],"name":"latest","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.latest","signatures":[{"params":[],"raw":"method latest(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"latest","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":162,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy-latest"},{"apiScope":"exported","doc":{"body":"Oldest declared supported release; no older compatibility is inferred.","summary":"Oldest declared supported release; no older compatibility is inferred."},"id":"LibTmux::Catalogue::SupportPolicy.minimum","kind":"method","modifiers":[],"name":"minimum","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.minimum","signatures":[{"params":[],"raw":"method minimum(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"minimum","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":160,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy-minimum"},{"apiScope":"exported","doc":{"body":"Exact declared profile, or Nil for an undeclared spelling.","summary":"Exact declared profile, or Nil for an undeclared spelling."},"id":"LibTmux::Catalogue::SupportPolicy.profile","kind":"method","modifiers":[],"name":"profile","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.profile","signatures":[{"params":[{"keywordOnly":false,"name":"$version","optional":false,"type":"Str:D"}],"raw":"method profile(Str:D $version)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"profile","declaration":true},{"text":"(Str:D $version)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":164,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy-profile"},{"apiScope":"exported","doc":{"body":"Read-only profiles in strictly increasing release order, each with pinned source identity.","summary":"Read-only profiles in strictly increasing release order, each with pinned source identity."},"id":"LibTmux::Catalogue::SupportPolicy.releases","kind":"property","modifiers":[],"name":"releases","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.releases","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":157,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-supportpolicy-releases"},{"apiScope":"exported","doc":{"body":"Parsed release spelling; an exact release can still lack a support profile.","summary":"Parsed release spelling; an exact release can still lack a support profile."},"id":"LibTmux::Catalogue::TmuxVersion","kind":"class","modifiers":[],"name":"TmuxVersion","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":10,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-tmuxversion"},{"apiScope":"exported","doc":{"body":"Compare stable release components, including tmux's letter suffix.","summary":"Compare stable release components, including tmux's letter suffix."},"id":"LibTmux::Catalogue::TmuxVersion.at-least","kind":"method","modifiers":[],"name":"at-least","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.at-least","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"TmuxVersion:D"}],"raw":"method at-least(TmuxVersion:D $other --> Bool:D)","references":[{"end":29,"start":16,"target":"LibTmux::Catalogue::TmuxVersion"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-least","declaration":true},{"text":"("},{"text":"TmuxVersion:D","target":"LibTmux::Catalogue::TmuxVersion"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-tmuxversion-at-least"},{"apiScope":"exported","doc":{"body":"Numeric major component; zero for an unqualified spelling.","summary":"Numeric major component; zero for an unqualified spelling."},"id":"LibTmux::Catalogue::TmuxVersion.major","kind":"property","modifiers":[],"name":"major","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.major","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":18,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-catalogue-tmuxversion-major"},{"apiScope":"exported","doc":{"body":"Numeric minor component; zero for an unqualified spelling.","summary":"Numeric minor component; zero for an unqualified spelling."},"id":"LibTmux::Catalogue::TmuxVersion.minor","kind":"property","modifiers":[],"name":"minor","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.minor","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-catalogue-tmuxversion-minor"},{"apiScope":"exported","doc":{"body":"Original input, including any executable banner or unqualified suffix.","summary":"Original input, including any executable banner or unqualified suffix."},"id":"LibTmux::Catalogue::TmuxVersion.raw","kind":"property","modifiers":[],"name":"raw","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.raw","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":12,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-tmuxversion-raw"},{"apiScope":"exported","doc":{"body":"Release spelling without the optional tmux prefix; empty when unqualified.","summary":"Release spelling without the optional tmux prefix; empty when unqualified."},"id":"LibTmux::Catalogue::TmuxVersion.release","kind":"property","modifiers":[],"name":"release","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.release","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":14,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-tmuxversion-release"},{"apiScope":"exported","doc":{"body":"Whether the spelling is a stable release, independent of supported versions.","summary":"Whether the spelling is a stable release, independent of supported versions."},"id":"LibTmux::Catalogue::TmuxVersion.stable","kind":"property","modifiers":[],"name":"stable","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.stable","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-catalogue-tmuxversion-stable"},{"apiScope":"exported","doc":{"body":"Lowercase patch-release letter, or empty for a plain or unqualified release.","summary":"Lowercase patch-release letter, or empty for a plain or unqualified release."},"id":"LibTmux::Catalogue::TmuxVersion.suffix","kind":"property","modifiers":[],"name":"suffix","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.suffix","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":22,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-tmuxversion-suffix"},{"apiScope":"exported","doc":{"body":"# Client commands\n\nClientTarget retains endpoint and daemon identity values only. Each operation\nlists clients and checks the observed name, process ID and creation time before\ndispatch. tmux exposes no permanent client ID: disconnect and name reuse between\nthis check and the command remain possible. The daemon fence does not make that\ncheck atomic. A client target never silently selects a current client.\nThe read-only toggle follows tmux's paired read-only/ignore-size flag behavior;\nit retains the observed session and suppresses environment updates.\n\nPane-context UI methods require an explicit pane belonging to the client's\ncurrent session. This avoids display-message's missing-target fallback. Pane\nmodes are shared by every client viewing that pane, not private UI state.\n\nMenu, prompt, popup and pane-number methods return Promises and require an\nexplicit timeout in milliseconds. Human interaction may outlast that budget.\nCancellation or timeout stops the command client; it does not retract an overlay\nor command already submitted. Use close-popup explicitly when appropriate.\nResults describe command completion, not rendered pixels or a human response.\n\nLiteral messages disable FORMAT and strftime interpolation. tmux display styles\nstill apply. Menu labels retain display styles and leading-minus disabled-entry\nsemantics. CommandTemplate deliberately exposes tmux template syntax and percent\nsubstitutions; it is never compiled as Raku. Popup shell-command deliberately\nrequests shell execution. Other commands use argv and the shared tmux encoder.","summary":""},"id":"LibTmux::Client","kind":"module","modifiers":[],"name":"LibTmux::Client","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Client","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client"},{"apiScope":"exported","doc":{"body":"A value-only client target. No subprocess or connection is retained.","summary":"A value-only client target. No subprocess or connection is retained."},"id":"LibTmux::Client::ClientTarget","kind":"class","modifiers":[],"name":"ClientTarget","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::ClientTarget","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":70,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget"},{"apiScope":"exported","doc":{"body":"Enter a pane mode shared by every client viewing that pane.","summary":"Enter a pane mode shared by every client viewing that pane."},"id":"LibTmux::Client::ClientTarget.choose","kind":"method","modifiers":[],"name":"choose","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.choose","signatures":[{"params":[{"keywordOnly":false,"name":"$kind","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"Str","keywordOnly":true,"name":"$format","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$filter","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$key-format","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$sort","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$reverse","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$zoom","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$preview","optional":true,"type":"Bool:D"},{"default":"CommandTemplate","keywordOnly":true,"name":"$template","optional":true,"type":"CommandTemplate"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method choose(Str:D $kind, PaneId:D :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, CommandTemplate :$template = CommandTemplate,\n *%operation --> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Types::PaneId"},{"end":270,"start":255,"target":"LibTmux::Client::CommandTemplate"},{"end":299,"start":284,"target":"LibTmux::Client::CommandTemplate"},{"end":343,"start":335,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"choose","declaration":true},{"text":"(Str:D $kind, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":" :$template = "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":",\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":245,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-choose"},{"apiScope":"exported","doc":{"body":"Clear the daemon's selected prompt history; it is shared across clients.","summary":"Clear the daemon's selected prompt history; it is shared across clients."},"id":"LibTmux::Client::ClientTarget.clear-prompt-history","kind":"method","modifiers":[],"name":"clear-prompt-history","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.clear-prompt-history","signatures":[{"params":[{"default":"Str","keywordOnly":true,"name":"$type","optional":true,"type":"Str"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method clear-prompt-history(Str :$type = Str, *%operation --> Result:D)","references":[{"end":70,"start":62,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":27,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clear-prompt-history","declaration":true},{"text":"(Str :$type = Str, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":366,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-clear-prompt-history"},{"apiScope":"exported","doc":{"body":"Revalidate changed target values; this performs no existence check or I/O.","summary":"Revalidate changed target values; this performs no existence check or I/O."},"id":"LibTmux::Client::ClientTarget.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> ClientTarget:D)","references":[{"end":41,"start":27,"target":"LibTmux::Client::ClientTarget"}],"returns":"ClientTarget:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"ClientTarget:D","target":"LibTmux::Client::ClientTarget"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":89,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-clone"},{"apiScope":"exported","doc":{"body":"Explicitly remove the current popup/overlay, including one left after timeout.","summary":"Explicitly remove the current popup/overlay, including one left after timeout."},"id":"LibTmux::Client::ClientTarget.close-popup","kind":"method","modifiers":[],"name":"close-popup","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.close-popup","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method close-popup(*%operation --> Result:D)","references":[{"end":43,"start":35,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-popup","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":212,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-close-popup"},{"apiScope":"exported","doc":{"body":"Ask confirmation before one Invocation. A refusal is returned as a Result.","summary":"Ask confirmation before one Invocation. A refusal is returned as a Result."},"id":"LibTmux::Client::ClientTarget.confirm-async","kind":"method","modifiers":[],"name":"confirm-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.confirm-async","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"'Confirm? (y/n)'","keywordOnly":true,"name":"$prompt","optional":true,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method confirm-async(Invocation:D $command, Positive:D :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D)","references":[{"end":33,"start":21,"target":"LibTmux::Command::Invocation"},{"end":54,"start":44,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"confirm-async","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":237,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-confirm-async"},{"apiScope":"exported","doc":{"body":"Observed tmux client creation timestamp in Unix seconds.","summary":"Observed tmux client creation timestamp in Unix seconds."},"id":"LibTmux::Client::ClientTarget.created","kind":"property","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.created","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":80,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-client-clienttarget-created"},{"apiScope":"exported","doc":{"body":"Request detachment of this exact observed client. Completion is not exit proof.","summary":"Request detachment of this exact observed client. Completion is not exit proof."},"id":"LibTmux::Client::ClientTarget.detach","kind":"method","modifiers":[],"name":"detach","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.detach","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method detach(*%operation --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"detach","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":313,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-detach"},{"apiScope":"exported","doc":{"body":"Evaluate explicit FORMAT and strftime syntax in an existing pane context.","summary":"Evaluate explicit FORMAT and strftime syntax in an existing pane context."},"id":"LibTmux::Client::ClientTarget.display-format","kind":"method","modifiers":[],"name":"display-format","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.display-format","signatures":[{"params":[{"keywordOnly":false,"name":"$format","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"True","keywordOnly":true,"name":"$print","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-format(Str:D $format, PaneId:D :$pane!, Bool:D :$print = True,\n *%operation --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Types::PaneId"},{"end":128,"start":120,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-format","declaration":true},{"text":"(Str:D $format, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Bool:D :$print = True,\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":146,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-display-format"},{"apiScope":"exported","doc":{"body":"Display literal FORMAT/time text; tmux still interprets display styles.","summary":"Display literal FORMAT/time text; tmux still interprets display styles."},"id":"LibTmux::Client::ClientTarget.display-message","kind":"method","modifiers":[],"name":"display-message","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.display-message","signatures":[{"params":[{"keywordOnly":false,"name":"$message","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"Count","keywordOnly":true,"name":"$duration-ms","optional":true,"type":"Count"},{"default":"False","keywordOnly":true,"name":"$print","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-message(Str:D $message, PaneId:D :$pane!, Count :$duration-ms = Count,\n Bool:D :$print = False, *%operation --> Result:D)","references":[{"end":47,"start":39,"target":"LibTmux::Types::PaneId"},{"end":62,"start":57,"target":"LibTmux::Types::Count"},{"end":84,"start":79,"target":"LibTmux::Types::Count"},{"end":161,"start":153,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-message","declaration":true},{"text":"(Str:D $message, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$duration-ms = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":",\n Bool:D :$print = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":136,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-display-message"},{"apiScope":"exported","doc":{"body":"Display pane numbers, with an optional explicit tmux selection template.","summary":"Display pane numbers, with an optional explicit tmux selection template."},"id":"LibTmux::Client::ClientTarget.display-panes-async","kind":"method","modifiers":[],"name":"display-panes-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.display-panes-async","signatures":[{"params":[{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"Count","keywordOnly":true,"name":"$duration-ms","optional":true,"type":"Count"},{"default":"True","keywordOnly":true,"name":"$select","optional":true,"type":"Bool:D"},{"default":"CommandTemplate","keywordOnly":true,"name":"$template","optional":true,"type":"CommandTemplate"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-panes-async(Positive:D :$timeout-ms!, Count :$duration-ms = Count,\n Bool:D :$select = True,\n CommandTemplate :$template = CommandTemplate,\n *%operation --> Promise:D)","references":[{"end":37,"start":27,"target":"LibTmux::Types::Positive"},{"end":58,"start":53,"target":"LibTmux::Types::Count"},{"end":80,"start":75,"target":"LibTmux::Types::Count"},{"end":183,"start":168,"target":"LibTmux::Client::CommandTemplate"},{"end":212,"start":197,"target":"LibTmux::Client::CommandTemplate"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":26,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-panes-async","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$duration-ms = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":",\n Bool:D :$select = True,\n "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":" :$template = "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":",\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":287,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-display-panes-async"},{"apiScope":"exported","doc":{"body":"Socket and executable configuration; no active connection is retained.","summary":"Socket and executable configuration; no active connection is retained."},"id":"LibTmux::Client::ClientTarget.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":72,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-client-clienttarget-endpoint"},{"apiScope":"exported","doc":{"body":"Open the native finder using tmux match/FORMAT syntax, not literal substring data.","summary":"Open the native finder using tmux match/FORMAT syntax, not literal substring data."},"id":"LibTmux::Client::ClientTarget.find-window","kind":"method","modifiers":[],"name":"find-window","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.find-window","signatures":[{"params":[{"keywordOnly":false,"name":"$pattern","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"True","keywordOnly":true,"name":"$content","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$names","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$titles","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$regex","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$ignore-case","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$zoom","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method find-window(Str:D $pattern, PaneId:D :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> Result:D)","references":[{"end":43,"start":35,"target":"LibTmux::Types::PaneId"},{"end":295,"start":287,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"find-window","declaration":true},{"text":"(Str:D $pattern, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":269,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-find-window"},{"apiScope":"exported","doc":{"body":"Daemon identity checked before dispatching a client operation.","summary":"Daemon identity checked before dispatching a client operation."},"id":"LibTmux::Client::ClientTarget.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Incarnation:D","slug":"libtmux-client-clienttarget-incarnation"},{"apiScope":"exported","doc":{"body":"Select an existing key table; its name is passed without FORMAT expansion.","summary":"Select an existing key table; its name is passed without FORMAT expansion."},"id":"LibTmux::Client::ClientTarget.key-table","kind":"method","modifiers":[],"name":"key-table","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.key-table","signatures":[{"params":[{"keywordOnly":false,"name":"$table","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method key-table(Str:D $table, *%operation --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key-table","declaration":true},{"text":"(Str:D $table, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":337,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-key-table"},{"apiScope":"exported","doc":{"body":"Invoke the configured lock command for this client.","summary":"Invoke the configured lock command for this client."},"id":"LibTmux::Client::ClientTarget.lock","kind":"method","modifiers":[],"name":"lock","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.lock","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method lock(*%operation --> Result:D)","references":[{"end":36,"start":28,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"lock","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":323,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-lock"},{"apiScope":"exported","doc":{"body":"Show a menu. Completion follows tmux's command lifecycle, not rendering proof.","summary":"Show a menu. Completion follows tmux's command lifecycle, not rendering proof."},"id":"LibTmux::Client::ClientTarget.menu-async","kind":"method","modifiers":[],"name":"menu-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.menu-async","signatures":[{"params":[{"keywordOnly":false,"name":"$items","optional":false,"type":"Positional:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"''","keywordOnly":true,"name":"$title","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$x","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$y","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$stay-open","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$mouse","optional":true,"type":"Bool:D"},{"default":"Str","keywordOnly":true,"name":"$style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$border-style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$selected-style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$border-lines","optional":true,"type":"Str"},{"default":"Count","keywordOnly":true,"name":"$starting-choice","optional":true,"type":"Count"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method menu-async(Positional:D $items, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n Count :$starting-choice = Count, *%operation --> Promise:D)","references":[{"end":47,"start":39,"target":"LibTmux::Types::PaneId"},{"end":67,"start":57,"target":"LibTmux::Types::Positive"},{"end":403,"start":398,"target":"LibTmux::Types::Count"},{"end":429,"start":424,"target":"LibTmux::Types::Count"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"menu-async","declaration":true},{"text":"(Positional:D $items, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$starting-choice = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":", *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-menu-async"},{"apiScope":"exported","doc":{"body":"Observed client name decoded with utf8-c8 to preserve target bytes.","summary":"Observed client name decoded with utf8-c8 to preserve target bytes."},"id":"LibTmux::Client::ClientTarget.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.name","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-client-clienttarget-name"},{"apiScope":"exported","doc":{"body":"Observed client process ID, checked together with name and creation time.","summary":"Observed client process ID, checked together with name and creation time."},"id":"LibTmux::Client::ClientTarget.pid","kind":"property","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.pid","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-client-clienttarget-pid"},{"apiScope":"exported","doc":{"body":"Start an explicitly supplied shell command in a popup; wait asynchronously.","summary":"Start an explicitly supplied shell command in a popup; wait asynchronously."},"id":"LibTmux::Client::ClientTarget.popup-async","kind":"method","modifiers":[],"name":"popup-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.popup-async","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"''","keywordOnly":true,"name":"$title","optional":true,"type":"Str:D"},{"default":"Str","keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"default":"Positive","keywordOnly":true,"name":"$width","optional":true,"type":"Positive"},{"default":"Positive","keywordOnly":true,"name":"$height","optional":true,"type":"Positive"},{"default":"'C'","keywordOnly":true,"name":"$x","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$y","optional":true,"type":"Str:D"},{"default":"'exit'","keywordOnly":true,"name":"$close","optional":true,"type":"Str:D"},{"default":"True","keywordOnly":true,"name":"$border","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$close-on-key","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$reset-flags","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method popup-async(Str:D :$shell-command!, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n Positive :$width = Positive, Positive :$height = Positive,\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D)","references":[{"end":51,"start":43,"target":"LibTmux::Types::PaneId"},{"end":71,"start":61,"target":"LibTmux::Types::Positive"},{"end":184,"start":176,"target":"LibTmux::Types::Positive"},{"end":203,"start":195,"target":"LibTmux::Types::Positive"},{"end":213,"start":205,"target":"LibTmux::Types::Positive"},{"end":233,"start":225,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"popup-async","declaration":true},{"text":"(Str:D :$shell-command!, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$width = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$height = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":",\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":188,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-popup-async"},{"apiScope":"exported","doc":{"body":"Prompt with explicit tmux template syntax. Commas separate prompts and inputs.","summary":"Prompt with explicit tmux template syntax. Commas separate prompts and inputs."},"id":"LibTmux::Client::ClientTarget.prompt-async","kind":"method","modifiers":[],"name":"prompt-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.prompt-async","signatures":[{"params":[{"keywordOnly":false,"name":"$template","optional":false,"type":"CommandTemplate:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"':'","keywordOnly":true,"name":"$prompts","optional":true,"type":"Str:D"},{"default":"''","keywordOnly":true,"name":"$inputs","optional":true,"type":"Str:D"},{"default":"'text'","keywordOnly":true,"name":"$mode","optional":true,"type":"Str:D"},{"default":"'command'","keywordOnly":true,"name":"$type","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$literal-commas","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method prompt-async(CommandTemplate:D $template, Positive:D :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D)","references":[{"end":37,"start":20,"target":"LibTmux::Client::CommandTemplate"},{"end":59,"start":49,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"prompt-async","declaration":true},{"text":"("},{"text":"CommandTemplate:D","target":"LibTmux::Client::CommandTemplate"},{"text":" $template, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":217,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-prompt-async"},{"apiScope":"exported","doc":{"body":"Return raw prompt-history output, without claiming newline-safe entry framing.","summary":"Return raw prompt-history output, without claiming newline-safe entry framing."},"id":"LibTmux::Client::ClientTarget.prompt-history","kind":"method","modifiers":[],"name":"prompt-history","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.prompt-history","signatures":[{"params":[{"default":"Str","keywordOnly":true,"name":"$type","optional":true,"type":"Str"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method prompt-history(Str :$type = Str, *%operation --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"prompt-history","declaration":true},{"text":"(Str :$type = Str, *%operation --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":359,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-prompt-history"},{"apiScope":"exported","doc":{"body":"Refresh the display, status, or viewport using one explicit action.","summary":"Refresh the display, status, or viewport using one explicit action."},"id":"LibTmux::Client::ClientTarget.refresh","kind":"method","modifiers":[],"name":"refresh","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.refresh","signatures":[{"params":[{"default":"'all'","keywordOnly":true,"name":"$part","optional":true,"type":"Str:D"},{"default":"Positive","keywordOnly":true,"name":"$amount","optional":true,"type":"Positive"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method refresh(Str:D :$part = 'all', Positive :$amount = Positive,\n *%operation --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Types::Positive"},{"end":65,"start":57,"target":"LibTmux::Types::Positive"},{"end":110,"start":102,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"refresh","declaration":true},{"text":"(Str:D :$part = 'all', "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$amount = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":",\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":299,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-refresh"},{"apiScope":"exported","doc":{"body":"Suspend the client's terminal process through tmux.","summary":"Suspend the client's terminal process through tmux."},"id":"LibTmux::Client::ClientTarget.suspend","kind":"method","modifiers":[],"name":"suspend","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.suspend","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method suspend(*%operation --> Result:D)","references":[{"end":39,"start":31,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"suspend","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":318,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-suspend"},{"apiScope":"exported","doc":{"body":"Switch session by ID. Updating the session environment is opt-in.","summary":"Switch session by ID. Updating the session environment is opt-in."},"id":"LibTmux::Client::ClientTarget.switch","kind":"method","modifiers":[],"name":"switch","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.switch","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionId:D"},{"default":"False","keywordOnly":true,"name":"$update-environment","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$keep-zoom","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method switch(SessionId:D $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> Result:D)","references":[{"end":25,"start":14,"target":"LibTmux::Types::SessionId"},{"end":143,"start":135,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"switch","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":328,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-switch"},{"apiScope":"exported","doc":{"body":"Switch relative to this client's current/previous session.","summary":"Switch relative to this client's current/previous session."},"id":"LibTmux::Client::ClientTarget.switch-relative","kind":"method","modifiers":[],"name":"switch-relative","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.switch-relative","signatures":[{"params":[{"keywordOnly":false,"name":"$direction","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method switch-relative(Str:D $direction, *%operation --> Result:D)","references":[{"end":65,"start":57,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"switch-relative","declaration":true},{"text":"(Str:D $direction, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":344,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-switch-relative"},{"apiScope":"exported","doc":{"body":"Toggle read-only and ignore-size flags while retaining the observed session.","summary":"Toggle read-only and ignore-size flags while retaining the observed session."},"id":"LibTmux::Client::ClientTarget.toggle-read-only","kind":"method","modifiers":[],"name":"toggle-read-only","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.toggle-read-only","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method toggle-read-only(*%operation --> Result:D)","references":[{"end":48,"start":40,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":23,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"toggle-read-only","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":353,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-toggle-read-only"},{"apiScope":"exported","doc":{"body":"Explicit tmux command-template syntax, including percent substitutions.","summary":"Explicit tmux command-template syntax, including percent substitutions."},"id":"LibTmux::Client::CommandTemplate","kind":"class","modifiers":[],"name":"CommandTemplate","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::CommandTemplate","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-commandtemplate"},{"apiScope":"exported","doc":{"body":"Revalidate replacement source without executing the template.","summary":"Revalidate replacement source without executing the template."},"id":"LibTmux::Client::CommandTemplate.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Client::CommandTemplate","product":"core","publicId":"LibTmux::Client::CommandTemplate.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> CommandTemplate:D)","references":[{"end":44,"start":27,"target":"LibTmux::Client::CommandTemplate"}],"returns":"CommandTemplate:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"CommandTemplate:D","target":"LibTmux::Client::CommandTemplate"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-commandtemplate-clone"},{"apiScope":"exported","doc":{"body":"Unescaped tmux command-template syntax, including native percent placeholders.","summary":"Unescaped tmux command-template syntax, including native percent placeholders."},"id":"LibTmux::Client::CommandTemplate.source","kind":"property","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Client::CommandTemplate","product":"core","publicId":"LibTmux::Client::CommandTemplate.source","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":22,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-client-commandtemplate-source"},{"apiScope":"exported","doc":{"body":"A menu entry. Empty labels are separators; labels retain tmux display styles.","summary":"A menu entry. Empty labels are separators; labels retain tmux display styles."},"id":"LibTmux::Client::MenuItem","kind":"class","modifiers":[],"name":"MenuItem","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::MenuItem","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-menuitem"},{"apiScope":"exported","doc":{"body":"Revalidate a modified entry, including separator and command consistency.","summary":"Revalidate a modified entry, including separator and command consistency."},"id":"LibTmux::Client::MenuItem.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> MenuItem:D)","references":[{"end":37,"start":27,"target":"LibTmux::Client::MenuItem"}],"returns":"MenuItem:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"MenuItem:D","target":"LibTmux::Client::MenuItem"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-menuitem-clone"},{"apiScope":"exported","doc":{"body":"Command executed on selection; undefined only for a separator.","summary":"Command executed on selection; undefined only for a separator."},"id":"LibTmux::Client::MenuItem.command","kind":"property","modifiers":[],"name":"command","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.command","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Invocation","slug":"libtmux-client-menuitem-command"},{"apiScope":"exported","doc":{"body":"Render an unavailable item whose command cannot be selected.","summary":"Render an unavailable item whose command cannot be selected."},"id":"LibTmux::Client::MenuItem.disabled","kind":"property","modifiers":[],"name":"disabled","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.disabled","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":40,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-client-menuitem-disabled"},{"apiScope":"exported","doc":{"body":"Native tmux key name; empty text leaves the item without a shortcut.","summary":"Native tmux key name; empty text leaves the item without a shortcut."},"id":"LibTmux::Client::MenuItem.key","kind":"property","modifiers":[],"name":"key","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.key","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-client-menuitem-key"},{"apiScope":"exported","doc":{"body":"Display text with tmux styles retained; an empty label creates a separator.","summary":"Display text with tmux styles retained; an empty label creates a separator."},"id":"LibTmux::Client::MenuItem.label","kind":"property","modifiers":[],"name":"label","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.label","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-client-menuitem-label"},{"apiScope":"exported","doc":{"body":"# Interpretation boundaries\n\nInvocation encodes a tmux command, not a shell command or a FORMAT literal.\nDouble quoting alone does not suppress tmux tilde expansion. Exact octal\nescapes preserve quotes, backslashes, dollars, tildes, controls and high bytes.\nThe encoded size limit applies after expansion and before dispatch.\n\nEngine code inserts command separators deliberately between Invocation values;\nliteral semicolons inside their argument values remain data. Commands which\ninterpret FORMAT syntax require an additional command-specific policy.\n\n\n\n# Single-operation admission\n\nEffectful entry points use ` is single-operation ` to reject Junction arguments\nbefore Raku can autothread a typed method into several operations. Unknown named\narguments are rejected unless the method explicitly forwards a slurpy options\nhash; the receiving operation validates those forwarded names. Nested command\noperands remain the responsibility of Invocation and the command's validators.\nNative signatures, defaults and constraints retain their normal binding rules.\nAn effectful multi must guard its explicit proto, since candidate dispatch can\nautothread before a wrapper on an individual candidate runs.\nRole methods use capture admission in the proto body before typed candidate\ndispatch. Wrapping an unspecialized role method loses its private-method context\nafter precompilation on the pinned compiler.\n\n` is single-operation('async') ` returns one broken Promise for rejected input or\na synchronous exception from the method. Junctions and unknown names produce\n` X::LibTmux::Command ` with ` kind ` argument and ` outcome ` NotStarted. Native\nbinding errors and exceptions from the body retain their types. An accepted\nmethod's Promise passes through unchanged. Portable query validation keeps its\nown ` InvalidFilter ` policy, while local selections retain native Junction\nmatching.","summary":""},"id":"LibTmux::Command","kind":"module","modifiers":[],"name":"LibTmux::Command","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Command","signatures":[],"source":{"file":"lib/LibTmux/Command.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command"},{"apiScope":"exported","doc":{"body":"One copied tmux command with distinct argv and command-language encodings.","summary":"One copied tmux command with distinct argv and command-language encodings."},"id":"LibTmux::Command::Invocation","kind":"class","modifiers":[],"name":"Invocation","package":"LibTmux","parent":"LibTmux::Command","product":"core","publicId":"LibTmux::Command::Invocation","signatures":[],"source":{"file":"lib/LibTmux/Command.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command-invocation"},{"apiScope":"exported","doc":{"body":"Original literal values, detached from the caller's membership containers.","summary":"Original literal values, detached from the caller's membership containers."},"id":"LibTmux::Command::Invocation.argv","kind":"method","modifiers":[],"name":"argv","package":"LibTmux","parent":"LibTmux::Command::Invocation","product":"core","publicId":"LibTmux::Command::Invocation.argv","signatures":[{"params":[],"raw":"method argv(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"argv","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Command.rakumod","line":86,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command-invocation-argv"},{"apiScope":"exported","doc":{"body":"Protect literal final semicolons from tmux's OS-argv command separator.","summary":"Protect literal final semicolons from tmux's OS-argv command separator."},"id":"LibTmux::Command::Invocation.as-argv","kind":"method","modifiers":[],"name":"as-argv","package":"LibTmux","parent":"LibTmux::Command::Invocation","product":"core","publicId":"LibTmux::Command::Invocation.as-argv","signatures":[{"params":[],"raw":"method as-argv(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"as-argv","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Command.rakumod","line":89,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command-invocation-as-argv"},{"apiScope":"exported","doc":{"body":"A bounded tmux command string, with no shell expansion or Raku evaluation.","summary":"A bounded tmux command string, with no shell expansion or Raku evaluation."},"id":"LibTmux::Command::Invocation.source","kind":"method","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Command::Invocation","product":"core","publicId":"LibTmux::Command::Invocation.source","signatures":[{"params":[],"raw":"method source(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"source","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Command.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command-invocation-source"},{"apiScope":"exported","doc":{"body":"# Configuration and stored commands\n\nOptions, Environment, Buffers, Hooks and KeyBindings are value-only facades\nbound to an endpoint and daemon incarnation. Construction and schema access\nperform no I/O. Each operation owns and closes its temporary command runtime;\nit checks daemon identity and applies one timeout and output bound.\n\nOptions use source-qualified types and ranges from :obj:`LibTmux::Catalogue `.\nFlags require Bool, numeric options reject Bool, and array writes require an\nexplicit index. ` entries ` preserves inherited provenance; ` get ` returns a\nnative scalar or an indexed Map. Unknown native options use the explicitly\nnamed raw operations. User options in the typed API use ` @ ` followed by\nletters, digits, underscores or hyphens. Native printed command values are\nsource text, not parsed Invocation values.\n\nEnvironment reads distinguish an absent entry, an explicit removed marker,\nand hidden entries. ` :hidden ` selects hidden entries only. Environment names\nuse the portable variable alphabet. ` get ` requests only that name; ` list `\nrefuses a native entry whose name falls outside the declared alphabet.\nValues preserve bytes through UTF8-C8;\nreading the shell-shaped output never executes it. Buffer content is acquired\nseparately as Blob and may contain NUL.\n\nHooks and key bindings accept :obj:`LibTmux::Command::Invocation ` for commands\nto store. Reads preserve tmux's printed command source without executing or\nreconstructing it. Legacy key listings mark notes Unloaded; modern projected\nlistings capture them. Key table names use letters, digits, underscores or\nhyphens so legacy native listings remain unambiguous.\n\nHook ` run ` acknowledges queuing. Paste and other mutations acknowledge tmux\ncommands; they do not prove that a pane application consumed input or that a\nhook's asynchronous work completed. Timeouts after dispatch cannot roll back\nserver effects. Captured values do not refresh themselves.","summary":""},"id":"LibTmux::Configuration","kind":"module","modifiers":[],"name":"LibTmux::Configuration","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Configuration","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration"},{"apiScope":"exported","doc":{"body":"Buffer metadata is separate from explicitly acquired binary contents.","summary":"Buffer metadata is separate from explicitly acquired binary contents."},"id":"LibTmux::Configuration::BufferInfo","kind":"class","modifiers":[],"name":"BufferInfo","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::BufferInfo","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":407,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-bufferinfo"},{"apiScope":"exported","doc":{"body":"Buffer creation time as Unix seconds.","summary":"Buffer creation time as Unix seconds."},"id":"LibTmux::Configuration::BufferInfo.created","kind":"property","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Configuration::BufferInfo","product":"core","publicId":"LibTmux::Configuration::BufferInfo.created","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":413,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-configuration-bufferinfo-created"},{"apiScope":"exported","doc":{"body":"Exact observed resource or option name.","summary":"Exact observed resource or option name."},"id":"LibTmux::Configuration::BufferInfo.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Configuration::BufferInfo","product":"core","publicId":"LibTmux::Configuration::BufferInfo.name","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":409,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-bufferinfo-name"},{"apiScope":"exported","doc":{"body":"Native buffer preview text; it is not the complete binary content.","summary":"Native buffer preview text; it is not the complete binary content."},"id":"LibTmux::Configuration::BufferInfo.sample","kind":"property","modifiers":[],"name":"sample","package":"LibTmux","parent":"LibTmux::Configuration::BufferInfo","product":"core","publicId":"LibTmux::Configuration::BufferInfo.sample","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":415,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-bufferinfo-sample"},{"apiScope":"exported","doc":{"body":"Buffer content length in bytes; content acquisition is separate.","summary":"Buffer content length in bytes; content acquisition is separate."},"id":"LibTmux::Configuration::BufferInfo.size","kind":"property","modifiers":[],"name":"size","package":"LibTmux","parent":"LibTmux::Configuration::BufferInfo","product":"core","publicId":"LibTmux::Configuration::BufferInfo.size","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":411,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-configuration-bufferinfo-size"},{"apiScope":"exported","doc":{"body":"Server-scoped paste buffers with binary load and save operations.","summary":"Server-scoped paste buffers with binary load and save operations."},"id":"LibTmux::Configuration::Buffers","kind":"class","modifiers":[],"name":"Buffers","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::Buffers","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":419,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::Buffers.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-clone"},{"apiScope":"exported","doc":{"body":"Delete the named buffer.","summary":"Delete the named buffer."},"id":"LibTmux::Configuration::Buffers.delete","kind":"method","modifiers":[],"name":"delete","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.delete","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method delete(Str:D $name --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"delete","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":448,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-delete"},{"apiScope":"exported","doc":{"body":"Acquire complete buffer bytes, including NUL, within the output bound.","summary":"Acquire complete buffer bytes, including NUL, within the output bound."},"id":"LibTmux::Configuration::Buffers.get","kind":"method","modifiers":[],"name":"get","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.get","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method get(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"get","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":437,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-get"},{"apiScope":"exported","doc":{"body":"Acquire buffer metadata without loading the complete contents.","summary":"Acquire buffer metadata without loading the complete contents."},"id":"LibTmux::Configuration::Buffers.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":424,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-list"},{"apiScope":"exported","doc":{"body":"Paste into an explicit pane, optionally deleting the buffer afterward.","summary":"Paste into an explicit pane, optionally deleting the buffer afterward."},"id":"LibTmux::Configuration::Buffers.paste","kind":"method","modifiers":[],"name":"paste","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.paste","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"False","keywordOnly":true,"name":"$delete","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$bracketed","optional":true,"type":"Bool"},{"keywordOnly":true,"name":"$separator","optional":true,"type":"Str"}],"raw":"method paste(Str:D $name, PaneId:D $pane, Bool :$delete = False,\n Bool :$bracketed = False, Str :$separator --> Result:D)","references":[{"end":34,"start":26,"target":"LibTmux::Types::PaneId"},{"end":136,"start":128,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"paste","declaration":true},{"text":"(Str:D $name, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" $pane, Bool :$delete = False,\n Bool :$bracketed = False, Str :$separator --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":458,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-paste"},{"apiScope":"exported","doc":{"body":"Load binary stdin into the named server buffer.","summary":"Load binary stdin into the named server buffer."},"id":"LibTmux::Configuration::Buffers.put","kind":"method","modifiers":[],"name":"put","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.put","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$bytes","optional":false,"type":"Blob:D"}],"raw":"method put(Str:D $name, Blob:D $bytes --> Result:D)","references":[{"end":50,"start":42,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"put","declaration":true},{"text":"(Str:D $name, Blob:D $bytes --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":443,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-put"},{"apiScope":"exported","doc":{"body":"Rename a buffer without decoding its contents.","summary":"Rename a buffer without decoding its contents."},"id":"LibTmux::Configuration::Buffers.rename","kind":"method","modifiers":[],"name":"rename","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.rename","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$new-name","optional":false,"type":"Str:D"}],"raw":"method rename(Str:D $name, Str:D $new-name --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rename","declaration":true},{"text":"(Str:D $name, Str:D $new-name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":453,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-rename"},{"apiScope":"exported","doc":{"body":"Session or global environment, including hidden and removed entries.","summary":"Session or global environment, including hidden and removed entries."},"id":"LibTmux::Configuration::Environment","kind":"class","modifiers":[],"name":"Environment","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::Environment","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":351,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::Environment.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-clone"},{"apiScope":"exported","doc":{"body":"Find a captured entry; Nil means absent from the requested visibility class.","summary":"Find a captured entry; Nil means absent from the requested visibility class."},"id":"LibTmux::Configuration::Environment.get","kind":"method","modifiers":[],"name":"get","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.get","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$hidden","optional":true,"type":"Bool"}],"raw":"method get(Str:D $name, Bool :$hidden = False)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"get","declaration":true},{"text":"(Str:D $name, Bool :$hidden = False)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":366,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-get"},{"apiScope":"exported","doc":{"body":"Capture normal entries, or only hidden entries when requested explicitly.","summary":"Capture normal entries, or only hidden entries when requested explicitly."},"id":"LibTmux::Configuration::Environment.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.list","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$hidden","optional":true,"type":"Bool"}],"raw":"method list(Bool :$hidden = False --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(Bool :$hidden = False --> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":358,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-list"},{"apiScope":"exported","doc":{"body":"Store a removed marker so the variable is omitted from newly spawned processes.","summary":"Store a removed marker so the variable is omitted from newly spawned processes."},"id":"LibTmux::Configuration::Environment.remove","kind":"method","modifiers":[],"name":"remove","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.remove","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method remove(Str:D $name --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"remove","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":400,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-remove"},{"apiScope":"exported","doc":{"body":"Store literal text without FORMAT or shell expansion; NUL is not representable.","summary":"Store literal text without FORMAT or shell expansion; NUL is not representable."},"id":"LibTmux::Configuration::Environment.set","kind":"method","modifiers":[],"name":"set","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.set","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$value","optional":false,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$hidden","optional":true,"type":"Bool"}],"raw":"method set(Str:D $name, Str:D $value, Bool :$hidden = False --> Result:D)","references":[{"end":72,"start":64,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set","declaration":true},{"text":"(Str:D $name, Str:D $value, Bool :$hidden = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":387,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-set"},{"apiScope":"exported","doc":{"body":"Delete an entry from this environment.","summary":"Delete an entry from this environment."},"id":"LibTmux::Configuration::Environment.unset","kind":"method","modifiers":[],"name":"unset","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.unset","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method unset(Str:D $name --> Result:D)","references":[{"end":37,"start":29,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unset","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":395,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-unset"},{"apiScope":"exported","doc":{"body":"Environment absence and an explicit removed marker are different states.","summary":"Environment absence and an explicit removed marker are different states."},"id":"LibTmux::Configuration::EnvironmentValue","kind":"class","modifiers":[],"name":"EnvironmentValue","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":266,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environmentvalue"},{"apiScope":"exported","doc":{"body":"Captured environment bytes, preserved separately from text conversion.","summary":"Captured environment bytes, preserved separately from text conversion."},"id":"LibTmux::Configuration::EnvironmentValue.bytes","kind":"property","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.bytes","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":270,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-configuration-environmentvalue-bytes"},{"apiScope":"exported","doc":{"body":"Revalidate copies and detach mutable byte input.","summary":"Revalidate copies and detach mutable byte input."},"id":"LibTmux::Configuration::EnvironmentValue.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":279,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environmentvalue-clone"},{"apiScope":"exported","doc":{"body":"Whether this entry belongs to the explicitly requested hidden environment.","summary":"Whether this entry belongs to the explicitly requested hidden environment."},"id":"LibTmux::Configuration::EnvironmentValue.hidden","kind":"property","modifiers":[],"name":"hidden","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.hidden","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":274,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-configuration-environmentvalue-hidden"},{"apiScope":"exported","doc":{"body":"Exact observed resource or option name.","summary":"Exact observed resource or option name."},"id":"LibTmux::Configuration::EnvironmentValue.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.name","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":268,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-environmentvalue-name"},{"apiScope":"exported","doc":{"body":"Whether tmux marks this variable for removal from child environments.","summary":"Whether tmux marks this variable for removal from child environments."},"id":"LibTmux::Configuration::EnvironmentValue.removed","kind":"property","modifiers":[],"name":"removed","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.removed","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":272,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-configuration-environmentvalue-removed"},{"apiScope":"exported","doc":{"body":"Decode captured bytes losslessly, or return Nil for an explicit removed marker.","summary":"Decode captured bytes losslessly, or return Nil for an explicit removed marker."},"id":"LibTmux::Configuration::EnvironmentValue.value","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.value","signatures":[{"params":[],"raw":"method value()","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":277,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environmentvalue-value"},{"apiScope":"exported","doc":{"body":"Named hook command arrays. Reading a hook never executes its command source.","summary":"Named hook command arrays. Reading a hook never executes its command source."},"id":"LibTmux::Configuration::Hooks","kind":"class","modifiers":[],"name":"Hooks","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::Hooks","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":470,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks"},{"apiScope":"exported","doc":{"body":"Append one command to the hook array using tmux's native array allocation.","summary":"Append one command to the hook array using tmux's native array allocation."},"id":"LibTmux::Configuration::Hooks.append","kind":"method","modifiers":[],"name":"append","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.append","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"}],"raw":"method append(Str:D $name, Invocation:D $command --> Result:D)","references":[{"end":39,"start":27,"target":"LibTmux::Command::Invocation"},{"end":61,"start":53,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"append","declaration":true},{"text":"(Str:D $name, "},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":499,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-append"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::Hooks.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-clone"},{"apiScope":"exported","doc":{"body":"Read local hook entries; each value is native printed command source.","summary":"Read local hook entries; each value is native printed command source."},"id":"LibTmux::Configuration::Hooks.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.list","signatures":[{"params":[{"keywordOnly":true,"name":"$name","optional":true,"type":"Str"}],"raw":"method list(Str :$name --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(Str :$name --> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":483,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-list"},{"apiScope":"exported","doc":{"body":"Queue a hook now. Acknowledgement does not prove its commands' effects.","summary":"Queue a hook now. Acknowledgement does not prove its commands' effects."},"id":"LibTmux::Configuration::Hooks.run","kind":"method","modifiers":[],"name":"run","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.run","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method run(Str:D $name --> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":510,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-run"},{"apiScope":"exported","doc":{"body":"Set one hook index to a validated tmux command; the command is deferred.","summary":"Set one hook index to a validated tmux command; the command is deferred."},"id":"LibTmux::Configuration::Hooks.set","kind":"method","modifiers":[],"name":"set","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.set","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"0","keywordOnly":true,"name":"$index","optional":true,"type":"Count:D"}],"raw":"method set(Str:D $name, Invocation:D $command, Count:D :$index = 0 --> Result:D)","references":[{"end":36,"start":24,"target":"LibTmux::Command::Invocation"},{"end":54,"start":47,"target":"LibTmux::Types::Count"},{"end":79,"start":71,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set","declaration":true},{"text":"(Str:D $name, "},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":" :$index = 0 --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":494,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-set"},{"apiScope":"exported","doc":{"body":"Remove a hook array or one explicit index.","summary":"Remove a hook array or one explicit index."},"id":"LibTmux::Configuration::Hooks.unset","kind":"method","modifiers":[],"name":"unset","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.unset","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"default":"Count","keywordOnly":true,"name":"$index","optional":true,"type":"Count"}],"raw":"method unset(Str:D $name, Count :$index = Count --> Result:D)","references":[{"end":31,"start":26,"target":"LibTmux::Types::Count"},{"end":47,"start":42,"target":"LibTmux::Types::Count"},{"end":60,"start":52,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unset","declaration":true},{"text":"(Str:D $name, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$index = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":504,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-unset"},{"apiScope":"exported","doc":{"body":"Captured binding metadata. Legacy listings leave note-state Unloaded.","summary":"Captured binding metadata. Legacy listings leave note-state Unloaded."},"id":"LibTmux::Configuration::KeyBinding","kind":"class","modifiers":[],"name":"KeyBinding","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::KeyBinding","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":517,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybinding"},{"apiScope":"exported","doc":{"body":"Observed tmux command syntax; retaining it does not execute it.","summary":"Observed tmux command syntax; retaining it does not execute it."},"id":"LibTmux::Configuration::KeyBinding.command-source","kind":"property","modifiers":[],"name":"command-source","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.command-source","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":525,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-keybinding-command-source"},{"apiScope":"exported","doc":{"body":"Native tmux key spelling.","summary":"Native tmux key spelling."},"id":"LibTmux::Configuration::KeyBinding.key","kind":"property","modifiers":[],"name":"key","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.key","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":521,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-keybinding-key"},{"apiScope":"exported","doc":{"body":"Binding note text when the selected profile can acquire it.","summary":"Binding note text when the selected profile can acquire it."},"id":"LibTmux::Configuration::KeyBinding.note","kind":"property","modifiers":[],"name":"note","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.note","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":527,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-keybinding-note"},{"apiScope":"exported","doc":{"body":"Availability of the note; older profiles retain Unloaded rather than inventing text.","summary":"Availability of the note; older profiles retain Unloaded rather than inventing text."},"id":"LibTmux::Configuration::KeyBinding.note-state","kind":"property","modifiers":[],"name":"note-state","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.note-state","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":529,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"ValueState:D","slug":"libtmux-configuration-keybinding-note-state"},{"apiScope":"exported","doc":{"body":"Whether tmux allows this binding to repeat.","summary":"Whether tmux allows this binding to repeat."},"id":"LibTmux::Configuration::KeyBinding.repeat","kind":"property","modifiers":[],"name":"repeat","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.repeat","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":523,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-configuration-keybinding-repeat"},{"apiScope":"exported","doc":{"body":"Key-table name in which the binding was observed.","summary":"Key-table name in which the binding was observed."},"id":"LibTmux::Configuration::KeyBinding.table","kind":"property","modifiers":[],"name":"table","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.table","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":519,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-keybinding-table"},{"apiScope":"exported","doc":{"body":"Server key tables. Invocation keeps stored command arguments distinct.","summary":"Server key tables. Invocation keeps stored command arguments distinct."},"id":"LibTmux::Configuration::KeyBindings","kind":"class","modifiers":[],"name":"KeyBindings","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::KeyBindings","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":539,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings"},{"apiScope":"exported","doc":{"body":"Bind a key to one command, with optional repeatability and literal note.","summary":"Bind a key to one command, with optional repeatability and literal note."},"id":"LibTmux::Configuration::KeyBindings.bind","kind":"method","modifiers":[],"name":"bind","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.bind","signatures":[{"params":[{"keywordOnly":false,"name":"$key","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"'prefix'","keywordOnly":true,"name":"$table","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$repeat","optional":true,"type":"Bool"},{"keywordOnly":true,"name":"$note","optional":true,"type":"Str"}],"raw":"method bind(Str:D $key, Invocation:D $command, Str:D :$table = 'prefix',\n Bool :$repeat = False, Str :$note --> Result:D)","references":[{"end":36,"start":24,"target":"LibTmux::Command::Invocation"},{"end":135,"start":127,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bind","declaration":true},{"text":"(Str:D $key, "},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Str:D :$table = 'prefix',\n Bool :$repeat = False, Str :$note --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":544,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-bind"},{"apiScope":"exported","doc":{"body":"Remove the explicitly named table and all its bindings.","summary":"Remove the explicitly named table and all its bindings."},"id":"LibTmux::Configuration::KeyBindings.clear","kind":"method","modifiers":[],"name":"clear","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.clear","signatures":[{"params":[{"keywordOnly":false,"name":"$table","optional":false,"type":"Str:D"}],"raw":"method clear(Str:D $table --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clear","declaration":true},{"text":"(Str:D $table --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":559,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-clear"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::KeyBindings.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-clone"},{"apiScope":"exported","doc":{"body":"Capture one table; modern profiles include notes, legacy profiles mark them unloaded.","summary":"Capture one table; modern profiles include notes, legacy profiles mark them unloaded."},"id":"LibTmux::Configuration::KeyBindings.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.list","signatures":[{"params":[{"default":"'prefix'","keywordOnly":true,"name":"$table","optional":true,"type":"Str:D"}],"raw":"method list(Str:D :$table = 'prefix' --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(Str:D :$table = 'prefix' --> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":564,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-list"},{"apiScope":"exported","doc":{"body":"Remove one binding. Unknown tables remain operational errors.","summary":"Remove one binding. Unknown tables remain operational errors."},"id":"LibTmux::Configuration::KeyBindings.unbind","kind":"method","modifiers":[],"name":"unbind","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.unbind","signatures":[{"params":[{"keywordOnly":false,"name":"$key","optional":false,"type":"Str:D"},{"default":"'prefix'","keywordOnly":true,"name":"$table","optional":true,"type":"Str:D"}],"raw":"method unbind(Str:D $key, Str:D :$table = 'prefix' --> Result:D)","references":[{"end":63,"start":55,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unbind","declaration":true},{"text":"(Str:D $key, Str:D :$table = 'prefix' --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":554,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-unbind"},{"apiScope":"exported","doc":{"body":"One observed option value. The source schema determines its native scalar type.","summary":"One observed option value. The source schema determines its native scalar type."},"id":"LibTmux::Configuration::OptionValue","kind":"class","modifiers":[],"name":"OptionValue","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::OptionValue","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":109,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-optionvalue"},{"apiScope":"exported","doc":{"body":"Array member index; undefined for a scalar option.","summary":"Array member index; undefined for a scalar option."},"id":"LibTmux::Configuration::OptionValue.index","kind":"property","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Configuration::OptionValue","product":"core","publicId":"LibTmux::Configuration::OptionValue.index","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":113,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-configuration-optionvalue-index"},{"apiScope":"exported","doc":{"body":"Whether the effective value came from an ancestor option scope.","summary":"Whether the effective value came from an ancestor option scope."},"id":"LibTmux::Configuration::OptionValue.inherited","kind":"property","modifiers":[],"name":"inherited","package":"LibTmux","parent":"LibTmux::Configuration::OptionValue","product":"core","publicId":"LibTmux::Configuration::OptionValue.inherited","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":115,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-configuration-optionvalue-inherited"},{"apiScope":"exported","doc":{"body":"Exact observed resource or option name.","summary":"Exact observed resource or option name."},"id":"LibTmux::Configuration::OptionValue.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Configuration::OptionValue","product":"core","publicId":"LibTmux::Configuration::OptionValue.name","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":111,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-optionvalue-name"},{"apiScope":"exported","doc":{"body":"Decoded native option value; its type follows the option catalogue.","summary":"Decoded native option value; its type follows the option catalogue."},"id":"LibTmux::Configuration::OptionValue.value","kind":"property","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Configuration::OptionValue","product":"core","publicId":"LibTmux::Configuration::OptionValue.value","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":117,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Mu","slug":"libtmux-configuration-optionvalue-value"},{"apiScope":"exported","doc":{"body":"Typed native options. Reads and writes are explicit daemon operations.","summary":"Typed native options. Reads and writes are explicit daemon operations."},"id":"LibTmux::Configuration::Options","kind":"class","modifiers":[],"name":"Options","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::Options","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":164,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::Options.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-clone"},{"apiScope":"exported","doc":{"body":"Inspect the source-qualified schema locally; user options have text values.","summary":"Inspect the source-qualified schema locally; user options have text values."},"id":"LibTmux::Configuration::Options.describe","kind":"method","modifiers":[],"name":"describe","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.describe","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method describe(Str:D $name --> LibTmux::Catalogue::OptionSpec:D)","references":[{"end":64,"start":32,"target":"LibTmux::Catalogue::OptionSpec"}],"returns":"LibTmux::Catalogue::OptionSpec:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"describe","declaration":true},{"text":"(Str:D $name --> "},{"text":"LibTmux::Catalogue::OptionSpec:D","target":"LibTmux::Catalogue::OptionSpec"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":166,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-describe"},{"apiScope":"exported","doc":{"body":"Read values, array indices and inherited provenance as captured entries.","summary":"Read values, array indices and inherited provenance as captured entries."},"id":"LibTmux::Configuration::Options.entries","kind":"method","modifiers":[],"name":"entries","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.entries","signatures":[{"params":[{"keywordOnly":true,"name":"$name","optional":true,"type":"Str"},{"default":"True","keywordOnly":true,"name":"$effective","optional":true,"type":"Bool"}],"raw":"method entries(Str :$name, Bool :$effective = True --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entries","declaration":true},{"text":"(Str :$name, Bool :$effective = True --> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":183,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-entries"},{"apiScope":"exported","doc":{"body":"Read a native scalar, an array Map, or Nil for an absent local value/member.","summary":"Read a native scalar, an array Map, or Nil for an absent local value/member."},"id":"LibTmux::Configuration::Options.get","kind":"method","modifiers":[],"name":"get","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.get","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$index","optional":true,"type":"Int"},{"default":"True","keywordOnly":true,"name":"$effective","optional":true,"type":"Bool"}],"raw":"method get(Str:D $name, Int :$index, Bool :$effective = True)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"get","declaration":true},{"text":"(Str:D $name, Int :$index, Bool :$effective = True)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":202,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-get"},{"apiScope":"exported","doc":{"body":"Read raw native output for an option outside the declared typed schema.","summary":"Read raw native output for an option outside the declared typed schema."},"id":"LibTmux::Configuration::Options.get-raw","kind":"method","modifiers":[],"name":"get-raw","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.get-raw","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method get-raw(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"get-raw","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":259,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-get-raw"},{"apiScope":"exported","doc":{"body":"Validate a typed value and set one scalar or explicitly indexed array member.","summary":"Validate a typed value and set one scalar or explicitly indexed array member."},"id":"LibTmux::Configuration::Options.set","kind":"method","modifiers":[],"name":"set","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.set","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$value","optional":false},{"keywordOnly":true,"name":"$index","optional":true,"type":"Int"}],"raw":"method set(Str:D $name, $value, Int :$index --> Result:D)","references":[{"end":56,"start":48,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set","declaration":true},{"text":"(Str:D $name, $value, Int :$index --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":215,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-set"},{"apiScope":"exported","doc":{"body":"Explicit schema escape hatch. tmux validates the option and interprets its value.","summary":"Explicit schema escape hatch. tmux validates the option and interprets its value."},"id":"LibTmux::Configuration::Options.set-raw","kind":"method","modifiers":[],"name":"set-raw","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.set-raw","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$value","optional":false,"type":"Str:D"}],"raw":"method set-raw(Str:D $name, Str:D $value --> Result:D)","references":[{"end":53,"start":45,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set-raw","declaration":true},{"text":"(Str:D $name, Str:D $value --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":254,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-set-raw"},{"apiScope":"exported","doc":{"body":"Remove a local value or array member; tmux's inherited/default value may remain.","summary":"Remove a local value or array member; tmux's inherited/default value may remain."},"id":"LibTmux::Configuration::Options.unset","kind":"method","modifiers":[],"name":"unset","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.unset","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$index","optional":true,"type":"Int"}],"raw":"method unset(Str:D $name, Int :$index --> Result:D)","references":[{"end":50,"start":42,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unset","declaration":true},{"text":"(Str:D $name, Int :$index --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":246,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-unset"},{"apiScope":"exported","doc":{"body":"# Control framing and delivery\n\nDecoder frames bytes on LF and correlates all three numeric guard fields.\nNotification-shaped lines within a response remain payload. PaneOutput keeps\noctal-decoded bytes, including NUL and incomplete UTF-8; text decoding belongs\nto a separate incremental consumer. UnknownEvent preserves future notifications.\n\nThe tmux wire protocol does not escape arbitrary command payloads from matching\ntheir own terminal guard. Managed reads must use declared, prefixed projections;\nraw command output cannot promise lossless framing for guard-shaped payloads.\nA Response acknowledges dispatch. Its end guard does not establish completion\nof a launched job, popup, detach, or other asynchronous effect.\nSome queued jobs print outside response blocks. UnframedOutput preserves such\nlines, but the protocol cannot distinguish arbitrary job text from notifications.\n\nEvent delivery is live, without replay. A late tap misses earlier events.\nEach subscriber has an independently bounded queue and serial worker. A slow\nsubscriber overflows explicitly; a throwing callback terminates only its own\nsubscription. Closing a tap discards queued values. Owner completion drains\nalready accepted values before done; failure drains before quit. User callbacks\nalready executing cannot be cancelled, and owner teardown does not wait for them.","summary":""},"id":"LibTmux::Control","kind":"module","modifiers":[],"name":"LibTmux::Control","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Control","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control"},{"apiScope":"exported","doc":{"body":"# Owned control connection\n\nConnection connects to an exact session on an observed daemon. Startup verifies\nthe daemon again over the persistent connection. The ignore-size client flag\navoids changing pane dimensions. New layouts are negotiated when supported;\nolder profiles retain their native control layout representation.\n\nCommands are serialized through one bounded queue. A separate unpredictable\nFORMAT barrier correlates every response, including nested commands and jobs\nwhich print after their end guard. A barrier means the tmux command queue reached\nthat point; background jobs and external effects still need domain-specific\ncompletion evidence. Raw command output has the framing limitations described\nby :obj:`LibTmux::Control `. Declared projections avoid arbitrary output delimiters.\n\nEach request owns a deadline from admission. Cancelling an unsent request leaves\nthe connection usable. Timeout or cancellation after dispatch closes the whole\nconnection because later response ownership is uncertain. Effects already sent\nremain indeterminate. Closing stops the client, not the daemon or launched jobs.\n\nAn event Supply is shared, live and bounded per subscriber. Reconnect requires a\nnew Connection and explicit snapshot acquisition; old requests and observations\nnever migrate automatically. Every connection has a distinct epoch.","summary":""},"id":"LibTmux::Control::Connection","kind":"class","modifiers":[],"name":"LibTmux::Control::Connection","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::Connection","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":5,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection"},{"apiScope":"exported","doc":{"body":"Separate termination and reaping budget in milliseconds.","summary":"Separate termination and reaping budget in milliseconds."},"id":"LibTmux::Control::Connection.cleanup-timeout-ms","kind":"property","modifiers":[],"name":"cleanup-timeout-ms","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.cleanup-timeout-ms","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":95,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-cleanup-timeout-ms"},{"apiScope":"exported","doc":{"body":"Refuse cloning of a process and its pending request state.","summary":"Refuse cloning of a process and its pending request state."},"id":"LibTmux::Control::Connection.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":145,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-clone"},{"apiScope":"exported","doc":{"body":"Stop admission, settle every request and reap only this connection's client.","summary":"Stop admission, settle every request and reap only this connection's client."},"id":"LibTmux::Control::Connection.close","kind":"method","modifiers":[],"name":"close","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.close","signatures":[{"params":[],"raw":"method close(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":554,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-close"},{"apiScope":"exported","doc":{"body":"Share one bounded shutdown which settles pending work and reaps only this client.","summary":"Share one bounded shutdown which settles pending work and reaps only this client."},"id":"LibTmux::Control::Connection.close-async","kind":"method","modifiers":[],"name":"close-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.close-async","signatures":[{"params":[],"raw":"method close-async(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-async","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":556,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-close-async"},{"apiScope":"exported","doc":{"body":"Shared completion Promise for connection shutdown; callers cannot resolve it.","summary":"Shared completion Promise for connection shutdown; callers cannot resolve it."},"id":"LibTmux::Control::Connection.closed","kind":"method","modifiers":[],"name":"closed","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.closed","signatures":[{"params":[],"raw":"method closed(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"closed","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":151,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-closed"},{"apiScope":"exported","doc":{"body":"Observe, attach and verify a persistent connection to an exact session ID.","summary":"Observe, attach and verify a persistent connection to an exact session ID."},"id":"LibTmux::Control::Connection.connect","kind":"method","modifiers":[],"name":"connect","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.connect","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method connect(*%options --> LibTmux::Control::Connection:D)","references":[{"end":59,"start":29,"target":"LibTmux::Control::Connection"}],"returns":"LibTmux::Control::Connection:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"connect","declaration":true},{"text":"(*%options --> "},{"text":"LibTmux::Control::Connection:D","target":"LibTmux::Control::Connection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":160,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-connect"},{"apiScope":"exported","doc":{"body":"Resolve to a verified connection or reject after bounded startup cleanup.","summary":"Resolve to a verified connection or reject after bounded startup cleanup."},"id":"LibTmux::Control::Connection.connect-async","kind":"method","modifiers":[],"name":"connect-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.connect-async","signatures":[{"params":[{"keywordOnly":true,"name":"$endpoint","optional":false},{"keywordOnly":true,"name":"$session-id","optional":false},{"default":"Incarnation","keywordOnly":true,"name":"$incarnation","optional":true},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true},{"default":"1_000","keywordOnly":true,"name":"$cleanup-timeout-ms","optional":true},{"default":"128","keywordOnly":true,"name":"$max-pending","optional":true},{"default":"8 * 1024 * 1024","keywordOnly":true,"name":"$max-output-bytes","optional":true},{"default":"12 * 1024","keywordOnly":true,"name":"$max-command-bytes","optional":true},{"default":"256","keywordOnly":true,"name":"$max-events","optional":true},{"default":"1024 * 1024","keywordOnly":true,"name":"$max-event-bytes","optional":true},{"default":"'auto'","keywordOnly":true,"name":"$new-layouts","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true}],"raw":"method connect-async(:$endpoint!, :$session-id!, :$incarnation = Incarnation,\n :$timeout-ms = 10_000, :$cleanup-timeout-ms = 1_000, :$max-pending = 128,\n :$max-output-bytes = 8 * 1024 * 1024, :$max-command-bytes = 12 * 1024,\n :$max-events = 256, :$max-event-bytes = 1024 * 1024,\n :$new-layouts = 'auto', :$cancel = Cancellation --> Promise:D)","references":[{"end":76,"start":65,"target":"LibTmux::Engine::Incarnation"},{"end":339,"start":327,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"connect-async","declaration":true},{"text":"(:$endpoint!, :$session-id!, :$incarnation = "},{"text":"Incarnation","target":"LibTmux::Engine::Incarnation"},{"text":",\n :$timeout-ms = 10_000, :$cleanup-timeout-ms = 1_000, :$max-pending = 128,\n :$max-output-bytes = 8 * 1024 * 1024, :$max-command-bytes = 12 * 1024,\n :$max-events = 256, :$max-event-bytes = 1024 * 1024,\n :$new-layouts = 'auto', :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":162,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-connect-async"},{"apiScope":"exported","doc":{"body":"Captured connection settings; retaining them owns no process.","summary":"Captured connection settings; retaining them owns no process."},"id":"LibTmux::Control::Connection.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-control-connection-endpoint"},{"apiScope":"exported","doc":{"body":"Unique connection identity; reconnecting always creates a new epoch.","summary":"Unique connection identity; reconnecting always creates a new epoch."},"id":"LibTmux::Control::Connection.epoch","kind":"property","modifiers":[],"name":"epoch","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.epoch","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":103,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-control-connection-epoch"},{"apiScope":"exported","doc":{"body":"All taps share this process; each receives independently bounded live delivery.","summary":"All taps share this process; each receives independently bounded live delivery."},"id":"LibTmux::Control::Connection.events","kind":"method","modifiers":[],"name":"events","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.events","signatures":[{"params":[],"raw":"method events(--> Supply:D)","references":[],"returns":"Supply:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"events","declaration":true},{"text":"(--> Supply:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":147,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-events"},{"apiScope":"exported","doc":{"body":"Execute one raw command, waiting for a separate queue barrier; no rollback is implied.","summary":"Execute one raw command, waiting for a separate queue barrier; no rollback is implied."},"id":"LibTmux::Control::Connection.execute","kind":"method","modifiers":[],"name":"execute","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.execute","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method execute($command, *%options --> Acknowledgement:D)","references":[{"end":56,"start":39,"target":"LibTmux::Control::Connection::Acknowledgement"}],"returns":"Acknowledgement:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"execute","declaration":true},{"text":"($command, *%options --> "},{"text":"Acknowledgement:D","target":"LibTmux::Control::Connection::Acknowledgement"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":404,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-execute"},{"apiScope":"exported","doc":{"body":"Queue one command and resolve its ordered acknowledgement; cancellation may close the connection.","summary":"Queue one command and resolve its ordered acknowledgement; cancellation may close the connection."},"id":"LibTmux::Control::Connection.execute-async","kind":"method","modifiers":[],"name":"execute-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.execute-async","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false},{"default":"Incarnation","keywordOnly":true,"name":"$incarnation","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true},{"default":"True","keywordOnly":true,"name":"$check","optional":true},{"default":"Instant","keywordOnly":true,"name":"$deadline","optional":true}],"raw":"method execute-async($command, :$incarnation = Incarnation, :$cancel = Cancellation,\n :$check = True, :$deadline = Instant --> Promise:D)","references":[{"end":58,"start":47,"target":"LibTmux::Engine::Incarnation"},{"end":83,"start":71,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"execute-async","declaration":true},{"text":"($command, :$incarnation = "},{"text":"Incarnation","target":"LibTmux::Engine::Incarnation"},{"text":", :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":",\n :$check = True, :$deadline = Instant --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":421,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-execute-async"},{"apiScope":"exported","doc":{"body":"Explain a query against this connection's immutable negotiated capabilities, without I/O.","summary":"Explain a query against this connection's immutable negotiated capabilities, without I/O."},"id":"LibTmux::Control::Connection.explain","kind":"method","modifiers":[],"name":"explain","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.explain","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"default":"Map.new","keywordOnly":true,"name":"$where","optional":true,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method explain(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto', *%unknown --> Plan:D)","references":[{"end":93,"start":87,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"explain","declaration":true},{"text":"(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto', *%unknown --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":485,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-explain"},{"apiScope":"exported","doc":{"body":"Explain pane restrictions and local residual work.","summary":"Explain pane restrictions and local residual work."},"id":"LibTmux::Control::Connection.explain-panes","kind":"method","modifiers":[],"name":"explain-panes","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.explain-panes","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method explain-panes(*%options --> Plan:D)","references":[{"end":41,"start":35,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"explain-panes","declaration":true},{"text":"(*%options --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":513,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-explain-panes"},{"apiScope":"exported","doc":{"body":"Terminal connection error, or an undefined Exception after normal close.","summary":"Terminal connection error, or an undefined Exception after normal close."},"id":"LibTmux::Control::Connection.failure","kind":"method","modifiers":[],"name":"failure","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.failure","signatures":[{"params":[],"raw":"method failure(--> Exception)","references":[],"returns":"Exception","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"failure","declaration":true},{"text":"(--> Exception)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-failure"},{"apiScope":"exported","doc":{"body":"Maximum encoded command size in bytes, including tmux quoting.","summary":"Maximum encoded command size in bytes, including tmux quoting."},"id":"LibTmux::Control::Connection.max-command-bytes","kind":"property","modifiers":[],"name":"max-command-bytes","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.max-command-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-max-command-bytes"},{"apiScope":"exported","doc":{"body":"Per-response output-byte limit; retained stderr has the same separate bound.","summary":"Per-response output-byte limit; retained stderr has the same separate bound."},"id":"LibTmux::Control::Connection.max-output-bytes","kind":"property","modifiers":[],"name":"max-output-bytes","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.max-output-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":99,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-max-output-bytes"},{"apiScope":"exported","doc":{"body":"Maximum admitted requests, including the active request and queued cancellations.","summary":"Maximum admitted requests, including the active request and queued cancellations."},"id":"LibTmux::Control::Connection.max-pending","kind":"property","modifiers":[],"name":"max-pending","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.max-pending","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":97,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-max-pending"},{"apiScope":"exported","doc":{"body":"Refuse unstarted owners; construct a live owner through connect.","summary":"Refuse unstarted owners; construct a live owner through connect."},"id":"LibTmux::Control::Connection.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":143,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-new"},{"apiScope":"exported","doc":{"body":"Return the immutable identity and negotiated capabilities established at connection time.","summary":"Return the immutable identity and negotiated capabilities established at connection time."},"id":"LibTmux::Control::Connection.observation","kind":"method","modifiers":[],"name":"observation","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.observation","signatures":[{"params":[],"raw":"method observation(--> Observation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Observation"}],"returns":"Observation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"observation","declaration":true},{"text":"(--> "},{"text":"Observation:D","target":"LibTmux::Engine::Observation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":149,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-observation"},{"apiScope":"exported","doc":{"body":"Verify the connected daemon through a queue barrier without acquiring a graph.","summary":"Verify the connected daemon through a queue barrier without acquiring a graph."},"id":"LibTmux::Control::Connection.observe","kind":"method","modifiers":[],"name":"observe","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.observe","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method observe(*%options --> Observation:D)","references":[{"end":42,"start":29,"target":"LibTmux::Engine::Observation"}],"returns":"Observation:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"observe","declaration":true},{"text":"(*%options --> "},{"text":"Observation:D","target":"LibTmux::Engine::Observation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":463,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-observe"},{"apiScope":"exported","doc":{"body":"Verify daemon identity through a queued barrier and resolve the captured observation.","summary":"Verify daemon identity through a queued barrier and resolve the captured observation."},"id":"LibTmux::Control::Connection.observe-async","kind":"method","modifiers":[],"name":"observe-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.observe-async","signatures":[{"params":[{"default":"Instant","keywordOnly":true,"name":"$deadline","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true}],"raw":"method observe-async(:$deadline = Instant, :$cancel = Cancellation --> Promise:D)","references":[{"end":66,"start":54,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"observe-async","declaration":true},{"text":"(:$deadline = Instant, :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":465,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-observe-async"},{"apiScope":"exported","doc":{"body":"Owned control-client PID, or undefined before successful process creation.","summary":"Owned control-client PID, or undefined before successful process creation."},"id":"LibTmux::Control::Connection.pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.pid","signatures":[{"params":[],"raw":"method pid(--> Int)","references":[],"returns":"Int","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pid","declaration":true},{"text":"(--> Int)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":157,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-pid"},{"apiScope":"exported","doc":{"body":"Acquire a selection through this connection; retained observations keep no live owner.","summary":"Acquire a selection through this connection; retained observations keep no live owner."},"id":"LibTmux::Control::Connection.query","kind":"method","modifiers":[],"name":"query","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.query","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query(Mu $entity, *%options --> Positional:D)","references":[],"returns":"Positional:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query","declaration":true},{"text":"(Mu $entity, *%options --> Positional:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":491,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-query"},{"apiScope":"exported","doc":{"body":"Copy and validate query data before scheduling acquisition and residual evaluation.","summary":"Copy and validate query data before scheduling acquisition and residual evaluation."},"id":"LibTmux::Control::Connection.query-async","kind":"method","modifiers":[],"name":"query-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.query-async","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"default":"Map.new","keywordOnly":true,"name":"$where","optional":true,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method query-async(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto',\n Mu :$cancel = Cancellation, *%unknown --> Promise:D)","references":[{"end":122,"start":110,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-async","declaration":true},{"text":"(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto',\n Mu :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":", *%unknown --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":493,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-query-async"},{"apiScope":"exported","doc":{"body":"Acquire pane observations with explicit source filtering.","summary":"Acquire pane observations with explicit source filtering."},"id":"LibTmux::Control::Connection.query-panes","kind":"method","modifiers":[],"name":"query-panes","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.query-panes","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-panes(*%options --> PaneSelection:D)","references":[{"end":48,"start":33,"target":"LibTmux::Model::PaneSelection"}],"returns":"PaneSelection:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-panes","declaration":true},{"text":"(*%options --> "},{"text":"PaneSelection:D","target":"LibTmux::Model::PaneSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":511,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-query-panes"},{"apiScope":"exported","doc":{"body":"Read a declared projection through the connection's negotiated codec profile.","summary":"Read a declared projection through the connection's negotiated codec profile."},"id":"LibTmux::Control::Connection.read","kind":"method","modifiers":[],"name":"read","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.read","signatures":[{"params":[{"keywordOnly":false,"name":"$projection","optional":false,"type":"Projection:D"},{"keywordOnly":false,"name":"$listing","optional":false,"type":"Invocation:D"},{"keywordOnly":true,"name":"$incarnation","optional":false,"type":"Incarnation:D"},{"default":"Instant","keywordOnly":true,"name":"$deadline","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true}],"raw":"method read(Projection:D $projection, Invocation:D $listing,\n Incarnation:D :$incarnation!, :$deadline = Instant, :$cancel = Cancellation --> List:D)","references":[{"end":24,"start":12,"target":"LibTmux::Format::Projection"},{"end":50,"start":38,"target":"LibTmux::Command::Invocation"},{"end":78,"start":65,"target":"LibTmux::Engine::Incarnation"},{"end":140,"start":128,"target":"LibTmux::Transport::Cancellation"}],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"read","declaration":true},{"text":"("},{"text":"Projection:D","target":"LibTmux::Format::Projection"},{"text":" $projection, "},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $listing,\n "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":" :$incarnation!, :$deadline = Instant, :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> List:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":440,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-read"},{"apiScope":"exported","doc":{"body":"Whether the owned control client has exited and been joined.","summary":"Whether the owned control client has exited and been joined."},"id":"LibTmux::Control::Connection.reaped","kind":"method","modifiers":[],"name":"reaped","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.reaped","signatures":[{"params":[],"raw":"method reaped(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"reaped","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":153,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-reaped"},{"apiScope":"exported","doc":{"body":"Session used for the initial attach; explicit client switching can later change it.","summary":"Session used for the initial attach; explicit client switching can later change it."},"id":"LibTmux::Control::Connection.session-id","kind":"property","modifiers":[],"name":"session-id","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.session-id","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":91,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SessionId:D","slug":"libtmux-control-connection-session-id"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph through this connection; retained views keep no connection alive.","summary":"Acquire a fresh graph through this connection; retained views keep no connection alive."},"id":"LibTmux::Control::Connection.snapshot","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.snapshot","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method snapshot(Cancellation :$cancel = Cancellation --> Snapshot:D)","references":[{"end":28,"start":16,"target":"LibTmux::Transport::Cancellation"},{"end":52,"start":40,"target":"LibTmux::Transport::Cancellation"},{"end":67,"start":57,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":477,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-snapshot"},{"apiScope":"exported","doc":{"body":"Resolve a fresh graph acquired within one deadline, with explicit cancellation.","summary":"Resolve a fresh graph acquired within one deadline, with explicit cancellation."},"id":"LibTmux::Control::Connection.snapshot-async","kind":"method","modifiers":[],"name":"snapshot-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.snapshot-async","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method snapshot-async(Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":34,"start":22,"target":"LibTmux::Transport::Cancellation"},{"end":58,"start":46,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot-async","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":479,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-snapshot-async"},{"apiScope":"exported","doc":{"body":"Default request deadline budget in milliseconds from admission.","summary":"Default request deadline budget in milliseconds from admission."},"id":"LibTmux::Control::Connection.timeout-ms","kind":"property","modifiers":[],"name":"timeout-ms","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.timeout-ms","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":93,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-timeout-ms"},{"apiScope":"exported","doc":{"body":"Validate an encoded command against this connection without I/O or queue admission.","summary":"Validate an encoded command against this connection without I/O or queue admission."},"id":"LibTmux::Control::Connection.validate-command","kind":"method","modifiers":[],"name":"validate-command","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.validate-command","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"keywordOnly":true,"name":"$incarnation","optional":false,"type":"Incarnation:D"}],"raw":"method validate-command(Invocation:D $command, Incarnation:D :$incarnation! --> Nil)","references":[{"end":36,"start":24,"target":"LibTmux::Command::Invocation"},{"end":60,"start":47,"target":"LibTmux::Engine::Incarnation"}],"returns":"Nil","nativeSyntax":[{"start":7,"end":23,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"validate-command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":" :$incarnation! --> Nil)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":407,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-validate-command"},{"apiScope":"exported","doc":{"body":"Ordered command records observed before a separate queue barrier completed.","summary":"Ordered command records observed before a separate queue barrier completed."},"id":"LibTmux::Control::Connection::Acknowledgement","kind":"class","modifiers":[],"name":"Acknowledgement","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement"},{"apiScope":"exported","doc":{"body":"Refuse altered copies of this received acknowledgement.","summary":"Refuse altered copies of this received acknowledgement."},"id":"LibTmux::Control::Connection::Acknowledgement.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement-clone"},{"apiScope":"exported","doc":{"body":"Unique connection identity; reconnecting always creates a new epoch.","summary":"Unique connection identity; reconnecting always creates a new epoch."},"id":"LibTmux::Control::Connection::Acknowledgement.epoch","kind":"property","modifiers":[],"name":"epoch","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.epoch","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-control-connection-acknowledgement-epoch"},{"apiScope":"exported","doc":{"body":"Whether any framed response ended with a command error guard.","summary":"Whether any framed response ended with a command error guard."},"id":"LibTmux::Control::Connection::Acknowledgement.failed","kind":"method","modifiers":[],"name":"failed","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.failed","signatures":[{"params":[],"raw":"method failed(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"failed","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":44,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement-failed"},{"apiScope":"exported","doc":{"body":"Retained protocol payload bytes, excluding bounded record metadata.","summary":"Retained protocol payload bytes, excluding bounded record metadata."},"id":"LibTmux::Control::Connection::Acknowledgement.output-bytes","kind":"method","modifiers":[],"name":"output-bytes","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.output-bytes","signatures":[{"params":[],"raw":"method output-bytes(--> Count:D)","references":[{"end":31,"start":24,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"output-bytes","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":46,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement-output-bytes"},{"apiScope":"exported","doc":{"body":"Copy response and unframed payload bytes in their received order.","summary":"Copy response and unframed payload bytes in their received order."},"id":"LibTmux::Control::Connection::Acknowledgement.payload","kind":"method","modifiers":[],"name":"payload","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.payload","signatures":[{"params":[],"raw":"method payload(--> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"payload","declaration":true},{"text":"(--> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":50,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement-payload"},{"apiScope":"exported","doc":{"body":"Ordered response blocks and unframed output preceding the completion barrier.","summary":"Ordered response blocks and unframed output preceding the completion barrier."},"id":"LibTmux::Control::Connection::Acknowledgement.records","kind":"property","modifiers":[],"name":"records","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.records","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-control-connection-acknowledgement-records"},{"apiScope":"exported","doc":{"body":"Incremental LF framing with exact response guards and bounded retained data.","summary":"Incremental LF framing with exact response guards and bounded retained data."},"id":"LibTmux::Control::Decoder","kind":"class","modifiers":[],"name":"Decoder","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::Decoder","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":108,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-decoder"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::Decoder.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":126,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-decoder-clone"},{"apiScope":"exported","doc":{"body":"Return complete events/responses in arrival order; partial records stay bounded.","summary":"Return complete events/responses in arrival order; partial records stay bounded."},"id":"LibTmux::Control::Decoder.feed","kind":"method","modifiers":[],"name":"feed","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.feed","signatures":[{"params":[{"keywordOnly":false,"name":"$chunk","optional":false,"type":"Blob:D"}],"raw":"method feed(Blob:D $chunk --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"feed","declaration":true},{"text":"(Blob:D $chunk --> List:D)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":167,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-decoder-feed"},{"apiScope":"exported","doc":{"body":"EOF is valid only between complete notifications and command blocks.","summary":"EOF is valid only between complete notifications and command blocks."},"id":"LibTmux::Control::Decoder.finish","kind":"method","modifiers":[],"name":"finish","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.finish","signatures":[{"params":[],"raw":"method finish(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"finish","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":192,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-decoder-finish"},{"apiScope":"exported","doc":{"body":"Maximum bytes accepted in one feed call.","summary":"Maximum bytes accepted in one feed call."},"id":"LibTmux::Control::Decoder.max-chunk-bytes","kind":"property","modifiers":[],"name":"max-chunk-bytes","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.max-chunk-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":114,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-decoder-max-chunk-bytes"},{"apiScope":"exported","doc":{"body":"Maximum completed frames emitted by one feed call.","summary":"Maximum completed frames emitted by one feed call."},"id":"LibTmux::Control::Decoder.max-frames","kind":"property","modifiers":[],"name":"max-frames","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.max-frames","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-decoder-max-frames"},{"apiScope":"exported","doc":{"body":"Maximum incomplete or complete physical control line length in bytes.","summary":"Maximum incomplete or complete physical control line length in bytes."},"id":"LibTmux::Control::Decoder.max-line-bytes","kind":"property","modifiers":[],"name":"max-line-bytes","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.max-line-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":110,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-decoder-max-line-bytes"},{"apiScope":"exported","doc":{"body":"Maximum payload bytes retained inside one response block.","summary":"Maximum payload bytes retained inside one response block."},"id":"LibTmux::Control::Decoder.max-response-bytes","kind":"property","modifiers":[],"name":"max-response-bytes","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.max-response-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":112,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-decoder-max-response-bytes"},{"apiScope":"exported","doc":{"body":"One notification, retaining its original bytes without the record terminator.","summary":"One notification, retaining its original bytes without the record terminator."},"id":"LibTmux::Control::Event","kind":"class","modifiers":[],"name":"Event","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::Event","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":13,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-event"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::Event.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Event","product":"core","publicId":"LibTmux::Control::Event.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-event-clone"},{"apiScope":"exported","doc":{"body":"Notification name or unframed-output kind, without assuming a known event schema.","summary":"Notification name or unframed-output kind, without assuming a known event schema."},"id":"LibTmux::Control::Event.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Control::Event","product":"core","publicId":"LibTmux::Control::Event.kind","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":15,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-control-event-kind"},{"apiScope":"exported","doc":{"body":"Original physical record bytes with the terminating LF removed.","summary":"Original physical record bytes with the terminating LF removed."},"id":"LibTmux::Control::Event.raw","kind":"property","modifiers":[],"name":"raw","package":"LibTmux","parent":"LibTmux::Control::Event","product":"core","publicId":"LibTmux::Control::Event.raw","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-control-event-raw"},{"apiScope":"exported","doc":{"body":"Pane output is terminal bytes, not an independently decodable UTF-8 string.","summary":"Pane output is terminal bytes, not an independently decodable UTF-8 string."},"extends":["LibTmux::Control::Event"],"id":"LibTmux::Control::PaneOutput","kind":"class","modifiers":[],"name":"PaneOutput","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::PaneOutput","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":30,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-paneoutput"},{"apiScope":"exported","doc":{"body":"Extended-output age in milliseconds; undefined for ordinary output events.","summary":"Extended-output age in milliseconds; undefined for ordinary output events."},"id":"LibTmux::Control::PaneOutput.age-ms","kind":"property","modifiers":[],"name":"age-ms","package":"LibTmux","parent":"LibTmux::Control::PaneOutput","product":"core","publicId":"LibTmux::Control::PaneOutput.age-ms","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count","slug":"libtmux-control-paneoutput-age-ms"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::PaneOutput.clone","inheritedFrom":"LibTmux::Control::Event","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::PaneOutput","product":"core","publicId":"LibTmux::Control::PaneOutput.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-paneoutput-clone"},{"apiScope":"exported","doc":{"body":"Decoded terminal bytes, which may contain NUL or partial UTF-8 sequences.","summary":"Decoded terminal bytes, which may contain NUL or partial UTF-8 sequences."},"id":"LibTmux::Control::PaneOutput.data","kind":"property","modifiers":[],"name":"data","package":"LibTmux","parent":"LibTmux::Control::PaneOutput","product":"core","publicId":"LibTmux::Control::PaneOutput.data","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-control-paneoutput-data"},{"apiScope":"exported","doc":{"body":"Pane identity from the notification, scoped to its owning connection.","summary":"Pane identity from the notification, scoped to its owning connection."},"id":"LibTmux::Control::PaneOutput.pane-id","kind":"property","modifiers":[],"name":"pane-id","package":"LibTmux","parent":"LibTmux::Control::PaneOutput","product":"core","publicId":"LibTmux::Control::PaneOutput.pane-id","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"PaneId:D","slug":"libtmux-control-paneoutput-pane-id"},{"apiScope":"exported","doc":{"body":"A matched command guard pair acknowledges execution, not asynchronous effects.","summary":"A matched command guard pair acknowledges execution, not asynchronous effects."},"id":"LibTmux::Control::Response","kind":"class","modifiers":[],"name":"Response","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::Response","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-response"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::Response.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":54,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-response-clone"},{"apiScope":"exported","doc":{"body":"Whether the matching terminal guard was percent-error.","summary":"Whether the matching terminal guard was percent-error."},"id":"LibTmux::Control::Response.failed","kind":"property","modifiers":[],"name":"failed","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.failed","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-control-response-failed"},{"apiScope":"exported","doc":{"body":"Native guard flags; these are not an operation-completion guarantee.","summary":"Native guard flags; these are not an operation-completion guarantee."},"id":"LibTmux::Control::Response.flags","kind":"property","modifiers":[],"name":"flags","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.flags","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-control-response-flags"},{"apiScope":"exported","doc":{"body":"Command number from the matched begin/end or error guard.","summary":"Command number from the matched begin/end or error guard."},"id":"LibTmux::Control::Response.number","kind":"property","modifiers":[],"name":"number","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.number","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-control-response-number"},{"apiScope":"exported","doc":{"body":"Response bytes between matching guards, retaining their line separators.","summary":"Response bytes between matching guards, retaining their line separators."},"id":"LibTmux::Control::Response.payload","kind":"property","modifiers":[],"name":"payload","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.payload","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-control-response-payload"},{"apiScope":"exported","doc":{"body":"Guard timestamp in Unix seconds, retained for correlation.","summary":"Guard timestamp in Unix seconds, retained for correlation."},"id":"LibTmux::Control::Response.time","kind":"property","modifiers":[],"name":"time","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.time","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-control-response-time"},{"apiScope":"exported","doc":{"body":"Some queued jobs print after their end guard; preserve that unframed line.","summary":"Some queued jobs print after their end guard; preserve that unframed line."},"extends":["LibTmux::Control::Event"],"id":"LibTmux::Control::UnframedOutput","kind":"class","modifiers":[],"name":"UnframedOutput","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::UnframedOutput","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-unframedoutput"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::UnframedOutput.clone","inheritedFrom":"LibTmux::Control::Event","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::UnframedOutput","product":"core","publicId":"LibTmux::Control::UnframedOutput.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-unframedoutput-clone"},{"apiScope":"exported","doc":{"body":"An unrecognized notification remains inspectable without interpreting its body.","summary":"An unrecognized notification remains inspectable without interpreting its body."},"extends":["LibTmux::Control::Event"],"id":"LibTmux::Control::UnknownEvent","kind":"class","modifiers":[],"name":"UnknownEvent","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::UnknownEvent","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":24,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-unknownevent"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::UnknownEvent.clone","inheritedFrom":"LibTmux::Control::Event","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::UnknownEvent","product":"core","publicId":"LibTmux::Control::UnknownEvent.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-unknownevent-clone"},{"apiScope":"exported","doc":{"body":"# Daemon identity and explicit effects\n\nEndpoint captures argv scope and sanitized environment without I/O. Runtime\nowns its executor; Observation and Incarnation retain values only. Observing\ncapabilities reads the daemon's version separately from the client executable.\nPrepared projections and references are bound to that daemon incarnation.\n\nManaged commands check Linux boot ID and process start ticks, then enter one\ntmux command-list branch fenced by PID and tmux start time. A replacement\nbetween those steps is refused unless it reuses the same PID and the same\nsecond-resolution start time. That narrow race remains outside this guarantee.\nPersistent control connections provide a separate, connection-bound lifetime.\n\nIdentity probes use a nonce-bearing invalid command with an equals sign and\nhyphen. They cannot match tmux command-alias keys or trigger display-message\nhooks. Normal dispatch of canonical built-in commands is assumed; this is not\na protocol for authenticating a hostile daemon or rewriting its configuration.\n\nClosing Runtime stops its owned clients. It does not stop the tmux daemon or\nundo effects already performed. ` raw ` preserves execution bounds but provides\nno managed identity or compatibility guarantee. Text passed to a command may\nstill have command-specific FORMAT semantics beyond command-language quoting.","summary":""},"id":"LibTmux::Engine","kind":"module","modifiers":[],"name":"LibTmux::Engine","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Engine","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine"},{"apiScope":"exported","doc":{"body":"Immutable connection settings. Construction performs no tmux operation.","summary":"Immutable connection settings. Construction performs no tmux operation."},"id":"LibTmux::Engine::Endpoint","kind":"class","modifiers":[],"name":"Endpoint","package":"LibTmux","parent":"LibTmux::Engine","product":"core","publicId":"LibTmux::Engine::Endpoint","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":24,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-endpoint"},{"apiScope":"exported","doc":{"body":"Immutable executable/global-argument prefix, including UTF-8 mode.","summary":"Immutable executable/global-argument prefix, including UTF-8 mode."},"id":"LibTmux::Engine::Endpoint.argv","kind":"property","modifiers":[],"name":"argv","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.argv","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-engine-endpoint-argv"},{"apiScope":"exported","doc":{"body":"Executable name or path used for direct argv invocation.","summary":"Executable name or path used for direct argv invocation."},"id":"LibTmux::Engine::Endpoint.binary","kind":"property","modifiers":[],"name":"binary","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.binary","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":26,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-binary"},{"apiScope":"exported","doc":{"body":"Rebuild derived argv and identity when copying configuration.","summary":"Rebuild derived argv and identity when copying configuration."},"id":"LibTmux::Engine::Endpoint.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Endpoint:D)","references":[{"end":37,"start":27,"target":"LibTmux::Engine::Endpoint"}],"returns":"Endpoint:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Endpoint:D","target":"LibTmux::Engine::Endpoint"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Engine.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-endpoint-clone"},{"apiScope":"exported","doc":{"body":"Explicit tmux configuration path; empty leaves the native choice unchanged.","summary":"Explicit tmux configuration path; empty leaves the native choice unchanged."},"id":"LibTmux::Engine::Endpoint.config-file","kind":"property","modifiers":[],"name":"config-file","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.config-file","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-config-file"},{"apiScope":"exported","doc":{"body":"Absolute working directory used when launching command clients.","summary":"Absolute working directory used when launching command clients."},"id":"LibTmux::Engine::Endpoint.cwd","kind":"property","modifiers":[],"name":"cwd","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.cwd","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"IO::Path:D","slug":"libtmux-engine-endpoint-cwd"},{"apiScope":"exported","doc":{"body":"Copied child environment with ambient TMUX and TMUX_PANE removed.","summary":"Copied child environment with ambient TMUX and TMUX_PANE removed."},"id":"LibTmux::Engine::Endpoint.environment","kind":"property","modifiers":[],"name":"environment","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.environment","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Map:D","slug":"libtmux-engine-endpoint-environment"},{"apiScope":"exported","doc":{"body":"Length-delimited endpoint key; this alone does not identify a daemon lifetime.","summary":"Length-delimited endpoint key; this alone does not identify a daemon lifetime."},"id":"LibTmux::Engine::Endpoint.key","kind":"property","modifiers":[],"name":"key","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.key","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":40,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-key"},{"apiScope":"exported","doc":{"body":"Validate and copy endpoint settings without contacting tmux.","summary":"Validate and copy endpoint settings without contacting tmux."},"id":"LibTmux::Engine::Endpoint.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.new","signatures":[{"params":[{"default":"'tmux'","keywordOnly":true,"name":"$binary","optional":true},{"default":"''","keywordOnly":true,"name":"$socket-name","optional":true},{"default":"''","keywordOnly":true,"name":"$socket-path","optional":true},{"default":"''","keywordOnly":true,"name":"$config-file","optional":true},{"default":"%*ENV","keywordOnly":true,"name":"$environment","optional":true},{"default":"$*CWD","keywordOnly":true,"name":"$cwd","optional":true}],"raw":"method new(:$binary = 'tmux', :$socket-name = '', :$socket-path = '',\n :$config-file = '', :$environment = %*ENV, :$cwd = $*CWD)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(:$binary = 'tmux', :$socket-name = '', :$socket-path = '',\n :$config-file = '', :$environment = %*ENV, :$cwd = $*CWD)"}]}],"source":{"file":"lib/LibTmux/Engine.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-endpoint-new"},{"apiScope":"exported","doc":{"body":"Named tmux socket; empty selects the normal socket policy.","summary":"Named tmux socket; empty selects the normal socket policy."},"id":"LibTmux::Engine::Endpoint.socket-name","kind":"property","modifiers":[],"name":"socket-name","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.socket-name","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-socket-name"},{"apiScope":"exported","doc":{"body":"Explicit socket path, resolved against the captured working directory.","summary":"Explicit socket path, resolved against the captured working directory."},"id":"LibTmux::Engine::Endpoint.socket-path","kind":"property","modifiers":[],"name":"socket-path","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.socket-path","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":30,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-socket-path"},{"apiScope":"exported","doc":{"body":"Value-only daemon identity. Retaining it keeps no process or executor alive.","summary":"Value-only daemon identity. Retaining it keeps no process or executor alive."},"id":"LibTmux::Engine::Incarnation","kind":"class","modifiers":[],"name":"Incarnation","package":"LibTmux","parent":"LibTmux::Engine","product":"core","publicId":"LibTmux::Engine::Incarnation","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":91,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-incarnation"},{"apiScope":"exported","doc":{"body":"Linux boot identifier contributing to process identity.","summary":"Linux boot identifier contributing to process identity."},"id":"LibTmux::Engine::Incarnation.boot-id","kind":"property","modifiers":[],"name":"boot-id","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.boot-id","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":95,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-incarnation-boot-id"},{"apiScope":"exported","doc":{"body":"Exact daemon-reported version text; distinct from client executable version.","summary":"Exact daemon-reported version text; distinct from client executable version."},"id":"LibTmux::Engine::Incarnation.daemon-version","kind":"property","modifiers":[],"name":"daemon-version","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.daemon-version","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":103,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-incarnation-daemon-version"},{"apiScope":"exported","doc":{"body":"Endpoint key observed for this daemon incarnation.","summary":"Endpoint key observed for this daemon incarnation."},"id":"LibTmux::Engine::Incarnation.endpoint-key","kind":"property","modifiers":[],"name":"endpoint-key","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.endpoint-key","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":93,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-incarnation-endpoint-key"},{"apiScope":"exported","doc":{"body":"Return the length-delimited identity key without I/O.","summary":"Return the length-delimited identity key without I/O."},"id":"LibTmux::Engine::Incarnation.key","kind":"method","modifiers":[],"name":"key","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.key","signatures":[{"params":[],"raw":"method key(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Engine.rakumod","line":106,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-incarnation-key"},{"apiScope":"exported","doc":{"body":"Observed daemon process ID, combined with boot and start evidence.","summary":"Observed daemon process ID, combined with boot and start evidence."},"id":"LibTmux::Engine::Incarnation.pid","kind":"property","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.pid","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":97,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-engine-incarnation-pid"},{"apiScope":"exported","doc":{"body":"Linux process start counter in kernel clock ticks.","summary":"Linux process start counter in kernel clock ticks."},"id":"LibTmux::Engine::Incarnation.start-ticks","kind":"property","modifiers":[],"name":"start-ticks","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.start-ticks","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":99,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-engine-incarnation-start-ticks"},{"apiScope":"exported","doc":{"body":"Daemon-reported start time in Unix seconds, used by the command fence.","summary":"Daemon-reported start time in Unix seconds, used by the command fence."},"id":"LibTmux::Engine::Incarnation.start-time","kind":"property","modifiers":[],"name":"start-time","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.start-time","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-engine-incarnation-start-time"},{"apiScope":"exported","doc":{"body":"One immutable pairing of daemon identity and capability evidence.","summary":"One immutable pairing of daemon identity and capability evidence."},"id":"LibTmux::Engine::Observation","kind":"class","modifiers":[],"name":"Observation","package":"LibTmux","parent":"LibTmux::Engine","product":"core","publicId":"LibTmux::Engine::Observation","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":113,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-observation"},{"apiScope":"exported","doc":{"body":"Immutable capability evidence bound to the same daemon incarnation.","summary":"Immutable capability evidence bound to the same daemon incarnation."},"id":"LibTmux::Engine::Observation.capabilities","kind":"property","modifiers":[],"name":"capabilities","package":"LibTmux","parent":"LibTmux::Engine::Observation","product":"core","publicId":"LibTmux::Engine::Observation.capabilities","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":117,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"LibTmux::Capabilities:D","slug":"libtmux-engine-observation-capabilities"},{"apiScope":"exported","doc":{"body":"Reconstruct a validated immutable observation from copied values.","summary":"Reconstruct a validated immutable observation from copied values."},"id":"LibTmux::Engine::Observation.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Engine::Observation","product":"core","publicId":"LibTmux::Engine::Observation.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Observation:D)","references":[{"end":40,"start":27,"target":"LibTmux::Engine::Observation"}],"returns":"Observation:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Observation:D","target":"LibTmux::Engine::Observation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Engine.rakumod","line":127,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-observation-clone"},{"apiScope":"exported","doc":{"body":"Captured daemon identity used to reject references after replacement.","summary":"Captured daemon identity used to reject references after replacement."},"id":"LibTmux::Engine::Observation.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Engine::Observation","product":"core","publicId":"LibTmux::Engine::Observation.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":115,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Incarnation:D","slug":"libtmux-engine-observation-incarnation"},{"apiScope":"exported","doc":{"body":"Typed acquisition, decoding, query, ownership and command failures.","summary":"Typed acquisition, decoding, query, ownership and command failures."},"id":"LibTmux::Exceptions","kind":"module","modifiers":[],"name":"LibTmux::Exceptions","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Exceptions","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-exceptions"},{"apiScope":"exported","doc":{"body":"# Declared FORMAT projections\nA Projection validates ordered catalogue field names, acquisition context,\ncapabilities, and nullable-field dependencies before generating a template.\nIts schema identifies the field order, codec, and output-repair profile.\nThe separately retained incarnation binds a prepared projection to a daemon;\nthe engine validates that identity before dispatch.\n\nFeed binary output to FrameDecoder and call finish at process completion.\nAn incomplete record, malformed token, exceeded bound, or mismatched schema\nthrows X::LibTmux::Decode and closes the decoder. Row numbers start at one;\noffsets count bytes from the start of the response. Field conversion errors\nidentify the field's starting offset; token errors locate the offending byte.\n\nDecodedRow.bytes retains exact immutable payload bytes. Its value method\nperforms strict UTF-8 conversion for text only when requested. State reports\ndomain null independently from a present empty string, zero, or false.\nRows are constructed through Projection.decode-row and retain the projection's\ndaemon identity as a string; they do not retain an executor or connection.\nAn empty raw q/a token is accepted only when its declared null policy and\nprojected dependencies establish domain null; present empty text remains quoted.\nNo decoding stage evaluates tmux commands, shell syntax, or Raku source.","summary":""},"id":"LibTmux::Format","kind":"module","modifiers":[],"name":"LibTmux::Format","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Format","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format"},{"apiScope":"exported","doc":{"body":"Exact captured field bytes and scalar values. Text conversion is explicit.","summary":"Exact captured field bytes and scalar values. Text conversion is explicit."},"id":"LibTmux::Format::DecodedRow","kind":"class","modifiers":[],"name":"DecodedRow","package":"LibTmux","parent":"LibTmux::Format","product":"core","publicId":"LibTmux::Format::DecodedRow","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":159,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow"},{"apiScope":"exported","doc":{"body":"Return immutable bytes before Unicode normalization, including invalid UTF-8.","summary":"Return immutable bytes before Unicode normalization, including invalid UTF-8."},"id":"LibTmux::Format::DecodedRow.bytes","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":221,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-bytes"},{"apiScope":"exported","doc":{"body":"Copy an observation without substituting unvalidated field state.","summary":"Copy an observation without substituting unvalidated field state."},"id":"LibTmux::Format::DecodedRow.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> DecodedRow:D)","references":[{"end":39,"start":27,"target":"LibTmux::Format::DecodedRow"}],"returns":"DecodedRow:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"DecodedRow:D","target":"LibTmux::Format::DecodedRow"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":209,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-clone"},{"apiScope":"exported","doc":{"body":"Daemon key used to scope this projection or decoded row.","summary":"Daemon key used to scope this projection or decoded row."},"id":"LibTmux::Format::DecodedRow.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":163,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-decodedrow-incarnation"},{"apiScope":"exported","doc":{"body":"Refuse direct construction; rows must come from Projection.decode-row.","summary":"Refuse direct construction; rows must come from Projection.decode-row."},"id":"LibTmux::Format::DecodedRow.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":173,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-new"},{"apiScope":"exported","doc":{"body":"Immutable map of field names to their decoded original bytes.","summary":"Immutable map of field names to their decoded original bytes."},"id":"LibTmux::Format::DecodedRow.raw","kind":"property","modifiers":[],"name":"raw","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.raw","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":167,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Map:D","slug":"libtmux-format-decodedrow-raw"},{"apiScope":"exported","doc":{"body":"One-based record number used in decode diagnostics.","summary":"One-based record number used in decode diagnostics."},"id":"LibTmux::Format::DecodedRow.row","kind":"property","modifiers":[],"name":"row","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.row","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":165,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-format-decodedrow-row"},{"apiScope":"exported","doc":{"body":"Versioned projection identity, including entity and acquisition context.","summary":"Versioned projection identity, including entity and acquisition context."},"id":"LibTmux::Format::DecodedRow.schema","kind":"property","modifiers":[],"name":"schema","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.schema","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":161,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-decodedrow-schema"},{"apiScope":"exported","doc":{"body":"Distinguish domain null from a present empty value.","summary":"Distinguish domain null from a present empty value."},"id":"LibTmux::Format::DecodedRow.state","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":227,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-state"},{"apiScope":"exported","doc":{"body":"Return a typed scalar or strict Unicode text; known domain null returns Nil.","summary":"Return a typed scalar or strict Unicode text; known domain null returns Nil."},"id":"LibTmux::Format::DecodedRow.value","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":233,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-value"},{"apiScope":"exported","doc":{"body":"Incremental LF framing over bytes with terminal failure and explicit limits.","summary":"Incremental LF framing over bytes with terminal failure and explicit limits."},"id":"LibTmux::Format::FrameDecoder","kind":"class","modifiers":[],"name":"FrameDecoder","package":"LibTmux","parent":"LibTmux::Format","product":"core","publicId":"LibTmux::Format::FrameDecoder","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":438,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-framedecoder"},{"apiScope":"exported","doc":{"body":"A new stream needs a new decoder; buffered state cannot be shallow-copied.","summary":"A new stream needs a new decoder; buffered state cannot be shallow-copied."},"id":"LibTmux::Format::FrameDecoder.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":455,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-framedecoder-clone"},{"apiScope":"exported","doc":{"body":"Yield complete decoded rows eagerly; incomplete bytes remain owned here.","summary":"Yield complete decoded rows eagerly; incomplete bytes remain owned here."},"id":"LibTmux::Format::FrameDecoder.feed","kind":"method","modifiers":[],"name":"feed","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.feed","signatures":[{"params":[{"keywordOnly":false,"name":"$chunk","optional":false,"type":"Blob:D"}],"raw":"method feed(Blob:D $chunk --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"feed","declaration":true},{"text":"(Blob:D $chunk --> List:D)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":461,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-framedecoder-feed"},{"apiScope":"exported","doc":{"body":"Close successfully only on a complete record boundary.","summary":"Close successfully only on a complete record boundary."},"id":"LibTmux::Format::FrameDecoder.finish","kind":"method","modifiers":[],"name":"finish","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.finish","signatures":[{"params":[],"raw":"method finish(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"finish","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":487,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-framedecoder-finish"},{"apiScope":"exported","doc":{"body":"Maximum incomplete record bytes retained between feed calls.","summary":"Maximum incomplete record bytes retained between feed calls."},"id":"LibTmux::Format::FrameDecoder.max-buffer-bytes","kind":"property","modifiers":[],"name":"max-buffer-bytes","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.max-buffer-bytes","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":444,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-format-framedecoder-max-buffer-bytes"},{"apiScope":"exported","doc":{"body":"Maximum cumulative response bytes accepted by this decoder.","summary":"Maximum cumulative response bytes accepted by this decoder."},"id":"LibTmux::Format::FrameDecoder.max-bytes","kind":"property","modifiers":[],"name":"max-bytes","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.max-bytes","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":442,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-format-framedecoder-max-bytes"},{"apiScope":"exported","doc":{"body":"Maximum encoded field size in bytes.","summary":"Maximum encoded field size in bytes."},"id":"LibTmux::Format::FrameDecoder.max-field-bytes","kind":"property","modifiers":[],"name":"max-field-bytes","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.max-field-bytes","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":446,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-format-framedecoder-max-field-bytes"},{"apiScope":"exported","doc":{"body":"Maximum complete records accepted before finish.","summary":"Maximum complete records accepted before finish."},"id":"LibTmux::Format::FrameDecoder.max-rows","kind":"property","modifiers":[],"name":"max-rows","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.max-rows","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":448,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-format-framedecoder-max-rows"},{"apiScope":"exported","doc":{"body":"Declared projection used to frame and decode every accepted record.","summary":"Declared projection used to frame and decode every accepted record."},"id":"LibTmux::Format::FrameDecoder.projection","kind":"property","modifiers":[],"name":"projection","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.projection","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":440,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Projection:D","slug":"libtmux-format-framedecoder-projection"},{"apiScope":"exported","doc":{"body":"Ordered registered fields with an explicit acquisition context and codec.","summary":"Ordered registered fields with an explicit acquisition context and codec."},"id":"LibTmux::Format::Projection","kind":"class","modifiers":[],"name":"Projection","package":"LibTmux","parent":"LibTmux::Format","product":"core","publicId":"LibTmux::Format::Projection","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":243,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-projection"},{"apiScope":"exported","doc":{"body":"Reconfigured projections must pass the catalogue and capability constructor.","summary":"Reconfigured projections must pass the catalogue and capability constructor."},"id":"LibTmux::Format::Projection.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Projection:D)","references":[{"end":39,"start":27,"target":"LibTmux::Format::Projection"}],"returns":"Projection:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Projection:D","target":"LibTmux::Format::Projection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":262,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-projection-clone"},{"apiScope":"exported","doc":{"body":"Source-qualified quoting profile used to encode free-text fields.","summary":"Source-qualified quoting profile used to encode free-text fields."},"id":"LibTmux::Format::Projection.codec-profile","kind":"property","modifiers":[],"name":"codec-profile","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.codec-profile","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":251,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-codec-profile"},{"apiScope":"exported","doc":{"body":"Acquisition context which determines field availability.","summary":"Acquisition context which determines field availability."},"id":"LibTmux::Format::Projection.context","kind":"property","modifiers":[],"name":"context","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.context","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":247,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-context"},{"apiScope":"exported","doc":{"body":"Decode one terminated row's contents. FrameDecoder owns stream boundaries.","summary":"Decode one terminated row's contents. FrameDecoder owns stream boundaries."},"id":"LibTmux::Format::Projection.decode-row","kind":"method","modifiers":[],"name":"decode-row","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.decode-row","signatures":[{"params":[{"keywordOnly":false,"name":"$line","optional":false,"type":"Blob:D"},{"default":"1","keywordOnly":true,"name":"$row","optional":true,"type":"Int:D"},{"default":"0","keywordOnly":true,"name":"$offset","optional":true,"type":"Int:D"},{"default":"1024 * 1024","keywordOnly":true,"name":"$max-field-bytes","optional":true,"type":"Positive:D"}],"raw":"method decode-row(Blob:D $line, Int:D :$row = 1, Int:D :$offset = 0,\n Positive:D :$max-field-bytes = 1024 * 1024 --> DecodedRow:D)","references":[{"end":101,"start":91,"target":"LibTmux::Types::Positive"},{"end":150,"start":138,"target":"LibTmux::Format::DecodedRow"}],"returns":"DecodedRow:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"decode-row","declaration":true},{"text":"(Blob:D $line, Int:D :$row = 1, Int:D :$offset = 0,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-field-bytes = 1024 * 1024 --> "},{"text":"DecodedRow:D","target":"LibTmux::Format::DecodedRow"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":344,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-projection-decode-row"},{"apiScope":"exported","doc":{"body":"Entity schema selected from the authoritative field catalogue.","summary":"Entity schema selected from the authoritative field catalogue."},"id":"LibTmux::Format::Projection.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.entity","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":245,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-entity"},{"apiScope":"exported","doc":{"body":"Ordered declared fields; their order defines the wire record.","summary":"Ordered declared fields; their order defines the wire record."},"id":"LibTmux::Format::Projection.fields","kind":"property","modifiers":[],"name":"fields","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.fields","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":249,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-format-projection-fields"},{"apiScope":"exported","doc":{"body":"Daemon key used to scope this projection or decoded row.","summary":"Daemon key used to scope this projection or decoded row."},"id":"LibTmux::Format::Projection.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":255,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-incarnation"},{"apiScope":"exported","doc":{"body":"Construct a validated projection; decoded rows must instead come from decode-row.","summary":"Construct a validated projection; decoded rows must instead come from decode-row."},"id":"LibTmux::Format::Projection.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.new","signatures":[{"params":[{"keywordOnly":true,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$fields","optional":false,"type":"Positional:D"},{"keywordOnly":true,"name":"$capabilities","optional":false,"type":"LibTmux::Capabilities:D"},{"keywordOnly":true,"name":"$context","optional":true,"type":"Str"}],"raw":"method new(Str:D :$entity!, Positional:D :$fields!,\n LibTmux::Capabilities:D :$capabilities!, Str :$context)","references":[{"end":90,"start":67,"target":"LibTmux::Capabilities"}],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(Str:D :$entity!, Positional:D :$fields!,\n "},{"text":"LibTmux::Capabilities:D","target":"LibTmux::Capabilities"},{"text":" :$capabilities!, Str :$context)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":268,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-projection-new"},{"apiScope":"exported","doc":{"body":"Declared command-output repair policy applied before field decoding.","summary":"Declared command-output repair policy applied before field decoding."},"id":"LibTmux::Format::Projection.output-repair","kind":"property","modifiers":[],"name":"output-repair","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.output-repair","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":253,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-output-repair"},{"apiScope":"exported","doc":{"body":"Versioned projection identity, including entity and acquisition context.","summary":"Versioned projection identity, including entity and acquisition context."},"id":"LibTmux::Format::Projection.schema","kind":"property","modifiers":[],"name":"schema","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.schema","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":257,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-schema"},{"apiScope":"exported","doc":{"body":"Complete tmux FORMAT template with versioned framing and escaped text fields.","summary":"Complete tmux FORMAT template with versioned framing and escaped text fields."},"id":"LibTmux::Format::Projection.template","kind":"property","modifiers":[],"name":"template","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.template","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":259,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-template"},{"apiScope":"exported","doc":{"body":"# Observed layouts\nConstruct layouts and their cells through ` decode-layout `; direct ` new `\ncalls are refused so captured bytes and validated structure stay together.\n\nClassic layouts validate their checksum and represented tiled tree; ` 0000, `\nis the compatibility sentinel for no represented tiled cells. It does not\nprove the physical window lacks floating panes. JSON version 2 retains\nall cells, including floating placements with signed coordinates and z-index.\nThe separate ` window_modal_pane ` observation supplies ` :modal-pane-id `; an\nempty string means known absence, while omission means not acquired.\n\nUnknown dialects and versions expose exact immutable ` raw ` bytes and\n` known == False `. They do not fabricate a tiled interpretation. Parsing and\ntraversal perform no I/O. Input bytes, nesting, numeric spelling and node\ncounts are bounded before or during parsing.","summary":""},"id":"LibTmux::Layout","kind":"module","modifiers":[],"name":"LibTmux::Layout","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Layout","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout"},{"apiScope":"exported","doc":{"body":"Decode a declared dialect. Unknown versions retain bytes without a guessed tree.","summary":"Decode a declared dialect. Unknown versions retain bytes without a guessed tree."},"id":"LibTmux::Layout.decode-layout","kind":"function","modifiers":["overload"],"name":"decode-layout","package":"LibTmux","parent":"LibTmux::Layout","product":"core","publicId":"LibTmux::Layout.decode-layout","signatures":[{"params":[{"keywordOnly":false,"name":"$raw","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"sub decode-layout(Str:D $raw, *%options --> Layout:D)","references":[{"end":52,"start":44,"target":"LibTmux::Layout::Layout"}],"returns":"Layout:D","nativeSyntax":[{"start":4,"end":17,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"decode-layout","declaration":true},{"text":"(Str:D $raw, *%options --> "},{"text":"Layout:D","target":"LibTmux::Layout::Layout"},{"text":")"}]},{"params":[{"keywordOnly":false,"name":"$raw","optional":false,"type":"Blob:D"},{"keywordOnly":true,"name":"$profile","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$modal-pane-id","optional":true,"type":"Str"},{"default":"1024 * 1024","keywordOnly":true,"name":"$max-bytes","optional":true,"type":"Positive:D"},{"default":"64","keywordOnly":true,"name":"$max-depth","optional":true,"type":"Positive:D"},{"default":"10000","keywordOnly":true,"name":"$max-nodes","optional":true,"type":"Positive:D"}],"raw":"sub decode-layout(Blob:D $raw, Str:D :$profile!,\n Str :$modal-pane-id,\n Positive:D :$max-bytes = 1024 * 1024,\n Positive:D :$max-depth = 64,\n Positive:D :$max-nodes = 10000 --> Layout:D)","references":[{"end":128,"start":118,"target":"LibTmux::Types::Positive"},{"end":190,"start":180,"target":"LibTmux::Types::Positive"},{"end":243,"start":233,"target":"LibTmux::Types::Positive"},{"end":276,"start":268,"target":"LibTmux::Layout::Layout"}],"returns":"Layout:D","nativeSyntax":[{"start":4,"end":17,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"decode-layout","declaration":true},{"text":"(Blob:D $raw, Str:D :$profile!,\n Str :$modal-pane-id,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-bytes = 1024 * 1024,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-depth = 64,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-nodes = 10000 --> "},{"text":"Layout:D","target":"LibTmux::Layout::Layout"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":282,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-decode-layout"},{"apiScope":"exported","doc":{"body":"Decoded layout plus exact source bytes, including unsupported future versions.","summary":"Decoded layout plus exact source bytes, including unsupported future versions."},"id":"LibTmux::Layout::Layout","kind":"class","modifiers":[],"name":"Layout","package":"LibTmux","parent":"LibTmux::Layout","product":"core","publicId":"LibTmux::Layout::Layout","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout"},{"apiScope":"exported","doc":{"body":"Retain agreement between captured bytes, version, and decoded structure.","summary":"Retain agreement between captured bytes, version, and decoded structure."},"id":"LibTmux::Layout::Layout.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Layout:D)","references":[{"end":35,"start":27,"target":"LibTmux::Layout::Layout"}],"returns":"Layout:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Layout:D","target":"LibTmux::Layout::Layout"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":81,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-clone"},{"apiScope":"exported","doc":{"body":"Floating placements retain their signed offsets and observed stacking order.","summary":"Floating placements retain their signed offsets and observed stacking order."},"id":"LibTmux::Layout::Layout.floating","kind":"method","modifiers":[],"name":"floating","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.floating","signatures":[{"params":[],"raw":"method floating(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"floating","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":99,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-floating"},{"apiScope":"exported","doc":{"body":"Whether this representation was decoded into the typed node graph.","summary":"Whether this representation was decoded into the typed node graph."},"id":"LibTmux::Layout::Layout.known","kind":"property","modifiers":[],"name":"known","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.known","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-layout-layout-known"},{"apiScope":"exported","doc":{"body":"Resolve separately acquired modal identity; the layout string does not encode it.","summary":"Resolve separately acquired modal identity; the layout string does not encode it."},"id":"LibTmux::Layout::Layout.modal","kind":"method","modifiers":[],"name":"modal","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.modal","signatures":[{"params":[],"raw":"method modal()","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"modal","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":105,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-modal"},{"apiScope":"exported","doc":{"body":"Captured modal-pane identity when the acquisition context supplies it.","summary":"Captured modal-pane identity when the acquisition context supplies it."},"id":"LibTmux::Layout::Layout.modal-pane-id","kind":"property","modifiers":[],"name":"modal-pane-id","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.modal-pane-id","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":71,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str","slug":"libtmux-layout-layout-modal-pane-id"},{"apiScope":"exported","doc":{"body":"Availability of modal-pane information, distinct from known absence.","summary":"Availability of modal-pane information, distinct from known absence."},"id":"LibTmux::Layout::Layout.modal-state","kind":"property","modifiers":[],"name":"modal-state","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.modal-state","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":73,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"ValueState:D","slug":"libtmux-layout-layout-modal-state"},{"apiScope":"exported","doc":{"body":"Refuse direct construction; decode source bytes through decode-layout.","summary":"Refuse direct construction; decode source bytes through decode-layout."},"id":"LibTmux::Layout::Layout.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-new"},{"apiScope":"exported","doc":{"body":"Decoder profile selected by the capability observation.","summary":"Decoder profile selected by the capability observation."},"id":"LibTmux::Layout::Layout.profile","kind":"property","modifiers":[],"name":"profile","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.profile","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-layout-layout-profile"},{"apiScope":"exported","doc":{"body":"Exact layout bytes, retained even when the representation is unsupported.","summary":"Exact layout bytes, retained even when the representation is unsupported."},"id":"LibTmux::Layout::Layout.raw","kind":"property","modifiers":[],"name":"raw","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.raw","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-layout-layout-raw"},{"apiScope":"exported","doc":{"body":"Decoded root cell; undefined when the layout representation is unknown.","summary":"Decoded root cell; undefined when the layout representation is unknown."},"id":"LibTmux::Layout::Layout.root","kind":"property","modifiers":[],"name":"root","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.root","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":69,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"LayoutNode","slug":"libtmux-layout-layout-root"},{"apiScope":"exported","doc":{"body":"Leaf cells which participate in tiling; this is not the complete pane set.","summary":"Leaf cells which participate in tiling; this is not the complete pane set."},"id":"LibTmux::Layout::Layout.tiled","kind":"method","modifiers":[],"name":"tiled","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.tiled","signatures":[{"params":[],"raw":"method tiled(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"tiled","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":93,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-tiled"},{"apiScope":"exported","doc":{"body":"Layout representation version when supplied by the modern dialect.","summary":"Layout representation version when supplied by the modern dialect."},"id":"LibTmux::Layout::Layout.version","kind":"property","modifiers":[],"name":"version","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.version","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":67,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-layout-layout-version"},{"apiScope":"exported","doc":{"body":"An immutable observed layout cell; floating leaves need not tile their parent.","summary":"An immutable observed layout cell; floating leaves need not tile their parent."},"id":"LibTmux::Layout::LayoutNode","kind":"class","modifiers":[],"name":"LayoutNode","package":"LibTmux","parent":"LibTmux::Layout","product":"core","publicId":"LibTmux::Layout::LayoutNode","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":14,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode"},{"apiScope":"exported","doc":{"body":"Optional active-pane flag from the modern layout representation.","summary":"Optional active-pane flag from the modern layout representation."},"id":"LibTmux::Layout::LayoutNode.active","kind":"property","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.active","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":30,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool","slug":"libtmux-layout-layoutnode-active"},{"apiScope":"exported","doc":{"body":"Captured child cells in source order, including floating placements.","summary":"Captured child cells in source order, including floating placements."},"id":"LibTmux::Layout::LayoutNode.children","kind":"property","modifiers":[],"name":"children","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.children","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-layout-layoutnode-children"},{"apiScope":"exported","doc":{"body":"Retain parsed cell invariants when using native no-argument cloning.","summary":"Retain parsed cell invariants when using native no-argument cloning."},"id":"LibTmux::Layout::LayoutNode.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> LayoutNode:D)","references":[{"end":39,"start":27,"target":"LibTmux::Layout::LayoutNode"}],"returns":"LayoutNode:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"LayoutNode:D","target":"LibTmux::Layout::LayoutNode"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":44,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode-clone"},{"apiScope":"exported","doc":{"body":"The JSON dialect carries floating placement through an explicit z-index.","summary":"The JSON dialect carries floating placement through an explicit z-index."},"id":"LibTmux::Layout::LayoutNode.floating","kind":"method","modifiers":[],"name":"floating","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.floating","signatures":[{"params":[],"raw":"method floating(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"floating","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":50,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode-floating"},{"apiScope":"exported","doc":{"body":"Cell height in terminal rows.","summary":"Cell height in terminal rows."},"id":"LibTmux::Layout::LayoutNode.height","kind":"property","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.height","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-layout-layoutnode-height"},{"apiScope":"exported","doc":{"body":"Optional pane index carried by the modern layout representation.","summary":"Optional pane index carried by the modern layout representation."},"id":"LibTmux::Layout::LayoutNode.index","kind":"property","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.index","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-layout-layoutnode-index"},{"apiScope":"exported","doc":{"body":"Pane leaf or horizontal/vertical container kind in the decoded layout.","summary":"Pane leaf or horizontal/vertical container kind in the decoded layout."},"id":"LibTmux::Layout::LayoutNode.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.kind","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-layout-layoutnode-kind"},{"apiScope":"exported","doc":{"body":"Optional index in the previously visited panes list.","summary":"Optional index in the previously visited panes list."},"id":"LibTmux::Layout::LayoutNode.last","kind":"property","modifiers":[],"name":"last","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.last","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-layout-layoutnode-last"},{"apiScope":"exported","doc":{"body":"Refuse direct cell construction; obtain validated cells through decode-layout.","summary":"Refuse direct cell construction; obtain validated cells through decode-layout."},"id":"LibTmux::Layout::LayoutNode.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode-new"},{"apiScope":"exported","doc":{"body":"Leaf pane identity; undefined for a container.","summary":"Leaf pane identity; undefined for a container."},"id":"LibTmux::Layout::LayoutNode.pane-id","kind":"property","modifiers":[],"name":"pane-id","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.pane-id","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":26,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"PaneId","slug":"libtmux-layout-layoutnode-pane-id"},{"apiScope":"exported","doc":{"body":"All leaf cells, retaining source order including floating leaves.","summary":"All leaf cells, retaining source order including floating leaves."},"id":"LibTmux::Layout::LayoutNode.panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.panes","signatures":[{"params":[],"raw":"method panes(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"panes","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode-panes"},{"apiScope":"exported","doc":{"body":"Cell width in terminal columns.","summary":"Cell width in terminal columns."},"id":"LibTmux::Layout::LayoutNode.width","kind":"property","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.width","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":18,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-layout-layoutnode-width"},{"apiScope":"exported","doc":{"body":"Horizontal cell offset in terminal columns.","summary":"Horizontal cell offset in terminal columns."},"id":"LibTmux::Layout::LayoutNode.x","kind":"property","modifiers":[],"name":"x","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.x","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":22,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-layout-layoutnode-x"},{"apiScope":"exported","doc":{"body":"Vertical cell offset in terminal rows.","summary":"Vertical cell offset in terminal rows."},"id":"LibTmux::Layout::LayoutNode.y","kind":"property","modifiers":[],"name":"y","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.y","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":24,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-layout-layoutnode-y"},{"apiScope":"exported","doc":{"body":"Optional floating-pane stacking index; undefined for tiled cells.","summary":"Optional floating-pane stacking index; undefined for tiled cells."},"id":"LibTmux::Layout::LayoutNode.z","kind":"property","modifiers":[],"name":"z","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.z","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-layout-layoutnode-z"},{"apiScope":"exported","doc":{"body":"# Captured graph\n\nSnapshot captures observations over an interval. Its field accessors, raw bytes,\nrelations and typed selections perform no I/O. It retains endpoint settings and\nincarnation values, never the Runtime that acquired it. Reference construction\nis local; reference commands create and close a fresh bounded client executor.\n\nPhysical windows and panes are unique by scoped ID. WindowLink represents one\nsession/index association, including repeated links to the same physical window.\nRaw contextual rows preserve their multiplicity. Contradictory duplicate records\nand missing targets in complete collections raise InconsistentSnapshot.\nAn incomplete relation raises MissingData rather than appearing empty.\n\nsame-entity compares daemon-scoped identity. WindowLink has no stable identity\nbetween captures, so its comparison is confined to one captured graph. A link\nreference checks its expected physical window before selecting or unlinking;\nrenumbering between that check and the operation remains a documented race.\n\nWindow.decoded-layout parses captured layout bytes locally. Strict text access\ncan fail for invalid UTF-8 while bytes remains available.\n\n\n\n# Explicit commands\n\nSessionRef.new-window and PaneRef.split/new-floating return references from the\ncommand's declared identity projection. PaneRef.break returns the resulting\nWindowRef; older profiles that omit the identity for a single-pane break use\nan ID-filtered observation afterward. A new observation is acquired only by\ninspect. If the source window has several placements, break requires an\nexplicit :from(WindowLinkRef) so tmux cannot choose which association to move.\nOther mutations return a command Result. Completion means the tmux\nclient completed; pane input processing, rendering and child programs may\ncontinue afterward.\n\nWindowRef.link and WindowLinkRef.move require a destination session and index.\nThey return a WindowLinkRef for that placement. Moving, swapping or unlinking a\nplacement is separate from WindowRef.kill, which destroys the physical window\nand all its links. tmux synchronizes placement changes across grouped sessions;\nunlinking a placement also removes its corresponding peer placements. Physical\nwindow linking prefers the destination session's existing source context when\nthe window is already present there. Link checks and mutations are separate operations;\nconcurrent renumbering can race between them. Cross-daemon targets are rejected.\n\nReferences expose value-only options and hooks facades; SessionRef also exposes\nenvironment. Creating these facades performs no I/O. Their get, set and other\nmethods explicitly acquire or mutate current configuration. See\n:obj:`LibTmux::Configuration ` for typed option, environment and command-value rules.\n\nClient.ref creates a ClientRef with the observed name bytes, PID and creation\ntime. inspect requires that identity to remain attached. Client commands are\ninherited from :obj:`LibTmux::Client `; client disconnection and name reuse can still\nrace between the identity check and the command.\n\nNames and start directories are literal. Names that tmux would silently change\nare refused, and separator support follows the daemon's capability profile.\nPaneRef.set-title quotes one FORMAT expansion; tmux's title validation still\napplies. The low-level command method keeps native tmux argument semantics.\nShell commands passed to creation and respawn run through tmux's shell-command\ncontract. PaneRef.pipe deliberately accepts tmux FORMAT and strftime syntax as\nwell as shell syntax. It closes an existing pipe when called without a command;\n:toggle follows pipe-pane -o, which closes an already open pipe.\n\nLiteral pane input uses send-text and never appends Enter. send-keys accepts\nkey names and a positive :repeat. capture and capture-pending return Blob data\nwithout text conversion or whitespace removal. copy-command sends an explicit\ncopy-mode command; it does not interpret arbitrary text as a key sequence.\nreset queues terminal-state reset followed by history clearing without a client\nroundtrip between them. It is not transactional: failure can leave partial\neffects. reset-terminal only resets terminal state. Running a shell's ` reset `\nprogram is a separate application action: send-text('reset') followed by\nsend-keys('Enter') requests it without promising what the pane application does.\n\nSplit dimensions use :size or :percent exclusively. Percentage splits use the\nsize syntax across profiles, avoiding the known percentage-flag defect. Empty\npane creation selects its documented profile encoding; empty windows require\nthe corresponding capability. Floating creation, movement, stacking, modal\npanes and layout variants have independent capability checks. The defective\nbreak-pane profile is refused before either named or unnamed operations.\n\nSee :obj:`LibTmux::Server ` for endpoint ownership and acquisition,\n:obj:`LibTmux::Selection ` for captured collection operations, and\n:obj:`LibTmux::Transport ` for Result and process cancellation contracts.","summary":""},"id":"LibTmux::Model","kind":"module","modifiers":[],"name":"LibTmux::Model","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Model","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model"},{"apiScope":"exported","doc":{"body":"Captured buffer metadata; it does not retain or implicitly load buffer content.","summary":"Captured buffer metadata; it does not retain or implicitly load buffer content."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Buffer","kind":"class","modifiers":[],"name":"Buffer","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Buffer","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":957,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Buffer.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Buffer.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-clone"},{"apiScope":"exported","doc":{"body":"Captured buffer_created; local uint access.","summary":"Captured buffer_created; local uint access."},"id":"LibTmux::Model::Buffer.created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.created","signatures":[{"params":[],"raw":"method created(--> Count:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"created","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":187,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-created"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Buffer.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-incarnation"},{"apiScope":"exported","doc":{"body":"Captured buffer_name; local text access.","summary":"Captured buffer_name; local text access."},"id":"LibTmux::Model::Buffer.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":183,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Buffer.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-new"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Buffer.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Buffer.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Buffer.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-same-entity"},{"apiScope":"exported","doc":{"body":"Captured buffer_sample; local text access.","summary":"Captured buffer_sample; local text access."},"id":"LibTmux::Model::Buffer.sample","kind":"method","modifiers":[],"name":"sample","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.sample","signatures":[{"params":[],"raw":"method sample(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sample","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":189,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-sample"},{"apiScope":"exported","doc":{"body":"Captured buffer_size; local uint access.","summary":"Captured buffer_size; local uint access."},"id":"LibTmux::Model::Buffer.size","kind":"method","modifiers":[],"name":"size","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.size","signatures":[{"params":[],"raw":"method size(--> Count:D)","references":[{"end":23,"start":16,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"size","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":185,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-size"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Buffer.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Buffer.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Buffer.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-value"},{"apiScope":"exported","doc":{"body":"Replayable typed buffer membership with local filtering.","summary":"Replayable typed buffer membership with local filtering."},"id":"LibTmux::Model::BufferSelection","kind":"class","modifiers":[],"name":"BufferSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::BufferSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":972,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::BufferSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::BufferSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::BufferSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::BufferSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::BufferSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-list-1et0"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::BufferSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::BufferSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::BufferSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::BufferSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::BufferSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::BufferSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::BufferSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::BufferSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::BufferSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::BufferSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::BufferSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-list-m9fk"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::BufferSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::BufferSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::BufferSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::BufferSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::BufferSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::BufferSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::BufferSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-where"},{"apiScope":"exported","doc":{"body":"Captured attached-client fields; commands use its separate reference.","summary":"Captured attached-client fields; commands use its separate reference."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Client","kind":"class","modifiers":[],"name":"Client","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Client","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":947,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client"},{"apiScope":"exported","doc":{"body":"Captured client_activity; local uint access.","summary":"Captured client_activity; local uint access."},"id":"LibTmux::Model::Client.activity","kind":"method","modifiers":[],"name":"activity","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.activity","signatures":[{"params":[],"raw":"method activity(--> Count:D)","references":[{"end":27,"start":20,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"activity","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":161,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-activity"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Client.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Client.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-clone"},{"apiScope":"exported","doc":{"body":"Captured client_control_mode; local bool access.","summary":"Captured client_control_mode; local bool access."},"id":"LibTmux::Model::Client.control-mode","kind":"method","modifiers":[],"name":"control-mode","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.control-mode","signatures":[{"params":[],"raw":"method control-mode(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"control-mode","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":163,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-control-mode"},{"apiScope":"exported","doc":{"body":"Captured client_created; local uint access.","summary":"Captured client_created; local uint access."},"id":"LibTmux::Model::Client.created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.created","signatures":[{"params":[],"raw":"method created(--> Count:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"created","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":159,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-created"},{"apiScope":"exported","doc":{"body":"Captured client_height; local uint access.","summary":"Captured client_height; local uint access."},"id":"LibTmux::Model::Client.height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.height","signatures":[{"params":[],"raw":"method height(--> Count)","references":[{"end":23,"start":18,"target":"LibTmux::Types::Count"}],"returns":"Count","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"height","declaration":true},{"text":"(--> "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":157,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-height"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Client.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-incarnation"},{"apiScope":"exported","doc":{"body":"Captured client_key_table; local text access.","summary":"Captured client_key_table; local text access."},"id":"LibTmux::Model::Client.key-table","kind":"method","modifiers":[],"name":"key-table","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.key-table","signatures":[{"params":[],"raw":"method key-table(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key-table","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":169,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-key-table"},{"apiScope":"exported","doc":{"body":"Captured client_name; local text access.","summary":"Captured client_name; local text access."},"id":"LibTmux::Model::Client.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":145,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Client.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-new"},{"apiScope":"exported","doc":{"body":"Captured client_pid; local uint access.","summary":"Captured client_pid; local uint access."},"id":"LibTmux::Model::Client.pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.pid","signatures":[{"params":[],"raw":"method pid(--> Count:D)","references":[{"end":22,"start":15,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pid","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":153,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-pid"},{"apiScope":"exported","doc":{"body":"Captured client_readonly; local bool access.","summary":"Captured client_readonly; local bool access."},"id":"LibTmux::Model::Client.read-only","kind":"method","modifiers":[],"name":"read-only","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.read-only","signatures":[{"params":[],"raw":"method read-only(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"read-only","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":165,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-read-only"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Client.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Client.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Client.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-same-entity"},{"apiScope":"exported","doc":{"body":"The observed associated session, resolved without I/O.","summary":"The observed associated session, resolved without I/O."},"id":"LibTmux::Model::Client.session","kind":"method","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.session","signatures":[{"params":[],"raw":"method session(--> Session:D)","references":[{"end":28,"start":19,"target":"LibTmux::Model::Session"}],"returns":"Session:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session","declaration":true},{"text":"(--> "},{"text":"Session:D","target":"LibTmux::Model::Session"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":949,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-session"},{"apiScope":"exported","doc":{"body":"Captured session_id; local session-id access.","summary":"Captured session_id; local session-id access."},"id":"LibTmux::Model::Client.session-id","kind":"method","modifiers":[],"name":"session-id","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.session-id","signatures":[{"params":[],"raw":"method session-id(--> SessionId:D)","references":[{"end":33,"start":22,"target":"LibTmux::Types::SessionId"}],"returns":"SessionId:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session-id","declaration":true},{"text":"(--> "},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":147,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-session-id"},{"apiScope":"exported","doc":{"body":"Captured client_session; local text access.","summary":"Captured client_session; local text access."},"id":"LibTmux::Model::Client.session-name","kind":"method","modifiers":[],"name":"session-name","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.session-name","signatures":[{"params":[],"raw":"method session-name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session-name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":149,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-session-name"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Client.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Client.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-state"},{"apiScope":"exported","doc":{"body":"Captured client_termname; local text access.","summary":"Captured client_termname; local text access."},"id":"LibTmux::Model::Client.terminal-name","kind":"method","modifiers":[],"name":"terminal-name","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.terminal-name","signatures":[{"params":[],"raw":"method terminal-name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"terminal-name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":167,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-terminal-name"},{"apiScope":"exported","doc":{"body":"Captured client_tty; local text access.","summary":"Captured client_tty; local text access."},"id":"LibTmux::Model::Client.tty","kind":"method","modifiers":[],"name":"tty","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.tty","signatures":[{"params":[],"raw":"method tty(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"tty","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":151,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-tty"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Client.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-value"},{"apiScope":"exported","doc":{"body":"Captured client_width; local uint access.","summary":"Captured client_width; local uint access."},"id":"LibTmux::Model::Client.width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.width","signatures":[{"params":[],"raw":"method width(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"width","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-width"},{"apiScope":"exported","doc":{"body":"A captured client identity with explicit inspection and inherited client commands.","summary":"A captured client identity with explicit inspection and inherited client commands."},"extends":["LibTmux::Client::ClientTarget"],"id":"LibTmux::Model::ClientRef","kind":"class","modifiers":[],"name":"ClientRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::ClientRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":569,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref"},{"apiScope":"exported","doc":{"body":"Enter a pane mode shared by every client viewing that pane.","summary":"Enter a pane mode shared by every client viewing that pane."},"id":"LibTmux::Model::ClientRef.choose","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"choose","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.choose","signatures":[{"params":[{"keywordOnly":false,"name":"$kind","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"Str","keywordOnly":true,"name":"$format","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$filter","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$key-format","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$sort","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$reverse","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$zoom","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$preview","optional":true,"type":"Bool:D"},{"default":"CommandTemplate","keywordOnly":true,"name":"$template","optional":true,"type":"CommandTemplate"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method choose(Str:D $kind, PaneId:D :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, CommandTemplate :$template = CommandTemplate,\n *%operation --> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Types::PaneId"},{"end":270,"start":255,"target":"LibTmux::Client::CommandTemplate"},{"end":299,"start":284,"target":"LibTmux::Client::CommandTemplate"},{"end":343,"start":335,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"choose","declaration":true},{"text":"(Str:D $kind, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":" :$template = "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":",\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":245,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-choose"},{"apiScope":"exported","doc":{"body":"Clear the daemon's selected prompt history; it is shared across clients.","summary":"Clear the daemon's selected prompt history; it is shared across clients."},"id":"LibTmux::Model::ClientRef.clear-prompt-history","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"clear-prompt-history","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.clear-prompt-history","signatures":[{"params":[{"default":"Str","keywordOnly":true,"name":"$type","optional":true,"type":"Str"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method clear-prompt-history(Str :$type = Str, *%operation --> Result:D)","references":[{"end":70,"start":62,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":27,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clear-prompt-history","declaration":true},{"text":"(Str :$type = Str, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":366,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-clear-prompt-history"},{"apiScope":"exported","doc":{"body":"Revalidate changed target values; this performs no existence check or I/O.","summary":"Revalidate changed target values; this performs no existence check or I/O."},"id":"LibTmux::Model::ClientRef.clone","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> ClientTarget:D)","references":[{"end":41,"start":27,"target":"LibTmux::Client::ClientTarget"}],"returns":"ClientTarget:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"ClientTarget:D","target":"LibTmux::Client::ClientTarget"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":89,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-clone"},{"apiScope":"exported","doc":{"body":"Explicitly remove the current popup/overlay, including one left after timeout.","summary":"Explicitly remove the current popup/overlay, including one left after timeout."},"id":"LibTmux::Model::ClientRef.close-popup","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"close-popup","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.close-popup","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method close-popup(*%operation --> Result:D)","references":[{"end":43,"start":35,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-popup","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":212,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-close-popup"},{"apiScope":"exported","doc":{"body":"Ask confirmation before one Invocation. A refusal is returned as a Result.","summary":"Ask confirmation before one Invocation. A refusal is returned as a Result."},"id":"LibTmux::Model::ClientRef.confirm-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"confirm-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.confirm-async","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"'Confirm? (y/n)'","keywordOnly":true,"name":"$prompt","optional":true,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method confirm-async(Invocation:D $command, Positive:D :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D)","references":[{"end":33,"start":21,"target":"LibTmux::Command::Invocation"},{"end":54,"start":44,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"confirm-async","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":237,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-confirm-async"},{"apiScope":"exported","doc":{"body":"Request detachment of this exact observed client. Completion is not exit proof.","summary":"Request detachment of this exact observed client. Completion is not exit proof."},"id":"LibTmux::Model::ClientRef.detach","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"detach","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.detach","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method detach(*%operation --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"detach","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":313,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-detach"},{"apiScope":"exported","doc":{"body":"Evaluate explicit FORMAT and strftime syntax in an existing pane context.","summary":"Evaluate explicit FORMAT and strftime syntax in an existing pane context."},"id":"LibTmux::Model::ClientRef.display-format","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"display-format","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.display-format","signatures":[{"params":[{"keywordOnly":false,"name":"$format","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"True","keywordOnly":true,"name":"$print","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-format(Str:D $format, PaneId:D :$pane!, Bool:D :$print = True,\n *%operation --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Types::PaneId"},{"end":128,"start":120,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-format","declaration":true},{"text":"(Str:D $format, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Bool:D :$print = True,\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":146,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-display-format"},{"apiScope":"exported","doc":{"body":"Display literal FORMAT/time text; tmux still interprets display styles.","summary":"Display literal FORMAT/time text; tmux still interprets display styles."},"id":"LibTmux::Model::ClientRef.display-message","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"display-message","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.display-message","signatures":[{"params":[{"keywordOnly":false,"name":"$message","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"Count","keywordOnly":true,"name":"$duration-ms","optional":true,"type":"Count"},{"default":"False","keywordOnly":true,"name":"$print","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-message(Str:D $message, PaneId:D :$pane!, Count :$duration-ms = Count,\n Bool:D :$print = False, *%operation --> Result:D)","references":[{"end":47,"start":39,"target":"LibTmux::Types::PaneId"},{"end":62,"start":57,"target":"LibTmux::Types::Count"},{"end":84,"start":79,"target":"LibTmux::Types::Count"},{"end":161,"start":153,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-message","declaration":true},{"text":"(Str:D $message, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$duration-ms = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":",\n Bool:D :$print = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":136,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-display-message"},{"apiScope":"exported","doc":{"body":"Display pane numbers, with an optional explicit tmux selection template.","summary":"Display pane numbers, with an optional explicit tmux selection template."},"id":"LibTmux::Model::ClientRef.display-panes-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"display-panes-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.display-panes-async","signatures":[{"params":[{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"Count","keywordOnly":true,"name":"$duration-ms","optional":true,"type":"Count"},{"default":"True","keywordOnly":true,"name":"$select","optional":true,"type":"Bool:D"},{"default":"CommandTemplate","keywordOnly":true,"name":"$template","optional":true,"type":"CommandTemplate"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-panes-async(Positive:D :$timeout-ms!, Count :$duration-ms = Count,\n Bool:D :$select = True,\n CommandTemplate :$template = CommandTemplate,\n *%operation --> Promise:D)","references":[{"end":37,"start":27,"target":"LibTmux::Types::Positive"},{"end":58,"start":53,"target":"LibTmux::Types::Count"},{"end":80,"start":75,"target":"LibTmux::Types::Count"},{"end":183,"start":168,"target":"LibTmux::Client::CommandTemplate"},{"end":212,"start":197,"target":"LibTmux::Client::CommandTemplate"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":26,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-panes-async","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$duration-ms = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":",\n Bool:D :$select = True,\n "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":" :$template = "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":",\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":287,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-display-panes-async"},{"apiScope":"exported","doc":{"body":"Return the registered client schema without I/O.","summary":"Return the registered client schema without I/O."},"id":"LibTmux::Model::ClientRef.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":571,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-entity"},{"apiScope":"exported","doc":{"body":"Open the native finder using tmux match/FORMAT syntax, not literal substring data.","summary":"Open the native finder using tmux match/FORMAT syntax, not literal substring data."},"id":"LibTmux::Model::ClientRef.find-window","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"find-window","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.find-window","signatures":[{"params":[{"keywordOnly":false,"name":"$pattern","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"True","keywordOnly":true,"name":"$content","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$names","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$titles","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$regex","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$ignore-case","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$zoom","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method find-window(Str:D $pattern, PaneId:D :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> Result:D)","references":[{"end":43,"start":35,"target":"LibTmux::Types::PaneId"},{"end":295,"start":287,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"find-window","declaration":true},{"text":"(Str:D $pattern, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":269,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-find-window"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph and require the observed name, process and creation time.","summary":"Acquire a fresh graph and require the observed name, process and creation time."},"id":"LibTmux::Model::ClientRef.inspect","kind":"method","modifiers":[],"name":"inspect","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.inspect","signatures":[{"params":[],"raw":"method inspect(--> Client:D)","references":[{"end":27,"start":19,"target":"LibTmux::Model::Client"}],"returns":"Client:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(--> "},{"text":"Client:D","target":"LibTmux::Model::Client"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":574,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-inspect"},{"apiScope":"exported","doc":{"body":"Select an existing key table; its name is passed without FORMAT expansion.","summary":"Select an existing key table; its name is passed without FORMAT expansion."},"id":"LibTmux::Model::ClientRef.key-table","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"key-table","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.key-table","signatures":[{"params":[{"keywordOnly":false,"name":"$table","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method key-table(Str:D $table, *%operation --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key-table","declaration":true},{"text":"(Str:D $table, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":337,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-key-table"},{"apiScope":"exported","doc":{"body":"Invoke the configured lock command for this client.","summary":"Invoke the configured lock command for this client."},"id":"LibTmux::Model::ClientRef.lock","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"lock","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.lock","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method lock(*%operation --> Result:D)","references":[{"end":36,"start":28,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"lock","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":323,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-lock"},{"apiScope":"exported","doc":{"body":"Show a menu. Completion follows tmux's command lifecycle, not rendering proof.","summary":"Show a menu. Completion follows tmux's command lifecycle, not rendering proof."},"id":"LibTmux::Model::ClientRef.menu-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"menu-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.menu-async","signatures":[{"params":[{"keywordOnly":false,"name":"$items","optional":false,"type":"Positional:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"''","keywordOnly":true,"name":"$title","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$x","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$y","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$stay-open","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$mouse","optional":true,"type":"Bool:D"},{"default":"Str","keywordOnly":true,"name":"$style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$border-style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$selected-style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$border-lines","optional":true,"type":"Str"},{"default":"Count","keywordOnly":true,"name":"$starting-choice","optional":true,"type":"Count"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method menu-async(Positional:D $items, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n Count :$starting-choice = Count, *%operation --> Promise:D)","references":[{"end":47,"start":39,"target":"LibTmux::Types::PaneId"},{"end":67,"start":57,"target":"LibTmux::Types::Positive"},{"end":403,"start":398,"target":"LibTmux::Types::Count"},{"end":429,"start":424,"target":"LibTmux::Types::Count"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"menu-async","declaration":true},{"text":"(Positional:D $items, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$starting-choice = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":", *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-menu-async"},{"apiScope":"exported","doc":{"body":"Start an explicitly supplied shell command in a popup; wait asynchronously.","summary":"Start an explicitly supplied shell command in a popup; wait asynchronously."},"id":"LibTmux::Model::ClientRef.popup-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"popup-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.popup-async","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"''","keywordOnly":true,"name":"$title","optional":true,"type":"Str:D"},{"default":"Str","keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"default":"Positive","keywordOnly":true,"name":"$width","optional":true,"type":"Positive"},{"default":"Positive","keywordOnly":true,"name":"$height","optional":true,"type":"Positive"},{"default":"'C'","keywordOnly":true,"name":"$x","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$y","optional":true,"type":"Str:D"},{"default":"'exit'","keywordOnly":true,"name":"$close","optional":true,"type":"Str:D"},{"default":"True","keywordOnly":true,"name":"$border","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$close-on-key","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$reset-flags","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method popup-async(Str:D :$shell-command!, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n Positive :$width = Positive, Positive :$height = Positive,\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D)","references":[{"end":51,"start":43,"target":"LibTmux::Types::PaneId"},{"end":71,"start":61,"target":"LibTmux::Types::Positive"},{"end":184,"start":176,"target":"LibTmux::Types::Positive"},{"end":203,"start":195,"target":"LibTmux::Types::Positive"},{"end":213,"start":205,"target":"LibTmux::Types::Positive"},{"end":233,"start":225,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"popup-async","declaration":true},{"text":"(Str:D :$shell-command!, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$width = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$height = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":",\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":188,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-popup-async"},{"apiScope":"exported","doc":{"body":"Prompt with explicit tmux template syntax. Commas separate prompts and inputs.","summary":"Prompt with explicit tmux template syntax. Commas separate prompts and inputs."},"id":"LibTmux::Model::ClientRef.prompt-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"prompt-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.prompt-async","signatures":[{"params":[{"keywordOnly":false,"name":"$template","optional":false,"type":"CommandTemplate:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"':'","keywordOnly":true,"name":"$prompts","optional":true,"type":"Str:D"},{"default":"''","keywordOnly":true,"name":"$inputs","optional":true,"type":"Str:D"},{"default":"'text'","keywordOnly":true,"name":"$mode","optional":true,"type":"Str:D"},{"default":"'command'","keywordOnly":true,"name":"$type","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$literal-commas","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method prompt-async(CommandTemplate:D $template, Positive:D :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D)","references":[{"end":37,"start":20,"target":"LibTmux::Client::CommandTemplate"},{"end":59,"start":49,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"prompt-async","declaration":true},{"text":"("},{"text":"CommandTemplate:D","target":"LibTmux::Client::CommandTemplate"},{"text":" $template, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":217,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-prompt-async"},{"apiScope":"exported","doc":{"body":"Return raw prompt-history output, without claiming newline-safe entry framing.","summary":"Return raw prompt-history output, without claiming newline-safe entry framing."},"id":"LibTmux::Model::ClientRef.prompt-history","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"prompt-history","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.prompt-history","signatures":[{"params":[{"default":"Str","keywordOnly":true,"name":"$type","optional":true,"type":"Str"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method prompt-history(Str :$type = Str, *%operation --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"prompt-history","declaration":true},{"text":"(Str :$type = Str, *%operation --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":359,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-prompt-history"},{"apiScope":"exported","doc":{"body":"Refresh the display, status, or viewport using one explicit action.","summary":"Refresh the display, status, or viewport using one explicit action."},"id":"LibTmux::Model::ClientRef.refresh","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"refresh","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.refresh","signatures":[{"params":[{"default":"'all'","keywordOnly":true,"name":"$part","optional":true,"type":"Str:D"},{"default":"Positive","keywordOnly":true,"name":"$amount","optional":true,"type":"Positive"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method refresh(Str:D :$part = 'all', Positive :$amount = Positive,\n *%operation --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Types::Positive"},{"end":65,"start":57,"target":"LibTmux::Types::Positive"},{"end":110,"start":102,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"refresh","declaration":true},{"text":"(Str:D :$part = 'all', "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$amount = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":",\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":299,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-refresh"},{"apiScope":"exported","doc":{"body":"Compare captured identities without checking whether the client remains attached.","summary":"Compare captured identities without checking whether the client remains attached."},"id":"LibTmux::Model::ClientRef.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false}],"raw":"method same-entity($other --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"($other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":587,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-same-entity"},{"apiScope":"exported","doc":{"body":"Suspend the client's terminal process through tmux.","summary":"Suspend the client's terminal process through tmux."},"id":"LibTmux::Model::ClientRef.suspend","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"suspend","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.suspend","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method suspend(*%operation --> Result:D)","references":[{"end":39,"start":31,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"suspend","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":318,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-suspend"},{"apiScope":"exported","doc":{"body":"Switch session by ID. Updating the session environment is opt-in.","summary":"Switch session by ID. Updating the session environment is opt-in."},"id":"LibTmux::Model::ClientRef.switch","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"switch","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.switch","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionId:D"},{"default":"False","keywordOnly":true,"name":"$update-environment","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$keep-zoom","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method switch(SessionId:D $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> Result:D)","references":[{"end":25,"start":14,"target":"LibTmux::Types::SessionId"},{"end":143,"start":135,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"switch","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":328,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-switch"},{"apiScope":"exported","doc":{"body":"Switch relative to this client's current/previous session.","summary":"Switch relative to this client's current/previous session."},"id":"LibTmux::Model::ClientRef.switch-relative","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"switch-relative","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.switch-relative","signatures":[{"params":[{"keywordOnly":false,"name":"$direction","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method switch-relative(Str:D $direction, *%operation --> Result:D)","references":[{"end":65,"start":57,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"switch-relative","declaration":true},{"text":"(Str:D $direction, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":344,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-switch-relative"},{"apiScope":"exported","doc":{"body":"Toggle read-only and ignore-size flags while retaining the observed session.","summary":"Toggle read-only and ignore-size flags while retaining the observed session."},"id":"LibTmux::Model::ClientRef.toggle-read-only","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"toggle-read-only","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.toggle-read-only","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method toggle-read-only(*%operation --> Result:D)","references":[{"end":48,"start":40,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":23,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"toggle-read-only","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":353,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-toggle-read-only"},{"apiScope":"exported","doc":{"body":"Replayable typed client membership with local filtering.","summary":"Replayable typed client membership with local filtering."},"id":"LibTmux::Model::ClientSelection","kind":"class","modifiers":[],"name":"ClientSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::ClientSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":968,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::ClientSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::ClientSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::ClientSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::ClientSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::ClientSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-list-1pg8"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::ClientSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::ClientSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::ClientSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::ClientSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::ClientSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::ClientSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::ClientSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::ClientSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::ClientSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::ClientSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::ClientSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-list-pvya"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::ClientSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::ClientSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::ClientSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::ClientSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::ClientSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::ClientSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::ClientSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-where"},{"apiScope":"exported","doc":{"body":"Captured pane fields and its local physical-window relationship.","summary":"Captured pane fields and its local physical-window relationship."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Pane","kind":"class","modifiers":[],"name":"Pane","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Pane","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":942,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane"},{"apiScope":"exported","doc":{"body":"Captured pane_active; local bool access.","summary":"Captured pane_active; local bool access."},"id":"LibTmux::Model::Pane.active","kind":"method","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.active","signatures":[{"params":[],"raw":"method active(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"active","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":80,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-active"},{"apiScope":"exported","doc":{"body":"Captured pane_at_bottom; local bool access.","summary":"Captured pane_at_bottom; local bool access."},"id":"LibTmux::Model::Pane.at-bottom","kind":"method","modifiers":[],"name":"at-bottom","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.at-bottom","signatures":[{"params":[],"raw":"method at-bottom(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-bottom","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":136,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-at-bottom"},{"apiScope":"exported","doc":{"body":"Captured pane_at_left; local bool access.","summary":"Captured pane_at_left; local bool access."},"id":"LibTmux::Model::Pane.at-left","kind":"method","modifiers":[],"name":"at-left","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.at-left","signatures":[{"params":[],"raw":"method at-left(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-left","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":138,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-at-left"},{"apiScope":"exported","doc":{"body":"Captured pane_at_right; local bool access.","summary":"Captured pane_at_right; local bool access."},"id":"LibTmux::Model::Pane.at-right","kind":"method","modifiers":[],"name":"at-right","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.at-right","signatures":[{"params":[],"raw":"method at-right(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-right","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":140,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-at-right"},{"apiScope":"exported","doc":{"body":"Captured pane_at_top; local bool access.","summary":"Captured pane_at_top; local bool access."},"id":"LibTmux::Model::Pane.at-top","kind":"method","modifiers":[],"name":"at-top","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.at-top","signatures":[{"params":[],"raw":"method at-top(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-top","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":134,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-at-top"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Pane.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Pane.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-clone"},{"apiScope":"exported","doc":{"body":"Captured pane_command_running; local bool access.","summary":"Captured pane_command_running; local bool access."},"id":"LibTmux::Model::Pane.command-running","kind":"method","modifiers":[],"name":"command-running","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.command-running","signatures":[{"params":[],"raw":"method command-running(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command-running","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":130,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-command-running"},{"apiScope":"exported","doc":{"body":"Captured pane_command_status; local int access.","summary":"Captured pane_command_status; local int access."},"id":"LibTmux::Model::Pane.command-status","kind":"method","modifiers":[],"name":"command-status","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.command-status","signatures":[{"params":[],"raw":"method command-status(--> Int)","references":[],"returns":"Int","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command-status","declaration":true},{"text":"(--> Int)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":132,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-command-status"},{"apiScope":"exported","doc":{"body":"Captured pane_current_command; local text access.","summary":"Captured pane_current_command; local text access."},"id":"LibTmux::Model::Pane.current-command","kind":"method","modifiers":[],"name":"current-command","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.current-command","signatures":[{"params":[],"raw":"method current-command(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"current-command","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":96,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-current-command"},{"apiScope":"exported","doc":{"body":"Captured pane_current_path; local text access.","summary":"Captured pane_current_path; local text access."},"id":"LibTmux::Model::Pane.current-path","kind":"method","modifiers":[],"name":"current-path","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.current-path","signatures":[{"params":[],"raw":"method current-path(--> Str)","references":[],"returns":"Str","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"current-path","declaration":true},{"text":"(--> Str)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":98,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-current-path"},{"apiScope":"exported","doc":{"body":"Captured pane_dead; local bool access.","summary":"Captured pane_dead; local bool access."},"id":"LibTmux::Model::Pane.dead","kind":"method","modifiers":[],"name":"dead","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.dead","signatures":[{"params":[],"raw":"method dead(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"dead","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":104,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-dead"},{"apiScope":"exported","doc":{"body":"Captured pane_dead_signal; local text access.","summary":"Captured pane_dead_signal; local text access."},"id":"LibTmux::Model::Pane.dead-signal","kind":"method","modifiers":[],"name":"dead-signal","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.dead-signal","signatures":[{"params":[],"raw":"method dead-signal(--> Str)","references":[],"returns":"Str","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"dead-signal","declaration":true},{"text":"(--> Str)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":108,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-dead-signal"},{"apiScope":"exported","doc":{"body":"Captured pane_dead_status; local uint access.","summary":"Captured pane_dead_status; local uint access."},"id":"LibTmux::Model::Pane.dead-status","kind":"method","modifiers":[],"name":"dead-status","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.dead-status","signatures":[{"params":[],"raw":"method dead-status(--> Count)","references":[{"end":28,"start":23,"target":"LibTmux::Types::Count"}],"returns":"Count","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"dead-status","declaration":true},{"text":"(--> "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":106,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-dead-status"},{"apiScope":"exported","doc":{"body":"Captured pane_dead_time; local uint access.","summary":"Captured pane_dead_time; local uint access."},"id":"LibTmux::Model::Pane.dead-time","kind":"method","modifiers":[],"name":"dead-time","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.dead-time","signatures":[{"params":[],"raw":"method dead-time(--> Count)","references":[{"end":26,"start":21,"target":"LibTmux::Types::Count"}],"returns":"Count","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"dead-time","declaration":true},{"text":"(--> "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":110,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-dead-time"},{"apiScope":"exported","doc":{"body":"Captured pane_floating_flag; local bool access.","summary":"Captured pane_floating_flag; local bool access."},"id":"LibTmux::Model::Pane.floating","kind":"method","modifiers":[],"name":"floating","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.floating","signatures":[{"params":[],"raw":"method floating(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"floating","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":120,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-floating"},{"apiScope":"exported","doc":{"body":"Captured pane_height; local uint access.","summary":"Captured pane_height; local uint access."},"id":"LibTmux::Model::Pane.height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.height","signatures":[{"params":[],"raw":"method height(--> Count:D)","references":[{"end":25,"start":18,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"height","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":84,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-height"},{"apiScope":"exported","doc":{"body":"Captured pane_id; local pane-id access.","summary":"Captured pane_id; local pane-id access."},"id":"LibTmux::Model::Pane.id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.id","signatures":[{"params":[],"raw":"method id(--> PaneId:D)","references":[{"end":22,"start":14,"target":"LibTmux::Types::PaneId"}],"returns":"PaneId:D","nativeSyntax":[{"start":7,"end":9,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"id","declaration":true},{"text":"(--> "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-id"},{"apiScope":"exported","doc":{"body":"Captured pane_in_mode; local uint access.","summary":"Captured pane_in_mode; local uint access."},"id":"LibTmux::Model::Pane.in-mode","kind":"method","modifiers":[],"name":"in-mode","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.in-mode","signatures":[{"params":[],"raw":"method in-mode(--> Count:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"in-mode","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":112,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-in-mode"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Pane.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-incarnation"},{"apiScope":"exported","doc":{"body":"Captured pane_index; local uint access.","summary":"Captured pane_index; local uint access."},"id":"LibTmux::Model::Pane.index","kind":"method","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.index","signatures":[{"params":[],"raw":"method index(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"index","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-index"},{"apiScope":"exported","doc":{"body":"Captured pane_left; local uint access.","summary":"Captured pane_left; local uint access."},"id":"LibTmux::Model::Pane.left","kind":"method","modifiers":[],"name":"left","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.left","signatures":[{"params":[],"raw":"method left(--> Count:D)","references":[{"end":23,"start":16,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"left","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":86,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-left"},{"apiScope":"exported","doc":{"body":"Captured pane_modal_flag; local bool access.","summary":"Captured pane_modal_flag; local bool access."},"id":"LibTmux::Model::Pane.modal","kind":"method","modifiers":[],"name":"modal","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.modal","signatures":[{"params":[],"raw":"method modal(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"modal","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":122,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-modal"},{"apiScope":"exported","doc":{"body":"Captured pane_mode; local text access.","summary":"Captured pane_mode; local text access."},"id":"LibTmux::Model::Pane.mode","kind":"method","modifiers":[],"name":"mode","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.mode","signatures":[{"params":[],"raw":"method mode(--> Str)","references":[],"returns":"Str","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"mode","declaration":true},{"text":"(--> Str)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":114,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-mode"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Pane.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-new"},{"apiScope":"exported","doc":{"body":"Captured pane_pid; local uint access.","summary":"Captured pane_pid; local uint access."},"id":"LibTmux::Model::Pane.pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.pid","signatures":[{"params":[],"raw":"method pid(--> Count)","references":[{"end":20,"start":15,"target":"LibTmux::Types::Count"}],"returns":"Count","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pid","declaration":true},{"text":"(--> "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-pid"},{"apiScope":"exported","doc":{"body":"Captured pane_pipe; local bool access.","summary":"Captured pane_pipe; local bool access."},"id":"LibTmux::Model::Pane.pipe","kind":"method","modifiers":[],"name":"pipe","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.pipe","signatures":[{"params":[],"raw":"method pipe(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pipe","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-pipe"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Pane.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Pane.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Pane.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-same-entity"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Pane.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-snapshot"},{"apiScope":"exported","doc":{"body":"Captured pane_start_command; local text access.","summary":"Captured pane_start_command; local text access."},"id":"LibTmux::Model::Pane.start-command","kind":"method","modifiers":[],"name":"start-command","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.start-command","signatures":[{"params":[],"raw":"method start-command(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"start-command","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":100,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-start-command"},{"apiScope":"exported","doc":{"body":"Captured pane_start_path; local text access.","summary":"Captured pane_start_path; local text access."},"id":"LibTmux::Model::Pane.start-path","kind":"method","modifiers":[],"name":"start-path","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.start-path","signatures":[{"params":[],"raw":"method start-path(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"start-path","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":102,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-start-path"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Pane.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-state"},{"apiScope":"exported","doc":{"body":"Captured pane_synchronized; local bool access.","summary":"Captured pane_synchronized; local bool access."},"id":"LibTmux::Model::Pane.synchronized","kind":"method","modifiers":[],"name":"synchronized","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.synchronized","signatures":[{"params":[],"raw":"method synchronized(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"synchronized","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":118,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-synchronized"},{"apiScope":"exported","doc":{"body":"Captured pane_title; local text access.","summary":"Captured pane_title; local text access."},"id":"LibTmux::Model::Pane.title","kind":"method","modifiers":[],"name":"title","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.title","signatures":[{"params":[],"raw":"method title(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"title","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-title"},{"apiScope":"exported","doc":{"body":"Captured pane_top; local uint access.","summary":"Captured pane_top; local uint access."},"id":"LibTmux::Model::Pane.top","kind":"method","modifiers":[],"name":"top","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.top","signatures":[{"params":[],"raw":"method top(--> Count:D)","references":[{"end":22,"start":15,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"top","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-top"},{"apiScope":"exported","doc":{"body":"Captured pane_tty; local text access.","summary":"Captured pane_tty; local text access."},"id":"LibTmux::Model::Pane.tty","kind":"method","modifiers":[],"name":"tty","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.tty","signatures":[{"params":[],"raw":"method tty(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"tty","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":92,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-tty"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Pane.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-value"},{"apiScope":"exported","doc":{"body":"Captured pane_width; local uint access.","summary":"Captured pane_width; local uint access."},"id":"LibTmux::Model::Pane.width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.width","signatures":[{"params":[],"raw":"method width(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"width","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":82,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-width"},{"apiScope":"exported","doc":{"body":"The observed physical window, resolved without I/O.","summary":"The observed physical window, resolved without I/O."},"id":"LibTmux::Model::Pane.window","kind":"method","modifiers":[],"name":"window","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.window","signatures":[{"params":[],"raw":"method window(--> Window:D)","references":[{"end":26,"start":18,"target":"LibTmux::Model::Window"}],"returns":"Window:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window","declaration":true},{"text":"(--> "},{"text":"Window:D","target":"LibTmux::Model::Window"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":944,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-window"},{"apiScope":"exported","doc":{"body":"Captured window_id; local window-id access.","summary":"Captured window_id; local window-id access."},"id":"LibTmux::Model::Pane.window-id","kind":"method","modifiers":[],"name":"window-id","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.window-id","signatures":[{"params":[],"raw":"method window-id(--> WindowId:D)","references":[{"end":31,"start":21,"target":"LibTmux::Types::WindowId"}],"returns":"WindowId:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window-id","declaration":true},{"text":"(--> "},{"text":"WindowId:D","target":"LibTmux::Types::WindowId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-window-id"},{"apiScope":"exported","doc":{"body":"Captured pane_x; local int access.","summary":"Captured pane_x; local int access."},"id":"LibTmux::Model::Pane.x","kind":"method","modifiers":[],"name":"x","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.x","signatures":[{"params":[],"raw":"method x(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":8,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"x","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":124,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-x"},{"apiScope":"exported","doc":{"body":"Captured pane_y; local int access.","summary":"Captured pane_y; local int access."},"id":"LibTmux::Model::Pane.y","kind":"method","modifiers":[],"name":"y","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.y","signatures":[{"params":[],"raw":"method y(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":8,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"y","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":126,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-y"},{"apiScope":"exported","doc":{"body":"Captured pane_z; local uint access.","summary":"Captured pane_z; local uint access."},"id":"LibTmux::Model::Pane.z","kind":"method","modifiers":[],"name":"z","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.z","signatures":[{"params":[],"raw":"method z(--> Count:D)","references":[{"end":20,"start":13,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":8,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"z","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":128,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-z"},{"apiScope":"exported","doc":{"body":"Value-only command target for a physical pane in one daemon incarnation.","summary":"Value-only command target for a physical pane in one daemon incarnation."},"id":"LibTmux::Model::PaneRef","kind":"class","modifiers":[],"name":"PaneRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::PaneRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":242,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref"},{"apiScope":"exported","doc":{"body":"Move this pane to a new window in an explicit session, returning the reported window ID.","summary":"Move this pane to a new window in an explicit session, returning the reported window ID."},"id":"LibTmux::Model::PaneRef.break","kind":"method","modifiers":[],"name":"break","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.break","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionRef:D"},{"default":"Count","keywordOnly":true,"name":"$index","optional":true},{"keywordOnly":true,"name":"$name","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$from","optional":true,"type":"WindowLinkRef"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"}],"raw":"method break(SessionRef:D $session, :$index = Count, Str :$name,\n WindowLinkRef :$from, Bool :$select = False --> WindowRef:D)","references":[{"end":25,"start":13,"target":"LibTmux::Model::SessionRef"},{"end":51,"start":46,"target":"LibTmux::Types::Count"},{"end":95,"start":82,"target":"LibTmux::Model::WindowLinkRef"},{"end":141,"start":130,"target":"LibTmux::Model::WindowRef"}],"returns":"WindowRef:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"break","declaration":true},{"text":"("},{"text":"SessionRef:D","target":"LibTmux::Model::SessionRef"},{"text":" $session, :$index = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":", Str :$name,\n "},{"text":"WindowLinkRef","target":"LibTmux::Model::WindowLinkRef"},{"text":" :$from, Bool :$select = False --> "},{"text":"WindowRef:D","target":"LibTmux::Model::WindowRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":406,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-break"},{"apiScope":"exported","doc":{"body":"Acquire screen/history bytes with explicit bounds and whitespace options.","summary":"Acquire screen/history bytes with explicit bounds and whitespace options."},"id":"LibTmux::Model::PaneRef.capture","kind":"method","modifiers":[],"name":"capture","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.capture","signatures":[{"params":[{"keywordOnly":true,"name":"$start","optional":true,"type":"Int"},{"keywordOnly":true,"name":"$end","optional":true,"type":"Int"},{"default":"False","keywordOnly":true,"name":"$history","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$join-wrapped","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$escape-sequences","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$escape-controls","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$alternate","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$trailing-spaces","optional":true,"type":"Bool"}],"raw":"method capture(Int :$start, Int :$end, Bool :$history = False,\n Bool :$join-wrapped = False, Bool :$escape-sequences = False,\n Bool :$escape-controls = False, Bool :$alternate = False,\n Bool :$trailing-spaces = False --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capture","declaration":true},{"text":"(Int :$start, Int :$end, Bool :$history = False,\n Bool :$join-wrapped = False, Bool :$escape-sequences = False,\n Bool :$escape-controls = False, Bool :$alternate = False,\n Bool :$trailing-spaces = False --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":257,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-capture"},{"apiScope":"exported","doc":{"body":"Acquire incomplete terminal escape input as bytes, separate from screen capture.","summary":"Acquire incomplete terminal escape input as bytes, separate from screen capture."},"id":"LibTmux::Model::PaneRef.capture-pending","kind":"method","modifiers":[],"name":"capture-pending","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.capture-pending","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$escape-controls","optional":true,"type":"Bool"}],"raw":"method capture-pending(Bool :$escape-controls = False --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capture-pending","declaration":true},{"text":"(Bool :$escape-controls = False --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":274,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-capture-pending"},{"apiScope":"exported","doc":{"body":"Discard scrollback; visible screen contents and application state are unaffected.","summary":"Discard scrollback; visible screen contents and application state are unaffected."},"id":"LibTmux::Model::PaneRef.clear-history","kind":"method","modifiers":[],"name":"clear-history","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.clear-history","signatures":[{"params":[],"raw":"method clear-history(--> Result:D)","references":[{"end":33,"start":25,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clear-history","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":465,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-clear-history"},{"apiScope":"exported","doc":{"body":"Enter tmux's clock mode for this pane.","summary":"Enter tmux's clock mode for this pane."},"id":"LibTmux::Model::PaneRef.clock-mode","kind":"method","modifiers":[],"name":"clock-mode","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.clock-mode","signatures":[{"params":[],"raw":"method clock-mode(--> Result:D)","references":[{"end":30,"start":22,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clock-mode","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":485,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-clock-mode"},{"apiScope":"exported","doc":{"body":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics.","summary":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics."},"id":"LibTmux::Model::PaneRef.command","kind":"method","modifiers":["overload","overload","overload"],"name":"command","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.command","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method command(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"(|operation)"}]},{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"Blob.new","keywordOnly":true,"name":"$stdin","optional":true,"type":"Blob:D"}],"raw":"method command(Invocation:D $command, Blob:D :$stdin = Blob.new --> Result:D)","references":[{"end":27,"start":15,"target":"LibTmux::Command::Invocation"},{"end":76,"start":68,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Blob:D :$stdin = Blob.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-command"},{"apiScope":"exported","doc":{"body":"Dispatch a native copy-mode command with separate argument values.","summary":"Dispatch a native copy-mode command with separate argument values."},"id":"LibTmux::Model::PaneRef.copy-command","kind":"method","modifiers":[],"name":"copy-command","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.copy-command","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"@arguments","optional":false}],"raw":"method copy-command(Str:D $command, *@arguments --> Result:D)","references":[{"end":60,"start":52,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"copy-command","declaration":true},{"text":"(Str:D $command, *@arguments --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":481,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-copy-command"},{"apiScope":"exported","doc":{"body":"Enter copy mode, optionally paging upward or exiting when scrolling to the bottom.","summary":"Enter copy mode, optionally paging upward or exiting when scrolling to the bottom."},"id":"LibTmux::Model::PaneRef.copy-mode","kind":"method","modifiers":[],"name":"copy-mode","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.copy-mode","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$page-up","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$exit-at-bottom","optional":true,"type":"Bool"}],"raw":"method copy-mode(Bool :$page-up = False, Bool :$exit-at-bottom = False --> Result:D)","references":[{"end":83,"start":75,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"copy-mode","declaration":true},{"text":"(Bool :$page-up = False, Bool :$exit-at-bottom = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":476,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-copy-mode"},{"apiScope":"exported","doc":{"body":"Return the registered entity schema without I/O.","summary":"Return the registered entity schema without I/O."},"id":"LibTmux::Model::PaneRef.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":71,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-entity"},{"apiScope":"exported","doc":{"body":"Convert this tile into a floating pane with explicit dimensions.","summary":"Convert this tile into a floating pane with explicit dimensions."},"id":"LibTmux::Model::PaneRef.float","kind":"method","modifiers":[],"name":"float","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.float","signatures":[{"params":[{"keywordOnly":true,"name":"$width","optional":false,"type":"Positive:D"},{"keywordOnly":true,"name":"$height","optional":false,"type":"Positive:D"},{"keywordOnly":true,"name":"$x","optional":true,"type":"Int"},{"keywordOnly":true,"name":"$y","optional":true,"type":"Int"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"}],"raw":"method float(Positive:D :$width!, Positive:D :$height!, Int :$x, Int :$y,\n Bool :$select = False --> Result:D)","references":[{"end":23,"start":13,"target":"LibTmux::Types::Positive"},{"end":44,"start":34,"target":"LibTmux::Types::Positive"},{"end":125,"start":117,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"float","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$width!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$height!, Int :$x, Int :$y,\n Bool :$select = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":391,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-float"},{"apiScope":"exported","doc":{"body":"Construct a value-only hook facade; its reads and writes are explicit operations.","summary":"Construct a value-only hook facade; its reads and writes are explicit operations."},"id":"LibTmux::Model::PaneRef.hooks","kind":"method","modifiers":[],"name":"hooks","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.hooks","signatures":[{"params":[],"raw":"method hooks(--> Hooks:D)","references":[{"end":24,"start":17,"target":"LibTmux::Configuration::Hooks"}],"returns":"Hooks:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"hooks","declaration":true},{"text":"(--> "},{"text":"Hooks:D","target":"LibTmux::Configuration::Hooks"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":79,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-hooks"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph and require exactly one observed entity with this ID.","summary":"Acquire a fresh graph and require exactly one observed entity with this ID."},"id":"LibTmux::Model::PaneRef.inspect","kind":"method","modifiers":["overload","overload","overload"],"name":"inspect","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.inspect","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method inspect(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(|operation)"}]},{"params":[],"raw":"method inspect(--> View:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"View:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(--> "},{"text":"View:D","target":"LibTmux::Model::View"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-inspect"},{"apiScope":"exported","doc":{"body":"Move this pane into the target's split tree; its scoped ID remains unchanged.","summary":"Move this pane into the target's split tree; its scoped ID remains unchanged."},"id":"LibTmux::Model::PaneRef.join","kind":"method","modifiers":[],"name":"join","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.join","signatures":[{"params":[{"keywordOnly":false,"name":"$target","optional":false,"type":"PaneRef:D"},{"default":"False","keywordOnly":true,"name":"$horizontal","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$before","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$full","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"Positive","keywordOnly":true,"name":"$size","optional":true},{"default":"Positive","keywordOnly":true,"name":"$percent","optional":true}],"raw":"method join(PaneRef:D $target, Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False,\n :$size = Positive, :$percent = Positive --> Result:D)","references":[{"end":21,"start":12,"target":"LibTmux::Model::PaneRef"},{"end":174,"start":166,"target":"LibTmux::Types::Positive"},{"end":196,"start":188,"target":"LibTmux::Types::Positive"},{"end":209,"start":201,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"join","declaration":true},{"text":"("},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":" $target, Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False,\n :$size = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$percent = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":354,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-join"},{"apiScope":"exported","doc":{"body":"Destroy the addressed entity; retained observations remain unchanged.","summary":"Destroy the addressed entity; retained observations remain unchanged."},"id":"LibTmux::Model::PaneRef.kill","kind":"method","modifiers":[],"name":"kill","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.kill","signatures":[{"params":[],"raw":"method kill(--> Result:D)","references":[{"end":24,"start":16,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"kill","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":495,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-kill"},{"apiScope":"exported","doc":{"body":"Move this pane beside an explicit pane target without changing its ID.","summary":"Move this pane beside an explicit pane target without changing its ID."},"id":"LibTmux::Model::PaneRef.move","kind":"method","modifiers":[],"name":"move","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.move","signatures":[{"params":[{"keywordOnly":false,"name":"$target","optional":false,"type":"PaneRef:D"},{"default":"False","keywordOnly":true,"name":"$horizontal","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$before","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$full","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"Positive","keywordOnly":true,"name":"$size","optional":true},{"default":"Positive","keywordOnly":true,"name":"$percent","optional":true}],"raw":"method move(PaneRef:D $target, Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False,\n :$size = Positive, :$percent = Positive --> Result:D)","references":[{"end":21,"start":12,"target":"LibTmux::Model::PaneRef"},{"end":174,"start":166,"target":"LibTmux::Types::Positive"},{"end":196,"start":188,"target":"LibTmux::Types::Positive"},{"end":209,"start":201,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"move","declaration":true},{"text":"("},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":" $target, Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False,\n :$size = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$percent = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":360,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-move"},{"apiScope":"exported","doc":{"body":"Move a floating pane to explicit coordinates in the supported profile.","summary":"Move a floating pane to explicit coordinates in the supported profile."},"id":"LibTmux::Model::PaneRef.move-floating","kind":"method","modifiers":[],"name":"move-floating","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.move-floating","signatures":[{"params":[{"keywordOnly":true,"name":"$x","optional":true,"type":"Int"},{"keywordOnly":true,"name":"$y","optional":true,"type":"Int"}],"raw":"method move-floating(Int :$x, Int :$y --> Result:D)","references":[{"end":50,"start":42,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"move-floating","declaration":true},{"text":"(Int :$x, Int :$y --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":366,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-move-floating"},{"apiScope":"exported","doc":{"body":"Create a floating pane. Modal input ownership requires the modal capability.","summary":"Create a floating pane. Modal input ownership requires the modal capability."},"id":"LibTmux::Model::PaneRef.new-floating","kind":"method","modifiers":[],"name":"new-floating","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.new-floating","signatures":[{"params":[{"keywordOnly":true,"name":"$width","optional":false,"type":"Positive:D"},{"keywordOnly":true,"name":"$height","optional":false,"type":"Positive:D"},{"keywordOnly":true,"name":"$x","optional":true,"type":"Int"},{"keywordOnly":true,"name":"$y","optional":true,"type":"Int"},{"default":"False","keywordOnly":true,"name":"$modal","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$empty","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method new-floating(Positive:D :$width!, Positive:D :$height!, Int :$x, Int :$y,\n Bool :$modal = False, Bool :$select = False,\n Str :$directory, Str :$shell-command, Bool :$empty = False,\n Associative:D :$environment = Map.new --> PaneRef:D)","references":[{"end":30,"start":20,"target":"LibTmux::Types::Positive"},{"end":51,"start":41,"target":"LibTmux::Types::Positive"},{"end":309,"start":300,"target":"LibTmux::Model::PaneRef"}],"returns":"PaneRef:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new-floating","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$width!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$height!, Int :$x, Int :$y,\n Bool :$modal = False, Bool :$select = False,\n Str :$directory, Str :$shell-command, Bool :$empty = False,\n Associative:D :$environment = Map.new --> "},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":298,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-new-floating"},{"apiScope":"exported","doc":{"body":"Construct a value-only option facade scoped to this captured identity.","summary":"Construct a value-only option facade scoped to this captured identity."},"id":"LibTmux::Model::PaneRef.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.options","signatures":[{"params":[],"raw":"method options(--> Options:D)","references":[{"end":28,"start":19,"target":"LibTmux::Configuration::Options"}],"returns":"Options:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(--> "},{"text":"Options:D","target":"LibTmux::Configuration::Options"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-options"},{"apiScope":"exported","doc":{"body":"The pipe command deliberately uses tmux's FORMAT and strftime shell-command syntax.","summary":"The pipe command deliberately uses tmux's FORMAT and strftime shell-command syntax."},"id":"LibTmux::Model::PaneRef.pipe","kind":"method","modifiers":[],"name":"pipe","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.pipe","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$input","optional":true,"type":"Bool"},{"default":"True","keywordOnly":true,"name":"$output","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$toggle","optional":true,"type":"Bool"}],"raw":"method pipe(Str :$shell-command, Bool :$input = False, Bool :$output = True,\n Bool :$toggle = False --> Result:D)","references":[{"end":127,"start":119,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pipe","declaration":true},{"text":"(Str :$shell-command, Bool :$input = False, Bool :$output = True,\n Bool :$toggle = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":487,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-pipe"},{"apiScope":"exported","doc":{"body":"Reset terminal state and clear history in one tmux queue; failure can leave partial effects.","summary":"Reset terminal state and clear history in one tmux queue; failure can leave partial effects."},"id":"LibTmux::Model::PaneRef.reset","kind":"method","modifiers":[],"name":"reset","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.reset","signatures":[{"params":[],"raw":"method reset(--> Result:D)","references":[{"end":25,"start":17,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"reset","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":469,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-reset"},{"apiScope":"exported","doc":{"body":"Reset tmux's terminal state for this pane; this does not restart its process.","summary":"Reset tmux's terminal state for this pane; this does not restart its process."},"id":"LibTmux::Model::PaneRef.reset-terminal","kind":"method","modifiers":[],"name":"reset-terminal","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.reset-terminal","signatures":[{"params":[],"raw":"method reset-terminal(--> Result:D)","references":[{"end":34,"start":26,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"reset-terminal","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":467,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-reset-terminal"},{"apiScope":"exported","doc":{"body":"Set absolute dimensions or adjust one direction; these forms cannot be mixed.","summary":"Set absolute dimensions or adjust one direction; these forms cannot be mixed."},"id":"LibTmux::Model::PaneRef.resize","kind":"method","modifiers":[],"name":"resize","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.resize","signatures":[{"params":[{"default":"Positive","keywordOnly":true,"name":"$width","optional":true},{"default":"Positive","keywordOnly":true,"name":"$height","optional":true},{"keywordOnly":true,"name":"$direction","optional":true,"type":"Str"},{"default":"Positive","keywordOnly":true,"name":"$amount","optional":true}],"raw":"method resize(:$width = Positive, :$height = Positive, Str :$direction, :$amount = Positive --> Result:D)","references":[{"end":32,"start":24,"target":"LibTmux::Types::Positive"},{"end":53,"start":45,"target":"LibTmux::Types::Positive"},{"end":91,"start":83,"target":"LibTmux::Types::Positive"},{"end":104,"start":96,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"resize","declaration":true},{"text":"(:$width = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$height = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", Str :$direction, :$amount = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":316,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-resize"},{"apiScope":"exported","doc":{"body":"Restart the target's process; kill must be explicit when replacing a running process.","summary":"Restart the target's process; kill must be explicit when replacing a running process."},"id":"LibTmux::Model::PaneRef.respawn","kind":"method","modifiers":[],"name":"respawn","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.respawn","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$kill","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method respawn(Str :$shell-command, Str :$directory, Bool :$kill = False,\n Associative:D :$environment = Map.new --> Result:D)","references":[{"end":143,"start":135,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"respawn","declaration":true},{"text":"(Str :$shell-command, Str :$directory, Bool :$kill = False,\n Associative:D :$environment = Map.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":339,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-respawn"},{"apiScope":"exported","doc":{"body":"Compare scoped identity without acquiring current state.","summary":"Compare scoped identity without acquiring current state."},"id":"LibTmux::Model::PaneRef.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false}],"raw":"method same-entity($other --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"($other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-same-entity"},{"apiScope":"exported","doc":{"body":"Select the exact pane or verified session-relative window placement.","summary":"Select the exact pane or verified session-relative window placement."},"id":"LibTmux::Model::PaneRef.select","kind":"method","modifiers":[],"name":"select","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.select","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$preserve-zoom","optional":true,"type":"Bool"}],"raw":"method select(Bool :$preserve-zoom = False --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"select","declaration":true},{"text":"(Bool :$preserve-zoom = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":323,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-select"},{"apiScope":"exported","doc":{"body":"Send native key names, repeating them the requested number of times.","summary":"Send native key names, repeating them the requested number of times."},"id":"LibTmux::Model::PaneRef.send-keys","kind":"method","modifiers":[],"name":"send-keys","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.send-keys","signatures":[{"params":[{"keywordOnly":false,"name":"@keys","optional":false},{"default":"1","keywordOnly":true,"name":"$repeat","optional":true,"type":"Positive:D"}],"raw":"method send-keys(*@keys, Positive:D :$repeat = 1 --> Result:D)","references":[{"end":35,"start":25,"target":"LibTmux::Types::Positive"},{"end":61,"start":53,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"send-keys","declaration":true},{"text":"(*@keys, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$repeat = 1 --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":248,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-send-keys"},{"apiScope":"exported","doc":{"body":"Send the configured primary or secondary prefix key to this pane.","summary":"Send the configured primary or secondary prefix key to this pane."},"id":"LibTmux::Model::PaneRef.send-prefix","kind":"method","modifiers":[],"name":"send-prefix","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.send-prefix","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$secondary","optional":true,"type":"Bool"}],"raw":"method send-prefix(Bool :$secondary = False --> Result:D)","references":[{"end":56,"start":48,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"send-prefix","declaration":true},{"text":"(Bool :$secondary = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":253,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-send-prefix"},{"apiScope":"exported","doc":{"body":"Send literal bytes as text without appending Enter.","summary":"Send literal bytes as text without appending Enter."},"id":"LibTmux::Model::PaneRef.send-text","kind":"method","modifiers":[],"name":"send-text","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.send-text","signatures":[{"params":[{"keywordOnly":false,"name":"$text","optional":false,"type":"Str:D"}],"raw":"method send-text(Str:D $text --> Result:D)","references":[{"end":41,"start":33,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"send-text","declaration":true},{"text":"(Str:D $text --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":244,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-send-text"},{"apiScope":"exported","doc":{"body":"Enable or disable delivery of keyboard input to this pane.","summary":"Enable or disable delivery of keyboard input to this pane."},"id":"LibTmux::Model::PaneRef.set-input","kind":"method","modifiers":[],"name":"set-input","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.set-input","signatures":[{"params":[{"keywordOnly":false,"name":"$enabled","optional":false,"type":"Bool:D"}],"raw":"method set-input(Bool:D $enabled --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set-input","declaration":true},{"text":"(Bool:D $enabled --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":331,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-set-input"},{"apiScope":"exported","doc":{"body":"Set title text through one literal FORMAT expansion; tmux title rules still apply.","summary":"Set title text through one literal FORMAT expansion; tmux title rules still apply."},"id":"LibTmux::Model::PaneRef.set-title","kind":"method","modifiers":[],"name":"set-title","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.set-title","signatures":[{"params":[{"keywordOnly":false,"name":"$title","optional":false,"type":"Str:D"}],"raw":"method set-title(Str:D $title --> Result:D)","references":[{"end":42,"start":34,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set-title","declaration":true},{"text":"(Str:D $title --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":327,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-set-title"},{"apiScope":"exported","doc":{"body":"Set a floating pane's nonnegative stacking index.","summary":"Set a floating pane's nonnegative stacking index."},"id":"LibTmux::Model::PaneRef.set-z-index","kind":"method","modifiers":[],"name":"set-z-index","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.set-z-index","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false,"type":"Count:D"}],"raw":"method set-z-index(Count:D $index --> Result:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"},{"end":46,"start":38,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set-z-index","declaration":true},{"text":"("},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":" $index --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":380,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-set-z-index"},{"apiScope":"exported","doc":{"body":"Create a detached split by default, returning the reported pane ID.","summary":"Create a detached split by default, returning the reported pane ID."},"id":"LibTmux::Model::PaneRef.split","kind":"method","modifiers":[],"name":"split","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.split","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$horizontal","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$before","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$full","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$preserve-zoom","optional":true,"type":"Bool"},{"default":"Positive","keywordOnly":true,"name":"$size","optional":true},{"default":"Positive","keywordOnly":true,"name":"$percent","optional":true},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$empty","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method split(Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False, Bool :$preserve-zoom = False,\n :$size = Positive, :$percent = Positive, Str :$directory,\n Str :$shell-command, Bool :$empty = False,\n Associative:D :$environment = Map.new --> PaneRef:D)","references":[{"end":188,"start":180,"target":"LibTmux::Types::Positive"},{"end":210,"start":202,"target":"LibTmux::Types::Positive"},{"end":357,"start":348,"target":"LibTmux::Model::PaneRef"}],"returns":"PaneRef:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"split","declaration":true},{"text":"(Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False, Bool :$preserve-zoom = False,\n :$size = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$percent = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", Str :$directory,\n Str :$shell-command, Bool :$empty = False,\n Associative:D :$environment = Map.new --> "},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":279,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-split"},{"apiScope":"exported","doc":{"body":"Change a floating pane's relative stacking order using a closed placement name.","summary":"Change a floating pane's relative stacking order using a closed placement name."},"id":"LibTmux::Model::PaneRef.stack","kind":"method","modifiers":[],"name":"stack","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.stack","signatures":[{"params":[{"keywordOnly":false,"name":"$placement","optional":false,"type":"Str:D"}],"raw":"method stack(Str:D $placement --> Result:D)","references":[{"end":42,"start":34,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"stack","declaration":true},{"text":"(Str:D $placement --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":373,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-stack"},{"apiScope":"exported","doc":{"body":"Swap the two verified pane identities or session-relative window placements.","summary":"Swap the two verified pane identities or session-relative window placements."},"id":"LibTmux::Model::PaneRef.swap","kind":"method","modifiers":[],"name":"swap","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.swap","signatures":[{"params":[{"keywordOnly":false,"name":"$target","optional":false,"type":"PaneRef:D"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$preserve-zoom","optional":true,"type":"Bool"}],"raw":"method swap(PaneRef:D $target, Bool :$select = False, Bool :$preserve-zoom = False --> Result:D)","references":[{"end":21,"start":12,"target":"LibTmux::Model::PaneRef"},{"end":95,"start":87,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"swap","declaration":true},{"text":"("},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":" $target, Bool :$select = False, Bool :$preserve-zoom = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":399,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-swap"},{"apiScope":"exported","doc":{"body":"Convert this floating pane into a tile while preserving its ID.","summary":"Convert this floating pane into a tile while preserving its ID."},"id":"LibTmux::Model::PaneRef.tile","kind":"method","modifiers":[],"name":"tile","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.tile","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"}],"raw":"method tile(Bool :$select = False --> Result:D)","references":[{"end":46,"start":38,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"tile","declaration":true},{"text":"(Bool :$select = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":385,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-tile"},{"apiScope":"exported","doc":{"body":"Toggle the global marked-pane target using this pane.","summary":"Toggle the global marked-pane target using this pane."},"id":"LibTmux::Model::PaneRef.toggle-mark","kind":"method","modifiers":[],"name":"toggle-mark","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.toggle-mark","signatures":[{"params":[],"raw":"method toggle-mark(--> Result:D)","references":[{"end":31,"start":23,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"toggle-mark","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":335,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-toggle-mark"},{"apiScope":"exported","doc":{"body":"Toggle this pane's window zoom state.","summary":"Toggle this pane's window zoom state."},"id":"LibTmux::Model::PaneRef.toggle-zoom","kind":"method","modifiers":[],"name":"toggle-zoom","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.toggle-zoom","signatures":[{"params":[],"raw":"method toggle-zoom(--> Result:D)","references":[{"end":31,"start":23,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"toggle-zoom","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":321,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-toggle-zoom"},{"apiScope":"exported","doc":{"body":"Clear the server's marked pane.","summary":"Clear the server's marked pane."},"id":"LibTmux::Model::PaneRef.unmark","kind":"method","modifiers":[],"name":"unmark","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.unmark","signatures":[{"params":[],"raw":"method unmark(--> Result:D)","references":[{"end":26,"start":18,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unmark","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":337,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-unmark"},{"apiScope":"exported","doc":{"body":"Replayable typed pane membership with local filtering.","summary":"Replayable typed pane membership with local filtering."},"id":"LibTmux::Model::PaneSelection","kind":"class","modifiers":[],"name":"PaneSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::PaneSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":966,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::PaneSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::PaneSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::PaneSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::PaneSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::PaneSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-list-11q6"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::PaneSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::PaneSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::PaneSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::PaneSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::PaneSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::PaneSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::PaneSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::PaneSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::PaneSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::PaneSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::PaneSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-list-25wl"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::PaneSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::PaneSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::PaneSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::PaneSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::PaneSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::PaneSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::PaneSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-where"},{"apiScope":"exported","doc":{"body":"Captured session with local window-link and group relationships.","summary":"Captured session with local window-link and group relationships."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Session","kind":"class","modifiers":[],"name":"Session","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Session","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":910,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session"},{"apiScope":"exported","doc":{"body":"Captured session_activity; local uint access.","summary":"Captured session_activity; local uint access."},"id":"LibTmux::Model::Session.activity","kind":"method","modifiers":[],"name":"activity","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.activity","signatures":[{"params":[],"raw":"method activity(--> Count:D)","references":[{"end":27,"start":20,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"activity","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-activity"},{"apiScope":"exported","doc":{"body":"Captured session_attached; local uint access.","summary":"Captured session_attached; local uint access."},"id":"LibTmux::Model::Session.attached-count","kind":"method","modifiers":[],"name":"attached-count","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.attached-count","signatures":[{"params":[],"raw":"method attached-count(--> Count:D)","references":[{"end":33,"start":26,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"attached-count","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-attached-count"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Session.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Session.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-clone"},{"apiScope":"exported","doc":{"body":"Captured session_created; local uint access.","summary":"Captured session_created; local uint access."},"id":"LibTmux::Model::Session.created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.created","signatures":[{"params":[],"raw":"method created(--> Count:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"created","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-created"},{"apiScope":"exported","doc":{"body":"The session-relative active window placement in this observation.","summary":"The session-relative active window placement in this observation."},"id":"LibTmux::Model::Session.current-link","kind":"method","modifiers":[],"name":"current-link","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.current-link","signatures":[{"params":[],"raw":"method current-link(--> WindowLink:D)","references":[{"end":36,"start":24,"target":"LibTmux::Model::WindowLink"}],"returns":"WindowLink:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"current-link","declaration":true},{"text":"(--> "},{"text":"WindowLink:D","target":"LibTmux::Model::WindowLink"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":914,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-current-link"},{"apiScope":"exported","doc":{"body":"Observed session group, or Nil when the session is known to be ungrouped.","summary":"Observed session group, or Nil when the session is known to be ungrouped."},"id":"LibTmux::Model::Session.group","kind":"method","modifiers":[],"name":"group","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.group","signatures":[{"params":[],"raw":"method group(--> SessionGroup)","references":[{"end":29,"start":17,"target":"LibTmux::Model::SessionGroup"}],"returns":"SessionGroup","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"group","declaration":true},{"text":"(--> "},{"text":"SessionGroup","target":"LibTmux::Model::SessionGroup"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":916,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-group"},{"apiScope":"exported","doc":{"body":"Captured session_group; local text access.","summary":"Captured session_group; local text access."},"id":"LibTmux::Model::Session.group-name","kind":"method","modifiers":[],"name":"group-name","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.group-name","signatures":[{"params":[],"raw":"method group-name(--> Str)","references":[],"returns":"Str","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"group-name","declaration":true},{"text":"(--> Str)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-group-name"},{"apiScope":"exported","doc":{"body":"Captured session_grouped; local bool access.","summary":"Captured session_grouped; local bool access."},"id":"LibTmux::Model::Session.grouped","kind":"method","modifiers":[],"name":"grouped","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.grouped","signatures":[{"params":[],"raw":"method grouped(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grouped","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-grouped"},{"apiScope":"exported","doc":{"body":"Captured session_id; local session-id access.","summary":"Captured session_id; local session-id access."},"id":"LibTmux::Model::Session.id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.id","signatures":[{"params":[],"raw":"method id(--> SessionId:D)","references":[{"end":25,"start":14,"target":"LibTmux::Types::SessionId"}],"returns":"SessionId:D","nativeSyntax":[{"start":7,"end":9,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"id","declaration":true},{"text":"(--> "},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":11,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-id"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Session.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-incarnation"},{"apiScope":"exported","doc":{"body":"Captured session_name; local text access.","summary":"Captured session_name; local text access."},"id":"LibTmux::Model::Session.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":13,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Session.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-new"},{"apiScope":"exported","doc":{"body":"Captured session_path; local text access.","summary":"Captured session_path; local text access."},"id":"LibTmux::Model::Session.path","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.path","signatures":[{"params":[],"raw":"method path(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"path","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":23,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-path"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Session.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Session.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Session.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-same-entity"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Session.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Session.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Session.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-value"},{"apiScope":"exported","doc":{"body":"Captured session/index associations, including repeated links to one physical window.","summary":"Captured session/index associations, including repeated links to one physical window."},"id":"LibTmux::Model::Session.window-links","kind":"method","modifiers":[],"name":"window-links","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.window-links","signatures":[{"params":[],"raw":"method window-links(--> WindowLinkSelection:D)","references":[{"end":45,"start":24,"target":"LibTmux::Model::WindowLinkSelection"}],"returns":"WindowLinkSelection:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window-links","declaration":true},{"text":"(--> "},{"text":"WindowLinkSelection:D","target":"LibTmux::Model::WindowLinkSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":912,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-window-links"},{"apiScope":"exported","doc":{"body":"Captured session_windows; local uint access.","summary":"Captured session_windows; local uint access."},"id":"LibTmux::Model::Session.windows-count","kind":"method","modifiers":[],"name":"windows-count","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.windows-count","signatures":[{"params":[],"raw":"method windows-count(--> Count:D)","references":[{"end":32,"start":25,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"windows-count","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":15,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-windows-count"},{"apiScope":"exported","doc":{"body":"Captured session group whose members are resolved within this graph.","summary":"Captured session group whose members are resolved within this graph."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::SessionGroup","kind":"class","modifiers":[],"name":"SessionGroup","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::SessionGroup","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":952,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup"},{"apiScope":"exported","doc":{"body":"Captured session_group_attached; local uint access.","summary":"Captured session_group_attached; local uint access."},"id":"LibTmux::Model::SessionGroup.attached-count","kind":"method","modifiers":[],"name":"attached-count","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.attached-count","signatures":[{"params":[],"raw":"method attached-count(--> Count:D)","references":[{"end":33,"start":26,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"attached-count","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":178,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-attached-count"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::SessionGroup.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::SessionGroup.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-clone"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::SessionGroup.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-incarnation"},{"apiScope":"exported","doc":{"body":"Captured session_group; local text access.","summary":"Captured session_group; local text access."},"id":"LibTmux::Model::SessionGroup.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":174,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::SessionGroup.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-new"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::SessionGroup.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::SessionGroup.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::SessionGroup.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-same-entity"},{"apiScope":"exported","doc":{"body":"Captured sessions in acquisition order; reading performs no I/O.","summary":"Captured sessions in acquisition order; reading performs no I/O."},"id":"LibTmux::Model::SessionGroup.sessions","kind":"method","modifiers":[],"name":"sessions","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.sessions","signatures":[{"params":[],"raw":"method sessions(--> SessionSelection:D)","references":[{"end":38,"start":20,"target":"LibTmux::Model::SessionSelection"}],"returns":"SessionSelection:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sessions","declaration":true},{"text":"(--> "},{"text":"SessionSelection:D","target":"LibTmux::Model::SessionSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":954,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-sessions"},{"apiScope":"exported","doc":{"body":"Captured session_group_size; local uint access.","summary":"Captured session_group_size; local uint access."},"id":"LibTmux::Model::SessionGroup.size","kind":"method","modifiers":[],"name":"size","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.size","signatures":[{"params":[],"raw":"method size(--> Count:D)","references":[{"end":23,"start":16,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"size","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":176,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-size"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::SessionGroup.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::SessionGroup.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::SessionGroup.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-value"},{"apiScope":"exported","doc":{"body":"Replayable typed sessiongroup membership with local filtering.","summary":"Replayable typed sessiongroup membership with local filtering."},"id":"LibTmux::Model::SessionGroupSelection","kind":"class","modifiers":[],"name":"SessionGroupSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::SessionGroupSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":970,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::SessionGroupSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::SessionGroupSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::SessionGroupSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::SessionGroupSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::SessionGroupSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-list-w4pk"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::SessionGroupSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::SessionGroupSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::SessionGroupSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::SessionGroupSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::SessionGroupSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::SessionGroupSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::SessionGroupSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::SessionGroupSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::SessionGroupSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::SessionGroupSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::SessionGroupSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-list-1voz"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::SessionGroupSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::SessionGroupSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::SessionGroupSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::SessionGroupSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::SessionGroupSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::SessionGroupSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::SessionGroupSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-where"},{"apiScope":"exported","doc":{"body":"Value-only command target for a session in one daemon incarnation.","summary":"Value-only command target for a session in one daemon incarnation."},"id":"LibTmux::Model::SessionRef","kind":"class","modifiers":[],"name":"SessionRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::SessionRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":123,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref"},{"apiScope":"exported","doc":{"body":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics.","summary":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics."},"id":"LibTmux::Model::SessionRef.command","kind":"method","modifiers":["overload","overload","overload"],"name":"command","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.command","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method command(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"(|operation)"}]},{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"Blob.new","keywordOnly":true,"name":"$stdin","optional":true,"type":"Blob:D"}],"raw":"method command(Invocation:D $command, Blob:D :$stdin = Blob.new --> Result:D)","references":[{"end":27,"start":15,"target":"LibTmux::Command::Invocation"},{"end":76,"start":68,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Blob:D :$stdin = Blob.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-command"},{"apiScope":"exported","doc":{"body":"Request detachment of clients in this session; acknowledgement is not client exit.","summary":"Request detachment of clients in this session; acknowledgement is not client exit."},"id":"LibTmux::Model::SessionRef.detach-clients","kind":"method","modifiers":[],"name":"detach-clients","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.detach-clients","signatures":[{"params":[],"raw":"method detach-clients(--> Result:D)","references":[{"end":34,"start":26,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"detach-clients","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":167,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-detach-clients"},{"apiScope":"exported","doc":{"body":"Return the registered entity schema without I/O.","summary":"Return the registered entity schema without I/O."},"id":"LibTmux::Model::SessionRef.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":71,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-entity"},{"apiScope":"exported","doc":{"body":"Construct a session environment facade without acquiring current values.","summary":"Construct a session environment facade without acquiring current values."},"id":"LibTmux::Model::SessionRef.environment","kind":"method","modifiers":[],"name":"environment","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.environment","signatures":[{"params":[],"raw":"method environment(--> Environment:D)","references":[{"end":36,"start":23,"target":"LibTmux::Configuration::Environment"}],"returns":"Environment:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"environment","declaration":true},{"text":"(--> "},{"text":"Environment:D","target":"LibTmux::Configuration::Environment"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":125,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-environment"},{"apiScope":"exported","doc":{"body":"Construct a value-only hook facade; its reads and writes are explicit operations.","summary":"Construct a value-only hook facade; its reads and writes are explicit operations."},"id":"LibTmux::Model::SessionRef.hooks","kind":"method","modifiers":[],"name":"hooks","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.hooks","signatures":[{"params":[],"raw":"method hooks(--> Hooks:D)","references":[{"end":24,"start":17,"target":"LibTmux::Configuration::Hooks"}],"returns":"Hooks:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"hooks","declaration":true},{"text":"(--> "},{"text":"Hooks:D","target":"LibTmux::Configuration::Hooks"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":79,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-hooks"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph and require exactly one observed entity with this ID.","summary":"Acquire a fresh graph and require exactly one observed entity with this ID."},"id":"LibTmux::Model::SessionRef.inspect","kind":"method","modifiers":["overload","overload","overload"],"name":"inspect","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.inspect","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method inspect(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(|operation)"}]},{"params":[],"raw":"method inspect(--> View:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"View:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(--> "},{"text":"View:D","target":"LibTmux::Model::View"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-inspect"},{"apiScope":"exported","doc":{"body":"Destroy the addressed entity; retained observations remain unchanged.","summary":"Destroy the addressed entity; retained observations remain unchanged."},"id":"LibTmux::Model::SessionRef.kill","kind":"method","modifiers":[],"name":"kill","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.kill","signatures":[{"params":[],"raw":"method kill(--> Result:D)","references":[{"end":24,"start":16,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"kill","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":169,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-kill"},{"apiScope":"exported","doc":{"body":"Select the session's previous current window.","summary":"Select the session's previous current window."},"id":"LibTmux::Model::SessionRef.last-window","kind":"method","modifiers":[],"name":"last-window","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.last-window","signatures":[{"params":[],"raw":"method last-window(--> Result:D)","references":[{"end":31,"start":23,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"last-window","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":161,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-last-window"},{"apiScope":"exported","doc":{"body":"Ask tmux to lock clients attached to this session.","summary":"Ask tmux to lock clients attached to this session."},"id":"LibTmux::Model::SessionRef.lock","kind":"method","modifiers":[],"name":"lock","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.lock","signatures":[{"params":[],"raw":"method lock(--> Result:D)","references":[{"end":24,"start":16,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"lock","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":165,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-lock"},{"apiScope":"exported","doc":{"body":"Create a window and return its reported identity without refreshing observations.","summary":"Create a window and return its reported identity without refreshing observations."},"id":"LibTmux::Model::SessionRef.new-window","kind":"method","modifiers":[],"name":"new-window","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.new-window","signatures":[{"params":[{"keywordOnly":true,"name":"$name","optional":true,"type":"Str"},{"default":"Count","keywordOnly":true,"name":"$index","optional":true},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$replace","optional":true,"type":"Bool"},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$empty","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method new-window(Str :$name, :$index = Count, Bool :$select = False,\n Bool :$replace = False, Str :$directory, Str :$shell-command,\n Bool :$empty = False, Associative:D :$environment = Map.new --> WindowRef:D)","references":[{"end":45,"start":40,"target":"LibTmux::Types::Count"},{"end":251,"start":240,"target":"LibTmux::Model::WindowRef"}],"returns":"WindowRef:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new-window","declaration":true},{"text":"(Str :$name, :$index = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":", Bool :$select = False,\n Bool :$replace = False, Str :$directory, Str :$shell-command,\n Bool :$empty = False, Associative:D :$environment = Map.new --> "},{"text":"WindowRef:D","target":"LibTmux::Model::WindowRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":135,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-new-window"},{"apiScope":"exported","doc":{"body":"Select the next session window, optionally restricting to activity alerts.","summary":"Select the next session window, optionally restricting to activity alerts."},"id":"LibTmux::Model::SessionRef.next-window","kind":"method","modifiers":[],"name":"next-window","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.next-window","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$activity","optional":true,"type":"Bool"}],"raw":"method next-window(Bool :$activity = False --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"next-window","declaration":true},{"text":"(Bool :$activity = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":153,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-next-window"},{"apiScope":"exported","doc":{"body":"Construct a value-only option facade scoped to this captured identity.","summary":"Construct a value-only option facade scoped to this captured identity."},"id":"LibTmux::Model::SessionRef.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.options","signatures":[{"params":[],"raw":"method options(--> Options:D)","references":[{"end":28,"start":19,"target":"LibTmux::Configuration::Options"}],"returns":"Options:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(--> "},{"text":"Options:D","target":"LibTmux::Configuration::Options"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-options"},{"apiScope":"exported","doc":{"body":"Select the previous session window, optionally restricting to activity alerts.","summary":"Select the previous session window, optionally restricting to activity alerts."},"id":"LibTmux::Model::SessionRef.previous-window","kind":"method","modifiers":[],"name":"previous-window","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.previous-window","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$activity","optional":true,"type":"Bool"}],"raw":"method previous-window(Bool :$activity = False --> Result:D)","references":[{"end":59,"start":51,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"previous-window","declaration":true},{"text":"(Bool :$activity = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":157,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-previous-window"},{"apiScope":"exported","doc":{"body":"Store the exact name; refuse characters or separators the daemon would change.","summary":"Store the exact name; refuse characters or separators the daemon would change."},"id":"LibTmux::Model::SessionRef.rename","kind":"method","modifiers":[],"name":"rename","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.rename","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method rename(Str:D $name --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rename","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":130,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-rename"},{"apiScope":"exported","doc":{"body":"Renumber this session's links; previously captured indices may become stale.","summary":"Renumber this session's links; previously captured indices may become stale."},"id":"LibTmux::Model::SessionRef.renumber-windows","kind":"method","modifiers":[],"name":"renumber-windows","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.renumber-windows","signatures":[{"params":[],"raw":"method renumber-windows(--> Result:D)","references":[{"end":36,"start":28,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":23,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"renumber-windows","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":163,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-renumber-windows"},{"apiScope":"exported","doc":{"body":"Compare scoped identity without acquiring current state.","summary":"Compare scoped identity without acquiring current state."},"id":"LibTmux::Model::SessionRef.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false}],"raw":"method same-entity($other --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"($other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-same-entity"},{"apiScope":"exported","doc":{"body":"Replayable typed session membership with local filtering.","summary":"Replayable typed session membership with local filtering."},"id":"LibTmux::Model::SessionSelection","kind":"class","modifiers":[],"name":"SessionSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::SessionSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":960,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::SessionSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::SessionSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::SessionSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::SessionSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::SessionSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-list-1wm9"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::SessionSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::SessionSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::SessionSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::SessionSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::SessionSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::SessionSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::SessionSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::SessionSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::SessionSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::SessionSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::SessionSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-list-x1z2"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::SessionSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::SessionSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::SessionSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::SessionSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::SessionSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::SessionSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::SessionSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-where"},{"apiScope":"exported","doc":{"body":"Captured records and indexed relations; it retains no transport or live owner.","summary":"Captured records and indexed relations; it retains no transport or live owner."},"id":"LibTmux::Model::Snapshot","kind":"class","modifiers":[],"name":"Snapshot","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Snapshot","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":595,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot"},{"apiScope":"exported","doc":{"body":"Captured buffer metadata; content requires a separate explicit operation.","summary":"Captured buffer metadata; content requires a separate explicit operation."},"id":"LibTmux::Model::Snapshot.buffers","kind":"method","modifiers":[],"name":"buffers","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.buffers","signatures":[{"params":[],"raw":"method buffers(--> BufferSelection:D)","references":[{"end":36,"start":19,"target":"LibTmux::Model::BufferSelection"}],"returns":"BufferSelection:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"buffers","declaration":true},{"text":"(--> "},{"text":"BufferSelection:D","target":"LibTmux::Model::BufferSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":691,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-buffers"},{"apiScope":"exported","doc":{"body":"Return the immutable capability observation used to acquire this graph.","summary":"Return the immutable capability observation used to acquire this graph."},"id":"LibTmux::Model::Snapshot.capabilities","kind":"method","modifiers":[],"name":"capabilities","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.capabilities","signatures":[{"params":[],"raw":"method capabilities(--> LibTmux::Capabilities:D)","references":[{"end":47,"start":24,"target":"LibTmux::Capabilities"}],"returns":"LibTmux::Capabilities:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capabilities","declaration":true},{"text":"(--> "},{"text":"LibTmux::Capabilities:D","target":"LibTmux::Capabilities"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":662,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-capabilities"},{"apiScope":"exported","doc":{"body":"Captured attached clients with their observed process and creation identity.","summary":"Captured attached clients with their observed process and creation identity."},"id":"LibTmux::Model::Snapshot.clients","kind":"method","modifiers":[],"name":"clients","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.clients","signatures":[{"params":[],"raw":"method clients(--> ClientSelection:D)","references":[{"end":36,"start":19,"target":"LibTmux::Model::ClientSelection"}],"returns":"ClientSelection:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clients","declaration":true},{"text":"(--> "},{"text":"ClientSelection:D","target":"LibTmux::Model::ClientSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":687,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-clients"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Snapshot.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":805,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-clone"},{"apiScope":"exported","doc":{"body":"Whether the named entity collection was acquired without source restriction.","summary":"Whether the named entity collection was acquired without source restriction."},"id":"LibTmux::Model::Snapshot.complete","kind":"method","modifiers":[],"name":"complete","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.complete","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method complete(Str:D $entity --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"complete","declaration":true},{"text":"(Str:D $entity --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":664,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-complete"},{"apiScope":"exported","doc":{"body":"End of the acquisition interval after declared records were captured.","summary":"End of the acquisition interval after declared records were captured."},"id":"LibTmux::Model::Snapshot.ended","kind":"property","modifiers":[],"name":"ended","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.ended","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":604,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-model-snapshot-ended"},{"apiScope":"exported","doc":{"body":"Captured connection settings; retaining them owns no process.","summary":"Captured connection settings; retaining them owns no process."},"id":"LibTmux::Model::Snapshot.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":598,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-model-snapshot-endpoint"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Snapshot.incarnation","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":660,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-incarnation"},{"apiScope":"exported","doc":{"body":"Immutable daemon identity and capabilities used during acquisition.","summary":"Immutable daemon identity and capabilities used during acquisition."},"id":"LibTmux::Model::Snapshot.observation","kind":"property","modifiers":[],"name":"observation","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.observation","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":600,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Observation:D","slug":"libtmux-model-snapshot-observation"},{"apiScope":"exported","doc":{"body":"Captured physical panes; relation traversal never acquires newer data.","summary":"Captured physical panes; relation traversal never acquires newer data."},"id":"LibTmux::Model::Snapshot.panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.panes","signatures":[{"params":[],"raw":"method panes(--> PaneSelection:D)","references":[{"end":32,"start":17,"target":"LibTmux::Model::PaneSelection"}],"returns":"PaneSelection:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"panes","declaration":true},{"text":"(--> "},{"text":"PaneSelection:D","target":"LibTmux::Model::PaneSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":685,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-panes"},{"apiScope":"exported","doc":{"body":"Return raw contextual rows, retaining repeated physical-entity observations.","summary":"Return raw contextual rows, retaining repeated physical-entity observations."},"id":"LibTmux::Model::Snapshot.rows","kind":"method","modifiers":[],"name":"rows","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.rows","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method rows(Str:D $entity --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rows","declaration":true},{"text":"(Str:D $entity --> List:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":667,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-rows"},{"apiScope":"exported","doc":{"body":"Return the captured typed selection for a validated entity schema.","summary":"Return the captured typed selection for a validated entity schema."},"id":"LibTmux::Model::Snapshot.selection","kind":"method","modifiers":[],"name":"selection","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.selection","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method selection(Str:D $entity)","references":[],"nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"selection","declaration":true},{"text":"(Str:D $entity)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":673,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-selection"},{"apiScope":"exported","doc":{"body":"Captured session groups and their observed membership.","summary":"Captured session groups and their observed membership."},"id":"LibTmux::Model::Snapshot.session-groups","kind":"method","modifiers":[],"name":"session-groups","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.session-groups","signatures":[{"params":[],"raw":"method session-groups(--> SessionGroupSelection:D)","references":[{"end":49,"start":26,"target":"LibTmux::Model::SessionGroupSelection"}],"returns":"SessionGroupSelection:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session-groups","declaration":true},{"text":"(--> "},{"text":"SessionGroupSelection:D","target":"LibTmux::Model::SessionGroupSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":689,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-session-groups"},{"apiScope":"exported","doc":{"body":"Captured sessions in acquisition order; reading performs no I/O.","summary":"Captured sessions in acquisition order; reading performs no I/O."},"id":"LibTmux::Model::Snapshot.sessions","kind":"method","modifiers":[],"name":"sessions","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.sessions","signatures":[{"params":[],"raw":"method sessions(--> SessionSelection:D)","references":[{"end":38,"start":20,"target":"LibTmux::Model::SessionSelection"}],"returns":"SessionSelection:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sessions","declaration":true},{"text":"(--> "},{"text":"SessionSelection:D","target":"LibTmux::Model::SessionSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":679,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-sessions"},{"apiScope":"exported","doc":{"body":"Start of the acquisition interval; the graph is not an atomic instant.","summary":"Start of the acquisition interval; the graph is not an atomic instant."},"id":"LibTmux::Model::Snapshot.started","kind":"property","modifiers":[],"name":"started","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.started","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":602,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-model-snapshot-started"},{"apiScope":"exported","doc":{"body":"Captured session/index associations, including repeated links to one physical window.","summary":"Captured session/index associations, including repeated links to one physical window."},"id":"LibTmux::Model::Snapshot.window-links","kind":"method","modifiers":[],"name":"window-links","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.window-links","signatures":[{"params":[],"raw":"method window-links(--> WindowLinkSelection:D)","references":[{"end":45,"start":24,"target":"LibTmux::Model::WindowLinkSelection"}],"returns":"WindowLinkSelection:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window-links","declaration":true},{"text":"(--> "},{"text":"WindowLinkSelection:D","target":"LibTmux::Model::WindowLinkSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":681,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-window-links"},{"apiScope":"exported","doc":{"body":"Captured physical windows, unique by daemon-scoped identity.","summary":"Captured physical windows, unique by daemon-scoped identity."},"id":"LibTmux::Model::Snapshot.windows","kind":"method","modifiers":[],"name":"windows","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.windows","signatures":[{"params":[],"raw":"method windows(--> WindowSelection:D)","references":[{"end":36,"start":19,"target":"LibTmux::Model::WindowSelection"}],"returns":"WindowSelection:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"windows","declaration":true},{"text":"(--> "},{"text":"WindowSelection:D","target":"LibTmux::Model::WindowSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":683,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-windows"},{"apiScope":"exported","doc":{"body":"A local view of one captured record. Accessors and relations never perform I/O.","summary":"A local view of one captured record. Accessors and relations never perform I/O."},"id":"LibTmux::Model::View","kind":"class","modifiers":[],"name":"View","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::View","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":814,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::View.bytes","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::View.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-clone"},{"apiScope":"exported","doc":{"body":"Catalogue entity schema for this view or reference.","summary":"Catalogue entity schema for this view or reference."},"id":"LibTmux::Model::View.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.entity","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":818,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-model-view-entity"},{"apiScope":"exported","doc":{"body":"Snapshot lookup key; window-link keys are not stable across captures.","summary":"Snapshot lookup key; window-link keys are not stable across captures."},"id":"LibTmux::Model::View.identity-key","kind":"property","modifiers":[],"name":"identity-key","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.identity-key","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":820,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-model-view-identity-key"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::View.incarnation","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-incarnation"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::View.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-new"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::View.ref","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::View.relation","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::View.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-same-entity"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::View.snapshot","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::View.state","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::View.value","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-value"},{"apiScope":"exported","doc":{"body":"Captured physical window; session-relative indices belong to WindowLink.","summary":"Captured physical window; session-relative indices belong to WindowLink."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Window","kind":"class","modifiers":[],"name":"Window","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Window","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":926,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window"},{"apiScope":"exported","doc":{"body":"The physical window's observed active pane.","summary":"The physical window's observed active pane."},"id":"LibTmux::Model::Window.active-pane","kind":"method","modifiers":[],"name":"active-pane","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.active-pane","signatures":[{"params":[],"raw":"method active-pane(--> Pane:D)","references":[{"end":29,"start":23,"target":"LibTmux::Model::Pane"}],"returns":"Pane:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"active-pane","declaration":true},{"text":"(--> "},{"text":"Pane:D","target":"LibTmux::Model::Pane"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":932,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-active-pane"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Window.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Window.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-clone"},{"apiScope":"exported","doc":{"body":"Decode retained layout bytes locally, preserving unknown layout versions.","summary":"Decode retained layout bytes locally, preserving unknown layout versions."},"id":"LibTmux::Model::Window.decoded-layout","kind":"method","modifiers":[],"name":"decoded-layout","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.decoded-layout","signatures":[{"params":[],"raw":"method decoded-layout(--> Layout:D)","references":[{"end":34,"start":26,"target":"LibTmux::Layout::Layout"}],"returns":"Layout:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"decoded-layout","declaration":true},{"text":"(--> "},{"text":"Layout:D","target":"LibTmux::Layout::Layout"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":934,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-decoded-layout"},{"apiScope":"exported","doc":{"body":"Captured window_height; local uint access.","summary":"Captured window_height; local uint access."},"id":"LibTmux::Model::Window.height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.height","signatures":[{"params":[],"raw":"method height(--> Count:D)","references":[{"end":25,"start":18,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"height","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-height"},{"apiScope":"exported","doc":{"body":"Captured window_id; local window-id access.","summary":"Captured window_id; local window-id access."},"id":"LibTmux::Model::Window.id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.id","signatures":[{"params":[],"raw":"method id(--> WindowId:D)","references":[{"end":24,"start":14,"target":"LibTmux::Types::WindowId"}],"returns":"WindowId:D","nativeSyntax":[{"start":7,"end":9,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"id","declaration":true},{"text":"(--> "},{"text":"WindowId:D","target":"LibTmux::Types::WindowId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-id"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Window.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-incarnation"},{"apiScope":"exported","doc":{"body":"Captured window_layout; local text access.","summary":"Captured window_layout; local text access."},"id":"LibTmux::Model::Window.layout","kind":"method","modifiers":[],"name":"layout","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.layout","signatures":[{"params":[],"raw":"method layout(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"layout","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-layout"},{"apiScope":"exported","doc":{"body":"Captured window_linked; local bool access.","summary":"Captured window_linked; local bool access."},"id":"LibTmux::Model::Window.linked","kind":"method","modifiers":[],"name":"linked","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.linked","signatures":[{"params":[],"raw":"method linked(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"linked","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":67,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-linked"},{"apiScope":"exported","doc":{"body":"All captured placements of this physical window, preserving repeated associations.","summary":"All captured placements of this physical window, preserving repeated associations."},"id":"LibTmux::Model::Window.links","kind":"method","modifiers":[],"name":"links","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.links","signatures":[{"params":[],"raw":"method links(--> WindowLinkSelection:D)","references":[{"end":38,"start":17,"target":"LibTmux::Model::WindowLinkSelection"}],"returns":"WindowLinkSelection:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"links","declaration":true},{"text":"(--> "},{"text":"WindowLinkSelection:D","target":"LibTmux::Model::WindowLinkSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":930,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-links"},{"apiScope":"exported","doc":{"body":"Captured window_modal_pane; local pane-id access.","summary":"Captured window_modal_pane; local pane-id access."},"id":"LibTmux::Model::Window.modal-pane-id","kind":"method","modifiers":[],"name":"modal-pane-id","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.modal-pane-id","signatures":[{"params":[],"raw":"method modal-pane-id(--> PaneId)","references":[{"end":31,"start":25,"target":"LibTmux::Types::PaneId"}],"returns":"PaneId","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"modal-pane-id","declaration":true},{"text":"(--> "},{"text":"PaneId","target":"LibTmux::Types::PaneId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":69,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-modal-pane-id"},{"apiScope":"exported","doc":{"body":"Captured window_name; local text access.","summary":"Captured window_name; local text access."},"id":"LibTmux::Model::Window.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Window.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-new"},{"apiScope":"exported","doc":{"body":"Captured physical panes; relation traversal never acquires newer data.","summary":"Captured physical panes; relation traversal never acquires newer data."},"id":"LibTmux::Model::Window.panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.panes","signatures":[{"params":[],"raw":"method panes(--> PaneSelection:D)","references":[{"end":32,"start":17,"target":"LibTmux::Model::PaneSelection"}],"returns":"PaneSelection:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"panes","declaration":true},{"text":"(--> "},{"text":"PaneSelection:D","target":"LibTmux::Model::PaneSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":928,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-panes"},{"apiScope":"exported","doc":{"body":"Captured window_panes; local uint access.","summary":"Captured window_panes; local uint access."},"id":"LibTmux::Model::Window.panes-count","kind":"method","modifiers":[],"name":"panes-count","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.panes-count","signatures":[{"params":[],"raw":"method panes-count(--> Count:D)","references":[{"end":30,"start":23,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"panes-count","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-panes-count"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Window.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Window.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Window.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-same-entity"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Window.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Window.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Window.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-value"},{"apiScope":"exported","doc":{"body":"Captured window_visible_layout; local text access.","summary":"Captured window_visible_layout; local text access."},"id":"LibTmux::Model::Window.visible-layout","kind":"method","modifiers":[],"name":"visible-layout","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.visible-layout","signatures":[{"params":[],"raw":"method visible-layout(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"visible-layout","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-visible-layout"},{"apiScope":"exported","doc":{"body":"Captured window_width; local uint access.","summary":"Captured window_width; local uint access."},"id":"LibTmux::Model::Window.width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.width","signatures":[{"params":[],"raw":"method width(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"width","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-width"},{"apiScope":"exported","doc":{"body":"Captured window_zoomed_flag; local bool access.","summary":"Captured window_zoomed_flag; local bool access."},"id":"LibTmux::Model::Window.zoomed","kind":"method","modifiers":[],"name":"zoomed","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.zoomed","signatures":[{"params":[],"raw":"method zoomed(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"zoomed","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-zoomed"},{"apiScope":"exported","doc":{"body":"One captured session/index association with an expected physical window.","summary":"One captured session/index association with an expected physical window."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::WindowLink","kind":"class","modifiers":[],"name":"WindowLink","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowLink","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":919,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink"},{"apiScope":"exported","doc":{"body":"Captured window_active; local bool access.","summary":"Captured window_active; local bool access."},"id":"LibTmux::Model::WindowLink.active","kind":"method","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.active","signatures":[{"params":[],"raw":"method active(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"active","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-active"},{"apiScope":"exported","doc":{"body":"Captured window_activity_flag; local bool access.","summary":"Captured window_activity_flag; local bool access."},"id":"LibTmux::Model::WindowLink.activity","kind":"method","modifiers":[],"name":"activity","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.activity","signatures":[{"params":[],"raw":"method activity(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"activity","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":42,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-activity"},{"apiScope":"exported","doc":{"body":"Captured window_bell_flag; local bool access.","summary":"Captured window_bell_flag; local bool access."},"id":"LibTmux::Model::WindowLink.bell","kind":"method","modifiers":[],"name":"bell","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.bell","signatures":[{"params":[],"raw":"method bell(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bell","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":44,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-bell"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::WindowLink.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::WindowLink.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-clone"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::WindowLink.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-incarnation"},{"apiScope":"exported","doc":{"body":"Captured window_index; local uint access.","summary":"Captured window_index; local uint access."},"id":"LibTmux::Model::WindowLink.index","kind":"method","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.index","signatures":[{"params":[],"raw":"method index(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"index","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-index"},{"apiScope":"exported","doc":{"body":"Captured window_last_flag; local bool access.","summary":"Captured window_last_flag; local bool access."},"id":"LibTmux::Model::WindowLink.last","kind":"method","modifiers":[],"name":"last","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.last","signatures":[{"params":[],"raw":"method last(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"last","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":40,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-last"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::WindowLink.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-new"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::WindowLink.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::WindowLink.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::WindowLink.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-same-entity"},{"apiScope":"exported","doc":{"body":"The observed associated session, resolved without I/O.","summary":"The observed associated session, resolved without I/O."},"id":"LibTmux::Model::WindowLink.session","kind":"method","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.session","signatures":[{"params":[],"raw":"method session(--> Session:D)","references":[{"end":28,"start":19,"target":"LibTmux::Model::Session"}],"returns":"Session:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session","declaration":true},{"text":"(--> "},{"text":"Session:D","target":"LibTmux::Model::Session"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":921,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-session"},{"apiScope":"exported","doc":{"body":"Captured session_id; local session-id access.","summary":"Captured session_id; local session-id access."},"id":"LibTmux::Model::WindowLink.session-id","kind":"method","modifiers":[],"name":"session-id","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.session-id","signatures":[{"params":[],"raw":"method session-id(--> SessionId:D)","references":[{"end":33,"start":22,"target":"LibTmux::Types::SessionId"}],"returns":"SessionId:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session-id","declaration":true},{"text":"(--> "},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-session-id"},{"apiScope":"exported","doc":{"body":"Captured window_silence_flag; local bool access.","summary":"Captured window_silence_flag; local bool access."},"id":"LibTmux::Model::WindowLink.silence","kind":"method","modifiers":[],"name":"silence","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.silence","signatures":[{"params":[],"raw":"method silence(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"silence","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":46,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-silence"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::WindowLink.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::WindowLink.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::WindowLink.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-value"},{"apiScope":"exported","doc":{"body":"The observed physical window, resolved without I/O.","summary":"The observed physical window, resolved without I/O."},"id":"LibTmux::Model::WindowLink.window","kind":"method","modifiers":[],"name":"window","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.window","signatures":[{"params":[],"raw":"method window(--> Window:D)","references":[{"end":26,"start":18,"target":"LibTmux::Model::Window"}],"returns":"Window:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window","declaration":true},{"text":"(--> "},{"text":"Window:D","target":"LibTmux::Model::Window"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":923,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-window"},{"apiScope":"exported","doc":{"body":"Captured window_id; local window-id access.","summary":"Captured window_id; local window-id access."},"id":"LibTmux::Model::WindowLink.window-id","kind":"method","modifiers":[],"name":"window-id","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.window-id","signatures":[{"params":[],"raw":"method window-id(--> WindowId:D)","references":[{"end":31,"start":21,"target":"LibTmux::Types::WindowId"}],"returns":"WindowId:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window-id","declaration":true},{"text":"(--> "},{"text":"WindowId:D","target":"LibTmux::Types::WindowId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-window-id"},{"apiScope":"exported","doc":{"body":"A session/index target with an expected window. Renumbering checks are not atomic.","summary":"A session/index target with an expected window. Renumbering checks are not atomic."},"id":"LibTmux::Model::WindowLinkRef","kind":"class","modifiers":[],"name":"WindowLinkRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowLinkRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":499,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref"},{"apiScope":"exported","doc":{"body":"Captured connection settings; retaining them owns no process.","summary":"Captured connection settings; retaining them owns no process."},"id":"LibTmux::Model::WindowLinkRef.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":501,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-model-windowlinkref-endpoint"},{"apiScope":"exported","doc":{"body":"Captured daemon identity used to reject references after replacement.","summary":"Captured daemon identity used to reject references after replacement."},"id":"LibTmux::Model::WindowLinkRef.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":503,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Incarnation:D","slug":"libtmux-model-windowlinkref-incarnation"},{"apiScope":"exported","doc":{"body":"Captured session-relative index; it can change after renumbering.","summary":"Captured session-relative index; it can change after renumbering."},"id":"LibTmux::Model::WindowLinkRef.index","kind":"property","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.index","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":509,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-model-windowlinkref-index"},{"apiScope":"exported","doc":{"body":"Move this association; tmux also synchronizes the affected session groups.","summary":"Move this association; tmux also synchronizes the affected session groups."},"id":"LibTmux::Model::WindowLinkRef.move","kind":"method","modifiers":[],"name":"move","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.move","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionRef:D"},{"keywordOnly":true,"name":"$index","optional":false,"type":"Count:D"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$replace","optional":true,"type":"Bool"}],"raw":"method move(SessionRef:D $session, Count:D :$index!, Bool :$select = False,\n Bool :$replace = False --> WindowLinkRef:D)","references":[{"end":24,"start":12,"target":"LibTmux::Model::SessionRef"},{"end":42,"start":35,"target":"LibTmux::Types::Count"},{"end":134,"start":119,"target":"LibTmux::Model::WindowLinkRef"}],"returns":"WindowLinkRef:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"move","declaration":true},{"text":"("},{"text":"SessionRef:D","target":"LibTmux::Model::SessionRef"},{"text":" $session, "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":" :$index!, Bool :$select = False,\n Bool :$replace = False --> "},{"text":"WindowLinkRef:D","target":"LibTmux::Model::WindowLinkRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":545,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-move"},{"apiScope":"exported","doc":{"body":"Select the exact pane or verified session-relative window placement.","summary":"Select the exact pane or verified session-relative window placement."},"id":"LibTmux::Model::WindowLinkRef.select","kind":"method","modifiers":[],"name":"select","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.select","signatures":[{"params":[],"raw":"method select(--> Result:D)","references":[{"end":26,"start":18,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"select","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":531,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-select"},{"apiScope":"exported","doc":{"body":"Captured session identity for this observed window placement.","summary":"Captured session identity for this observed window placement."},"id":"LibTmux::Model::WindowLinkRef.session-id","kind":"property","modifiers":[],"name":"session-id","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.session-id","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":505,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SessionId:D","slug":"libtmux-model-windowlinkref-session-id"},{"apiScope":"exported","doc":{"body":"Swap the two verified pane identities or session-relative window placements.","summary":"Swap the two verified pane identities or session-relative window placements."},"id":"LibTmux::Model::WindowLinkRef.swap","kind":"method","modifiers":[],"name":"swap","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.swap","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"WindowLinkRef:D"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"}],"raw":"method swap(WindowLinkRef:D $other, Bool :$select = False --> Result:D)","references":[{"end":27,"start":12,"target":"LibTmux::Model::WindowLinkRef"},{"end":70,"start":62,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"swap","declaration":true},{"text":"("},{"text":"WindowLinkRef:D","target":"LibTmux::Model::WindowLinkRef"},{"text":" $other, Bool :$select = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":557,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-swap"},{"apiScope":"exported","doc":{"body":"Return the observed session:index target without checking whether it remains current.","summary":"Return the observed session:index target without checking whether it remains current."},"id":"LibTmux::Model::WindowLinkRef.target","kind":"method","modifiers":[],"name":"target","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.target","signatures":[{"params":[],"raw":"method target(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"target","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":512,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-target"},{"apiScope":"exported","doc":{"body":"Remove this placement and its grouped-session peers; kill-last permits the last link.","summary":"Remove this placement and its grouped-session peers; kill-last permits the last link."},"id":"LibTmux::Model::WindowLinkRef.unlink","kind":"method","modifiers":[],"name":"unlink","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.unlink","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$kill-last","optional":true,"type":"Bool"}],"raw":"method unlink(Bool :$kill-last = False --> Result:D)","references":[{"end":51,"start":43,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unlink","declaration":true},{"text":"(Bool :$kill-last = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":538,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-unlink"},{"apiScope":"exported","doc":{"body":"Expected physical window identity at the captured session index.","summary":"Expected physical window identity at the captured session index."},"id":"LibTmux::Model::WindowLinkRef.window-id","kind":"property","modifiers":[],"name":"window-id","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.window-id","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":507,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"WindowId:D","slug":"libtmux-model-windowlinkref-window-id"},{"apiScope":"exported","doc":{"body":"Replayable typed window-link membership with local filtering.","summary":"Replayable typed window-link membership with local filtering."},"id":"LibTmux::Model::WindowLinkSelection","kind":"class","modifiers":[],"name":"WindowLinkSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowLinkSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":962,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::WindowLinkSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::WindowLinkSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::WindowLinkSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::WindowLinkSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::WindowLinkSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-list-1m9h"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::WindowLinkSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::WindowLinkSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::WindowLinkSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::WindowLinkSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::WindowLinkSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::WindowLinkSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::WindowLinkSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::WindowLinkSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::WindowLinkSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::WindowLinkSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::WindowLinkSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-list-nhhc"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::WindowLinkSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::WindowLinkSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::WindowLinkSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::WindowLinkSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::WindowLinkSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::WindowLinkSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::WindowLinkSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-where"},{"apiScope":"exported","doc":{"body":"Value-only command target for a physical window, independent of its links.","summary":"Value-only command target for a physical window, independent of its links."},"id":"LibTmux::Model::WindowRef","kind":"class","modifiers":[],"name":"WindowRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":172,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref"},{"apiScope":"exported","doc":{"body":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics.","summary":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics."},"id":"LibTmux::Model::WindowRef.command","kind":"method","modifiers":["overload","overload","overload"],"name":"command","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.command","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method command(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"(|operation)"}]},{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"Blob.new","keywordOnly":true,"name":"$stdin","optional":true,"type":"Blob:D"}],"raw":"method command(Invocation:D $command, Blob:D :$stdin = Blob.new --> Result:D)","references":[{"end":27,"start":15,"target":"LibTmux::Command::Invocation"},{"end":76,"start":68,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Blob:D :$stdin = Blob.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-command"},{"apiScope":"exported","doc":{"body":"Return the registered entity schema without I/O.","summary":"Return the registered entity schema without I/O."},"id":"LibTmux::Model::WindowRef.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":71,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-entity"},{"apiScope":"exported","doc":{"body":"Construct a value-only hook facade; its reads and writes are explicit operations.","summary":"Construct a value-only hook facade; its reads and writes are explicit operations."},"id":"LibTmux::Model::WindowRef.hooks","kind":"method","modifiers":[],"name":"hooks","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.hooks","signatures":[{"params":[],"raw":"method hooks(--> Hooks:D)","references":[{"end":24,"start":17,"target":"LibTmux::Configuration::Hooks"}],"returns":"Hooks:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"hooks","declaration":true},{"text":"(--> "},{"text":"Hooks:D","target":"LibTmux::Configuration::Hooks"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":79,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-hooks"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph and require exactly one observed entity with this ID.","summary":"Acquire a fresh graph and require exactly one observed entity with this ID."},"id":"LibTmux::Model::WindowRef.inspect","kind":"method","modifiers":["overload","overload","overload"],"name":"inspect","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.inspect","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method inspect(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(|operation)"}]},{"params":[],"raw":"method inspect(--> View:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"View:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(--> "},{"text":"View:D","target":"LibTmux::Model::View"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-inspect"},{"apiScope":"exported","doc":{"body":"Destroy the addressed entity; retained observations remain unchanged.","summary":"Destroy the addressed entity; retained observations remain unchanged."},"id":"LibTmux::Model::WindowRef.kill","kind":"method","modifiers":[],"name":"kill","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.kill","signatures":[{"params":[],"raw":"method kill(--> Result:D)","references":[{"end":24,"start":16,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"kill","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":239,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-kill"},{"apiScope":"exported","doc":{"body":"Select the previous active pane in this physical window.","summary":"Select the previous active pane in this physical window."},"id":"LibTmux::Model::WindowRef.last-pane","kind":"method","modifiers":[],"name":"last-pane","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.last-pane","signatures":[{"params":[],"raw":"method last-pane(--> Result:D)","references":[{"end":29,"start":21,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"last-pane","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":206,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-last-pane"},{"apiScope":"exported","doc":{"body":"Add a destination placement. tmux synchronizes placements across session groups.","summary":"Add a destination placement. tmux synchronizes placements across session groups."},"id":"LibTmux::Model::WindowRef.link","kind":"method","modifiers":[],"name":"link","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.link","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionRef:D"},{"keywordOnly":true,"name":"$index","optional":false,"type":"Count:D"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$replace","optional":true,"type":"Bool"}],"raw":"method link(SessionRef:D $session, Count:D :$index!, Bool :$select = False,\n Bool :$replace = False --> WindowLinkRef:D)","references":[{"end":24,"start":12,"target":"LibTmux::Model::SessionRef"},{"end":42,"start":35,"target":"LibTmux::Types::Count"},{"end":134,"start":119,"target":"LibTmux::Model::WindowLinkRef"}],"returns":"WindowLinkRef:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"link","declaration":true},{"text":"("},{"text":"SessionRef:D","target":"LibTmux::Model::SessionRef"},{"text":" $session, "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":" :$index!, Bool :$select = False,\n Bool :$replace = False --> "},{"text":"WindowLinkRef:D","target":"LibTmux::Model::WindowLinkRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":219,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-link"},{"apiScope":"exported","doc":{"body":"Apply the next tmux layout to this physical window.","summary":"Apply the next tmux layout to this physical window."},"id":"LibTmux::Model::WindowRef.next-layout","kind":"method","modifiers":[],"name":"next-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.next-layout","signatures":[{"params":[],"raw":"method next-layout(--> Result:D)","references":[{"end":31,"start":23,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"next-layout","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":200,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-next-layout"},{"apiScope":"exported","doc":{"body":"Construct a value-only option facade scoped to this captured identity.","summary":"Construct a value-only option facade scoped to this captured identity."},"id":"LibTmux::Model::WindowRef.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.options","signatures":[{"params":[],"raw":"method options(--> Options:D)","references":[{"end":28,"start":19,"target":"LibTmux::Configuration::Options"}],"returns":"Options:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(--> "},{"text":"Options:D","target":"LibTmux::Configuration::Options"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-options"},{"apiScope":"exported","doc":{"body":"Apply the previous tmux layout to this physical window.","summary":"Apply the previous tmux layout to this physical window."},"id":"LibTmux::Model::WindowRef.previous-layout","kind":"method","modifiers":[],"name":"previous-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.previous-layout","signatures":[{"params":[],"raw":"method previous-layout(--> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"previous-layout","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":202,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-previous-layout"},{"apiScope":"exported","doc":{"body":"Store the exact name; refuse characters or separators the daemon would change.","summary":"Store the exact name; refuse characters or separators the daemon would change."},"id":"LibTmux::Model::WindowRef.rename","kind":"method","modifiers":[],"name":"rename","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.rename","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method rename(Str:D $name --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rename","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":174,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-rename"},{"apiScope":"exported","doc":{"body":"Set absolute dimensions or adjust one direction; these forms cannot be mixed.","summary":"Set absolute dimensions or adjust one direction; these forms cannot be mixed."},"id":"LibTmux::Model::WindowRef.resize","kind":"method","modifiers":[],"name":"resize","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.resize","signatures":[{"params":[{"default":"Positive","keywordOnly":true,"name":"$width","optional":true},{"default":"Positive","keywordOnly":true,"name":"$height","optional":true},{"keywordOnly":true,"name":"$direction","optional":true,"type":"Str"},{"default":"Positive","keywordOnly":true,"name":"$amount","optional":true}],"raw":"method resize(:$width = Positive, :$height = Positive, Str :$direction, :$amount = Positive --> Result:D)","references":[{"end":32,"start":24,"target":"LibTmux::Types::Positive"},{"end":53,"start":45,"target":"LibTmux::Types::Positive"},{"end":91,"start":83,"target":"LibTmux::Types::Positive"},{"end":104,"start":96,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"resize","declaration":true},{"text":"(:$width = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$height = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", Str :$direction, :$amount = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":179,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-resize"},{"apiScope":"exported","doc":{"body":"Restart the target's process; kill must be explicit when replacing a running process.","summary":"Restart the target's process; kill must be explicit when replacing a running process."},"id":"LibTmux::Model::WindowRef.respawn","kind":"method","modifiers":[],"name":"respawn","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.respawn","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$kill","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method respawn(Str :$shell-command, Str :$directory, Bool :$kill = False,\n Associative:D :$environment = Map.new --> Result:D)","references":[{"end":143,"start":135,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"respawn","declaration":true},{"text":"(Str :$shell-command, Str :$directory, Bool :$kill = False,\n Associative:D :$environment = Map.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":213,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-respawn"},{"apiScope":"exported","doc":{"body":"Validate and apply serialized layout bytes in the daemon's declared dialect.","summary":"Validate and apply serialized layout bytes in the daemon's declared dialect."},"id":"LibTmux::Model::WindowRef.restore-layout","kind":"method","modifiers":[],"name":"restore-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.restore-layout","signatures":[{"params":[{"keywordOnly":false,"name":"$layout","optional":false,"type":"Blob:D"}],"raw":"method restore-layout(Blob:D $layout --> Result:D)","references":[{"end":49,"start":41,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"restore-layout","declaration":true},{"text":"(Blob:D $layout --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":193,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-restore-layout"},{"apiScope":"exported","doc":{"body":"Rotate panes in the layout; reverse changes the rotation direction.","summary":"Rotate panes in the layout; reverse changes the rotation direction."},"id":"LibTmux::Model::WindowRef.rotate","kind":"method","modifiers":[],"name":"rotate","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.rotate","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$reverse","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$preserve-zoom","optional":true,"type":"Bool"}],"raw":"method rotate(Bool :$reverse = False, Bool :$preserve-zoom = False --> Result:D)","references":[{"end":79,"start":71,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rotate","declaration":true},{"text":"(Bool :$reverse = False, Bool :$preserve-zoom = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":208,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-rotate"},{"apiScope":"exported","doc":{"body":"Compare scoped identity without acquiring current state.","summary":"Compare scoped identity without acquiring current state."},"id":"LibTmux::Model::WindowRef.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false}],"raw":"method same-entity($other --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"($other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-same-entity"},{"apiScope":"exported","doc":{"body":"Select a named layout. Serialized layouts use restore-layout instead.","summary":"Select a named layout. Serialized layouts use restore-layout instead."},"id":"LibTmux::Model::WindowRef.select-layout","kind":"method","modifiers":[],"name":"select-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.select-layout","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method select-layout(Str:D $name --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"select-layout","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":184,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-select-layout"},{"apiScope":"exported","doc":{"body":"Distribute space evenly around the active pane using select-layout -E.","summary":"Distribute space evenly around the active pane using select-layout -E."},"id":"LibTmux::Model::WindowRef.spread-layout","kind":"method","modifiers":[],"name":"spread-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.spread-layout","signatures":[{"params":[],"raw":"method spread-layout(--> Result:D)","references":[{"end":33,"start":25,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"spread-layout","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":204,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-spread-layout"},{"apiScope":"exported","doc":{"body":"Replayable typed window membership with local filtering.","summary":"Replayable typed window membership with local filtering."},"id":"LibTmux::Model::WindowSelection","kind":"class","modifiers":[],"name":"WindowSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":964,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::WindowSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::WindowSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::WindowSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::WindowSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::WindowSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-list-12o0"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::WindowSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::WindowSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::WindowSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::WindowSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::WindowSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::WindowSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::WindowSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::WindowSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::WindowSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::WindowSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::WindowSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-list-33ny"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::WindowSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::WindowSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::WindowSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::WindowSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::WindowSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::WindowSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::WindowSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-where"},{"apiScope":"exported","doc":{"body":"# Validated local criteria\n\n` Filter.compile(%criteria, :entity) ` validates and copies one\ncriterion before any entity is read. ` matches($view) ` and native smartmatching\nthrough ` ACCEPTS ` use the same evaluator. The view protocol has four fixed\nmethods: ` entity `, ` state($name) `, ` value($name) ` and ` relation($name) `.\nNames are checked against the catalogue; input keys never become method calls.\n\nField values abbreviate equality. Operator mappings support ` equals `,\n` not-equals `, ` in `, ` not-in `, numeric ` lt/lte/gt/gte `, literal ` contains `,\n` starts-with `, ` ends-with `, and nullable fields' ` is-null `. Operators and\nfields at the same level are conjoined. Numeric operands exclude Bool and\nnon-finite values. Text is NFC normalized and literal matching compares\ncodepoints, including positions inside a grapheme. Invalid UTF8-C8 bytes are\nrefused; byte comparison belongs to a separate interface.\n\n` AND ` and ` OR ` accept collections of complete criteria. ` NOT ` accepts one\ncriterion. Empty criteria and AND are true; empty OR and in are false; empty\nnot-in is true. Boolean evaluation short-circuits after schema validation.\nFor example, an OR whose first branch matches does not read an unloaded field\nin its second branch. Unknown fields in either branch still fail compilation.\n\nTo-many relations support ` some `, ` every ` and ` none `. One ` some ` requires\none child to satisfy its complete subtree. Separate existential subtrees may\nuse different children. Loaded empty relations yield false, true and true,\nrespectively. To-one relations support ` is `, ` is-not `, and ` is-null ` where\nthe relation is nullable. No evaluation performs I/O.\n\nKnownNull satisfies only an explicit null test. For example,\n` dead-status => %(not-equals => 0) ` is false when status is KnownNull;\n` NOT => %(dead-status => %(not-equals => 0)) ` is true. Likewise a\nnull group fails both ` is ` and ` is-not `. Unsupported, Unavailable and Unloaded\nstates throw MissingData when evaluated. They are never empty relations,\nempty strings, zero or false.\n\n` criteria ` exposes normalized nested Maps and Lists. ` ast ` exposes immutable\nnodes for source planning: kind, entity, name, wire-name, operator, field-kind,\ntarget, operand and children. Cloning a Filter is refused; compile changed data\nto preserve validation. Native callbacks, Junctions, regexes, type objects,\nlazy collections and cycles are not criterion data.\n\n\n\n# Proposed JSON representation\n\n` to-json ` and ` Filter.from-json(Str|Blob) ` use JSON::Fast and the proposed\n` libtmux.where/v1 ` envelope with exactly ` schema `, ` entity ` and ` where `.\nThis is a Raku proposal, not a claim of tested cross-port wire compatibility.\nCatalogue wire names are stable camelCase names; compound operator names use\ncamelCase too, such as ` notEquals `, ` startsWith `, ` isNull ` and ` isNot `.\nJSON::Fast uses the last value for a duplicate object key.\nThe bounded preflight also rejects malformed numeric spellings and raw control\ncharacters in strings; parsing remains delegated to JSON::Fast.\n\nWire numbers use finite binary64 values bounded in absolute magnitude by\n` 2**53-1 `, with integers in that safe range kept exact. Decimal JSON operands\nare interpreted as binary64. Export of an exact Rat or FatRat requires a\npower-of-two denominator, a numerator below 2**53 in absolute magnitude and\na lossless nonzero binary64 conversion. In particular, local ` 1/3 ` criteria\nremain valid but cannot be serialized by rounding to ` 0.333333 `. JSON numeric\ntokens are limited to 64 characters and exponents to absolute value 324;\noverflow and nonzero underflow are refused.\n\nLimits defaults are 1 MiB wire input/output, depth 32, 4096 copied value nodes\nand 1024 membership operands. Byte length and structural JSON depth are checked\nbefore parsing while respecting quoted strings and escapes. Native and decoded\ncriteria then share bounded recursive validation. Supply an immutable Limits\nvalue to compile or from-json to choose tighter limits.","summary":""},"id":"LibTmux::Query","kind":"module","modifiers":[],"name":"LibTmux::Query","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Query","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":2,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query"},{"apiScope":"exported","doc":{"body":"A schema-validated local matcher with copied, immutable criteria and AST.","summary":"A schema-validated local matcher with copied, immutable criteria and AST."},"id":"LibTmux::Query::Filter","kind":"class","modifiers":[],"name":"Filter","package":"LibTmux","parent":"LibTmux::Query","product":"core","publicId":"LibTmux::Query::Filter","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":356,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter"},{"apiScope":"exported","doc":{"body":"Participate as a native matcher without changing data equality semantics.","summary":"Participate as a native matcher without changing data equality semantics."},"id":"LibTmux::Query::Filter.ACCEPTS","kind":"method","modifiers":[],"name":"ACCEPTS","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.ACCEPTS","signatures":[{"params":[{"keywordOnly":false,"name":"$view","optional":false,"type":"Mu"}],"raw":"method ACCEPTS(Filter:D: Mu $view --> Bool:D)","references":[{"end":23,"start":15,"target":"LibTmux::Query::Filter"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ACCEPTS","declaration":true},{"text":"("},{"text":"Filter:D","target":"LibTmux::Query::Filter"},{"text":": Mu $view --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":390,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-accepts"},{"apiScope":"exported","doc":{"body":"Validated immutable expression tree used by matches and ACCEPTS.","summary":"Validated immutable expression tree used by matches and ACCEPTS."},"id":"LibTmux::Query::Filter.ast","kind":"property","modifiers":[],"name":"ast","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.ast","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":364,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Node:D","slug":"libtmux-query-filter-ast"},{"apiScope":"exported","doc":{"body":"Recompile changed criteria instead of bypassing validation with Mu.clone.","summary":"Recompile changed criteria instead of bypassing validation with Mu.clone."},"id":"LibTmux::Query::Filter.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":369,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-clone"},{"apiScope":"exported","doc":{"body":"Validate the entire criterion before observing any member.","summary":"Validate the entire criterion before observing any member."},"id":"LibTmux::Query::Filter.compile","kind":"method","modifiers":[],"name":"compile","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.compile","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"},{"keywordOnly":true,"name":"$entity","optional":false,"type":"Mu"},{"default":"Limits.new","keywordOnly":true,"name":"$limits","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method compile(Mu $criteria, Mu :$entity!, Mu :$limits = Limits.new,\n *%unknown --> Filter:D)","references":[{"end":63,"start":57,"target":"LibTmux::Query::Limits"},{"end":110,"start":102,"target":"LibTmux::Query::Filter"}],"returns":"Filter:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"compile","declaration":true},{"text":"(Mu $criteria, Mu :$entity!, Mu :$limits = "},{"text":"Limits","target":"LibTmux::Query::Limits"},{"text":".new,\n *%unknown --> "},{"text":"Filter:D","target":"LibTmux::Query::Filter"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":371,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-compile"},{"apiScope":"exported","doc":{"body":"Deep-copied normalized query data, independent of the caller containers.","summary":"Deep-copied normalized query data, independent of the caller containers."},"id":"LibTmux::Query::Filter.criteria","kind":"property","modifiers":[],"name":"criteria","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.criteria","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":362,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Map:D","slug":"libtmux-query-filter-criteria"},{"apiScope":"exported","doc":{"body":"Entity schema against which every field and relationship was validated.","summary":"Entity schema against which every field and relationship was validated."},"id":"LibTmux::Query::Filter.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.entity","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":358,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-filter-entity"},{"apiScope":"exported","doc":{"body":"Bound bytes and nesting before JSON::Fast, then validate the closed wire grammar.","summary":"Bound bytes and nesting before JSON::Fast, then validate the closed wire grammar."},"id":"LibTmux::Query::Filter.from-json","kind":"method","modifiers":[],"name":"from-json","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.from-json","signatures":[{"params":[{"keywordOnly":false,"name":"$input","optional":false,"type":"Mu"},{"default":"Limits.new","keywordOnly":true,"name":"$limits","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method from-json(Mu $input, Mu :$limits = Limits.new, *%unknown --> Filter:D)","references":[{"end":48,"start":42,"target":"LibTmux::Query::Limits"},{"end":76,"start":68,"target":"LibTmux::Query::Filter"}],"returns":"Filter:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"from-json","declaration":true},{"text":"(Mu $input, Mu :$limits = "},{"text":"Limits","target":"LibTmux::Query::Limits"},{"text":".new, *%unknown --> "},{"text":"Filter:D","target":"LibTmux::Query::Filter"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":399,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-from-json"},{"apiScope":"exported","doc":{"body":"Immutable validation and serialization bounds used by this compiled filter.","summary":"Immutable validation and serialization bounds used by this compiled filter."},"id":"LibTmux::Query::Filter.limits","kind":"property","modifiers":[],"name":"limits","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.limits","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":360,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Limits:D","slug":"libtmux-query-filter-limits"},{"apiScope":"exported","doc":{"body":"Evaluate locally using the fixed entity/state/value/relation view protocol.","summary":"Evaluate locally using the fixed entity/state/value/relation view protocol."},"id":"LibTmux::Query::Filter.matches","kind":"method","modifiers":[],"name":"matches","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.matches","signatures":[{"params":[{"keywordOnly":false,"name":"$view","optional":false}],"raw":"method matches($view --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"matches","declaration":true},{"text":"($view --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":385,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-matches"},{"apiScope":"exported","doc":{"body":"Refuse unvalidated construction; use compile or from-json.","summary":"Refuse unvalidated construction; use compile or from-json."},"id":"LibTmux::Query::Filter.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":367,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-new"},{"apiScope":"exported","doc":{"body":"Encode the proposed wire schema; reject exact numbers that would round.","summary":"Encode the proposed wire schema; reject exact numbers that would round."},"id":"LibTmux::Query::Filter.to-json","kind":"method","modifiers":[],"name":"to-json","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.to-json","signatures":[{"params":[],"raw":"method to-json(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"to-json","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":392,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-to-json"},{"apiScope":"exported","doc":{"body":"Immutable resource limits applied before recursive validation or JSON parsing.","summary":"Immutable resource limits applied before recursive validation or JSON parsing."},"id":"LibTmux::Query::Limits","kind":"class","modifiers":[],"name":"Limits","package":"LibTmux","parent":"LibTmux::Query","product":"core","publicId":"LibTmux::Query::Limits","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":10,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-limits"},{"apiScope":"exported","doc":{"body":"Maximum recursive criterion nesting depth.","summary":"Maximum recursive criterion nesting depth."},"id":"LibTmux::Query::Limits.max-depth","kind":"property","modifiers":[],"name":"max-depth","package":"LibTmux","parent":"LibTmux::Query::Limits","product":"core","publicId":"LibTmux::Query::Limits.max-depth","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":14,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-query-limits-max-depth"},{"apiScope":"exported","doc":{"body":"Maximum operands in one membership criterion.","summary":"Maximum operands in one membership criterion."},"id":"LibTmux::Query::Limits.max-members","kind":"property","modifiers":[],"name":"max-members","package":"LibTmux","parent":"LibTmux::Query::Limits","product":"core","publicId":"LibTmux::Query::Limits.max-members","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":18,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-query-limits-max-members"},{"apiScope":"exported","doc":{"body":"Maximum copied criterion nodes, including operands and containers.","summary":"Maximum copied criterion nodes, including operands and containers."},"id":"LibTmux::Query::Limits.max-nodes","kind":"property","modifiers":[],"name":"max-nodes","package":"LibTmux","parent":"LibTmux::Query::Limits","product":"core","publicId":"LibTmux::Query::Limits.max-nodes","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-query-limits-max-nodes"},{"apiScope":"exported","doc":{"body":"Maximum serialized filter bytes before JSON decoding or after encoding.","summary":"Maximum serialized filter bytes before JSON decoding or after encoding."},"id":"LibTmux::Query::Limits.max-wire-bytes","kind":"property","modifiers":[],"name":"max-wire-bytes","package":"LibTmux","parent":"LibTmux::Query::Limits","product":"core","publicId":"LibTmux::Query::Limits.max-wire-bytes","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":12,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-query-limits-max-wire-bytes"},{"apiScope":"exported","doc":{"body":"# Planning an explicit read\n\n` Plan.compile($filter, :$capabilities) ` performs no I/O. ` auto ` uses proven\nscalar restrictions; ` never ` leaves filtering local; ` require ` throws unless\nthe complete predicate has an exact source implementation. The capability\nvalue must come from the daemon incarnation that will execute the read.\n\nFor ` acquisition-mode ` ` listing `, pass ` projection ` and ` candidate-command `\ntogether to the guarded reader. The command does not include ` -F `: the reader\nadds the projection's template. Normalize physical entity IDs or session/index\nlink keys according to ` identity-normalization `, then apply ` matches ` to every\ncandidate. It always evaluates the original validated filter, including when\n` fully-pushed ` is true.\n\nFor ` full-graph `, acquire one complete snapshot and apply ` matches ` to its\nroot entities. Do not execute the candidate command. ` source-filter ` is empty;\n` acquisition-reason ` explains why an otherwise eligible scalar restriction is\ndeferred. ` required-relations ` retains each relationship path. Filtering child\nrows first would change ` every ` and ` none `, and intersecting a separately\nacquired candidate set with a later graph can lose matches during mutation.\n\n\n\n# Inspecting source work\n\n` steps ` exposes the translation tree, paths, exactness, expressions and refusal\nreasons. Eligible conjuncts can restrict candidates while text remains local.\nAn AND restriction follows the captured evaluator order and stops at the first\nresidual subtree, retaining that subtree's own safe prefix if present. It never\nmoves a later restriction ahead of local work that may throw. Use an explicit\nAND array when the ordering of residual evaluation matters; hash iteration is\nnot an ordering contract.\nAn OR or NOT subtree is emitted only when the complete subtree is exact.\nText and relationship predicates remain local. Empty Boolean and membership\nnodes retain the same identities as the local query evaluator.\n\nID matching uses tmux string equality. Flags use exact zero/one equality.\nNumeric comparisons use arithmetic FORMAT expressions, never lexical ordering.\nThe catalogue records source-proven UInt32 dimension and nonnegative Int32\nwindow-index domains. Only integer operands within the exact IEEE-754 integer\nrange are eligible. Bounded operands alone cannot establish source equivalence:\nthe observed field's complete domain must also fit the arithmetic conversion.\nFractional operands, nullable fields and unqualified numeric fields stay local.\n\nBoolean expressions are balanced and bounded by bytes and nesting depth. An\noversized expression remains local under ` auto ` and is refused by ` require `.\nThe guarded reader still enforces its own complete command/output/time limits.","summary":""},"id":"LibTmux::Query::Plan","kind":"module","modifiers":[],"name":"LibTmux::Query::Plan","package":"LibTmux","parent":"LibTmux::Query","product":"core","publicId":"LibTmux::Query::Plan","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan"},{"apiScope":"exported","doc":{"body":"Pure, inspectable source restrictions plus the original local filter.","summary":"Pure, inspectable source restrictions plus the original local filter."},"id":"LibTmux::Query::Plan::Plan","kind":"class","modifiers":[],"name":"Plan","package":"LibTmux","parent":"LibTmux::Query::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":171,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan"},{"apiScope":"exported","doc":{"body":"Acquire one listing or a full graph; relation predicates require full-graph.","summary":"Acquire one listing or a full graph; relation predicates require full-graph."},"id":"LibTmux::Query::Plan::Plan.acquisition-mode","kind":"property","modifiers":[],"name":"acquisition-mode","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.acquisition-mode","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":183,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-acquisition-mode"},{"apiScope":"exported","doc":{"body":"Why the plan selected its acquisition mode and source restriction policy.","summary":"Why the plan selected its acquisition mode and source restriction policy."},"id":"LibTmux::Query::Plan::Plan.acquisition-reason","kind":"property","modifiers":[],"name":"acquisition-reason","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.acquisition-reason","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":185,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-acquisition-reason"},{"apiScope":"exported","doc":{"body":"Listing argv without -F; execute only for listing mode through a guarded reader.","summary":"Listing argv without -F; execute only for listing mode through a guarded reader."},"id":"LibTmux::Query::Plan::Plan.candidate-command","kind":"property","modifiers":[],"name":"candidate-command","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.candidate-command","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":191,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Invocation:D","slug":"libtmux-query-plan-plan-candidate-command"},{"apiScope":"exported","doc":{"body":"Refuse altered prepared values; compile again to preserve evidence bindings.","summary":"Refuse altered prepared values; compile again to preserve evidence bindings."},"id":"LibTmux::Query::Plan::Plan.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":202,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-clone"},{"apiScope":"exported","doc":{"body":"Compile without I/O. require refuses any residual source work before acquisition.","summary":"Compile without I/O. require refuses any residual source work before acquisition."},"id":"LibTmux::Query::Plan::Plan.compile","kind":"method","modifiers":[],"name":"compile","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.compile","signatures":[{"params":[{"keywordOnly":false,"name":"$filter","optional":false,"type":"Mu"},{"keywordOnly":true,"name":"$capabilities","optional":false,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"default":"4096","keywordOnly":true,"name":"$max-filter-bytes","optional":true,"type":"Mu"}],"raw":"method compile(Mu $filter, Mu :$capabilities!,\n Mu :$pushdown = 'auto', Mu :$max-filter-bytes = 4096 --> Plan:D)","references":[{"end":129,"start":123,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"compile","declaration":true},{"text":"(Mu $filter, Mu :$capabilities!,\n Mu :$pushdown = 'auto', Mu :$max-filter-bytes = 4096 --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":205,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-compile"},{"apiScope":"exported","doc":{"body":"Candidate filtering must never supply an incomplete child set to relation predicates.","summary":"Candidate filtering must never supply an incomplete child set to relation predicates."},"id":"LibTmux::Query::Plan::Plan.complete-graph-required","kind":"method","modifiers":[],"name":"complete-graph-required","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.complete-graph-required","signatures":[{"params":[],"raw":"method complete-graph-required(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":30,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"complete-graph-required","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":255,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-complete-graph-required"},{"apiScope":"exported","doc":{"body":"Root entity schema; empty results retain this type contract.","summary":"Root entity schema; empty results retain this type contract."},"id":"LibTmux::Query::Plan::Plan.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.entity","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":175,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-entity"},{"apiScope":"exported","doc":{"body":"Original validated predicate, retained for every local result check.","summary":"Original validated predicate, retained for every local result check."},"id":"LibTmux::Query::Plan::Plan.filter","kind":"property","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.filter","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":173,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Filter:D","slug":"libtmux-query-plan-plan-filter"},{"apiScope":"exported","doc":{"body":"Whether the complete predicate has an enabled exact source implementation.","summary":"Whether the complete predicate has an enabled exact source implementation."},"id":"LibTmux::Query::Plan::Plan.fully-pushed","kind":"property","modifiers":[],"name":"fully-pushed","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.fully-pushed","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":179,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-query-plan-plan-fully-pushed"},{"apiScope":"exported","doc":{"body":"Identity rule for contextual rows: scoped-id, session-index or scoped-record.","summary":"Identity rule for contextual rows: scoped-id, session-index or scoped-record."},"id":"LibTmux::Query::Plan::Plan.identity-normalization","kind":"property","modifiers":[],"name":"identity-normalization","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.identity-normalization","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":187,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-identity-normalization"},{"apiScope":"exported","doc":{"body":"Recheck the original validated predicate locally on a fully acquired candidate.","summary":"Recheck the original validated predicate locally on a fully acquired candidate."},"id":"LibTmux::Query::Plan::Plan.matches","kind":"method","modifiers":[],"name":"matches","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.matches","signatures":[{"params":[{"keywordOnly":false,"name":"$view","optional":false}],"raw":"method matches($view --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"matches","declaration":true},{"text":"($view --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":257,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-matches"},{"apiScope":"exported","doc":{"body":"Refuse unchecked construction; compile a validated filter with capabilities.","summary":"Refuse unchecked construction; compile a validated filter with capabilities."},"id":"LibTmux::Query::Plan::Plan.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":200,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-new"},{"apiScope":"exported","doc":{"body":"Immutable root-field decoding schema bound to the observed daemon identity.","summary":"Immutable root-field decoding schema bound to the observed daemon identity."},"id":"LibTmux::Query::Plan::Plan.projection","kind":"property","modifiers":[],"name":"projection","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.projection","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":189,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Projection:D","slug":"libtmux-query-plan-plan-projection"},{"apiScope":"exported","doc":{"body":"Requested source policy: auto, never or require.","summary":"Requested source policy: auto, never or require."},"id":"LibTmux::Query::Plan::Plan.pushdown","kind":"property","modifiers":[],"name":"pushdown","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.pushdown","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":177,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-pushdown"},{"apiScope":"exported","doc":{"body":"Captured field requirements, including fields reached through relationships.","summary":"Captured field requirements, including fields reached through relationships."},"id":"LibTmux::Query::Plan::Plan.required-fields","kind":"property","modifiers":[],"name":"required-fields","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.required-fields","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":195,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-query-plan-plan-required-fields"},{"apiScope":"exported","doc":{"body":"Complete relationship paths needed by the original local predicate.","summary":"Complete relationship paths needed by the original local predicate."},"id":"LibTmux::Query::Plan::Plan.required-relations","kind":"property","modifiers":[],"name":"required-relations","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.required-relations","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":197,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-query-plan-plan-required-relations"},{"apiScope":"exported","doc":{"body":"Actual candidate FORMAT restriction, or empty when source work is deferred.","summary":"Actual candidate FORMAT restriction, or empty when source work is deferred."},"id":"LibTmux::Query::Plan::Plan.source-filter","kind":"property","modifiers":[],"name":"source-filter","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.source-filter","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":181,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-source-filter"},{"apiScope":"exported","doc":{"body":"Translation tree with paths, exactness, expressions and local-work reasons.","summary":"Translation tree with paths, exactness, expressions and local-work reasons."},"id":"LibTmux::Query::Plan::Plan.steps","kind":"property","modifiers":[],"name":"steps","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.steps","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":193,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Step:D","slug":"libtmux-query-plan-plan-steps"},{"apiScope":"exported","doc":{"body":"# Captured selections\n\nA concrete selection consumes ` Selection[Pane, 'pane'] ` or another catalogue\nentity schema. ` new(:items) ` copies finite, eager, defined membership. It does\nnot deep-clone member objects. Observation classes must supply their own\nread-only field contract.\n\nBinding ` my @panes := $snapshot.panes ` preserves the selection. Array\nassignment materializes ordinary array membership; assigning to a scalar\nitemizes the selection. Use ` $panes.List ` when explicit list traversal is\nwanted. Each iterator and Seq is fresh. Array conversion is independently\nmutable; List membership cannot be replaced.\n\n` where ` accepts criterion data or a compiled Filter and validates the schema\nbefore traversal. ` filter ` invokes one callback per member, eagerly in source\norder, and throws a directly returned Failure before Boolean coercion. Both\nreturn the same concrete selection type and preserve order and duplicates.\nNative ` grep `, ` map `, ` sort `, ` first ` and junctions delegate to the captured\nList, including grep adverbs. They retain native return and evaluation rules.\n` one ` constructs a junction; exact cardinality uses ` single `.","summary":""},"id":"LibTmux::Selection","kind":"module","modifiers":[],"name":"LibTmux::Selection","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Selection","signatures":[],"source":{"file":"lib/LibTmux/Selection.rakumod","line":2,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection"},{"apiScope":"exported","doc":{"body":"Eager captured membership; transformations perform no acquisition or commands.","summary":"Eager captured membership; transformations perform no acquisition or commands."},"id":"LibTmux::Selection::Selection","kind":"trait","modifiers":[],"name":"Selection","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::Selection","signatures":[],"source":{"file":"lib/LibTmux/Selection.rakumod","line":8,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Selection::Selection.AT-POS","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Selection::Selection.Array","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Selection::Selection.Bool","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Selection::Selection.EXISTS-POS","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Selection::Selection.List","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-list-q6ut"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Selection::Selection.Seq","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Selection::Selection.all","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Selection::Selection.any","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Selection::Selection.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Selection::Selection.elems","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Selection::Selection.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Selection::Selection.filter","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Selection::Selection.first","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Selection::Selection.grep","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Selection::Selection.iterator","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Selection::Selection.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-list-1iqf"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Selection::Selection.map","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Selection::Selection.none","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Selection::Selection.one","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Selection::Selection.single","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Selection::Selection.single-or-nil","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Selection::Selection.sort","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Selection::Selection.where","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-where"},{"apiScope":"exported","doc":{"body":"# Server ownership\n\n` new ` captures a borrowed endpoint without I/O. ` snapshot ` and ` capabilities `\nacquire daemon state explicitly. ` new-session ` requires an existing daemon,\ncreates a detached session, and returns a SessionRef from tmux's returned ID.\nNames are literal Unicode text; controls, backslash, dot and colon are refused\nbefore creation because supported tmux releases normalize them differently.\nA shell-command explicitly requests tmux's shell-command interpretation.\n\n` start ` creates a clean foreground daemon on an exclusive temporary socket,\nverifies its executable profile before launch, binds its actual process identity,\nand creates the initial session. The startup timeout covers all stages. Linux\ninotify socket attributes signal listener readiness; pidfds bind termination to\nthe original process, independently of socket reuse.\n\nClose is idempotent and joins owned work. Borrowed daemons remain running.\nOwned daemons receive TERM followed by bounded KILL escalation and are reaped.\nCleanup removes only the original socket and empty original directory; unknown\nfiles and replacement sockets are preserved. References retain values only and\nare not clients owned by the Server. A stopped owned daemon invalidates them.\n\nConfiguration factories perform one explicit identity observation. The returned\nfacades retain endpoint and incarnation values, and each subsequent configuration\noperation owns its temporary command client. ` open-control ` and ` attach ` return\nseparate lifecycle owners: callers must close them. Closing a borrowed Server\ndoes not close those owners; closing an owned daemon causes its attached clients\nto disconnect. ` attach ` proves process creation, not terminal readiness.\n\n` command ` is an explicit tmux-syntax escape hatch with a daemon fence. It does\nnot insert an entity target or interpret shell syntax on the caller's behalf.\n` run-batch ` reports partial outcomes and never promises rollback.\n\n\n\n# Explicit environment and health\n\n` from-env ` is the only factory that interprets ` TMUX `. It parses its final\nPID and session components from the right, so commas in the socket path remain\nliteral. It requires an absolute socket path, validates ` TMUX_PANE ` when\npresent, observes the actual daemon and rejects a different PID. The returned\nborrowed facade is bound to that incarnation. Child processes still receive\nneither ambient variable. Imported object IDs are observations from the supplied\nenvironment, not evidence that those objects still exist:\n\nuse LibTmux;\nmy $server = LibTmux::Server.from-env(:environment(%*ENV));\nLEAVE $server.close;\nmy $snapshot = $server.snapshot;\nmy $pane = $snapshot.panes.where(%(id => $server.environment-pane-id)).single;\nmy $window = $pane.window;\nmy $session = $snapshot.sessions\n .where(%(id => $server.environment-session-id)).single;\n\nThe selection throws for a vanished object or absent imported ID. A window can\nbelong to several sessions; the imported session ID supplies that context.\n` capabilities ` is the explicit native health observation: success returns\nverified daemon evidence, while connection, identity and permission failures\nretain their original typed exceptions. ` has-session(:name) ` and\n` has-session(:id) ` return false only after a successful exact listing finds\nno match. ` kill-server ` deliberately terminates the observed daemon, including\na borrowed one; ` close ` continues to preserve borrowed daemons. An owner must\nstill close after kill-server to join its process and filesystem cleanup.\n\n\n\n# Jobs and channels\n\n` run-shell ` receives literal shell source; tmux FORMAT-looking text is escaped\nbefore dispatch. ` if-shell ` follows the same rule for its shell condition and\naccepts bounded Invocation values for both branches. Its explicit ` :format `\noption instead evaluates a native tmux FORMAT condition. ` source-file ` reads\none literal pathname, escaping native glob metacharacters; it does not expand\nFORMAT, tilde or a caller shell. Relative paths use the captured command cwd.\n` :parse-only ` parses configuration without executing it.\n\nEach request shares one admission, observation and dispatch deadline. A\nbackground job acknowledges scheduling. Foreground completion follows tmux's\njob/command queue contract, not an application-specific postcondition; command\noutput availability also depends on the declared daemon profile. Timing out or\ncancelling a client does not undo a job, configuration effect or channel lock\nalready accepted by the daemon. ` wait-for ` offers only wait, signal, lock and\nunlock; it does not claim that a signal proves another process's application\nwork completed.\n\n\n\n# Administrative commands\n\nDiagnostics and administrative commands intentionally use the explicit bounded\nInvocation surface rather than separate wrappers. These complete calls retain\nraw stdout/stderr in Result, enforce the server deadline and throw typed command\nerrors. ` list-commands `, ` show-messages `, ` lock-server ` and ` server-access `\nare deliberate replacements for named Python helpers, not claims of identical\ntyped parameters. ` switch-mode ` is also available through Invocation.\n\nuse LibTmux;\nmy $server = LibTmux::Server.start(:name);\nLEAVE $server.close;\nmy $commands = $server.command(Invocation.new(:argv(['list-commands'])));\nmy $access = $server.command(Invocation.new(:argv(['server-access', '-l'])));\nmy $messages = $server.command(Invocation.new(:argv(['show-messages', '-T'])));\n$server.command(Invocation.new(:argv(['lock-server'])));\n\nAdministrative flags keep tmux's native semantics and errors; arbitrary\nInvocation values do not acquire a typed catalogue guarantee. Locking may run\nconfigured lock commands on attached clients. Access changes affect other users.\nUse only an endpoint whose administration the caller owns or has authorized.\nTo detach captured clients, iterate ` $snapshot.clients ` and call each\n` .ref.detach `. Each target is identity guarded; a changing client set is not\nan atomic detach-all operation, and acknowledgement does not prove terminal\nrendering or child-process exit.","summary":""},"id":"LibTmux::Server","kind":"class","modifiers":[],"name":"LibTmux::Server","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Server","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server"},{"apiScope":"exported","doc":{"body":"Spawn a separately owned interactive client on the caller's explicit terminal.","summary":"Spawn a separately owned interactive client on the caller's explicit terminal."},"id":"LibTmux::Server.attach","kind":"method","modifiers":[],"name":"attach","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.attach","signatures":[{"params":[{"keywordOnly":true,"name":"$session","optional":false,"type":"SessionId:D"},{"keywordOnly":true,"name":"$terminal","optional":false,"type":"IO::Handle:D"},{"keywordOnly":false,"name":"%settings","optional":false}],"raw":"method attach(SessionId:D :$session!, IO::Handle:D :$terminal!, *%settings --> LibTmux::Attachment:D)","references":[{"end":25,"start":14,"target":"LibTmux::Types::SessionId"},{"end":100,"start":79,"target":"LibTmux::Attachment"}],"returns":"LibTmux::Attachment:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"attach","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session!, IO::Handle:D :$terminal!, *%settings --> "},{"text":"LibTmux::Attachment:D","target":"LibTmux::Attachment"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":591,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-attach"},{"apiScope":"exported","doc":{"body":"Resolve a separately owned terminal client; process creation is not attachment proof.","summary":"Resolve a separately owned terminal client; process creation is not attachment proof."},"id":"LibTmux::Server.attach-async","kind":"method","modifiers":[],"name":"attach-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.attach-async","signatures":[{"params":[{"keywordOnly":true,"name":"$session","optional":false,"type":"SessionId:D"},{"keywordOnly":true,"name":"$terminal","optional":false,"type":"IO::Handle:D"},{"default":"False","keywordOnly":true,"name":"$read-only","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$detach-others","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$update-environment","optional":true,"type":"Bool:D"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method attach-async(SessionId:D :$session!, IO::Handle:D :$terminal!,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":31,"start":20,"target":"LibTmux::Types::SessionId"},{"end":239,"start":227,"target":"LibTmux::Transport::Cancellation"},{"end":263,"start":251,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"attach-async","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session!, IO::Handle:D :$terminal!,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":595,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-attach-async"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return its named binary-buffer facade.","summary":"Observe daemon identity and return its named binary-buffer facade."},"id":"LibTmux::Server.buffers","kind":"method","modifiers":[],"name":"buffers","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.buffers","signatures":[{"params":[],"raw":"method buffers(--> LibTmux::Configuration::Buffers:D)","references":[{"end":52,"start":19,"target":"LibTmux::Configuration::Buffers"}],"returns":"LibTmux::Configuration::Buffers:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"buffers","declaration":true},{"text":"(--> "},{"text":"LibTmux::Configuration::Buffers:D","target":"LibTmux::Configuration::Buffers"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":561,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-buffers"},{"apiScope":"exported","doc":{"body":"Observe the daemon's capabilities explicitly; this performs tmux I/O.","summary":"Observe the daemon's capabilities explicitly; this performs tmux I/O."},"id":"LibTmux::Server.capabilities","kind":"method","modifiers":[],"name":"capabilities","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.capabilities","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method capabilities(Cancellation :$cancel = Cancellation --> LibTmux::Capabilities:D)","references":[{"end":32,"start":20,"target":"LibTmux::Transport::Cancellation"},{"end":56,"start":44,"target":"LibTmux::Transport::Cancellation"},{"end":84,"start":61,"target":"LibTmux::Capabilities"}],"returns":"LibTmux::Capabilities:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capabilities","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"LibTmux::Capabilities:D","target":"LibTmux::Capabilities"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":383,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-capabilities"},{"apiScope":"exported","doc":{"body":"Resolve to one fresh immutable daemon capability observation.","summary":"Resolve to one fresh immutable daemon capability observation."},"id":"LibTmux::Server.capabilities-async","kind":"method","modifiers":[],"name":"capabilities-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.capabilities-async","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method capabilities-async(Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":38,"start":26,"target":"LibTmux::Transport::Cancellation"},{"end":62,"start":50,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":25,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capabilities-async","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":387,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-capabilities-async"},{"apiScope":"exported","doc":{"body":"Refuse cloning of runtime admission and daemon ownership state.","summary":"Refuse cloning of runtime admission and daemon ownership state."},"id":"LibTmux::Server.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":345,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-clone"},{"apiScope":"exported","doc":{"body":"Join idempotent shutdown; borrowed daemons remain running.","summary":"Join idempotent shutdown; borrowed daemons remain running."},"id":"LibTmux::Server.close","kind":"method","modifiers":[],"name":"close","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.close","signatures":[{"params":[],"raw":"method close(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":685,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-close"},{"apiScope":"exported","doc":{"body":"Join admitted work; owned servers additionally terminate and reap their original daemon.","summary":"Join admitted work; owned servers additionally terminate and reap their original daemon."},"id":"LibTmux::Server.close-async","kind":"method","modifiers":[],"name":"close-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.close-async","signatures":[{"params":[],"raw":"method close-async(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-async","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":687,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-close-async"},{"apiScope":"exported","doc":{"body":"Execute explicit tmux command syntax in the currently observed daemon.","summary":"Execute explicit tmux command syntax in the currently observed daemon."},"id":"LibTmux::Server.command","kind":"method","modifiers":[],"name":"command","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.command","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method command(Invocation:D $command, *%options --> Result:D)","references":[{"end":27,"start":15,"target":"LibTmux::Command::Invocation"},{"end":60,"start":52,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, *%options --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":460,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-command"},{"apiScope":"exported","doc":{"body":"Copy input before scheduling one guarded command; retain exit status and raw streams.","summary":"Copy input before scheduling one guarded command; retain exit status and raw streams."},"id":"LibTmux::Server.command-async","kind":"method","modifiers":[],"name":"command-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.command-async","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"Blob.new","keywordOnly":true,"name":"$stdin","optional":true,"type":"Blob:D"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"},{"default":"True","keywordOnly":true,"name":"$check","optional":true,"type":"Bool:D"}],"raw":"method command-async(Invocation:D $command, Blob:D :$stdin = Blob.new,\n Cancellation :$cancel = Cancellation, Bool:D :$check = True --> Promise:D)","references":[{"end":33,"start":21,"target":"LibTmux::Command::Invocation"},{"end":104,"start":92,"target":"LibTmux::Transport::Cancellation"},{"end":128,"start":116,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command-async","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Blob:D :$stdin = Blob.new,\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":", Bool:D :$check = True --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":464,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-command-async"},{"apiScope":"exported","doc":{"body":"Captured connection settings; retaining them owns no process.","summary":"Captured connection settings; retaining them owns no process."},"id":"LibTmux::Server.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":261,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-server-endpoint"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return its global environment facade.","summary":"Observe daemon identity and return its global environment facade."},"id":"LibTmux::Server.environment","kind":"method","modifiers":[],"name":"environment","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.environment","signatures":[{"params":[],"raw":"method environment(--> LibTmux::Configuration::Environment:D)","references":[{"end":60,"start":23,"target":"LibTmux::Configuration::Environment"}],"returns":"LibTmux::Configuration::Environment:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"environment","declaration":true},{"text":"(--> "},{"text":"LibTmux::Configuration::Environment:D","target":"LibTmux::Configuration::Environment"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":557,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-environment"},{"apiScope":"exported","doc":{"body":"Pane ID explicitly imported from TMUX_PANE; undefined for ordinary construction.","summary":"Pane ID explicitly imported from TMUX_PANE; undefined for ordinary construction."},"id":"LibTmux::Server.environment-pane-id","kind":"property","modifiers":[],"name":"environment-pane-id","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.environment-pane-id","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":270,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"PaneId","slug":"libtmux-server-environment-pane-id"},{"apiScope":"exported","doc":{"body":"Session ID explicitly imported from TMUX; undefined when tmux supplied -1.","summary":"Session ID explicitly imported from TMUX; undefined when tmux supplied -1."},"id":"LibTmux::Server.environment-session-id","kind":"property","modifiers":[],"name":"environment-session-id","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.environment-session-id","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":272,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SessionId","slug":"libtmux-server-environment-session-id"},{"apiScope":"exported","doc":{"body":"Observe capabilities and explain an explicit source query without executing its listing.","summary":"Observe capabilities and explain an explicit source query without executing its listing."},"id":"LibTmux::Server.explain","kind":"method","modifiers":[],"name":"explain","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.explain","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"default":"Map.new","keywordOnly":true,"name":"$where","optional":true,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method explain(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto', *%unknown --> Plan:D)","references":[{"end":93,"start":87,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"explain","declaration":true},{"text":"(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto', *%unknown --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":392,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-explain"},{"apiScope":"exported","doc":{"body":"Explain pane acquisition, pushed restrictions and residual local work.","summary":"Explain pane acquisition, pushed restrictions and residual local work."},"id":"LibTmux::Server.explain-panes","kind":"method","modifiers":[],"name":"explain-panes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.explain-panes","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method explain-panes(*%options --> Plan:D)","references":[{"end":41,"start":35,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"explain-panes","declaration":true},{"text":"(*%options --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":432,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-explain-panes"},{"apiScope":"exported","doc":{"body":"Import an explicit TMUX environment, verify its daemon PID and bind that incarnation.","summary":"Import an explicit TMUX environment, verify its daemon PID and bind that incarnation."},"id":"LibTmux::Server.from-env","kind":"method","modifiers":[],"name":"from-env","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.from-env","signatures":[{"params":[{"default":"%*ENV","keywordOnly":true,"name":"$environment","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%settings","optional":false}],"raw":"method from-env(Mu :$environment = %*ENV, *%settings)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"from-env","declaration":true},{"text":"(Mu :$environment = %*ENV, *%settings)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":302,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-from-env"},{"apiScope":"exported","doc":{"body":"Test one exact session ID or name. Acquisition and identity failures still throw.","summary":"Test one exact session ID or name. Acquisition and identity failures still throw."},"id":"LibTmux::Server.has-session","kind":"method","modifiers":[],"name":"has-session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.has-session","signatures":[{"params":[{"default":"SessionId","keywordOnly":true,"name":"$id","optional":true,"type":"Mu"},{"default":"Str","keywordOnly":true,"name":"$name","optional":true,"type":"Mu"}],"raw":"method has-session(Mu :$id = SessionId, Mu :$name = Str --> Bool:D)","references":[{"end":38,"start":29,"target":"LibTmux::Types::SessionId"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"has-session","declaration":true},{"text":"(Mu :$id = "},{"text":"SessionId","target":"LibTmux::Types::SessionId"},{"text":", Mu :$name = Str --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":440,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-has-session"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return global session/window hooks.","summary":"Observe daemon identity and return global session/window hooks."},"id":"LibTmux::Server.hooks","kind":"method","modifiers":[],"name":"hooks","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.hooks","signatures":[{"params":[{"default":"'session'","keywordOnly":true,"name":"$scope","optional":true,"type":"Str:D"}],"raw":"method hooks(Str:D :$scope = 'session' --> LibTmux::Configuration::Hooks:D)","references":[{"end":74,"start":43,"target":"LibTmux::Configuration::Hooks"}],"returns":"LibTmux::Configuration::Hooks:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"hooks","declaration":true},{"text":"(Str:D :$scope = 'session' --> "},{"text":"LibTmux::Configuration::Hooks:D","target":"LibTmux::Configuration::Hooks"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":565,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-hooks"},{"apiScope":"exported","doc":{"body":"Execute one of two bounded commands after a shell test, or an explicit FORMAT condition.","summary":"Execute one of two bounded commands after a shell test, or an explicit FORMAT condition."},"id":"LibTmux::Server.if-shell","kind":"method","modifiers":[],"name":"if-shell","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.if-shell","signatures":[{"params":[{"keywordOnly":false,"name":"$condition","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"$then","optional":false,"type":"Mu"},{"default":"Invocation","keywordOnly":true,"name":"$otherwise","optional":true,"type":"Mu"},{"default":"False","keywordOnly":true,"name":"$format","optional":true,"type":"Mu"},{"default":"False","keywordOnly":true,"name":"$background","optional":true,"type":"Mu"},{"default":"PaneId","keywordOnly":true,"name":"$pane","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method if-shell(Mu $condition, Mu $then, Mu :$otherwise = Invocation,\n Mu :$format = False, Mu :$background = False, Mu :$pane = PaneId,\n Cancellation :$cancel = Cancellation --> Result:D)","references":[{"end":68,"start":58,"target":"LibTmux::Command::Invocation"},{"end":150,"start":144,"target":"LibTmux::Types::PaneId"},{"end":180,"start":168,"target":"LibTmux::Transport::Cancellation"},{"end":204,"start":192,"target":"LibTmux::Transport::Cancellation"},{"end":217,"start":209,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"if-shell","declaration":true},{"text":"(Mu $condition, Mu $then, Mu :$otherwise = "},{"text":"Invocation","target":"LibTmux::Command::Invocation"},{"text":",\n Mu :$format = False, Mu :$background = False, Mu :$pane = "},{"text":"PaneId","target":"LibTmux::Types::PaneId"},{"text":",\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":495,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-if-shell"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return its key-binding facade.","summary":"Observe daemon identity and return its key-binding facade."},"id":"LibTmux::Server.key-bindings","kind":"method","modifiers":[],"name":"key-bindings","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.key-bindings","signatures":[{"params":[],"raw":"method key-bindings(--> LibTmux::Configuration::KeyBindings:D)","references":[{"end":61,"start":24,"target":"LibTmux::Configuration::KeyBindings"}],"returns":"LibTmux::Configuration::KeyBindings:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key-bindings","declaration":true},{"text":"(--> "},{"text":"LibTmux::Configuration::KeyBindings:D","target":"LibTmux::Configuration::KeyBindings"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":570,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-key-bindings"},{"apiScope":"exported","doc":{"body":"Explicitly terminate this observed daemon. Owned callers must still close to join cleanup.","summary":"Explicitly terminate this observed daemon. Owned callers must still close to join cleanup."},"id":"LibTmux::Server.kill-server","kind":"method","modifiers":[],"name":"kill-server","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.kill-server","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method kill-server(Cancellation :$cancel = Cancellation --> Result:D)","references":[{"end":31,"start":19,"target":"LibTmux::Transport::Cancellation"},{"end":55,"start":43,"target":"LibTmux::Transport::Cancellation"},{"end":68,"start":60,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"kill-server","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":538,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-kill-server"},{"apiScope":"exported","doc":{"body":"Maximum encoded command size in bytes, including tmux quoting.","summary":"Maximum encoded command size in bytes, including tmux quoting."},"id":"LibTmux::Server.max-command-bytes","kind":"property","modifiers":[],"name":"max-command-bytes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.max-command-bytes","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":265,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-server-max-command-bytes"},{"apiScope":"exported","doc":{"body":"Combined output-byte limit for one owned command response.","summary":"Combined output-byte limit for one owned command response."},"id":"LibTmux::Server.max-output-bytes","kind":"property","modifiers":[],"name":"max-output-bytes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.max-output-bytes","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":263,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-server-max-output-bytes"},{"apiScope":"exported","doc":{"body":"Capture a borrowed endpoint without I/O. Closing it closes clients only.","summary":"Capture a borrowed endpoint without I/O. Closing it closes clients only."},"id":"LibTmux::Server.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.new","signatures":[{"params":[{"default":"'tmux'","keywordOnly":true,"name":"$binary","optional":true},{"default":"''","keywordOnly":true,"name":"$socket-name","optional":true},{"default":"''","keywordOnly":true,"name":"$socket-path","optional":true},{"default":"''","keywordOnly":true,"name":"$config-file","optional":true},{"default":"%*ENV","keywordOnly":true,"name":"$environment","optional":true},{"default":"$*CWD","keywordOnly":true,"name":"$cwd","optional":true},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true},{"default":"8 * 1024 * 1024","keywordOnly":true,"name":"$max-output-bytes","optional":true},{"default":"12 * 1024","keywordOnly":true,"name":"$max-command-bytes","optional":true}],"raw":"method new(:$binary = 'tmux', :$socket-name = '', :$socket-path = '',\n :$config-file = '', :$environment = %*ENV, :$cwd = $*CWD,\n :$timeout-ms = 10_000, :$max-output-bytes = 8 * 1024 * 1024,\n :$max-command-bytes = 12 * 1024)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(:$binary = 'tmux', :$socket-name = '', :$socket-path = '',\n :$config-file = '', :$environment = %*ENV, :$cwd = $*CWD,\n :$timeout-ms = 10_000, :$max-output-bytes = 8 * 1024 * 1024,\n :$max-command-bytes = 12 * 1024)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":290,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-new"},{"apiScope":"exported","doc":{"body":"Create a detached session and return its value-only, identity-scoped reference.","summary":"Create a detached session and return its value-only, identity-scoped reference."},"id":"LibTmux::Server.new-session","kind":"method","modifiers":[],"name":"new-session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.new-session","signatures":[{"params":[{"keywordOnly":true,"name":"$name","optional":false},{"default":"Str","keywordOnly":true,"name":"$shell-command","optional":true},{"default":"80","keywordOnly":true,"name":"$width","optional":true},{"default":"24","keywordOnly":true,"name":"$height","optional":true}],"raw":"method new-session(:$name!, :$shell-command = Str, :$width = 80, :$height = 24 --> SessionRef:D)","references":[{"end":95,"start":83,"target":"LibTmux::Model::SessionRef"}],"returns":"SessionRef:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new-session","declaration":true},{"text":"(:$name!, :$shell-command = Str, :$width = 80, :$height = 24 --> "},{"text":"SessionRef:D","target":"LibTmux::Model::SessionRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":452,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-new-session"},{"apiScope":"exported","doc":{"body":"Open a separately owned control connection attached to an explicit session ID.","summary":"Open a separately owned control connection attached to an explicit session ID."},"id":"LibTmux::Server.open-control","kind":"method","modifiers":[],"name":"open-control","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.open-control","signatures":[{"params":[{"keywordOnly":true,"name":"$session-id","optional":false,"type":"SessionId:D"},{"keywordOnly":false,"name":"%settings","optional":false}],"raw":"method open-control(SessionId:D :$session-id!, *%settings --> LibTmux::Control::Connection:D)","references":[{"end":31,"start":20,"target":"LibTmux::Types::SessionId"},{"end":92,"start":62,"target":"LibTmux::Control::Connection"}],"returns":"LibTmux::Control::Connection:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"open-control","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session-id!, *%settings --> "},{"text":"LibTmux::Control::Connection:D","target":"LibTmux::Control::Connection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":575,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-open-control"},{"apiScope":"exported","doc":{"body":"Resolve a separately owned verified control connection; the caller must close it.","summary":"Resolve a separately owned verified control connection; the caller must close it."},"id":"LibTmux::Server.open-control-async","kind":"method","modifiers":[],"name":"open-control-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.open-control-async","signatures":[{"params":[{"keywordOnly":true,"name":"$session-id","optional":false,"type":"SessionId:D"},{"default":"'auto'","keywordOnly":true,"name":"$new-layouts","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method open-control-async(SessionId:D :$session-id!, :$new-layouts = 'auto',\n Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":37,"start":26,"target":"LibTmux::Types::SessionId"},{"end":115,"start":103,"target":"LibTmux::Transport::Cancellation"},{"end":139,"start":127,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":25,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"open-control-async","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session-id!, :$new-layouts = 'auto',\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":579,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-open-control-async"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return server options or global session/window defaults.","summary":"Observe daemon identity and return server options or global session/window defaults."},"id":"LibTmux::Server.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.options","signatures":[{"params":[{"default":"'server'","keywordOnly":true,"name":"$scope","optional":true,"type":"Str:D"}],"raw":"method options(Str:D :$scope = 'server' --> LibTmux::Configuration::Options:D)","references":[{"end":77,"start":44,"target":"LibTmux::Configuration::Options"}],"returns":"LibTmux::Configuration::Options:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(Str:D :$scope = 'server' --> "},{"text":"LibTmux::Configuration::Options:D","target":"LibTmux::Configuration::Options"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":551,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-options"},{"apiScope":"exported","doc":{"body":"Whether this facade owns the foreground daemon it started.","summary":"Whether this facade owns the foreground daemon it started."},"id":"LibTmux::Server.owned","kind":"method","modifiers":[],"name":"owned","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.owned","signatures":[{"params":[],"raw":"method owned(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"owned","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":343,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-owned"},{"apiScope":"exported","doc":{"body":"Acquire a typed selection; only requested relationship predicates load the full graph.","summary":"Acquire a typed selection; only requested relationship predicates load the full graph."},"id":"LibTmux::Server.query","kind":"method","modifiers":[],"name":"query","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query(Mu $entity, *%options --> Positional:D)","references":[],"returns":"Positional:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query","declaration":true},{"text":"(Mu $entity, *%options --> Positional:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":404,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query"},{"apiScope":"exported","doc":{"body":"Copy and validate query data before scheduling acquisition within one shared deadline.","summary":"Copy and validate query data before scheduling acquisition within one shared deadline."},"id":"LibTmux::Server.query-async","kind":"method","modifiers":[],"name":"query-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-async","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"default":"Map.new","keywordOnly":true,"name":"$where","optional":true,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method query-async(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto',\n Mu :$cancel = Cancellation, *%unknown --> Promise:D)","references":[{"end":122,"start":110,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-async","declaration":true},{"text":"(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto',\n Mu :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":", *%unknown --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":408,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-async"},{"apiScope":"exported","doc":{"body":"Acquire panes explicitly; the resulting selection is local and replayable.","summary":"Acquire panes explicitly; the resulting selection is local and replayable."},"id":"LibTmux::Server.query-panes","kind":"method","modifiers":[],"name":"query-panes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-panes","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-panes(*%options --> PaneSelection:D)","references":[{"end":48,"start":33,"target":"LibTmux::Model::PaneSelection"}],"returns":"PaneSelection:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-panes","declaration":true},{"text":"(*%options --> "},{"text":"PaneSelection:D","target":"LibTmux::Model::PaneSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":430,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-panes"},{"apiScope":"exported","doc":{"body":"Acquire sessions explicitly under the selected pushdown policy.","summary":"Acquire sessions explicitly under the selected pushdown policy."},"id":"LibTmux::Server.query-sessions","kind":"method","modifiers":[],"name":"query-sessions","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-sessions","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-sessions(*%options --> SessionSelection:D)","references":[{"end":54,"start":36,"target":"LibTmux::Model::SessionSelection"}],"returns":"SessionSelection:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-sessions","declaration":true},{"text":"(*%options --> "},{"text":"SessionSelection:D","target":"LibTmux::Model::SessionSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":434,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-sessions"},{"apiScope":"exported","doc":{"body":"Acquire session/index associations without deduplicating repeated window placements.","summary":"Acquire session/index associations without deduplicating repeated window placements."},"id":"LibTmux::Server.query-window-links","kind":"method","modifiers":[],"name":"query-window-links","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-window-links","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-window-links(*%options --> WindowLinkSelection:D)","references":[{"end":61,"start":40,"target":"LibTmux::Model::WindowLinkSelection"}],"returns":"WindowLinkSelection:D","nativeSyntax":[{"start":7,"end":25,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-window-links","declaration":true},{"text":"(*%options --> "},{"text":"WindowLinkSelection:D","target":"LibTmux::Model::WindowLinkSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":438,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-window-links"},{"apiScope":"exported","doc":{"body":"Acquire unique physical windows, preserving link context separately.","summary":"Acquire unique physical windows, preserving link context separately."},"id":"LibTmux::Server.query-windows","kind":"method","modifiers":[],"name":"query-windows","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-windows","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-windows(*%options --> WindowSelection:D)","references":[{"end":52,"start":35,"target":"LibTmux::Model::WindowSelection"}],"returns":"WindowSelection:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-windows","declaration":true},{"text":"(*%options --> "},{"text":"WindowSelection:D","target":"LibTmux::Model::WindowSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":436,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-windows"},{"apiScope":"exported","doc":{"body":"Run a declared batch with one observed incarnation and a shared deadline.","summary":"Run a declared batch with one observed incarnation and a shared deadline."},"id":"LibTmux::Server.run-batch","kind":"method","modifiers":[],"name":"run-batch","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.run-batch","signatures":[{"params":[{"keywordOnly":false,"name":"$batch","optional":false,"type":"LibTmux::Batch::Batch:D"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method run-batch(LibTmux::Batch::Batch:D $batch, *%options --> LibTmux::Batch::Report:D)","references":[{"end":40,"start":17,"target":"LibTmux::Batch::Batch"},{"end":87,"start":63,"target":"LibTmux::Batch::Report"}],"returns":"LibTmux::Batch::Report:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-batch","declaration":true},{"text":"("},{"text":"LibTmux::Batch::Batch:D","target":"LibTmux::Batch::Batch"},{"text":" $batch, *%options --> "},{"text":"LibTmux::Batch::Report:D","target":"LibTmux::Batch::Report"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":608,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-run-batch"},{"apiScope":"exported","doc":{"body":"Resolve per-operation outcomes with one deadline spanning observation and dispatch.","summary":"Resolve per-operation outcomes with one deadline spanning observation and dispatch."},"id":"LibTmux::Server.run-batch-async","kind":"method","modifiers":[],"name":"run-batch-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.run-batch-async","signatures":[{"params":[{"keywordOnly":false,"name":"$batch","optional":false,"type":"LibTmux::Batch::Batch:D"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"},{"default":"'stop'","keywordOnly":true,"name":"$on-error","optional":true,"type":"Str:D"}],"raw":"method run-batch-async(LibTmux::Batch::Batch:D $batch, Cancellation :$cancel = Cancellation,\n Str:D :$on-error = 'stop' --> Promise:D)","references":[{"end":46,"start":23,"target":"LibTmux::Batch::Batch"},{"end":67,"start":55,"target":"LibTmux::Transport::Cancellation"},{"end":91,"start":79,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-batch-async","declaration":true},{"text":"("},{"text":"LibTmux::Batch::Batch:D","target":"LibTmux::Batch::Batch"},{"text":" $batch, "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":",\n Str:D :$on-error = 'stop' --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":612,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-run-batch-async"},{"apiScope":"exported","doc":{"body":"Run literal shell source through tmux. Background acknowledgement is not job completion.","summary":"Run literal shell source through tmux. Background acknowledgement is not job completion."},"id":"LibTmux::Server.run-shell","kind":"method","modifiers":[],"name":"run-shell","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.run-shell","signatures":[{"params":[{"keywordOnly":false,"name":"$script","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method run-shell(Mu $script, *%options --> Result:D)","references":[{"end":51,"start":43,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-shell","declaration":true},{"text":"(Mu $script, *%options --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":483,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-run-shell"},{"apiScope":"exported","doc":{"body":"Resolve the bounded tmux job request; cancellation does not undo a server-side job.","summary":"Resolve the bounded tmux job request; cancellation does not undo a server-side job."},"id":"LibTmux::Server.run-shell-async","kind":"method","modifiers":[],"name":"run-shell-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.run-shell-async","signatures":[{"params":[{"keywordOnly":false,"name":"$script","optional":false,"type":"Mu"},{"default":"False","keywordOnly":true,"name":"$background","optional":true,"type":"Mu"},{"default":"PaneId","keywordOnly":true,"name":"$pane","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method run-shell-async(Mu $script, Mu :$background = False, Mu :$pane = PaneId,\n Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":78,"start":72,"target":"LibTmux::Types::PaneId"},{"end":115,"start":103,"target":"LibTmux::Transport::Cancellation"},{"end":139,"start":127,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-shell-async","declaration":true},{"text":"(Mu $script, Mu :$background = False, Mu :$pane = "},{"text":"PaneId","target":"LibTmux::Types::PaneId"},{"text":",\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":485,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-run-shell-async"},{"apiScope":"exported","doc":{"body":"Acquire a captured graph explicitly. Existing snapshots remain unchanged.","summary":"Acquire a captured graph explicitly. Existing snapshots remain unchanged."},"id":"LibTmux::Server.snapshot","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.snapshot","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method snapshot(Cancellation :$cancel = Cancellation --> Snapshot:D)","references":[{"end":28,"start":16,"target":"LibTmux::Transport::Cancellation"},{"end":52,"start":40,"target":"LibTmux::Transport::Cancellation"},{"end":67,"start":57,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":375,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-snapshot"},{"apiScope":"exported","doc":{"body":"Resolve a fresh captured graph; cancellation propagates through every acquisition stage.","summary":"Resolve a fresh captured graph; cancellation propagates through every acquisition stage."},"id":"LibTmux::Server.snapshot-async","kind":"method","modifiers":[],"name":"snapshot-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.snapshot-async","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method snapshot-async(Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":34,"start":22,"target":"LibTmux::Transport::Cancellation"},{"end":58,"start":46,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot-async","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":377,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-snapshot-async"},{"apiScope":"exported","doc":{"body":"Source one literal local pathname; parse-only validates without running its commands.","summary":"Source one literal local pathname; parse-only validates without running its commands."},"id":"LibTmux::Server.source-file","kind":"method","modifiers":[],"name":"source-file","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.source-file","signatures":[{"params":[{"keywordOnly":false,"name":"$path","optional":false,"type":"Mu"},{"default":"False","keywordOnly":true,"name":"$parse-only","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method source-file(Mu $path, Mu :$parse-only = False,\n Cancellation :$cancel = Cancellation --> Result:D)","references":[{"end":85,"start":73,"target":"LibTmux::Transport::Cancellation"},{"end":109,"start":97,"target":"LibTmux::Transport::Cancellation"},{"end":122,"start":114,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"source-file","declaration":true},{"text":"(Mu $path, Mu :$parse-only = False,\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":512,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-source-file"},{"apiScope":"exported","doc":{"body":"Start an owned foreground daemon on a fresh private socket and create its first session.","summary":"Start an owned foreground daemon on a fresh private socket and create its first session."},"id":"LibTmux::Server.start","kind":"method","modifiers":[],"name":"start","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.start","signatures":[{"params":[{"default":"'main'","keywordOnly":true,"name":"$name","optional":true},{"default":"'tmux'","keywordOnly":true,"name":"$binary","optional":true},{"default":"Str","keywordOnly":true,"name":"$shell-command","optional":true},{"default":"80","keywordOnly":true,"name":"$width","optional":true},{"default":"24","keywordOnly":true,"name":"$height","optional":true},{"default":"%*ENV","keywordOnly":true,"name":"$environment","optional":true},{"default":"$*CWD","keywordOnly":true,"name":"$cwd","optional":true},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true},{"default":"8 * 1024 * 1024","keywordOnly":true,"name":"$max-output-bytes","optional":true},{"default":"12 * 1024","keywordOnly":true,"name":"$max-command-bytes","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true}],"raw":"method start(:$name = 'main', :$binary = 'tmux', :$shell-command = Str,\n :$width = 80, :$height = 24, :$environment = %*ENV, :$cwd = $*CWD,\n :$timeout-ms = 10_000, :$max-output-bytes = 8 * 1024 * 1024,\n :$max-command-bytes = 12 * 1024, :$cancel = Cancellation)","references":[{"end":295,"start":283,"target":"LibTmux::Transport::Cancellation"}],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"start","declaration":true},{"text":"(:$name = 'main', :$binary = 'tmux', :$shell-command = Str,\n :$width = 80, :$height = 24, :$environment = %*ENV, :$cwd = $*CWD,\n :$timeout-ms = 10_000, :$max-output-bytes = 8 * 1024 * 1024,\n :$max-command-bytes = 12 * 1024, :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":622,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-start"},{"apiScope":"exported","doc":{"body":"Wait, signal, lock or unlock a named channel; timeout cannot undo server-side effects.","summary":"Wait, signal, lock or unlock a named channel; timeout cannot undo server-side effects."},"id":"LibTmux::Server.wait-for","kind":"method","modifiers":[],"name":"wait-for","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.wait-for","signatures":[{"params":[{"keywordOnly":false,"name":"$channel","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method wait-for(Mu $channel, *%options --> Result:D)","references":[{"end":51,"start":43,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"wait-for","declaration":true},{"text":"(Mu $channel, *%options --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":524,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-wait-for"},{"apiScope":"exported","doc":{"body":"Resolve one channel operation within the Server deadline, without readiness polling.","summary":"Resolve one channel operation within the Server deadline, without readiness polling."},"id":"LibTmux::Server.wait-for-async","kind":"method","modifiers":[],"name":"wait-for-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.wait-for-async","signatures":[{"params":[{"keywordOnly":false,"name":"$channel","optional":false,"type":"Mu"},{"default":"'wait'","keywordOnly":true,"name":"$action","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method wait-for-async(Mu $channel, Mu :$action = 'wait',\n Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":90,"start":78,"target":"LibTmux::Transport::Cancellation"},{"end":114,"start":102,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"wait-for-async","declaration":true},{"text":"(Mu $channel, Mu :$action = 'wait',\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":526,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-wait-for-async"},{"apiScope":"exported","doc":{"body":"# Bounded child processes\n\nExecutor accepts a nonempty positional argv of defined, NUL-free strings.\nIt invokes that executable directly. Shell syntax, tmux command syntax and\nFORMAT expansion belong to callers above this layer.\n\n` execute ` returns a Result. ` execute-async ` always returns a Promise,\nincluding for invalid arguments or closed admission. Each call copies argv,\nenvironment entries and input bytes before asynchronous work begins. An\nomitted environment copies the current environment; an explicit empty mapping\npasses no variables. Input is a Blob, and the child receives EOF after those\nbytes are written. Both output streams are binary and drain concurrently.\n\n` timeout-ms ` bounds an admitted operation, ` max-output-bytes ` bounds combined\nretained stdout/stderr, and ` cleanup-timeout-ms ` bounds waiting after forced\ntermination. Their defaults are 10000 ms, 8388608 bytes and 1000 ms. All are\npositive integers. Encoded tmux command size has a separate Engine policy.\n` execute ` and ` execute-async ` accept an optional ` timeout-ms ` override for\ncallers sharing one deadline across several child operations.\n\nBy default a nonzero exit or signal throws X::LibTmux::Command. ` :!check `\nreturns its Result with outcome Failed instead. Spawn failure, invalid input,\ntimeout, cancellation, output overflow and I/O failures still throw. Error\nrecords retain bounded output bytes, process identity and reaping evidence.\nNotStarted means no child effects were admitted. Failed and Indeterminate do\nnot mean that earlier effects were rolled back. Complete means child process\ncompletion, not completion of a program controlled through tmux.\n\nCancellation is one shot. Dropping an operation Promise does not cancel its\nchild. Explicit cancellation and executor close terminate admitted children;\nclose callers share one Promise. A close failure remains observable on later\nclose calls. The executor owns direct child clients, not programs deliberately\nstarted in a tmux pane or arbitrary descendant daemons.\nExecutor and Cancellation cannot be cloned. Result clones reconstruct and\nvalidate replacement attributes, copying output bytes again.","summary":""},"id":"LibTmux::Transport","kind":"module","modifiers":[],"name":"LibTmux::Transport","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Transport","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":2,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport"},{"apiScope":"exported","doc":{"body":"One-shot cancellation shared by explicitly selected operations.","summary":"One-shot cancellation shared by explicitly selected operations."},"id":"LibTmux::Transport::Cancellation","kind":"class","modifiers":[],"name":"Cancellation","package":"LibTmux","parent":"LibTmux::Transport","product":"core","publicId":"LibTmux::Transport::Cancellation","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":11,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation"},{"apiScope":"exported","doc":{"body":"Cancel all subscribed operations once; repeated calls have no further effect.","summary":"Cancel all subscribed operations once; repeated calls have no further effect."},"id":"LibTmux::Transport::Cancellation.cancel","kind":"method","modifiers":[],"name":"cancel","package":"LibTmux","parent":"LibTmux::Transport::Cancellation","product":"core","publicId":"LibTmux::Transport::Cancellation.cancel","signatures":[{"params":[],"raw":"method cancel(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"cancel","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":29,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation-cancel"},{"apiScope":"exported","doc":{"body":"Read cancellation state without I/O.","summary":"Read cancellation state without I/O."},"id":"LibTmux::Transport::Cancellation.cancelled","kind":"method","modifiers":[],"name":"cancelled","package":"LibTmux","parent":"LibTmux::Transport::Cancellation","product":"core","publicId":"LibTmux::Transport::Cancellation.cancelled","signatures":[{"params":[],"raw":"method cancelled(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"cancelled","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation-cancelled"},{"apiScope":"exported","doc":{"body":"Lifecycle owners cannot share mutable state through a shallow clone.","summary":"Lifecycle owners cannot share mutable state through a shallow clone."},"id":"LibTmux::Transport::Cancellation.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Transport::Cancellation","product":"core","publicId":"LibTmux::Transport::Cancellation.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":23,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation-clone"},{"apiScope":"exported","doc":{"body":"Observe cancellation through a Promise which only this token can resolve.","summary":"Observe cancellation through a Promise which only this token can resolve."},"id":"LibTmux::Transport::Cancellation.when-cancelled","kind":"method","modifiers":[],"name":"when-cancelled","package":"LibTmux","parent":"LibTmux::Transport::Cancellation","product":"core","publicId":"LibTmux::Transport::Cancellation.when-cancelled","signatures":[{"params":[],"raw":"method when-cancelled(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"when-cancelled","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation-when-cancelled"},{"apiScope":"exported","doc":{"body":"Captured child output. Complete means process completion, not application effects.","summary":"Captured child output. Complete means process completion, not application effects."},"id":"LibTmux::Transport::Result","kind":"class","modifiers":[],"name":"Result","package":"LibTmux","parent":"LibTmux::Transport","product":"core","publicId":"LibTmux::Transport::Result","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":62,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-result"},{"apiScope":"exported","doc":{"body":"Reconstruct copies through the constructor, including replacement byte buffers.","summary":"Reconstruct copies through the constructor, including replacement byte buffers."},"id":"LibTmux::Transport::Result.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":87,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-result-clone"},{"apiScope":"exported","doc":{"body":"Child exit status; inspect signal separately for signal termination.","summary":"Child exit status; inspect signal separately for signal termination."},"id":"LibTmux::Transport::Result.exitcode","kind":"property","modifiers":[],"name":"exitcode","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.exitcode","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-transport-result-exitcode"},{"apiScope":"exported","doc":{"body":"Known command outcome; Complete does not prove an external application effect.","summary":"Known command outcome; Complete does not prove an external application effect."},"id":"LibTmux::Transport::Result.outcome","kind":"property","modifiers":[],"name":"outcome","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.outcome","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Outcome:D","slug":"libtmux-transport-result-outcome"},{"apiScope":"exported","doc":{"body":"Retained stdout and stderr bytes, excluding fixed metadata and object overhead.","summary":"Retained stdout and stderr bytes, excluding fixed metadata and object overhead."},"id":"LibTmux::Transport::Result.output-bytes","kind":"method","modifiers":[],"name":"output-bytes","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.output-bytes","signatures":[{"params":[],"raw":"method output-bytes(--> Count:D)","references":[{"end":31,"start":24,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"output-bytes","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":84,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-result-output-bytes"},{"apiScope":"exported","doc":{"body":"Owned client process ID associated with this result.","summary":"Owned client process ID associated with this result."},"id":"LibTmux::Transport::Result.pid","kind":"property","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.pid","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":72,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-transport-result-pid"},{"apiScope":"exported","doc":{"body":"Whether the owned client completion was joined.","summary":"Whether the owned client completion was joined."},"id":"LibTmux::Transport::Result.reaped","kind":"property","modifiers":[],"name":"reaped","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.reaped","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-transport-result-reaped"},{"apiScope":"exported","doc":{"body":"Terminating signal number, or zero for ordinary process exit.","summary":"Terminating signal number, or zero for ordinary process exit."},"id":"LibTmux::Transport::Result.signal","kind":"property","modifiers":[],"name":"signal","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.signal","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":70,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-transport-result-signal"},{"apiScope":"exported","doc":{"body":"Captured stderr bytes, drained concurrently with stdout.","summary":"Captured stderr bytes, drained concurrently with stdout."},"id":"LibTmux::Transport::Result.stderr","kind":"property","modifiers":[],"name":"stderr","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.stderr","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-transport-result-stderr"},{"apiScope":"exported","doc":{"body":"Captured stdout bytes; no text normalization or implicit decoding is applied.","summary":"Captured stdout bytes; no text normalization or implicit decoding is applied."},"id":"LibTmux::Transport::Result.stdout","kind":"property","modifiers":[],"name":"stdout","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.stdout","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":64,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-transport-result-stdout"},{"apiScope":"exported","doc":{"body":"# Identifiers and states\n\nIDs validate ASCII spelling only. Store daemon identity separately and check\nit before operations. WindowLink identity additionally includes session/index;\nan observed index is not a permanent link identifier.\n\nValueState describes field availability. KnownNull is domain absence;\nUnloaded means acquisition omitted data, and Unavailable means the selected\nacquisition context cannot supply it. Unsupported is a capability refusal.\nNone of these states is encoded as an empty string or numeric zero.","summary":""},"id":"LibTmux::Types","kind":"module","modifiers":[],"name":"LibTmux::Types","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Types","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types"},{"apiScope":"exported","doc":{"body":"A nonnegative count or dimension. Bool is deliberately not a number here.","summary":"A nonnegative count or dimension. Bool is deliberately not a number here."},"id":"LibTmux::Types::Count","kind":"typealias","modifiers":[],"name":"Count","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::Count","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":12,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-count"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome","kind":"enum","modifiers":[],"name":"Outcome","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::Outcome","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-outcome"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.Complete","kind":"constant","modifiers":[],"name":"Complete","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.Complete","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"1","slug":"libtmux-types-outcome-complete"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.Failed","kind":"constant","modifiers":[],"name":"Failed","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.Failed","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"2","slug":"libtmux-types-outcome-failed"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.Indeterminate","kind":"constant","modifiers":[],"name":"Indeterminate","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.Indeterminate","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"4","slug":"libtmux-types-outcome-indeterminate"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.NotStarted","kind":"constant","modifiers":[],"name":"NotStarted","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.NotStarted","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"0","slug":"libtmux-types-outcome-notstarted"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.Skipped","kind":"constant","modifiers":[],"name":"Skipped","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.Skipped","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"3","slug":"libtmux-types-outcome-skipped"},{"apiScope":"exported","doc":{"body":"A pane identifier scoped to a captured daemon incarnation.","summary":"A pane identifier scoped to a captured daemon incarnation."},"id":"LibTmux::Types::PaneId","kind":"typealias","modifiers":[],"name":"PaneId","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::PaneId","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":10,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-paneid"},{"apiScope":"exported","doc":{"body":"A positive dimension or resource limit.","summary":"A positive dimension or resource limit."},"id":"LibTmux::Types::Positive","kind":"typealias","modifiers":[],"name":"Positive","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::Positive","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":14,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-positive"},{"apiScope":"exported","doc":{"body":"A session identifier's spelling; existence and daemon ownership are separate.","summary":"A session identifier's spelling; existence and daemon ownership are separate."},"id":"LibTmux::Types::SessionId","kind":"typealias","modifiers":[],"name":"SessionId","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::SessionId","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":6,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-sessionid"},{"apiScope":"exported","doc":{"body":"Capability evidence never treats an unprobed feature as supported.","summary":"Capability evidence never treats an unprobed feature as supported."},"id":"LibTmux::Types::SupportState","kind":"enum","modifiers":[],"name":"SupportState","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::SupportState","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-supportstate"},{"apiScope":"exported","doc":{"body":"Capability evidence never treats an unprobed feature as supported.","summary":"Capability evidence never treats an unprobed feature as supported."},"id":"LibTmux::Types::SupportState.NotSupported","kind":"constant","modifiers":[],"name":"NotSupported","package":"LibTmux","parent":"LibTmux::Types::SupportState","product":"core","publicId":"LibTmux::Types::SupportState.NotSupported","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"1","slug":"libtmux-types-supportstate-notsupported"},{"apiScope":"exported","doc":{"body":"Capability evidence never treats an unprobed feature as supported.","summary":"Capability evidence never treats an unprobed feature as supported."},"id":"LibTmux::Types::SupportState.Supported","kind":"constant","modifiers":[],"name":"Supported","package":"LibTmux","parent":"LibTmux::Types::SupportState","product":"core","publicId":"LibTmux::Types::SupportState.Supported","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"0","slug":"libtmux-types-supportstate-supported"},{"apiScope":"exported","doc":{"body":"Capability evidence never treats an unprobed feature as supported.","summary":"Capability evidence never treats an unprobed feature as supported."},"id":"LibTmux::Types::SupportState.Unknown","kind":"constant","modifiers":[],"name":"Unknown","package":"LibTmux","parent":"LibTmux::Types::SupportState","product":"core","publicId":"LibTmux::Types::SupportState.Unknown","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"2","slug":"libtmux-types-supportstate-unknown"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState","kind":"enum","modifiers":[],"name":"ValueState","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::ValueState","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-valuestate"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.KnownNull","kind":"constant","modifiers":[],"name":"KnownNull","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.KnownNull","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"1","slug":"libtmux-types-valuestate-knownnull"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.Present","kind":"constant","modifiers":[],"name":"Present","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.Present","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"0","slug":"libtmux-types-valuestate-present"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.Unavailable","kind":"constant","modifiers":[],"name":"Unavailable","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.Unavailable","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"3","slug":"libtmux-types-valuestate-unavailable"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.Unloaded","kind":"constant","modifiers":[],"name":"Unloaded","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.Unloaded","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"4","slug":"libtmux-types-valuestate-unloaded"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.Unsupported","kind":"constant","modifiers":[],"name":"Unsupported","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.Unsupported","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"2","slug":"libtmux-types-valuestate-unsupported"},{"apiScope":"exported","doc":{"body":"A physical window identifier. An index in a session is a different value.","summary":"A physical window identifier. An index in a session is a different value."},"id":"LibTmux::Types::WindowId","kind":"typealias","modifiers":[],"name":"WindowId","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::WindowId","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":8,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-windowid"},{"apiScope":"exported","doc":{"body":"Base for explicit library failures; operational failures are never absence.","summary":"Base for explicit library failures; operational failures are never absence."},"extends":["Exception"],"id":"X::LibTmux","kind":"exception","modifiers":[],"name":"X::LibTmux","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":9,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux"},{"apiScope":"exported","doc":{"body":"Human-readable diagnostic; typed fields carry machine-readable context.","summary":"Human-readable diagnostic; typed fields carry machine-readable context."},"id":"X::LibTmux.message","kind":"property","modifiers":[],"name":"message","package":"LibTmux","parent":"X::LibTmux","product":"core","publicId":"X::LibTmux.message","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":11,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-message"},{"apiScope":"exported","doc":{"body":"Exact or optional cardinality was violated.","summary":"Exact or optional cardinality was violated."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::Cardinality","kind":"exception","modifiers":[],"name":"X::LibTmux::Cardinality","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::Cardinality","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":82,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-cardinality"},{"apiScope":"exported","doc":{"body":"Exact number of captured matches which violated cardinality.","summary":"Exact number of captured matches which violated cardinality."},"id":"X::LibTmux::Cardinality.count","kind":"property","modifiers":[],"name":"count","package":"LibTmux","parent":"X::LibTmux::Cardinality","product":"core","publicId":"X::LibTmux::Cardinality.count","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":84,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"x-libtmux-cardinality-count"},{"apiScope":"exported","doc":{"body":"Entity schema associated with this failure.","summary":"Entity schema associated with this failure."},"id":"X::LibTmux::Cardinality.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"X::LibTmux::Cardinality","product":"core","publicId":"X::LibTmux::Cardinality.entity","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":86,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-cardinality-entity"},{"apiScope":"exported","doc":{"body":"A child command failed; outcome states whether an effect may have occurred.","summary":"A child command failed; outcome states whether an effect may have occurred."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::Command","kind":"exception","modifiers":[],"name":"X::LibTmux::Command","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::Command","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":15,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-command"},{"apiScope":"exported","doc":{"body":"Underlying failure retained when a later boundary adds context.","summary":"Underlying failure retained when a later boundary adds context."},"id":"X::LibTmux::Command.cause","kind":"property","modifiers":[],"name":"cause","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.cause","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Exception","slug":"x-libtmux-command-cause"},{"apiScope":"exported","doc":{"body":"Copy error context with validated fields and independent immutable byte buffers.","summary":"Copy error context with validated fields and independent immutable byte buffers."},"id":"X::LibTmux::Command.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> X::LibTmux::Command:D)","references":[{"end":48,"start":27,"target":"X::LibTmux::Command"}],"returns":"X::LibTmux::Command:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"X::LibTmux::Command:D","target":"X::LibTmux::Command"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-command-clone"},{"apiScope":"exported","doc":{"body":"Observed child exit status, when a child completion is available.","summary":"Observed child exit status, when a child completion is available."},"id":"X::LibTmux::Command.exitcode","kind":"property","modifiers":[],"name":"exitcode","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.exitcode","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"x-libtmux-command-exitcode"},{"apiScope":"exported","doc":{"body":"Failure category such as argument, spawn, exit, timeout, cancelled or cleanup.","summary":"Failure category such as argument, spawn, exit, timeout, cancelled or cleanup."},"id":"X::LibTmux::Command.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.kind","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-command-kind"},{"apiScope":"exported","doc":{"body":"What is known about effects at the failure boundary.","summary":"What is known about effects at the failure boundary."},"id":"X::LibTmux::Command.outcome","kind":"property","modifiers":[],"name":"outcome","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.outcome","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Outcome:D","slug":"x-libtmux-command-outcome"},{"apiScope":"exported","doc":{"body":"Owned client process ID, when process creation was established.","summary":"Owned client process ID, when process creation was established."},"id":"X::LibTmux::Command.pid","kind":"property","modifiers":[],"name":"pid","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.pid","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"x-libtmux-command-pid"},{"apiScope":"exported","doc":{"body":"Whether cleanup established that the owned client was joined.","summary":"Whether cleanup established that the owned client was joined."},"id":"X::LibTmux::Command.reaped","kind":"property","modifiers":[],"name":"reaped","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.reaped","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"x-libtmux-command-reaped"},{"apiScope":"exported","doc":{"body":"Observed terminating signal, when child completion is available.","summary":"Observed terminating signal, when child completion is available."},"id":"X::LibTmux::Command.signal","kind":"property","modifiers":[],"name":"signal","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.signal","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":29,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"x-libtmux-command-signal"},{"apiScope":"exported","doc":{"body":"Captured stderr bytes available when the operation failed.","summary":"Captured stderr bytes available when the operation failed."},"id":"X::LibTmux::Command.stderr","kind":"property","modifiers":[],"name":"stderr","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.stderr","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"x-libtmux-command-stderr"},{"apiScope":"exported","doc":{"body":"Captured stdout bytes available when the operation failed.","summary":"Captured stdout bytes available when the operation failed."},"id":"X::LibTmux::Command.stdout","kind":"property","modifiers":[],"name":"stdout","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.stdout","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":23,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"x-libtmux-command-stdout"},{"apiScope":"exported","doc":{"body":"Captured bytes violate the declared projection or field codec.","summary":"Captured bytes violate the declared projection or field codec."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::Decode","kind":"exception","modifiers":[],"name":"X::LibTmux::Decode","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::Decode","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":56,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-decode"},{"apiScope":"exported","doc":{"body":"Field or relation associated with this failure, when known.","summary":"Field or relation associated with this failure, when known."},"id":"X::LibTmux::Decode.field","kind":"property","modifiers":[],"name":"field","package":"LibTmux","parent":"X::LibTmux::Decode","product":"core","publicId":"X::LibTmux::Decode.field","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":60,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-decode-field"},{"apiScope":"exported","doc":{"body":"Zero-based byte offset in the decoder context reported by this error.","summary":"Zero-based byte offset in the decoder context reported by this error."},"id":"X::LibTmux::Decode.offset","kind":"property","modifiers":[],"name":"offset","package":"LibTmux","parent":"X::LibTmux::Decode","product":"core","publicId":"X::LibTmux::Decode.offset","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":64,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"x-libtmux-decode-offset"},{"apiScope":"exported","doc":{"body":"One-based record number; zero means no record was identified.","summary":"One-based record number; zero means no record was identified."},"id":"X::LibTmux::Decode.row","kind":"property","modifiers":[],"name":"row","package":"LibTmux","parent":"X::LibTmux::Decode","product":"core","publicId":"X::LibTmux::Decode.row","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":62,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"x-libtmux-decode-row"},{"apiScope":"exported","doc":{"body":"Declared wire or acquisition schema that rejected the input.","summary":"Declared wire or acquisition schema that rejected the input."},"id":"X::LibTmux::Decode.schema","kind":"property","modifiers":[],"name":"schema","package":"LibTmux","parent":"X::LibTmux::Decode","product":"core","publicId":"X::LibTmux::Decode.schema","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":58,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-decode-schema"},{"apiScope":"exported","doc":{"body":"Contextual rows disagree about one physical entity in a capture interval.","summary":"Contextual rows disagree about one physical entity in a capture interval."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::InconsistentSnapshot","kind":"exception","modifiers":[],"name":"X::LibTmux::InconsistentSnapshot","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::InconsistentSnapshot","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":103,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-inconsistentsnapshot"},{"apiScope":"exported","doc":{"body":"Entity schema associated with this failure.","summary":"Entity schema associated with this failure."},"id":"X::LibTmux::InconsistentSnapshot.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"X::LibTmux::InconsistentSnapshot","product":"core","publicId":"X::LibTmux::InconsistentSnapshot.entity","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":105,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-inconsistentsnapshot-entity"},{"apiScope":"exported","doc":{"body":"Field or relation associated with this failure, when known.","summary":"Field or relation associated with this failure, when known."},"id":"X::LibTmux::InconsistentSnapshot.field","kind":"property","modifiers":[],"name":"field","package":"LibTmux","parent":"X::LibTmux::InconsistentSnapshot","product":"core","publicId":"X::LibTmux::InconsistentSnapshot.field","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":107,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-inconsistentsnapshot-field"},{"apiScope":"exported","doc":{"body":"Criteria are invalid before any collection traversal occurs.","summary":"Criteria are invalid before any collection traversal occurs."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::InvalidFilter","kind":"exception","modifiers":[],"name":"X::LibTmux::InvalidFilter","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::InvalidFilter","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-invalidfilter"},{"apiScope":"exported","doc":{"body":"Criterion path identifying invalid query data.","summary":"Criterion path identifying invalid query data."},"id":"X::LibTmux::InvalidFilter.path","kind":"property","modifiers":[],"name":"path","package":"LibTmux","parent":"X::LibTmux::InvalidFilter","product":"core","publicId":"X::LibTmux::InvalidFilter.path","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":70,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-invalidfilter-path"},{"apiScope":"exported","doc":{"body":"A requested local field or relation was not acquired in this observation.","summary":"A requested local field or relation was not acquired in this observation."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::MissingData","kind":"exception","modifiers":[],"name":"X::LibTmux::MissingData","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::MissingData","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-missingdata"},{"apiScope":"exported","doc":{"body":"Field or relation associated with this failure, when known.","summary":"Field or relation associated with this failure, when known."},"id":"X::LibTmux::MissingData.field","kind":"property","modifiers":[],"name":"field","package":"LibTmux","parent":"X::LibTmux::MissingData","product":"core","publicId":"X::LibTmux::MissingData.field","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-missingdata-field"},{"apiScope":"exported","doc":{"body":"Availability or support state explaining this refusal.","summary":"Availability or support state explaining this refusal."},"id":"X::LibTmux::MissingData.state","kind":"property","modifiers":[],"name":"state","package":"LibTmux","parent":"X::LibTmux::MissingData","product":"core","publicId":"X::LibTmux::MissingData.state","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"ValueState:D","slug":"x-libtmux-missingdata-state"},{"apiScope":"exported","doc":{"body":"A target belongs to a daemon incarnation which is no longer current.","summary":"A target belongs to a daemon incarnation which is no longer current."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::StaleReference","kind":"exception","modifiers":[],"name":"X::LibTmux::StaleReference","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::StaleReference","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":100,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-stalereference"},{"apiScope":"exported","doc":{"body":"A capability is unavailable or not established for the connected daemon.","summary":"A capability is unavailable or not established for the connected daemon."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::Unsupported","kind":"exception","modifiers":[],"name":"X::LibTmux::Unsupported","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::Unsupported","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-unsupported"},{"apiScope":"exported","doc":{"body":"Capability identifier which could not be established or used.","summary":"Capability identifier which could not be established or used."},"id":"X::LibTmux::Unsupported.feature","kind":"property","modifiers":[],"name":"feature","package":"LibTmux","parent":"X::LibTmux::Unsupported","product":"core","publicId":"X::LibTmux::Unsupported.feature","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":92,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-unsupported-feature"},{"apiScope":"exported","doc":{"body":"Evidence-based explanation of the unsupported or unknown capability.","summary":"Evidence-based explanation of the unsupported or unknown capability."},"id":"X::LibTmux::Unsupported.reason","kind":"property","modifiers":[],"name":"reason","package":"LibTmux","parent":"X::LibTmux::Unsupported","product":"core","publicId":"X::LibTmux::Unsupported.reason","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":96,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-unsupported-reason"},{"apiScope":"exported","doc":{"body":"Availability or support state explaining this refusal.","summary":"Availability or support state explaining this refusal."},"id":"X::LibTmux::Unsupported.state","kind":"property","modifiers":[],"name":"state","package":"LibTmux","parent":"X::LibTmux::Unsupported","product":"core","publicId":"X::LibTmux::Unsupported.state","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SupportState:D","slug":"x-libtmux-unsupported-state"}],"exportGroups":[{"members":["LibTmux::Attachment","LibTmux::Batch","LibTmux::Capabilities","LibTmux::Catalogue","LibTmux::Client","LibTmux::Command","LibTmux::Configuration","LibTmux::Control","LibTmux::Engine","LibTmux::Exceptions","LibTmux::Format","LibTmux::Layout","LibTmux::Model","LibTmux::Query","LibTmux::Selection","LibTmux::Server","LibTmux::Transport","LibTmux::Types"],"owner":"LibTmux","title":"Public declarations"},{"members":["LibTmux::Batch::Batch","LibTmux::Batch::Evidence","LibTmux::Batch::Operation","LibTmux::Batch::OperationResult","LibTmux::Batch::Report"],"owner":"LibTmux::Batch","title":"Public declarations"},{"members":["LibTmux::Catalogue.catalogue","LibTmux::Catalogue.parse-tmux-version","LibTmux::Catalogue.support-policy","LibTmux::Catalogue::CatalogueData","LibTmux::Catalogue::OptionSpec","LibTmux::Catalogue::SupportPolicy","LibTmux::Catalogue::TmuxVersion"],"owner":"LibTmux::Catalogue","title":"Public declarations"},{"members":["LibTmux::Client::ClientTarget","LibTmux::Client::CommandTemplate","LibTmux::Client::MenuItem"],"owner":"LibTmux::Client","title":"Public declarations"},{"members":["LibTmux::Command::Invocation"],"owner":"LibTmux::Command","title":"Public declarations"},{"members":["LibTmux::Configuration::BufferInfo","LibTmux::Configuration::Buffers","LibTmux::Configuration::Environment","LibTmux::Configuration::EnvironmentValue","LibTmux::Configuration::Hooks","LibTmux::Configuration::KeyBinding","LibTmux::Configuration::KeyBindings","LibTmux::Configuration::OptionValue","LibTmux::Configuration::Options"],"owner":"LibTmux::Configuration","title":"Public declarations"},{"members":["LibTmux::Control::Connection","LibTmux::Control::Decoder","LibTmux::Control::Event","LibTmux::Control::PaneOutput","LibTmux::Control::Response","LibTmux::Control::UnframedOutput","LibTmux::Control::UnknownEvent"],"owner":"LibTmux::Control","title":"Public declarations"},{"members":["LibTmux::Engine::Endpoint","LibTmux::Engine::Incarnation","LibTmux::Engine::Observation"],"owner":"LibTmux::Engine","title":"Public declarations"},{"members":["X::LibTmux","X::LibTmux::Cardinality","X::LibTmux::Command","X::LibTmux::Decode","X::LibTmux::InconsistentSnapshot","X::LibTmux::InvalidFilter","X::LibTmux::MissingData","X::LibTmux::StaleReference","X::LibTmux::Unsupported"],"owner":"LibTmux::Exceptions","title":"Public declarations"},{"members":["LibTmux::Format::DecodedRow","LibTmux::Format::FrameDecoder","LibTmux::Format::Projection"],"owner":"LibTmux::Format","title":"Public declarations"},{"members":["LibTmux::Layout.decode-layout","LibTmux::Layout::Layout","LibTmux::Layout::LayoutNode"],"owner":"LibTmux::Layout","title":"Public declarations"},{"members":["LibTmux::Model::Buffer","LibTmux::Model::BufferSelection","LibTmux::Model::Client","LibTmux::Model::ClientRef","LibTmux::Model::ClientSelection","LibTmux::Model::Pane","LibTmux::Model::PaneRef","LibTmux::Model::PaneSelection","LibTmux::Model::Session","LibTmux::Model::SessionGroup","LibTmux::Model::SessionGroupSelection","LibTmux::Model::SessionRef","LibTmux::Model::SessionSelection","LibTmux::Model::Snapshot","LibTmux::Model::View","LibTmux::Model::Window","LibTmux::Model::WindowLink","LibTmux::Model::WindowLinkRef","LibTmux::Model::WindowLinkSelection","LibTmux::Model::WindowRef","LibTmux::Model::WindowSelection"],"owner":"LibTmux::Model","title":"Public declarations"},{"members":["LibTmux::Query::Filter","LibTmux::Query::Limits","LibTmux::Query::Plan"],"owner":"LibTmux::Query","title":"Public declarations"},{"members":["LibTmux::Query::Plan::Plan"],"owner":"LibTmux::Query::Plan","title":"Public declarations"},{"members":["LibTmux::Selection::Selection"],"owner":"LibTmux::Selection","title":"Public declarations"},{"members":["LibTmux::Transport::Cancellation","LibTmux::Transport::Result"],"owner":"LibTmux::Transport","title":"Public declarations"},{"members":["LibTmux::Types::Count","LibTmux::Types::Outcome","LibTmux::Types::PaneId","LibTmux::Types::Positive","LibTmux::Types::SessionId","LibTmux::Types::SupportState","LibTmux::Types::ValueState","LibTmux::Types::WindowId"],"owner":"LibTmux::Types","title":"Public declarations"}],"generatedSources":{"examples/batch-recovery.raku":"use v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name, :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $before = $server.snapshot;\n my $batch = Batch.new(:operations([\n Operation.new(:name, :acknowledgement-only,\n :command(Invocation.new(:argv(['set-option', '-s', '@before-failure', 'set'])))),\n Operation.new(:name, :acknowledgement-only,\n :command(Invocation.new(:argv(['libtmux-example-unknown-command='])))),\n Operation.new(:name, :acknowledgement-only,\n :command(Invocation.new(:argv(['set-option', '-s', '@after-failure', 'set'])))),\n ]));\n my $report = $server.run-batch($batch);\n die 'Batch attribution was wrong'\n unless $report.operations.map(*.outcome).List eqv (Complete, Failed, Skipped);\n my $options = $server.options;\n die 'The successful first effect disappeared' unless $options.get('@before-failure') eq 'set';\n die 'A skipped operation ran' if $options.entries(:name<@after-failure>).elems;\n say .name ~ ': ' ~ .outcome ~ ' (scope: ' ~ .completion-scope ~ ')' for $report.operations;\n\n $options.unset('@before-failure');\n die 'Explicit recovery failed' if $options.entries(:name<@before-failure>).elems;\n say 'Recovery: removed the first effect explicitly';\n my $pid = $before.incarnation.pid;\n my $directory = $server.endpoint.socket-path.IO.parent;\n $server.close;\n die 'Owned daemon or socket directory survived cleanup' if \"/proc/$pid\".IO.e || $directory.e;\n say 'Owned daemon and socket cleaned up';\n}\n","examples/floating-panes.raku":"use v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(120), :height(36), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $snapshot = $server.snapshot;\n my $main = $snapshot.panes.single.ref;\n my $floating = $snapshot.capabilities.supports('pane-floating');\n my $auxiliary = $floating\n ?? $main.new-floating(:width(40), :height(12), :x(2), :y(2), :empty)\n !! $main.split(:horizontal, :empty);\n $auxiliary.set-title('status');\n\n my $after = $server.snapshot;\n die 'The auxiliary pane was not captured' unless $after.panes.elems == 2;\n say 'Status pane: ' ~ ($floating ?? 'floating' !! 'tiled');\n say $after.panes.where(%(id => $auxiliary.id)).single.title;\n}\n","examples/query-panes.raku":"use v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(160), :height(40), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $editor = $server.snapshot.panes.single.ref;\n my $tests = $editor.split(:horizontal, :shell-command('exec cat'));\n my $logs = $tests.split(:shell-command('exec cat'));\n $editor.set-title('editor');\n $tests.set-title('tests');\n $logs.set-title('logs');\n\n my $snapshot = $server.snapshot;\n my @wide := $snapshot.panes.where(%(width => %(gte => 60)));\n my $selected = @wide.filter(*.title eq 'editor').single;\n say \"Wide pane: {$selected.title}\";\n\n my @others = $snapshot.panes.grep(*.id ne $selected.id).map(*.title).sort;\n say 'Other panes: ' ~ @others.join(', ');\n}\n","examples/quickstart.raku":"use LibTmux;\n\nmy $server = Server.start(:name, :shell-command('exec cat'));\nLEAVE $server.close if $server.defined;\n\nmy $before = $server.snapshot;\nmy $left = $before.panes.single.ref;\nmy $right = $left.split(:horizontal, :shell-command('exec cat'));\n$left.set-title('editor');\n$right.set-title('logs');\n\nmy $after = $server.snapshot;\nmy $editor = $after.panes.filter(*.title eq 'editor').single;\nsay \"{$editor.title}: {$after.panes.elems} panes\";\n","examples/session-workflow.raku":"use v6.d;\nuse LibTmux;\nuse LibTmux::Control;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(160), :height(32), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $before = $server.snapshot;\n my $left = $before.panes.single.ref;\n my $right = $left.split(:horizontal, :shell-command('exec cat'));\n $left.set-title('editor');\n $right.set-title('logs');\n\n my $connection = $server.open-control(:session-id($before.sessions.single.id));\n LEAVE $connection.close if $connection.defined;\n my $seen = Promise.new;\n my $vow = $seen.vow;\n my $lock = Lock.new;\n my $output = '';\n my $message = 'hello from Raku';\n my $tap = $connection.events.tap(-> $event {\n if $event ~~ PaneOutput && $event.pane-id eq $left.id {\n $lock.protect({\n $output ~= $event.data.decode('utf8-c8');\n die 'Example output exceeded its bound' if $output.chars > 65536;\n $vow.keep(True) if $seen.status == Planned && $output.contains($message);\n });\n }\n }, :quit(-> $error { $lock.protect({ $vow.break($error) if $seen.status == Planned }) }));\n LEAVE $tap.close if $tap.defined;\n $left.send-text($message);\n $left.send-keys('Enter');\n my $wait = await Promise.anyof($seen, Promise.in(2));\n die 'No matching pane output arrived before the deadline' unless $seen.status == Kept;\n die 'Capture did not contain the observed output' unless $left.capture.decode('utf8').contains($message);\n\n my $after = $connection.snapshot;\n my @wide := $after.panes.where(%(width => %(gte => 60)));\n my $editor = @wide.filter(*.title eq 'editor').single;\n die 'Captured membership or titles were wrong' unless @wide.elems == 2;\n die 'An earlier snapshot changed' unless $before.panes.elems == 1;\n my $plan = $server.explain-panes(:where(%(id => $left.id, width => %(gte => 60))));\n die 'The declared scalar query was not exactly pushable' unless $plan.fully-pushed;\n die 'Source acquisition selected the wrong pane'\n unless $server.query-panes(:where(%(id => $left.id)), :pushdown).single.id eq $left.id;\n\n say \"Session: {@wide.elems} panes\";\n say \"{$editor.title}: $message\";\n say 'Floating panes: ' ~ ($after.capabilities.supports('pane-floating') ?? 'available' !! 'unavailable');\n say \"Query: {$plan.acquisition-mode}, exact source restriction\";\n\n my $pid = $after.incarnation.pid;\n my $directory = $server.endpoint.socket-path.IO.parent;\n $tap.close;\n $connection.close;\n $server.close;\n die 'Owned daemon or socket directory survived cleanup' if \"/proc/$pid\".IO.e || $directory.e;\n say 'Owned clients, daemon and socket cleaned up';\n}\n","examples/watch-output.raku":"use v6.d;\nuse LibTmux;\nuse LibTmux::Control;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name, :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $snapshot = await $server.snapshot-async;\n my $pane = $snapshot.panes.single.ref;\n my $connection = await $server.open-control-async(:session-id($snapshot.sessions.single.id));\n LEAVE $connection.close if $connection.defined;\n\n my $message = 'hello from Raku';\n my $received = '';\n react {\n whenever $connection.events.grep(PaneOutput) -> $event {\n if $event.pane-id eq $pane.id {\n $received ~= $event.data.decode('utf8-c8');\n die 'Pane output exceeded its bound' if $received.chars > 65536;\n done if $received.contains($message);\n }\n }\n whenever start { $pane.send-text($message); $pane.send-keys('Enter') } { }\n whenever Promise.in(2) { die 'Pane output timed out' }\n }\n\n die 'The captured screen did not contain the message'\n unless $pane.capture.decode('utf8').contains($message);\n say $message;\n say 'Screen capture confirmed';\n}\n","lib/LibTmux.rakumod":"use v6.d;\n\nunit module LibTmux;\n\nneed LibTmux::Exceptions;\nneed LibTmux::Server;\nneed LibTmux::Control::Connection;\nneed LibTmux::Attachment;\nneed LibTmux::Model;\nneed LibTmux::Selection;\nneed LibTmux::Query;\nneed LibTmux::Query::Plan;\nneed LibTmux::Command;\nneed LibTmux::Transport;\nneed LibTmux::Batch;\nneed LibTmux::Client;\nneed LibTmux::Capabilities;\nneed LibTmux::Types;\n\nmy constant Server is export = LibTmux::Server;\nmy constant ControlConnection is export = LibTmux::Control::Connection;\nmy constant Attachment is export = LibTmux::Attachment;\nmy constant Snapshot is export = LibTmux::Model::Snapshot;\nmy constant Session is export = LibTmux::Model::Session;\nmy constant Window is export = LibTmux::Model::Window;\nmy constant WindowLink is export = LibTmux::Model::WindowLink;\nmy constant Pane is export = LibTmux::Model::Pane;\nmy constant Client is export = LibTmux::Model::Client;\nmy constant SessionGroup is export = LibTmux::Model::SessionGroup;\nmy constant Buffer is export = LibTmux::Model::Buffer;\nmy constant SessionRef is export = LibTmux::Model::SessionRef;\nmy constant WindowRef is export = LibTmux::Model::WindowRef;\nmy constant WindowLinkRef is export = LibTmux::Model::WindowLinkRef;\nmy constant PaneRef is export = LibTmux::Model::PaneRef;\nmy constant ClientRef is export = LibTmux::Model::ClientRef;\nmy constant SessionSelection is export = LibTmux::Model::SessionSelection;\nmy constant WindowSelection is export = LibTmux::Model::WindowSelection;\nmy constant WindowLinkSelection is export = LibTmux::Model::WindowLinkSelection;\nmy constant PaneSelection is export = LibTmux::Model::PaneSelection;\nmy constant ClientSelection is export = LibTmux::Model::ClientSelection;\nmy constant SessionGroupSelection is export = LibTmux::Model::SessionGroupSelection;\nmy constant BufferSelection is export = LibTmux::Model::BufferSelection;\nmy constant Selection is export = LibTmux::Selection::Selection;\nmy constant Filter is export = LibTmux::Query::Filter;\nmy constant QueryLimits is export = LibTmux::Query::Limits;\nmy constant QueryPlan is export = LibTmux::Query::Plan::Plan;\nmy constant Invocation is export = LibTmux::Command::Invocation;\nmy constant Cancellation is export = LibTmux::Transport::Cancellation;\nmy constant CommandResult is export = LibTmux::Transport::Result;\nmy constant Batch is export = LibTmux::Batch::Batch;\nmy constant Operation is export = LibTmux::Batch::Operation;\nmy constant Evidence is export = LibTmux::Batch::Evidence;\nmy constant BatchReport is export = LibTmux::Batch::Report;\nmy constant OperationResult is export = LibTmux::Batch::OperationResult;\nmy constant MenuItem is export = LibTmux::Client::MenuItem;\nmy constant CommandTemplate is export = LibTmux::Client::CommandTemplate;\nmy constant Capabilities is export = LibTmux::Capabilities;\nmy constant SessionId is export = LibTmux::Types::SessionId;\nmy constant WindowId is export = LibTmux::Types::WindowId;\nmy constant PaneId is export = LibTmux::Types::PaneId;\nmy constant Count is export = LibTmux::Types::Count;\nmy constant Positive is export = LibTmux::Types::Positive;\nmy constant ValueState is export = LibTmux::Types::ValueState;\nmy constant SupportState is export = LibTmux::Types::SupportState;\nmy constant Outcome is export = LibTmux::Types::Outcome;\nmy constant Present is export = LibTmux::Types::Present;\nmy constant KnownNull is export = LibTmux::Types::KnownNull;\nmy constant Unsupported is export = LibTmux::Types::Unsupported;\nmy constant Unavailable is export = LibTmux::Types::Unavailable;\nmy constant Unloaded is export = LibTmux::Types::Unloaded;\nmy constant Supported is export = LibTmux::Types::Supported;\nmy constant NotSupported is export = LibTmux::Types::NotSupported;\nmy constant Unknown is export = LibTmux::Types::Unknown;\nmy constant NotStarted is export = LibTmux::Types::NotStarted;\nmy constant Complete is export = LibTmux::Types::Complete;\nmy constant Failed is export = LibTmux::Types::Failed;\nmy constant Skipped is export = LibTmux::Types::Skipped;\nmy constant Indeterminate is export = LibTmux::Types::Indeterminate;\n\n=begin pod\n=NAME LibTmux\n=DESCRIPTION\nTyped tmux snapshots, local selections and explicit commands for Raku programs.\n\n=head1 Create a session and split a pane\n\nL starts and owns a private daemon. Split the first pane,\nset pane titles, then capture the new state. Both panes run C as an echo\nprocess. C closes the owner on normal or exceptional exit.\n\n=comment runs: examples/quickstart.raku\n\n=begin code :lang\nuse LibTmux;\n\nmy $server = Server.start(:name, :shell-command('exec cat'));\nLEAVE $server.close if $server.defined;\n\nmy $before = $server.snapshot;\nmy $left = $before.panes.single.ref;\nmy $right = $left.split(:horizontal, :shell-command('exec cat'));\n$left.set-title('editor');\n$right.set-title('logs');\n\nmy $after = $server.snapshot;\nmy $editor = $after.panes.filter(*.title eq 'editor').single;\nsay \"{$editor.title}: {$after.panes.elems} panes\";\n=end code\n\nThe program prints C. The earlier snapshot retains\none pane. C<.ref> constructs an explicit command target; mutation does not change\nan earlier observation. C performs I/O, while reading a captured field\nor relationship stays local.\n\n=head1 Follow the captured graph\n\nA L contains sessions, session groups, physical\nwindows, window links, panes, clients and buffer metadata. A physical window can\nappear at several indexes, including twice in the same session. Its\nC owns the session-relative index and active state. C and\nC enumerate physical identities once; C preserves placements.\n\nA pane's C and a window's C resolve against the retained graph.\nKeeping an observation after closing its acquisition owner remains useful:\nfield reads, relationship traversal and selection operations make no tmux calls.\nUse C<.ref.inspect> or a new snapshot when fresh information is needed.\nReferences include daemon incarnation evidence, so a replacement daemon does\nnot inherit an old pane reference merely by reusing its ID.\n\n=head1 Query captured values\n\nCombine validated query data with native Raku predicates and transformations:\n\n=comment runs: examples/query-panes.raku\n\n=begin code :lang\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(160), :height(40), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $editor = $server.snapshot.panes.single.ref;\n my $tests = $editor.split(:horizontal, :shell-command('exec cat'));\n my $logs = $tests.split(:shell-command('exec cat'));\n $editor.set-title('editor');\n $tests.set-title('tests');\n $logs.set-title('logs');\n\n my $snapshot = $server.snapshot;\n my @wide := $snapshot.panes.where(%(width => %(gte => 60)));\n my $selected = @wide.filter(*.title eq 'editor').single;\n say \"Wide pane: {$selected.title}\";\n\n my @others = $snapshot.panes.grep(*.id ne $selected.id).map(*.title).sort;\n say 'Other panes: ' ~ @others.join(', ');\n}\n=end code\n\nIt prints C and\nC.\n\nBinding with C<:=> preserves a typed selection. Array assignment materializes\nordinary Raku values; scalar assignment itemizes the collection. C\nvalidates fields and operators even on an empty selection. C evaluates a\ncallback eagerly and returns the same entity selection type. C, including\nC<:k>, C<:kv> and C<:p>, retains its native C contract. C, C,\nC and junction operations also retain ordinary Raku behavior. Mapping\npanes to titles does not produce a pane selection of strings.\n\nUse C for exactly one member and C for zero or one;\nmultiple matches throw L. C remains a\njunction. A directly returned C from a C callback throws its\nwrapped exception before Boolean coercion.\n\nCompile reusable criteria with L. Its C\nmethod permits native matching, and C/C preserve the bounded\nportable data grammar. Closures, regexes and junctions remain local Raku\nmatchers. Data equality follows field types; it does not use generic smartmatch.\nRelations use C, C, C, C and C. An unloaded\nrelation raises L instead of behaving like\nan empty relation.\n\nFor explicit live acquisition, C accepts C and a pushdown\npolicy. C pushes proven exact restrictions and evaluates residual work\nlocally; C evaluates locally after acquisition; C refuses an\ninexact translation. C describes projections, scope, pushed\nconditions and residual work. Arbitrary callbacks are not translated to tmux.\n\n=head1 Choose an operation from capabilities\n\nCapabilities describe the observed daemon separately from the client executable.\nAsk C before offering a newer operation, or use C to obtain a\ntyped refusal with its reason. This program creates an empty C pane\nas a floating pane when supported and a tiled split otherwise:\n\n=comment runs: examples/floating-panes.raku\n\n=begin code :lang\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(120), :height(36), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $snapshot = $server.snapshot;\n my $main = $snapshot.panes.single.ref;\n my $floating = $snapshot.capabilities.supports('pane-floating');\n my $auxiliary = $floating\n ?? $main.new-floating(:width(40), :height(12), :x(2), :y(2), :empty)\n !! $main.split(:horizontal, :empty);\n $auxiliary.set-title('status');\n\n my $after = $server.snapshot;\n die 'The auxiliary pane was not captured' unless $after.panes.elems == 2;\n say 'Status pane: ' ~ ($floating ?? 'floating' !! 'tiled');\n say $after.panes.where(%(id => $auxiliary.id)).single.title;\n}\n=end code\n\nThe selected placement and C are printed. An empty pane can\nhave no child PID; its C is then null rather than a fabricated integer.\nC distinguishes known null from a field that was not acquired.\nUnknown release profiles are refused conservatively. Field, codec, layout and\ncommand decisions come from the same packaged catalogue.\n\n=head1 React to terminal output\n\nSynchronous acquisition returns a snapshot or selection. An C<-async> method\nreturns a C resolving to that result. A\nL owns one persistent client;\nits event C is shared by its subscribers. Native C and C\ncan consume the output without polling:\n\n=comment runs: examples/watch-output.raku\n\n=begin code :lang\nuse v6.d;\nuse LibTmux;\nuse LibTmux::Control;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name, :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $snapshot = await $server.snapshot-async;\n my $pane = $snapshot.panes.single.ref;\n my $connection = await $server.open-control-async(:session-id($snapshot.sessions.single.id));\n LEAVE $connection.close if $connection.defined;\n\n my $message = 'hello from Raku';\n my $received = '';\n react {\n whenever $connection.events.grep(PaneOutput) -> $event {\n if $event.pane-id eq $pane.id {\n $received ~= $event.data.decode('utf8-c8');\n die 'Pane output exceeded its bound' if $received.chars > 65536;\n done if $received.contains($message);\n }\n }\n whenever start { $pane.send-text($message); $pane.send-keys('Enter') } { }\n whenever Promise.in(2) { die 'Pane output timed out' }\n }\n\n die 'The captured screen did not contain the message'\n unless $pane.capture.decode('utf8').contains($message);\n say $message;\n say 'Screen capture confirmed';\n}\n=end code\n\nIt prints C and C.\nThe pane runs C as an echo process. Subscribing precedes input.\nReceived pane bytes establish the screen-capture\nprecondition; the deadline bounds the wait. C never appends Enter.\nOutput remains bytes until an explicit decoder is selected, so fragmented and\ninvalid UTF-8 remains available. Unknown notification types retain their raw\nrepresentation.\n\nConnections need explicit close. Cancellation terminates and joins owned client\nwork, but does not undo commands that the daemon already executed. Reconnection\nrequires a fresh observation; event delivery does not imply a complete current\ngraph. L is a separate terminal client owner.\n\n=head1 Recover from partial completion\n\nL reports each operation's completion scope and\noutcome. The\nL\nchecks C, C and C, verifies the successful first\neffect, then removes it explicitly. Acknowledgement alone does not prove an\napplication effect. A failed batch offers no rollback guarantee.\n\nThe\nL\ncombines creation, a control-output subscription, screen capture, local\nfiltering and an explained source query in one checked lifecycle.\n\n=head1 Ownership and operational errors\n\nC owns its private daemon. C configures a borrowed\nendpoint; closing that facade leaves the daemon running. Both need explicit\nclose. A connection or terminal attachment has its own lifetime and must also\nbe closed. An observation retains values and the captured graph, not a live\nacquisition process.\n\nCommands pass an argument vector. Literal pane text, explicit key presses,\nFORMAT expressions, tmux command templates and deliberate shell commands have\nseparate entry points. Operational errors retain typed context and captured\nbytes. Optional lookup absence never disguises a failed command. Fields retain\nknown null, false, zero, empty text, unsupported, unavailable and unloaded data\nas distinct states.\n=end pod\n","lib/LibTmux/Attachment.rakumod":"use v6.d;\n\n#| Own one interactive tmux child on a caller-supplied terminal, with explicit cleanup.\nunit class LibTmux::Attachment;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Engine;\nuse LibTmux::Command :DEFAULT, :internals;\nuse LibTmux::Transport;\nuse LibTmux::Format;\nuse LibTmux::Client;\nuse LibTmux::Operations;\n\n#| State established by process completion or the most recent explicit inspection.\nenum AttachmentState is export ;\n\nmy class Environment {\n has Map:D $.entries is required;\n method Bool(--> Bool:D) { True }\n method hash(--> Hash:D) { $!entries.Hash }\n}\n\n#| Socket and executable configuration used for this child and explicit inspections.\nhas Endpoint:D $.endpoint is required;\n#| Daemon identity captured before attachment; a replacement daemon is rejected.\nhas Incarnation:D $.incarnation is required;\n#| Initial session ID; later interactive switching does not change this value.\nhas SessionId:D $.session is required;\nhas IO::Handle:D $!terminal is required;\n#| Retained stderr byte limit; exceeding it terminates the child and fails when-exited.\nhas Positive:D $.max-stderr-bytes = 64 * 1024;\nhas Int $!pid = 0;\nhas Proc::Async $!process;\nhas Promise $!process-exit;\nhas Promise $!exited .= new;\nhas $!exit-vow;\nhas Promise $!closed;\nhas Lock $!lock .= new;\nhas Buf $!stderr .= new;\nhas Exception $!stream-error;\nhas Bool $!overflow = False;\nhas AttachmentState $!state = AttachmentPending;\n\nsubmethod BUILD(:$!endpoint!, :$!incarnation!, :$!session!, :$!terminal!,\n :$!max-stderr-bytes = 64 * 1024) { }\nsubmethod TWEAK() { $!exit-vow = $!exited.vow }\n\n#| Construction requires spawn so an unstarted process owner cannot escape.\nmethod new(|) { invalid-argument('Use Attachment.spawn with an explicit terminal handle') }\n#| Refuse copying an owner, which would duplicate cleanup authority over one child.\nmethod clone(|) { invalid-argument('An owning Attachment cannot be cloned') }\n\n#| Spawn a tmux client on a supplied terminal. This does not prove attachment.\nmethod spawn(Endpoint:D :$endpoint!, Incarnation:D :$incarnation!,\n SessionId:D :$session!, IO::Handle:D :$terminal!,\n Positive:D :$timeout-ms = 10_000, Positive:D :$max-stderr-bytes = 64 * 1024,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n Cancellation :$cancel = Cancellation --> LibTmux::Attachment:D) is single-operation {\n invalid-argument('Attachment requires an open terminal handle')\n unless $terminal.opened && $terminal.t;\n X::LibTmux::StaleReference.new(:message('Attachment endpoint and incarnation disagree')).throw\n unless $endpoint.key eq $incarnation.endpoint-key;\n my $deadline = now + $timeout-ms / 1000;\n my $runtime = Runtime.new(:$endpoint, :$timeout-ms);\n LEAVE $runtime.close if $runtime.defined;\n my $projection = Projection.new(:entity, :fields(['id']),\n :capabilities(operation-capabilities($incarnation)));\n my @sessions = $runtime.read($projection, Invocation.new(:argv(['list-sessions'])),\n :$incarnation, :$cancel, :$deadline);\n X::LibTmux::StaleReference.new(:message('Attachment session no longer exists')).throw\n unless @sessions.first(*.value('id') eq $session).defined;\n my @argv = 'attach-session', '-t', $session;\n @argv.push('-r') if $read-only;\n @argv.push('-d') if $detach-others;\n @argv.push('-E') unless $update-environment;\n my $attach = Invocation.new(:argv(@argv));\n my $condition = '#{==:#{pid}/#{start_time},' ~ $incarnation.pid ~ '/'\n ~ $incarnation.start-time ~ '}';\n my $guard = Invocation.new(:argv(['if-shell', '-F', $condition,\n $attach.source, 'libtmux-attachment-stale=']));\n my $owner = self.bless(:$endpoint, :$incarnation, :$session, :$terminal, :$max-stderr-bytes);\n my $failure;\n try {\n $owner!launch($guard, $deadline, $cancel);\n CATCH { default { $failure = $_ } }\n }\n if $failure.defined {\n my $cleanup;\n try { $owner.close; CATCH { default { $cleanup = $_ } } }\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :pid($owner.pid), :!reaped, :cause($failure),\n :message('Attachment startup failed and child cleanup did not complete')).throw\n if $cleanup.defined;\n $failure.throw;\n }\n $owner\n}\n\nmethod !signal(Int:D $signal --> Nil) {\n try $!process.kill($signal) if $!process.defined\n && $!process-exit.defined && $!process-exit.status == Planned;\n}\n\nmethod !launch(Invocation:D $command, Instant:D $deadline, Cancellation $cancel --> Nil) {\n X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :message('Attachment spawn was cancelled')).throw\n if $cancel.defined && $cancel.cancelled;\n X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :message('Attachment startup deadline expired')).throw if now >= $deadline;\n $!process = Proc::Async.new(|$!endpoint.argv, '-N', |$command.as-argv);\n $!process.bind-stdin($!terminal);\n $!process.bind-stdout($!terminal);\n my $stream-done = Promise.new;\n my $stream-vow = $stream-done.vow;\n my $tap = $!process.stderr(:bin).tap(-> Blob:D $bytes {\n my $overflow = $!lock.protect({\n if $!stderr.elems + $bytes.elems > $!max-stderr-bytes { $!overflow = True }\n else { $!stderr.append($bytes); False }\n });\n self!signal(9) if $overflow;\n }, :done({ $stream-vow.keep(True) }), :quit(-> $error {\n $!lock.protect({ $!stream-error //= $error });\n $stream-vow.keep(True);\n self!signal(9);\n }));\n my $spawn-error;\n try {\n $!process-exit = $!process.start(:ENV(Environment.new(:entries($!endpoint.environment))),\n :cwd($!endpoint.cwd));\n CATCH { default { $spawn-error = $_ } }\n }\n if $spawn-error.defined {\n $tap.close;\n $!state = AttachmentExited;\n $!exit-vow.break(X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :cause($spawn-error), :message('Could not spawn attachment client')));\n await $!exited;\n }\n start {\n LEAVE $tap.close;\n my $pid = try await $!process.pid;\n $!lock.protect({ $!pid = $pid }) if $pid.defined;\n my $proc;\n my $failure;\n try { $proc = await $!process-exit; CATCH { default { $failure = $_ } } }\n await $stream-done;\n my ($stderr, $overflow, $stream-error) = $!lock.protect({\n $!state = AttachmentExited;\n (Blob.new($!stderr.list), $!overflow, $!stream-error).List\n });\n if $failure.defined || $stream-error.defined || $overflow {\n $!exit-vow.break(X::LibTmux::Command.new(\n :kind($overflow ?? 'output-limit' !! ($!pid ?? 'io' !! 'spawn')),\n :outcome($!pid ?? Indeterminate !! NotStarted), :pid($!pid), :$stderr, :reaped,\n :cause($failure // $stream-error // Exception),\n :message('Attachment process or stderr acquisition failed')));\n } else {\n $!exit-vow.keep(Result.new(:$stderr, :exitcode($proc.exitcode),\n :signal($proc.signal), :pid($!pid),\n :outcome($proc.exitcode || $proc.signal ?? Failed !! Complete)));\n }\n }\n my $remaining = ($deadline - now).Num max 0;\n my @events = $!process.pid, Promise.in($remaining);\n @events.push($cancel.when-cancelled) if $cancel.defined;\n my $wait = try await Promise.anyof(|@events);\n my $failure;\n try {\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Attachment startup was cancelled')).throw\n if $cancel.defined && $cancel.cancelled;\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Attachment startup deadline expired')).throw\n if $!process.pid.status == Planned;\n $!pid = await $!process.pid;\n CATCH { default { $failure = $_ } }\n }\n if $failure.defined {\n $failure.throw if $failure ~~ X::LibTmux::Command;\n X::LibTmux::Command.new(:kind, :outcome(NotStarted), :cause($failure),\n :message('Could not spawn attachment client')).throw;\n }\n self!signal(9) if $!lock.protect({ $!overflow || $!stream-error.defined });\n}\n\n#| Owned OS child identity; a nonzero PID does not establish attachment readiness.\nmethod pid(--> Int:D) { $!pid }\n#| Last explicit attachment observation, or the independently observed process exit.\nmethod state(--> AttachmentState:D) { $!lock.protect({ $!state }) }\n#| Resolve after the child exits and stderr is drained, preserving its exit status.\nmethod when-exited(--> Promise:D) { $!exited }\n\n#| Perform one explicit listing. Nil means no matching attached client was observed.\nmethod inspect-client(Positive:D :$timeout-ms = 10_000 --> Mu) is single-operation {\n return Nil if self.state == AttachmentExited;\n my $runtime = Runtime.new(:endpoint($!endpoint), :$timeout-ms);\n LEAVE $runtime.close if $runtime.defined;\n my $projection = Projection.new(:entity, :fields(),\n :capabilities(operation-capabilities($!incarnation)));\n my @rows = $runtime.read($projection, Invocation.new(:argv(['list-clients'])),\n :incarnation($!incarnation));\n my @matching = @rows.grep(*.value('pid') == $!pid);\n X::LibTmux::Decode.new(:schema($projection.schema),\n :message('Multiple attached clients share the owned process identity')).throw\n if @matching.elems > 1;\n $!lock.protect({\n $!state = @matching ?? AttachmentAttached !! AttachmentPending\n unless $!state == AttachmentExited;\n });\n return Nil if self.state == AttachmentExited;\n return Nil unless @matching;\n ClientTarget.new(:endpoint($!endpoint), :incarnation($!incarnation), :pid($!pid),\n :name(@matching[0].bytes('name').decode('utf8-c8')),\n :created(@matching[0].value('created')))\n}\n\n#| Terminate and reap only this child. The caller's terminal handle stays open.\nmethod close(--> Nil) { await self.close-async }\n#| Share idempotent child cleanup; failure to reap breaks the returned Promise.\nmethod close-async(--> Promise:D) {\n $!lock.protect({\n $!closed //= start {\n if $!process-exit.defined {\n self!signal(15);\n my $wait = try await Promise.anyof($!exited, Promise.in(0.25));\n if $!exited.status == Planned {\n self!signal(9);\n $wait = try await Promise.anyof($!exited, Promise.in(0.75));\n }\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :pid($!pid), :!reaped, :message('Attachment child did not finish cleanup')).throw\n if $!exited.status == Planned;\n my $result = try await $!exited;\n }\n Nil\n }\n })\n}\n\n=begin pod\n=head1 Explicit interactive terminal ownership\n\nspawn binds stdin and stdout to the supplied open terminal handle. It never\ninherits the calling program's terminal implicitly. The caller owns that handle\nand its terminal output; Attachment owns the child and bounded binary stderr.\nclose stops and reaps only that child, leaves the handle open, and does not stop\nthe daemon or other clients. Cancellation applies to startup, not the later\ninteractive lifetime. Use close to end that lifetime.\n\nspawn proves OS process creation only. state starts as AttachmentPending;\ninspect-client makes one explicit listing and records AttachmentAttached when\nthe owned PID is present. Child exit independently records AttachmentExited.\nThere is no polling loop or implicit readiness claim. An event from a separately\nowned control connection may supply application-specific readiness evidence.\n\nThe initial session read checks Linux daemon identity, and the attach command\nruns in a PID/start-time fence. The Engine's documented same-PID/same-second\nreplacement and normal builtin-dispatch assumptions also apply here. An exit\nResult describes the tmux client process, not the lifetime of its session.\n=end pod\n","lib/LibTmux/Batch.rakumod":"use v6.d;\n\n#| Sequential bounded commands with explicit completion evidence and partial outcomes.\nunit module LibTmux::Batch;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Engine;\nuse LibTmux::Command;\nuse LibTmux::Transport;\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Command.new(:kind, :outcome(NotStarted), :$message).throw\n}\n\nsub positive(Mu $value --> Bool:D) {\n so ($value.^isa(Int) && !$value.^isa(Bool) && $value.defined && $value > 0)\n}\n\nsub name(Str:D $value --> Str:D) {\n invalid('Operation names must contain 1 through 256 characters without NUL')\n unless 1 <= $value.chars <= 256 && !$value.contains(\"\\0\");\n $value\n}\n\n#| Caller-supplied evidence for one named operation, not a command acknowledgement.\nclass Evidence is export {\n #| Unique batch operation name this observation was armed to verify.\n has Str:D $.operation is required;\n #| Caller description of the observed postcondition, limited to 4096 characters.\n has Str:D $.description is required;\n #| Whether that postcondition held; False records a failed effect contract.\n has Bool:D $.satisfied is required;\n\n submethod TWEAK() {\n name($!operation);\n invalid('Evidence needs a nonempty description of at most 4096 characters')\n unless 1 <= $!description.chars <= 4096 && !$!description.contains(\"\\0\");\n }\n\n #| Validate replacement observation data; cloning does not reobserve an effect.\n method clone(*%changes --> Evidence:D) {\n my %values = operation => $!operation, description => $!description, satisfied => $!satisfied;\n for %changes.kv -> $key, $value {\n invalid(\"Unknown evidence setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n}\n\n#| One immutable command and an explicit completion contract.\nclass Operation is export {\n #| Batch-unique correlation name, limited to 256 characters without NUL.\n has Str:D $.name is required;\n #| Immutable command admitted before any batch entry is dispatched.\n has Invocation:D $.command is required;\n #| Accept command acknowledgement as completion without external effect proof.\n has Bool:D $.acknowledgement-only = False;\n #| Caller-owned Promise of Evidence; undefined in acknowledgement-only mode.\n has Promise $.evidence = Promise;\n\n submethod TWEAK() {\n name($!name);\n invalid('Choose acknowledgement-only or an evidence Promise, exclusively')\n unless $!acknowledgement-only != $!evidence.defined;\n }\n\n #| Revalidate replacements; unchanged evidence retains its one-shot Promise.\n method clone(*%changes --> Operation:D) {\n my %values = name => $!name, command => $!command,\n acknowledgement-only => $!acknowledgement-only, evidence => $!evidence;\n for %changes.kv -> $key, $value {\n invalid(\"Unknown operation setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n}\n\n#| One position's outcome, preserving its acknowledgement and original exception.\nclass OperationResult is export {\n #| Zero-based position in the admitted batch, including skipped entries.\n has Count:D $.index is required;\n #| Correlation name copied from the admitted operation.\n has Str:D $.name is required;\n #| Complete, Failed, Skipped or Indeterminate under this entry's completion scope.\n has Outcome:D $.outcome is required;\n #| command means acknowledgement; effect additionally requires satisfied Evidence.\n has Str:D $.completion-scope is required;\n #| Successful executor Receipt, or an undefined value when none was received.\n has $.acknowledgement;\n #| Observed caller Evidence when received, including an unsatisfied observation.\n has Evidence $.evidence;\n #| Original execution/evidence exception; undefined for complete or skipped work.\n has Exception $.error;\n #| Why dispatch was omitted; empty for an operation that was attempted.\n has Str:D $.skip-reason = '';\n #| Admission time for this position, even when dispatch was skipped.\n has Instant:D $.started is required;\n #| Time its outcome was recorded, not proof that an uncertain effect stopped.\n has Instant:D $.finished is required;\n\n #| Refuse fabricated results; only Batch.run constructs execution observations.\n method new(|) { invalid('OperationResult values are produced by Batch.run') }\n #| Refuse altered copies of recorded execution outcomes.\n method clone(|) { invalid('OperationResult values cannot be cloned') }\n #| Whether a successful command acknowledgement was received before any later failure.\n method acknowledged(--> Bool:D) { $!acknowledgement.defined }\n #| Preserve backend effect certainty even when batch classification differs.\n method error-outcome(--> Outcome) {\n $!error ~~ X::LibTmux::Command ?? $!error.outcome !! Outcome\n }\n}\n\n#| Captured per-operation results. No runtime, control owner or caller task is retained.\nclass Report is export {\n #| Eager immutable membership containing one OperationResult per admitted entry.\n has List:D $.operations is required;\n #| Time before command preflight began; the overall deadline starts here.\n has Instant:D $.started is required;\n #| Time all positions were classified, including the undispatched suffix.\n has Instant:D $.finished is required;\n #| One absolute deadline shared by execution and caller-evidence waiting.\n has Instant:D $.deadline is required;\n #| Cause that requested a stop; undefined when no stopping condition occurred.\n has Exception $.stop-error;\n #| Counted receipt and Command-error bytes, with shared causes counted once.\n has Count:D $.output-bytes = 0;\n #| Admission threshold in bytes; the final retained response may exceed it.\n has Positive:D $.output-budget-bytes is required;\n\n #| Refuse fabricated reports; only Batch.run records a complete batch attempt.\n method new(|) { invalid('Report values are produced by Batch.run') }\n #| Refuse altered copies of recorded batch outcomes.\n method clone(|) { invalid('Report values cannot be cloned') }\n #| Aggregate uncertainty first, then failure, skipped work, and complete work.\n method outcome(--> Outcome:D) {\n return Indeterminate if $!operations.first(*.outcome == Indeterminate).defined;\n return Failed if $!operations.first(*.outcome == Failed).defined;\n return Skipped if $!operations.first(*.outcome == Skipped).defined;\n Complete\n }\n}\n\nsub classification(Exception:D $error --> Outcome:D) {\n return Indeterminate unless $error ~~ X::LibTmux::Command;\n $error.outcome == any(Indeterminate, Complete) ?? Indeterminate !! Failed\n}\n\nsub error-output(Exception $error, %counted --> Count:D) {\n my $bytes = 0;\n my $current = $error;\n while $current.defined && $current.^isa(X::LibTmux::Command) {\n my $identity = $current.WHICH.Str;\n last if %counted{$identity}:exists;\n %counted{$identity} = True;\n $bytes += $current.stdout.elems + $current.stderr.elems;\n $current = $current.cause;\n }\n $bytes\n}\n\nsub stopped(Instant:D $deadline, Cancellation $cancel --> Exception) {\n return X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :message('Batch cancelled before the next dispatch'))\n if $cancel.defined && $cancel.cancelled;\n return X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :message('Batch deadline expired before the next dispatch')) if now >= $deadline;\n Exception\n}\n\nsub await-evidence(Operation:D $operation, Instant:D $deadline, Cancellation $cancel --> Evidence:D) {\n my $before = stopped($deadline, $cancel);\n X::LibTmux::Command.new(:kind($before.kind), :outcome(Indeterminate),\n :cause($before), :message('Batch stopped before effect evidence was inspected')).throw\n if $before.defined;\n my $settled = Promise.new;\n my $vow = $settled.vow;\n my $lock = Lock.new;\n my &finish = -> Str:D $kind, Mu $value {\n $lock.protect({ $vow.keep([$kind, $value]) if $settled.status == Planned });\n };\n my $tap = $operation.evidence.Supply.tap(\n -> Mu $value { finish('value', $value) }, :quit(-> $error { finish('error', $error) }));\n LEAVE $tap.close if $tap.defined;\n my $timer = $*SCHEDULER.cue({ finish('error', X::LibTmux::Command.new(\n :kind, :outcome(Indeterminate), :message('Batch effect evidence timed out'))) },\n :in(0 max ($deadline - now).Numeric));\n LEAVE $timer.cancel if $timer.defined;\n my $cancel-tap = $cancel.defined ?? $cancel.when-cancelled.Supply.tap(-> $ {\n finish('error', X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Batch cancelled while waiting for effect evidence')));\n }) !! Tap;\n LEAVE $cancel-tap.close if $cancel-tap.defined;\n my ($kind, $value) = (await $settled).list;\n $value.throw if $kind eq 'error';\n $value.exception.throw if $value.^isa(Failure);\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Evidence Promise did not resolve to Evidence for this operation')).throw\n unless $value.^isa(Evidence) && $value.operation eq $operation.name;\n $value\n}\n\n#| A finite replayable sequence of explicit commands, without transaction semantics.\nclass Batch is export {\n #| Captured eager Operation membership; replay preserves this order.\n has List:D $.operations = ().List;\n #| Maximum admitted operation count, enforced during incremental traversal.\n has Positive:D $.max-operations = 256;\n #| Maximum sum of encoded Invocation source bytes before executor guard encoding.\n has Positive:D $.max-command-bytes = 1024 * 1024;\n #| Stop further dispatch once retained output reaches this byte threshold.\n has Positive:D $.output-budget-bytes = 8 * 1024 * 1024;\n\n #| Copy finite membership and validate all size/name limits without I/O.\n method new(Mu :$operations!, Mu :$max-operations = 256,\n Mu :$max-command-bytes = 1024 * 1024,\n Mu :$output-budget-bytes = 8 * 1024 * 1024, *%unknown) {\n invalid('Unknown batch setting: ' ~ %unknown.keys.sort.join(', ')) if %unknown;\n invalid('Batch limits must be positive integers')\n unless positive($max-operations) && positive($max-command-bytes)\n && positive($output-budget-bytes);\n invalid('Batch operations must be a positional collection')\n if $operations.^isa(Junction) || $operations !~~ Positional:D;\n my $iterator = $operations.iterator;\n invalid('Batch membership cannot be lazy') if $iterator.is-lazy;\n my @copy;\n my %names;\n my $bytes = 0;\n loop {\n my $operation := $iterator.pull-one;\n last if $operation =:= IterationEnd;\n invalid('Batch exceeds its operation limit') if @copy.elems >= $max-operations;\n invalid('Batch membership requires defined Operation values')\n unless $operation.^isa(Operation) && $operation.defined;\n invalid('Batch operation names must be unique') if %names{$operation.name}:exists;\n %names{$operation.name} = True;\n $bytes += $operation.command.source.encode('utf8-c8').elems;\n invalid('Batch exceeds its total command byte limit') if $bytes > $max-command-bytes;\n @copy.push($operation<>);\n }\n self.bless(:operations(@copy.map({ $_<> }).eager.List), :$max-operations,\n :$max-command-bytes, :$output-budget-bytes)\n }\n\n #| Revalidate changed membership or limits; unchanged evidence is not rearmed.\n method clone(*%changes --> Batch:D) {\n my %values = operations => $!operations, max-operations => $!max-operations,\n max-command-bytes => $!max-command-bytes, output-budget-bytes => $!output-budget-bytes;\n for %changes.kv -> $key, $value {\n invalid(\"Unknown batch setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n\n #| Run sequentially through a caller-owned executor; collect every position.\n method run(*%options --> Report:D) { await self.run-async(|%options) }\n\n #| Share one deadline across commands and evidence; never invoke caller callbacks.\n method run-async(Mu :$executor!, Mu :$incarnation!, Mu :$timeout-ms = 10_000,\n Mu :deadline($requested-deadline) = Instant,\n Mu :$cancel = Cancellation, Mu :$on-error = 'stop',\n *%unknown --> Promise:D) {\n my $error;\n my $started;\n my $deadline;\n try {\n invalid('Unknown batch operation setting: ' ~ %unknown.keys.sort.join(', ')) if %unknown;\n invalid('Batch executor must implement CommandExecutor')\n unless $executor.^does(CommandExecutor);\n invalid('Batch execution requires a defined executor and Incarnation')\n unless $executor.defined && $incarnation.^isa(Incarnation) && $incarnation.defined;\n invalid('Batch timeout must be a positive integer') unless positive($timeout-ms);\n invalid('Batch deadline must be an Instant when supplied')\n unless $requested-deadline.^isa(Instant)\n && ($requested-deadline.defined || $requested-deadline === Instant);\n invalid('Batch cancellation requires a Cancellation token')\n unless $cancel.^isa(Cancellation) && ($cancel.defined || $cancel === Cancellation);\n invalid('Batch on-error must be stop or continue')\n unless $on-error.^isa(Str) && $on-error.defined && $on-error eq any();\n $started = now;\n $deadline = $started + $timeout-ms / 1000;\n $deadline = $requested-deadline\n if $requested-deadline.defined && $requested-deadline < $deadline;\n $executor.validate-command(.command, :$incarnation) for $!operations.list;\n CATCH { default { $error = $_ } }\n }\n return Promise.broken($error) if $error.defined;\n start {\n my @results;\n my Exception $stop;\n my $stop-name = '';\n my $output-bytes = 0;\n my %counted-errors;\n for $!operations.kv -> $index, $operation {\n $stop //= stopped($deadline, $cancel);\n my $began = now;\n my $outcome = Skipped;\n my $acknowledgement;\n my Evidence $evidence;\n my Exception $failure;\n my $skip-reason = $stop.defined\n ?? ($stop-name.chars ?? \"Stopped after operation $stop-name\" !! $stop.message) !! '';\n unless $stop.defined {\n try {\n my $candidate = await $executor.execute-async($operation.command,\n :$incarnation, :$cancel, :$deadline);\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('CommandExecutor did not return a defined Receipt')).throw\n unless $candidate.defined && $candidate.^does(Receipt);\n my Mu $retained = $candidate.output-bytes;\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Receipt output-bytes must be one nonnegative integer')).throw\n unless $retained.defined && $retained.^isa(Int)\n && !$retained.^isa(Bool) && $retained >= 0;\n $acknowledgement = $candidate;\n $output-bytes += $retained;\n if $operation.acknowledgement-only { $outcome = Complete }\n else {\n $evidence = await-evidence($operation, $deadline, $cancel);\n if $evidence.satisfied { $outcome = Complete }\n else {\n $failure = X::LibTmux::Command.new(:kind, :outcome(Failed),\n :message('Observed effect did not satisfy the operation contract'));\n $outcome = Failed;\n }\n }\n CATCH { default {\n $failure = $_;\n $outcome = $acknowledgement.defined ?? Indeterminate !! classification($_);\n } }\n }\n if $failure.defined && $on-error eq 'stop' {\n $stop = $failure;\n $stop-name = $operation.name;\n }\n $output-bytes += error-output($failure, %counted-errors);\n if $output-bytes >= $!output-budget-bytes && $index + 1 < $!operations.elems {\n $stop = X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :cause($failure), :message('Cumulative batch output threshold reached'));\n $stop-name = '';\n }\n }\n @results.push(OperationResult.bless(:$index, :name($operation.name), :$outcome,\n :completion-scope($operation.acknowledgement-only ?? 'command' !! 'effect'),\n :$acknowledgement, :$evidence, :error($failure), :$skip-reason,\n :started($began), :finished(now)));\n }\n Report.bless(:operations(@results.map({ $_<> }).eager.List), :$started,\n :finished(now), :$deadline, :stop-error($stop), :$output-bytes,\n :output-budget-bytes($!output-budget-bytes))\n }\n }\n}\n\n=begin pod\n=head1 Partial outcomes, not transactions\n\nOperation requires either acknowledgement-only or a Promise of Evidence. In\ncommand scope, Complete means a successful command acknowledgement; it does not\nprove an asynchronous external effect. In effect scope, Complete additionally\nrequires matching named Evidence with satisfied=True. Evidence is supplied by\nthe caller, who must arm and correlate its operation-specific observer before\ndispatch. A name match is not proof of causation. No caller callback runs inside\nthe batch. Its deadline bounds waiting, not the caller's independent work.\nEvidence Promises are one-shot: rerunning effect-aware commands requires newly\narmed evidence, rather than treating an old observation as a new completion.\n\nThe immutable Batch captures finite membership, preserving order and rejecting\nduplicate names. Empty membership is a no-op. run/run-async accept an existing\nRuntime, Control connection or compatible CommandExecutor and never close it.\nAdapters must validate without effects, honor absolute deadlines and cancellation,\nsettle their execution Promises with Receipt values, and preserve effect certainty\nin typed errors.\nAll operations share one absolute deadline. A supplied C<:deadline(Instant)>\ncan shorten the local C budget; it never extends that budget. The\nsame Instant is passed to every command and retained in the report. An already\nexpired deadline skips dispatch. The executor may use a shorter local limit. Cleanup retains\nthe executor's own separate bounds. Cancelling a dispatched Control request can\nclose that connection according to its documented delivery contract.\n\nEvery position receives an OperationResult. Failure stops subsequent dispatch\nby default; on-error=continue attempts remaining operations while time and\ncancellation permit. Never-dispatched suffixes are Skipped. A timed out or lost\nin-flight effect is Indeterminate, even if acknowledgement was received. The\noriginal exception and its outcome remain available through error/error-outcome.\nNo rollback is attempted or promised, and reports retain no executor owner.\n\noutput-budget-bytes defaults to 8 MiB. After each operation, Batch counts receipt\noutput and Command exception stdout/stderr, following shared Command causes only\nonce. Reaching or exceeding the threshold stops further dispatch even under\non-error=continue. The complete threshold-crossing receipt/error is retained and\nthe undispatched suffix is Skipped. This is an admission threshold: retained\noutput can reach the budget plus one executor-bounded response. It is not a hard\nRSS cap; object overhead, arbitrary adapter/evidence exceptions and independent\ncaller-owned tasks remain outside that bound. Such adapters must accurately\nreport Receipt.output-bytes and bound their own responses.\n=end pod\n","lib/LibTmux/Capabilities.rakumod":"use v6.d;\n\n#| Immutable daemon evidence and catalogue policy; construction performs no I/O.\nunit class LibTmux::Capabilities;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Catalogue;\n\n#| Evidence and required handling; a repair policy never means repair ran.\nclass Decision {\n #| Catalogue feature, field or defect identifier used by this decision.\n has Str:D $.id is required;\n #| Whether the decision concerns a feature, field or known upstream defect.\n has Str:D $.kind = 'feature';\n #| Qualified support state; Unknown is distinct from an unsupported release.\n has SupportState:D $.state is required;\n #| Refusal, fallback or repair policy; it does not record an executed action.\n has Str:D $.handling = 'refuse';\n #| Explanation of availability, missing evidence or a blocking defect.\n has Str:D $.reason is required;\n #| Pinned upstream source supporting the policy, or empty when no rule exists.\n has Str:D $.source = '';\n #| Provenance label from the immutable daemon capability observation.\n has Str:D $.evidence = '';\n #| Explicit alternative capability identifier; empty when no fallback is declared.\n has Str:D $.fallback = '';\n\n #| True only for a supported feature or field, never for a known defect.\n method supported(--> Bool:D) { $!kind ne 'defect' && $!state == Supported }\n #| Whether this defect needs handling; True does not mean a repair has run.\n method applies(--> Bool:D) { $!kind eq 'defect' && $!state == Supported }\n}\n\n#| Version observed from the daemon; client version does not establish support.\nhas Str:D $.daemon-version = '';\n#| Independently observed executable version, retained for diagnostics.\nhas Str:D $.client-version = '';\n#| Opaque immutable identity supplied by the engine's explicit identity probe.\nhas Str:D $.incarnation = '';\n#| How the caller acquired the daemon observation.\nhas Str:D $.source = 'explicit observation';\n#| Flags already negotiated by an explicitly owned connection.\nhas List:D $.negotiated-features = ().List;\n\nhas TmuxVersion $!parsed-daemon-version;\nhas TmuxVersion $!parsed-client-version;\nhas $!catalogue;\nhas $!support;\n\nsubmethod TWEAK() {\n $!parsed-daemon-version = parse-tmux-version($!daemon-version);\n $!parsed-client-version = parse-tmux-version($!client-version);\n $!negotiated-features = $!negotiated-features.map({ .Str }).eager.List;\n $!catalogue = catalogue();\n $!support = support-policy();\n}\n\n#| Reconstruct copies so changed observations cannot retain stale parsed evidence.\nmethod clone(*%changes --> LibTmux::Capabilities:D) {\n my %arguments = daemon-version => $!daemon-version, client-version => $!client-version,\n incarnation => $!incarnation, source => $!source,\n negotiated-features => $!negotiated-features;\n for %changes.kv -> $name, $value {\n X::LibTmux::Decode.new(:schema,\n :message(\"Unknown capability observation field $name\")).throw\n unless %arguments{$name}:exists;\n %arguments{$name} = $value;\n }\n self.WHAT.new(|%arguments)\n}\n\n#| Parsed daemon release; syntactic stability does not establish a support profile.\nmethod parsed-daemon-version(--> TmuxVersion:D) { $!parsed-daemon-version }\n#| Parsed executable release retained for diagnostics, not daemon feature decisions.\nmethod parsed-client-version(--> TmuxVersion:D) { $!parsed-client-version }\n\nmethod !profile-state(--> SupportState:D) {\n return Unknown unless $!parsed-daemon-version.stable;\n return Supported if $!support.profile($!parsed-daemon-version.release).defined;\n return NotSupported unless $!parsed-daemon-version.at-least(\n parse-tmux-version($!support.minimum));\n Unknown\n}\n\nmethod !profile-reason(--> Str:D) {\n return 'No daemon version was observed' unless $!daemon-version.chars;\n return \"Daemon release $!daemon-version is below the declared floor {$!support.minimum}\"\n if self!profile-state == NotSupported;\n \"Daemon release $!daemon-version has no exact declared support profile\"\n}\n\nmethod !decision($spec --> Decision:D) {\n my $profile-state = self!profile-state;\n return Decision.new(:id($spec.id), :kind($spec.kind), :state($profile-state),\n :handling($spec.handling), :reason(self!profile-reason),\n :source($spec.source), :evidence($!source), :fallback($spec.fallback))\n unless $profile-state == Supported;\n my $available = $spec.releases.elems\n ?? so $spec.releases.first(* eq $!parsed-daemon-version.release).defined\n !! $!parsed-daemon-version.at-least(parse-tmux-version($spec.since));\n if $available {\n for $spec.blocked-by.List -> $id {\n my $blocker = self.workaround($id);\n return Decision.new(:id($spec.id), :kind($spec.kind), :state(NotSupported),\n :handling, :reason(\"Blocked by $id: {$blocker.reason}\"),\n :source($blocker.source), :evidence($!source), :fallback($spec.fallback))\n if $blocker.applies;\n }\n }\n Decision.new(:id($spec.id), :kind($spec.kind),\n :state($available ?? Supported !! NotSupported),\n :handling($spec.handling), :reason($spec.reason), :source($spec.source),\n :evidence($!source), :fallback($spec.fallback))\n}\n\n#| Inspect one feature without I/O. Unknown names remain explicitly unknown.\nmethod status(Str:D $id --> Decision:D) {\n my $spec = $!catalogue.capability($id);\n return Decision.new(:$id, :state(Unknown),\n :reason(\"Unknown feature $id\"), :evidence($!source)) unless $spec.defined;\n self!decision($spec)\n}\n\n#| Native support only; an available fallback does not make the feature native.\nmethod supports(Str:D $id --> Bool:D) { self.status($id).supported }\n\n#| Require native support or throw a typed, reason-bearing refusal.\nmethod require(Str:D $id --> Decision:D) {\n my $decision = self.status($id);\n self!refuse($decision) unless $decision.supported;\n $decision\n}\n\nmethod !refuse(Decision:D $decision --> Nil) {\n X::LibTmux::Unsupported.new(:feature($decision.id), :state($decision.state),\n :reason($decision.reason),\n :message(\"Feature {$decision.id}: {$decision.reason}\")).throw\n}\n\n#| Inspect an upstream defect. applies means handling is needed, not completed.\nmethod workaround(Str:D $id --> Decision:D) {\n my $spec = $!catalogue.workaround($id);\n return Decision.new(:$id, :kind, :state(Unknown),\n :reason(\"Unknown workaround $id\"), :evidence($!source)) unless $spec.defined;\n self!decision($spec)\n}\n\n#| All discoverable feature decisions for this immutable observation.\nmethod features(--> List:D) {\n $!catalogue.all-capabilities.grep(*.kind eq 'feature').map({ self!decision($_) }).List\n}\n\n#| All declared defects, including those which do not apply to this release.\nmethod workarounds(--> List:D) {\n $!catalogue.all-capabilities.grep(*.kind eq 'defect').map({ self!decision($_) }).List\n}\n\n#| Codec identifier selected through catalogue policy: qa or t6.\nmethod codec-profile(--> Str:D) {\n self.require('managed-commands');\n return 'qa' if self.supports('format-argument-quote');\n my $fallback = self.status('format-argument-quote').fallback;\n self.require($fallback);\n 't6'\n}\n\n#| Required legacy decoding stage: vis or none. No repair has run here.\nmethod output-repair(--> Str:D) {\n self.require('managed-commands');\n self.workaround('format-output-vis').applies ?? 'vis' !! 'none'\n}\n\n#| Default captured-layout dialect. Control negotiation remains explicit.\nmethod layout-profile(--> Str:D) {\n self.require('managed-commands');\n return 'classic' if $!negotiated-features.first(* eq 'control-mode').defined\n && !$!negotiated-features.first(* eq 'control-new-layouts').defined;\n self.supports('layout-json') ?? 'json' !! 'classic'\n}\n\n#| Availability of a registered field, independent of acquisition completeness.\nmethod field-status(Str:D $entity, Str:D $name --> Decision:D) {\n my $field = $!catalogue.field($entity, $name);\n my $id = \"field:$entity.$name\";\n return Decision.new(:$id, :kind, :state(Unknown),\n :reason(\"Unknown field $entity.$name\"), :evidence($!source)) unless $field.defined;\n my $profile-state = self!profile-state;\n return Decision.new(:$id, :kind, :state($profile-state),\n :reason(self!profile-reason), :source($field.source), :evidence($!source))\n unless $profile-state == Supported;\n my $available = $!parsed-daemon-version.at-least(parse-tmux-version($field.since));\n Decision.new(:$id, :kind, :state($available ?? Supported !! NotSupported),\n :reason($available ?? \"Field $entity.$name is declared in this release\"\n !! \"Field $entity.$name requires {$field.since}\"),\n :source($field.source), :evidence($!source))\n}\n\n#| Whether the observed daemon supports the registered field; unknown means False.\nmethod supports-field(Str:D $entity, Str:D $name --> Bool:D) {\n self.field-status($entity, $name).supported\n}\n\n#| Return the supported field specification or throw Unsupported with its reason.\nmethod require-field(Str:D $entity, Str:D $name) {\n my $decision = self.field-status($entity, $name);\n self!refuse($decision) unless $decision.supported;\n $!catalogue.field($entity, $name)\n}\n\n=begin pod\n=head1 Capability observations\nConstruction consumes explicit observations and packaged catalogue data. It\nnever launches tmux. Replacing a daemon or negotiating connection flags needs\na new capability object. The engine binds these observations to actual\ndaemon identity; this class does not establish that identity by itself.\n\nC and C describe native features. A fallback identifies an\nalternative which the caller must choose explicitly. C describes\nrequired handling; it never claims the repair was performed. Field support\ndoes not mean the field was acquired or is available in every context.\n=end pod\n","lib/LibTmux/Catalogue.rakumod":"use v6.d;\n\n#| Packaged, source-qualified fields, relationships, options and release profiles.\nunit module LibTmux::Catalogue;\n\nuse JSON::Fast;\nuse LibTmux::Exceptions;\n\n#| Parsed release spelling; an exact release can still lack a support profile.\nclass TmuxVersion is export {\n #| Original input, including any executable banner or unqualified suffix.\n has Str:D $.raw is required;\n #| Release spelling without the optional tmux prefix; empty when unqualified.\n has Str:D $.release = '';\n #| Whether the spelling is a stable release, independent of supported versions.\n has Bool:D $.stable = False;\n #| Numeric major component; zero for an unqualified spelling.\n has Int:D $.major = 0;\n #| Numeric minor component; zero for an unqualified spelling.\n has Int:D $.minor = 0;\n #| Lowercase patch-release letter, or empty for a plain or unqualified release.\n has Str:D $.suffix = '';\n\n #| Compare stable release components, including tmux's letter suffix.\n method at-least(TmuxVersion:D $other --> Bool:D) {\n return False unless $!stable && $other.stable;\n for ($!major, $!minor, $!suffix.chars ?? $!suffix.ord !! 0)\n Z ($other.major, $other.minor, $other.suffix.chars ?? $other.suffix.ord !! 0)\n -> ($left, $right) {\n return True if $left > $right;\n return False if $left < $right;\n }\n True\n }\n}\n\n#| Preserve the raw string and reject vendor/development suffixes as unqualified.\nsub parse-tmux-version(Str:D $raw --> TmuxVersion:D) is export {\n my $match = $raw.trim ~~ /^ [ 'tmux' \\s+ ]?\n $=<[0..9]>+ '.' $=<[0..9]>+ $=<[a..z]>? $/;\n return TmuxVersion.new(:$raw) unless $match;\n my $suffix = ~$match;\n my $release = ~$match ~ '.' ~ ~$match ~ $suffix;\n TmuxVersion.new(:$raw, :$release, :stable,\n :major(+$match), :minor(+$match), :$suffix)\n}\n\n#| Immutable source identity for one explicitly supported tmux release.\nclass ReleaseProfile {\n has Str:D $.version is required;\n has Str:D $.commit is required;\n #| Immutable upstream tree for this release's pinned commit.\n method source(--> Str:D) { 'https://github.com/tmux/tmux/tree/' ~ $!commit }\n}\n\n#| One field's acquisition, decoding and portable-query contract.\nclass FieldSpec {\n has Str:D $.entity is required;\n has Str:D $.name is required;\n has Str:D $.wire-name is required;\n has Str:D $.format is required;\n has Str:D $.context is required;\n has Str:D $.kind is required;\n has Bool:D $.nullable is required;\n has Str:D $.decoder is required;\n has List:D $.operators is required;\n has List:D $.pushdown is required;\n has Int $.pushdown-minimum;\n has Int $.pushdown-maximum;\n has Str:D $.pushdown-source = '';\n has Str:D $.since is required;\n has Str:D $.source is required;\n has Str:D $.null-when = '';\n has Str:D $.null-dependency = '';\n}\n\n#| A local graph relationship with an explicit multiplicity and target schema.\nclass RelationSpec {\n has Str:D $.entity is required;\n has Str:D $.name is required;\n has Str:D $.wire-name is required;\n has Str:D $.target is required;\n has Str:D $.cardinality is required;\n has Bool:D $.nullable is required;\n}\n\n#| Availability or a known upstream defect; handling is a policy, not an effect.\nclass CapabilitySpec {\n has Str:D $.id is required;\n has Str:D $.name is required;\n has Str:D $.kind is required;\n has Str:D $.handling is required;\n has Str:D $.reason is required;\n has Str:D $.source is required;\n has Str:D $.since is required;\n has List:D $.releases is required;\n has List:D $.commands is required;\n has List:D $.blocked-by = ().List;\n has Str:D $.fallback = '';\n}\n\n#| One source-qualified option type, scope and operand range.\nclass OptionSpec {\n #| Native option name, without an array index.\n has Str:D $.name is required;\n #| Native operand category used by typed option validation and decoding.\n has Str:D $.kind is required;\n #| First declared support profile using this exact option variant.\n has Str:D $.since is required;\n #| Exclusive ending profile; empty when this variant has no declared end.\n has Str:D $.before = '';\n #| Pinned options-table.c source from which this variant was extracted.\n has Str:D $.source is required;\n #| Permitted server, session, window or pane scopes; membership is read-only.\n has List:D $.scopes is required;\n #| Closed native choice vocabulary; empty for other operand categories.\n has List:D $.choices = ().List;\n #| Whether callers must address individual numeric array elements.\n has Bool:D $.is-array = False;\n #| Whether the option stores hook command lists.\n has Bool:D $.is-hook = False;\n #| Whether string values use tmux style syntax.\n has Bool:D $.is-style = False;\n #| Lowest accepted integer in the option's native units; undefined outside numeric schemas.\n has Int $.minimum;\n #| Highest accepted integer in the option's native units; undefined outside numeric schemas.\n has Int $.maximum;\n}\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Decode.new(:$message, :schema).throw\n}\n\nsub text-value($value, Str:D $label --> Str:D) {\n invalid(\"$label must be nonempty text\") unless $value ~~ Str:D && $value.chars;\n $value.Str\n}\n\nsub string-list($value, Str:D $label --> List:D) {\n invalid(\"$label must be an array\") unless $value ~~ Array:D;\n $value.map({ text-value($_, $label) }).eager.List\n}\n\nsub read-resource(Str:D $name --> Hash:D) {\n my $resource = %?RESOURCES{$name};\n invalid(\"Missing distribution resource $name\") unless $resource.defined;\n my $bytes = $resource.slurp(:bin);\n invalid(\"Oversized distribution resource $name\") if $bytes.elems > 1024 * 1024;\n my $data = from-json($bytes.decode('utf8'));\n invalid(\"Resource $name must contain an object\") unless $data ~~ Hash:D;\n $data\n}\n\n#| Ordered release profiles are the sole source of the floor and CI endpoints.\nclass SupportPolicy {\n #| Read-only profiles in strictly increasing release order, each with pinned source identity.\n has List:D $.releases is required;\n\n #| Oldest declared supported release; no older compatibility is inferred.\n method minimum(--> Str:D) { $!releases[0].version }\n #| Newest declared supported release, independent of unqualified future releases.\n method latest(--> Str:D) { $!releases[*-1].version }\n #| Exact declared profile, or Nil for an undeclared spelling.\n method profile(Str:D $version) { $!releases.first(*.version eq $version) }\n #| Oldest and newest profiles for required CI, deduplicated for a single release.\n method endpoints(--> List:D) {\n $!releases.elems == 1 ?? ($!releases[0],).List\n !! ($!releases[0], $!releases[*-1]).List\n }\n}\n\nsub build-support-policy(--> SupportPolicy:D) {\n my @pins =\n '3.3a' => '0b355ae8114511e1ff6359272b164f1cdf718e80',\n '3.4' => '9ae69c3795ab5ef6b4d760f6398cd9281151f632',\n '3.5' => 'ac44566c9c7e3e94d23be6def4c7ae83472543f5',\n '3.5a' => '549c35b06165f6ae023115eb76f83f2cbf945395',\n '3.6' => '0dac7fe434d029a4f0b819cba8eb7963df291990',\n '3.6a' => 'cc117b5048f77a4842820f8ebbe3a86e5c077224',\n '3.6b' => '0623d1e968423ad0c192e0d8debf1258671063d5',\n '3.7' => '81f88f8517c9fc5371b56cf117530c6b477c96ac',\n '3.7a' => '0e418b62d259ce8da8970f75732cc6632ee4c3a0',\n '3.7b' => 'e802909de06012a4df6209d55e86487c56223163',\n '3.7c' => 'e476c1230b958df0cb12977517d24b3dc931375b',\n '3.8' => '7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53';\n my @releases;\n my TmuxVersion $previous;\n for @pins -> $pin {\n my Str $version = $pin.key;\n my Str $commit = $pin.value;\n my $parsed = parse-tmux-version($version);\n invalid(\"Unstable support release $version\") unless $parsed.stable;\n invalid('Support releases must be strictly increasing')\n if $previous.defined && $previous.at-least($parsed);\n invalid('Invalid source commit') unless $commit ~~ /^ <[0..9a..f]> ** 40 $/;\n @releases.push(ReleaseProfile.new(:$version, :$commit));\n $previous = $parsed;\n }\n SupportPolicy.new(:releases(@releases.map({ $_<> }).List))\n}\n\n#| Return the immutable release policy without reading configuration or contacting tmux.\nsub support-policy(--> SupportPolicy:D) is export {\n state SupportPolicy $policy = build-support-policy();\n $policy\n}\n\n#| Typed schema lookup used by acquisition, local criteria and documentation.\nclass CatalogueData {\n #| Read-only field records across all registered entity schemas.\n has List:D $.all-fields is required;\n #| Read-only graph relation records, independent of snapshot completeness.\n has List:D $.all-relations is required;\n #| Read-only feature and defect policies with upstream provenance.\n has List:D $.all-capabilities is required;\n #| All option variants; use options(release) to select a qualified profile.\n has List:D $.all-options is required;\n\n #| Registered schema names in catalogue order, without duplicates.\n method entities(--> List:D) { $!all-fields.map(*.entity).unique.List }\n #| Whether a schema is registered, without inspecting any captured entities.\n method has-entity(Str:D $entity --> Bool:D) {\n so $!all-fields.first(*.entity eq $entity).defined\n }\n #| Registered field records; an unknown entity schema throws InvalidFilter.\n method fields(Str:D $entity --> List:D) {\n self!require-entity($entity);\n $!all-fields.grep(*.entity eq $entity).List\n }\n #| Registered relation records; an unknown entity schema throws InvalidFilter.\n method relations(Str:D $entity --> List:D) {\n self!require-entity($entity);\n $!all-relations.grep(*.entity eq $entity).List\n }\n #| One field record or Nil; an unknown entity schema throws InvalidFilter.\n method field(Str:D $entity, Str:D $name) {\n self!require-entity($entity);\n $!all-fields.first({ .entity eq $entity && .name eq $name })\n }\n #| One relation record or Nil; an unknown entity schema throws InvalidFilter.\n method relation(Str:D $entity, Str:D $name) {\n self!require-entity($entity);\n $!all-relations.first({ .entity eq $entity && .name eq $name })\n }\n #| Feature policy or Nil; defect identifiers belong to workaround.\n method capability(Str:D $id) {\n $!all-capabilities.first({ .kind eq 'feature' && .id eq $id })\n }\n #| Defect policy or Nil, without claiming that handling has occurred.\n method workaround(Str:D $id) {\n $!all-capabilities.first({ .kind eq 'defect' && .id eq $id })\n }\n #| Active option variants for an exact support profile; empty for an unqualified release.\n method options(Str:D $release --> List:D) {\n return ().List unless support-policy().profile($release).defined;\n my $version = parse-tmux-version($release);\n $!all-options.grep({\n $version.at-least(parse-tmux-version(.since))\n && (!.before.chars || !$version.at-least(parse-tmux-version(.before)))\n }).List\n }\n #| One active option variant, or Nil for an unknown option or unqualified release.\n method option(Str:D $name, Str:D $release) {\n return Nil unless support-policy().profile($release).defined;\n my $version = parse-tmux-version($release);\n $!all-options.first({\n .name eq $name && $version.at-least(parse-tmux-version(.since))\n && (!.before.chars || !$version.at-least(parse-tmux-version(.before)))\n })\n }\n method !require-entity(Str:D $entity --> Nil) {\n X::LibTmux::InvalidFilter.new(:path($entity),\n :message(\"Unknown entity schema $entity\")).throw unless self.has-entity($entity);\n Nil\n }\n}\n\nsub load-catalogue(--> CatalogueData:D) {\n my $raw = read-resource('catalogue.json');\n my $support = support-policy();\n invalid('Unexpected catalogue schema') unless $raw eq 'libtmux.catalogue/v1';\n my @fields; my @relations; my @capabilities; my @options; my %names; my %wires;\n for -> $key {\n invalid(\"Catalogue $key must be an array\") unless $raw{$key} ~~ Array:D;\n }\n for $raw.List -> $row {\n my %copy;\n for -> $key {\n %copy{$key} = text-value($row{$key}, \"field $key\");\n }\n invalid('Invalid field scalar kind') unless %copy\n eq any();\n invalid('Invalid field context') unless %copy\n eq any();\n invalid('Field decoder disagrees with kind') unless %copy eq %copy;\n invalid('Field nullability must be Boolean') unless $row ~~ Bool:D;\n my $key = %copy ~ '.' ~ %copy;\n my $wire = %copy ~ '.' ~ %copy;\n invalid(\"Duplicate field $key\") if %names{$key}++ || %wires{$wire}++;\n my $since = $row // $support.minimum;\n invalid(\"Unknown field release $since\") unless $support.profile($since).defined;\n my $operators = string-list($row, 'field operators');\n my $pushdown = string-list($row, 'field pushdown');\n my @allowed = ;\n @allowed.append() if %copy eq any();\n @allowed.append() if %copy eq 'text';\n @allowed.push('is-null') if $row;\n for $operators.List -> $operator {\n invalid(\"Invalid operator for field $key\")\n unless @allowed.first(* eq $operator).defined;\n }\n for $pushdown.List -> $operator {\n invalid(\"Undeclared pushdown operator for field $key\")\n unless $operators.first(* eq $operator).defined;\n }\n my $minimum = $row // Int;\n my $maximum = $row // Int;\n my $pushdown-source = ($row // '').Str;\n if $pushdown.elems {\n invalid(\"Nullable field cannot use the exact scalar pushdown profile: $key\") if $row;\n invalid(\"Pushdown requires source evidence: $key\") unless $pushdown-source.chars;\n if %copy eq any() {\n invalid(\"Numeric pushdown requires an exact bounded source domain: $key\")\n unless $minimum ~~ Int:D && $minimum !~~ Bool\n && $maximum ~~ Int:D && $maximum !~~ Bool\n && -(2**53 - 1) <= $minimum <= $maximum <= 2**53 - 1;\n }\n }\n @fields.push(FieldSpec.new(|%copy, :$since, :nullable($row),\n :null-when(($row // '').Str),\n :null-dependency(($row // '').Str),\n :$operators, :$pushdown, :pushdown-minimum($minimum),\n :pushdown-maximum($maximum), :$pushdown-source));\n }\n for @fields -> $field {\n invalid('Nullable field requires a declared null policy')\n if $field.nullable && $field.null-when ne 'empty'\n && $field.null-when ne 'not-grouped';\n invalid('Nonnullable field cannot have a null policy')\n if !$field.nullable && $field.null-when.chars;\n if $field.null-when eq 'not-grouped' {\n my $dependency = @fields.first({ .entity eq $field.entity\n && .name eq $field.null-dependency });\n invalid('Null dependency must name a Boolean field in the same entity')\n unless $dependency.defined && $dependency.kind eq 'bool';\n }\n }\n my %entities = @fields.map(*.entity).unique.map({ $_ => True });\n for $raw.List -> $row {\n my %copy;\n for -> $key {\n %copy{$key} = text-value($row{$key}, \"relation $key\");\n }\n invalid('Unknown relation schema') unless (%entities{%copy}:exists)\n && (%entities{%copy}:exists);\n invalid('Invalid relation cardinality') unless %copy eq any();\n invalid('Relation nullability must be Boolean') unless $row ~~ Bool:D;\n my $key = %copy ~ '.' ~ %copy;\n my $wire = %copy ~ '.' ~ %copy;\n invalid(\"Duplicate relation $key\") if %names{$key}++ || %wires{$wire}++;\n @relations.push(RelationSpec.new(|%copy, :nullable($row)));\n }\n my %capabilities;\n for $raw.List -> $row {\n my %copy;\n for -> $key {\n %copy{$key} = text-value($row{$key}, \"capability $key\");\n }\n invalid('Invalid capability kind') unless %copy eq any();\n invalid('Invalid capability handling') unless %copy eq any();\n invalid('Duplicate capability') if %capabilities{%copy}++;\n my $since = $row // (%copy eq 'defect' ?? '' !! $support.minimum);\n my $releases = string-list($row // [], 'capability releases');\n invalid('A defect requires exact affected releases')\n if %copy eq 'defect' && !$releases.elems;\n my @versions = $releases.List;\n @versions.unshift($since) if $since.chars;\n for @versions -> $version {\n invalid(\"Unknown capability release $version\") unless $support.profile($version).defined;\n }\n @capabilities.push(CapabilitySpec.new(|%copy, :$since, :$releases,\n :fallback(($row // '').Str),\n :blocked-by(string-list($row // [], 'capability blockers')),\n :commands(string-list($row, 'capability commands'))));\n }\n for @capabilities -> $spec {\n invalid('Only features may be blocked by defects')\n if $spec.kind ne 'feature' && $spec.blocked-by.elems;\n for $spec.blocked-by.List -> $id {\n my $defect = @capabilities.first(*.id eq $id);\n invalid(\"Unknown blocking defect $id\") unless $defect.defined && $defect.kind eq 'defect';\n }\n invalid('Unknown capability fallback') if $spec.fallback.chars\n && !(%capabilities{$spec.fallback}:exists);\n invalid('Fallback handling requires a named fallback')\n if $spec.handling eq 'fallback' && !$spec.fallback.chars;\n my %seen;\n my $current = $spec;\n while $current.fallback.chars {\n invalid('Cyclic capability fallback') if %seen{$current.id}++;\n $current = @capabilities.first(*.id eq $current.fallback);\n invalid('A defect cannot serve as a fallback') if $current.kind eq 'defect';\n }\n }\n my %option-names;\n for $raw.List -> $row {\n my $name = text-value($row, 'option name');\n invalid('Duplicate option name') if %option-names{$name}++;\n invalid('Option variants must be a nonempty array')\n unless $row ~~ Array:D && $row.elems;\n my $previous;\n for $row.List -> $variant {\n my %copy;\n for -> $key {\n %copy{$key} = text-value($variant{$key}, \"option $key\");\n }\n %copy = ($variant // '').Str;\n invalid('Unknown option kind') unless %copy\n eq any();\n my @versions = %copy;\n @versions.push(%copy) if %copy.chars;\n for @versions -> $release {\n invalid(\"Unknown option release $release\") unless $support.profile($release).defined;\n }\n my $since = parse-tmux-version(%copy);\n invalid('Invalid option version interval') if %copy.chars\n && $since.at-least(parse-tmux-version(%copy));\n invalid('Option variants overlap or are unordered') if $previous.defined\n && (!$previous.before.chars || !$since.at-least(parse-tmux-version($previous.before)));\n my $scopes = string-list($variant, 'option scopes');\n invalid('Invalid option scope') unless $scopes.elems\n && $scopes.all eq any();\n my $choices = string-list($variant // [], 'option choices');\n invalid('Choice option needs its vocabulary') if %copy eq 'choice' && !$choices.elems;\n for -> $flag {\n invalid('Option flags must be Boolean') unless $variant{$flag} ~~ Bool:D;\n %copy{\"is-$flag\"} = $variant{$flag};\n }\n for -> $bound {\n next unless $variant{$bound}:exists;\n invalid('Option bounds must be integers')\n unless $variant{$bound} ~~ Int:D && $variant{$bound} !~~ Bool;\n %copy{$bound} = $variant{$bound};\n }\n invalid('Numeric option requires ordered bounds') if %copy eq 'number'\n && (!%copy.defined || !%copy.defined\n || %copy > %copy);\n $previous = OptionSpec.new(:$name, :$scopes, :$choices, |%copy);\n @options.push($previous);\n }\n }\n CatalogueData.new(:all-fields(@fields.map({ $_<> }).List),\n :all-relations(@relations.map({ $_<> }).List),\n :all-capabilities(@capabilities.map({ $_<> }).List),\n :all-options(@options.map({ $_<> }).List))\n}\n\n#| Return the validated packaged catalogue; no tmux command is executed.\nsub catalogue(--> CatalogueData:D) is export {\n state $catalogue = load-catalogue();\n $catalogue\n}\n","lib/LibTmux/Client.rakumod":"use v6.d;\n\n#| Explicit client-targeted UI commands and immutable menu/template values.\nunit module LibTmux::Client;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Engine;\nuse LibTmux::Command :DEFAULT, :internals;\nuse LibTmux::Transport;\nuse LibTmux::Format;\nuse LibTmux::Operations;\n\nsub text(Str:D $value --> Str:D) {\n invalid-argument('UI values cannot contain NUL') if $value.contains(\"\\0\");\n $value\n}\n\n#| Explicit tmux command-template syntax, including percent substitutions.\nclass CommandTemplate is export {\n #| Unescaped tmux command-template syntax, including native percent placeholders.\n has Str:D $.source is required;\n submethod TWEAK() { text($!source) }\n #| Revalidate replacement source without executing the template.\n method clone(*%changes --> CommandTemplate:D) {\n invalid-argument('Unknown template setting') if %changes.keys.grep(* ne 'source');\n self.WHAT.new(:source(%changes:exists ?? %changes !! $!source))\n }\n}\n\n#| A menu entry. Empty labels are separators; labels retain tmux display styles.\nclass MenuItem is export {\n #| Display text with tmux styles retained; an empty label creates a separator.\n has Str:D $.label is required;\n #| Native tmux key name; empty text leaves the item without a shortcut.\n has Str:D $.key = '';\n #| Command executed on selection; undefined only for a separator.\n has Invocation $.command;\n #| Render an unavailable item whose command cannot be selected.\n has Bool:D $.disabled = False;\n\n submethod TWEAK() {\n text($!label); text($!key);\n invalid-argument('A nonempty menu entry requires an Invocation')\n if $!label.chars && !$!command.defined;\n invalid-argument('Separators cannot have keys, commands or disabled state')\n if !$!label.chars && ($!key.chars || $!command.defined || $!disabled);\n invalid-argument('Use disabled for a menu label beginning with a minus sign')\n if $!label.starts-with('-') && !$!disabled;\n }\n\n #| Revalidate a modified entry, including separator and command consistency.\n method clone(*%changes --> MenuItem:D) {\n my %values = label => $!label, key => $!key, command => $!command, disabled => $!disabled;\n for %changes.kv -> $key, $value {\n invalid-argument(\"Unknown menu setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n}\n\nsub menu-arguments(MenuItem:D $item --> List:D) {\n return ('',).List unless $item.label.chars;\n (($item.disabled && !$item.label.starts-with('-') ?? '-' !! '') ~ literal-format($item.label),\n $item.key, literal-format($item.command.source)).List\n}\n\n#| A value-only client target. No subprocess or connection is retained.\nclass ClientTarget is export {\n #| Socket and executable configuration; no active connection is retained.\n has Endpoint:D $.endpoint is required;\n #| Daemon identity checked before dispatching a client operation.\n has Incarnation:D $.incarnation is required;\n #| Observed client name decoded with utf8-c8 to preserve target bytes.\n has Str:D $.name is required;\n #| Observed client process ID, checked together with name and creation time.\n has Positive:D $.pid is required;\n #| Observed tmux client creation timestamp in Unix seconds.\n has Count:D $.created is required;\n\n submethod TWEAK() {\n invalid-argument('A client name must be nonempty') unless text($!name).chars;\n X::LibTmux::StaleReference.new(:message('Client endpoint and incarnation disagree')).throw\n unless $!endpoint.key eq $!incarnation.endpoint-key;\n }\n\n #| Revalidate changed target values; this performs no existence check or I/O.\n method clone(*%changes --> ClientTarget:D) {\n my %values = endpoint => $!endpoint, incarnation => $!incarnation,\n name => $!name, pid => $!pid, created => $!created;\n for %changes.kv -> $key, $value {\n invalid-argument(\"Unknown client setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n\n # cmd_find_client removes one trailing colon before exact name/tty matching.\n method !target(--> Str:D) { $!name ~ ':' }\n\n method !run(Invocation:D $command, Positive:D :$timeout-ms = 10_000,\n Cancellation :$cancel = Cancellation, PaneId :$pane = PaneId,\n Bool:D :$check = True, Bool:D :$retain-session = False --> Promise:D) is single-operation('async') {\n my $deadline = now + $timeout-ms / 1000;\n start {\n my $runtime = Runtime.new(:endpoint($!endpoint), :$timeout-ms);\n LEAVE $runtime.close if $runtime.defined;\n my $caps = operation-capabilities($!incarnation);\n my $projection = Projection.new(:entity,\n :fields(), :capabilities($caps));\n my @clients = $runtime.read($projection, Invocation.new(:argv(['list-clients'])),\n :incarnation($!incarnation), :$cancel, :$deadline);\n my $name = Blob.new($!name.encode('utf8-c8').list);\n my @matching = @clients.grep({ .bytes('name') eqv $name\n && .value('pid') == $!pid && .value('created') == $!created });\n X::LibTmux::StaleReference.new(:message('Observed client is no longer attached')).throw\n unless @matching.elems == 1;\n if $pane.defined {\n my $panes = Projection.new(:entity, :fields(['id']), :capabilities($caps));\n my @rows = $runtime.read($panes, Invocation.new(:argv([\n 'list-panes', '-s', '-t', @matching[0].value('session-id'),\n ])), :incarnation($!incarnation), :$cancel, :$deadline);\n X::LibTmux::StaleReference.new(\n :message('UI pane is absent from the client session')).throw\n unless @rows.first(*.value('id') eq $pane).defined;\n }\n my $dispatch = $retain-session ?? Invocation.new(:argv([\n |$command.argv, '-t', @matching[0].value('session-id'),\n ])) !! $command;\n $runtime.execute($dispatch, :incarnation($!incarnation), :$cancel, :$deadline, :$check)\n }\n }\n\n #| Display literal FORMAT/time text; tmux still interprets display styles.\n method display-message(Str:D $message, PaneId:D :$pane!, Count :$duration-ms = Count,\n Bool:D :$print = False, *%operation --> Result:D) is single-operation {\n my @argv = 'display-message', '-c', self!target, '-t', $pane;\n @argv.append('-d', $duration-ms.Str) if $duration-ms.defined;\n @argv.push('-p') if $print;\n @argv.append('--', literal-format(text($message)).subst('%', '#{a:37}', :g));\n await self!run(Invocation.new(:argv(@argv)), :$pane, |%operation)\n }\n\n #| Evaluate explicit FORMAT and strftime syntax in an existing pane context.\n method display-format(Str:D $format, PaneId:D :$pane!, Bool:D :$print = True,\n *%operation --> Result:D) is single-operation {\n my @argv = 'display-message', '-c', self!target, '-t', $pane;\n @argv.push('-p') if $print;\n @argv.append('-F', text($format));\n await self!run(Invocation.new(:argv(@argv)), :$pane, |%operation)\n }\n\n #| Show a menu. Completion follows tmux's command lifecycle, not rendering proof.\n method menu-async(Positional:D $items, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n Count :$starting-choice = Count, *%operation --> Promise:D) is single-operation('async') {\n invalid-argument('A menu requires one or more finite entries')\n if $items.iterator.is-lazy;\n my @argv = 'display-menu', '-c', self!target, '-t', $pane,\n '-T', literal-format(text($title)), '-x', text($x), '-y', text($y);\n my $caps = operation-capabilities($!incarnation);\n $caps.require('menu-appearance') if $style.defined || $border-style.defined\n || $selected-style.defined || $border-lines.defined || $starting-choice.defined;\n $caps.require('menu-mouse') if $mouse;\n @argv.append('-s', text($style)) if $style.defined;\n @argv.append('-S', text($border-style)) if $border-style.defined;\n @argv.append('-H', text($selected-style)) if $selected-style.defined;\n @argv.append('-b', text($border-lines)) if $border-lines.defined;\n @argv.append('-C', $starting-choice.Str) if $starting-choice.defined;\n @argv.push('-M') if $mouse;\n @argv.push('-O') if $stay-open;\n @argv.push('--');\n my $count = 0;\n for $items -> $item {\n invalid-argument('A menu accepts at most 256 MenuItem values')\n unless ++$count <= 256 && $item.^isa(MenuItem) && $item.defined;\n @argv.append(menu-arguments($item));\n }\n invalid-argument('A menu requires one or more entries') unless $count;\n self!run(Invocation.new(:argv(@argv)), :$pane, :$timeout-ms, |%operation)\n }\n\n #| Start an explicitly supplied shell command in a popup; wait asynchronously.\n method popup-async(Str:D :$shell-command!, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n Positive :$width = Positive, Positive :$height = Positive,\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D) is single-operation('async') {\n invalid-argument('Popup close must be exit, success or manual')\n unless $close eq any();\n my @argv = 'display-popup', '-c', self!target, '-t', $pane,\n '-T', literal-format(text($title)), '-x', text($x), '-y', text($y);\n @argv.append('-w', $width.Str) if $width.defined;\n @argv.append('-h', $height.Str) if $height.defined;\n @argv.append('-d', literal-format(text($directory))) if $directory.defined;\n @argv.push('-B') unless $border;\n my $caps = operation-capabilities($!incarnation);\n if $close-on-key { $caps.require('popup-close-on-key'); @argv.push('-k') }\n if $reset-flags { $caps.require('popup-reset-flags'); @argv.push('-N') }\n @argv.append(('-E') xx ($close eq 'success' ?? 2 !! 1)) unless $close eq 'manual';\n @argv.append('--', text($shell-command));\n self!run(Invocation.new(:argv(@argv)), :$pane, :$timeout-ms, |%operation)\n }\n\n #| Explicitly remove the current popup/overlay, including one left after timeout.\n method close-popup(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['display-popup', '-C', '-c', self!target])), |%operation)\n }\n\n #| Prompt with explicit tmux template syntax. Commas separate prompts and inputs.\n method prompt-async(CommandTemplate:D $template, Positive:D :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D) is single-operation('async') {\n my %modes = text => '', single => '-1', numeric => '-N', key => '-k';\n invalid-argument('Prompt mode must be text, single, numeric or key')\n unless %modes{$mode}:exists;\n my @argv = 'command-prompt', '-t', self!target, '-p', literal-format(text($prompts)),\n '-I', literal-format(text($inputs)), '-T', text($type);\n @argv.push(%modes{$mode}) if %modes{$mode}.chars;\n if $literal-commas {\n operation-capabilities($!incarnation).require('prompt-literal-commas');\n @argv.push('-l');\n }\n @argv.append('--', $template.source);\n self!run(Invocation.new(:argv(@argv)), :$timeout-ms, |%operation)\n }\n\n #| Ask confirmation before one Invocation. A refusal is returned as a Result.\n method confirm-async(Invocation:D $command, Positive:D :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D) is single-operation('async') {\n self!run(Invocation.new(:argv(['confirm-before', '-t', self!target,\n '-p', literal-format(text($prompt)), '--', $command.source])),\n :$timeout-ms, :!check, |%operation)\n }\n\n #| Enter a pane mode shared by every client viewing that pane.\n method choose(Str:D $kind, PaneId:D :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, CommandTemplate :$template = CommandTemplate,\n *%operation --> Result:D) is single-operation {\n my %commands = tree => 'choose-tree', client => 'choose-client',\n buffer => 'choose-buffer', customize => 'customize-mode';\n invalid-argument('Choose kind must be tree, client, buffer or customize')\n unless %commands{$kind}:exists;\n invalid-argument('Customize mode has no key format, sort or command template')\n if $kind eq 'customize' && ($key-format.defined || $sort.defined || $reverse || $template.defined);\n my @argv = %commands{$kind}, '-t', $pane;\n @argv.append('-F', text($format)) if $format.defined;\n @argv.append('-f', text($filter)) if $filter.defined;\n @argv.append('-K', text($key-format)) if $key-format.defined;\n @argv.append('-O', text($sort)) if $sort.defined;\n @argv.push('-r') if $reverse;\n @argv.push('-Z') if $zoom;\n @argv.push('-N') unless $preview;\n @argv.append('--', $template.source) if $template.defined;\n await self!run(Invocation.new(:argv(@argv)), :$pane, |%operation)\n }\n\n #| Open the native finder using tmux match/FORMAT syntax, not literal substring data.\n method find-window(Str:D $pattern, PaneId:D :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> Result:D) is single-operation {\n invalid-argument('Find-window requires at least one search area')\n unless $content || $names || $titles;\n my @argv = 'find-window', '-t', $pane;\n @argv.push('-C') if $content;\n @argv.push('-N') if $names;\n @argv.push('-T') if $titles;\n @argv.push('-r') if $regex;\n @argv.push('-i') if $ignore-case;\n @argv.push('-Z') if $zoom;\n @argv.append('--', text($pattern));\n await self!run(Invocation.new(:argv(@argv)), :$pane, |%operation)\n }\n\n #| Display pane numbers, with an optional explicit tmux selection template.\n method display-panes-async(Positive:D :$timeout-ms!, Count :$duration-ms = Count,\n Bool:D :$select = True,\n CommandTemplate :$template = CommandTemplate,\n *%operation --> Promise:D) is single-operation('async') {\n my @argv = 'display-panes', '-t', self!target;\n @argv.append('-d', $duration-ms.Str) if $duration-ms.defined;\n @argv.push('-N') unless $select;\n @argv.append('--', $template.source) if $template.defined;\n self!run(Invocation.new(:argv(@argv)), :$timeout-ms, |%operation)\n }\n\n #| Refresh the display, status, or viewport using one explicit action.\n method refresh(Str:D :$part = 'all', Positive :$amount = Positive,\n *%operation --> Result:D) is single-operation {\n my %flags = all => '', status => '-S', reset => '-c',\n left => '-L', right => '-R', up => '-U', down => '-D';\n invalid-argument('Unknown refresh action') unless %flags{$part}:exists;\n invalid-argument('An adjustment requires a viewport direction')\n if $amount.defined && $part ne any();\n my @argv = 'refresh-client', '-t', self!target;\n @argv.push(%flags{$part}) if %flags{$part}.chars;\n @argv.push($amount.Str) if $amount.defined;\n await self!run(Invocation.new(:argv(@argv)), |%operation)\n }\n\n #| Request detachment of this exact observed client. Completion is not exit proof.\n method detach(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['detach-client', '-t', self!target])), |%operation)\n }\n\n #| Suspend the client's terminal process through tmux.\n method suspend(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['suspend-client', '-t', self!target])), |%operation)\n }\n\n #| Invoke the configured lock command for this client.\n method lock(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['lock-client', '-t', self!target])), |%operation)\n }\n\n #| Switch session by ID. Updating the session environment is opt-in.\n method switch(SessionId:D $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> Result:D) is single-operation {\n my @argv = 'switch-client', '-c', self!target, '-t', $session;\n @argv.push('-E') unless $update-environment;\n @argv.push('-Z') if $keep-zoom;\n await self!run(Invocation.new(:argv(@argv)), |%operation)\n }\n\n #| Select an existing key table; its name is passed without FORMAT expansion.\n method key-table(Str:D $table, *%operation --> Result:D) is single-operation {\n invalid-argument('A key table name cannot be empty') unless text($table).chars;\n await self!run(Invocation.new(:argv(['switch-client', '-c', self!target,\n '-T', $table])), |%operation)\n }\n\n #| Switch relative to this client's current/previous session.\n method switch-relative(Str:D $direction, *%operation --> Result:D) is single-operation {\n my %flags = next => '-n', previous => '-p', last => '-l';\n invalid-argument('Relative session must be next, previous or last')\n unless %flags{$direction}:exists;\n await self!run(Invocation.new(:argv(['switch-client', '-c', self!target,\n '-E', %flags{$direction}])), |%operation)\n }\n\n #| Toggle read-only and ignore-size flags while retaining the observed session.\n method toggle-read-only(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['switch-client', '-c', self!target, '-r', '-E', '-Z'])),\n :retain-session, |%operation)\n }\n\n #| Return raw prompt-history output, without claiming newline-safe entry framing.\n method prompt-history(Str :$type = Str, *%operation --> Blob:D) is single-operation {\n my @argv = 'show-prompt-history';\n @argv.append('-T', text($type)) if $type.defined;\n (await self!run(Invocation.new(:argv(@argv)), |%operation)).stdout\n }\n\n #| Clear the daemon's selected prompt history; it is shared across clients.\n method clear-prompt-history(Str :$type = Str, *%operation --> Result:D) is single-operation {\n my @argv = 'clear-prompt-history';\n @argv.append('-T', text($type)) if $type.defined;\n await self!run(Invocation.new(:argv(@argv)), |%operation)\n }\n}\n\n=begin pod\n=head1 Client commands\n\nClientTarget retains endpoint and daemon identity values only. Each operation\nlists clients and checks the observed name, process ID and creation time before\ndispatch. tmux exposes no permanent client ID: disconnect and name reuse between\nthis check and the command remain possible. The daemon fence does not make that\ncheck atomic. A client target never silently selects a current client.\nThe read-only toggle follows tmux's paired read-only/ignore-size flag behavior;\nit retains the observed session and suppresses environment updates.\n\nPane-context UI methods require an explicit pane belonging to the client's\ncurrent session. This avoids display-message's missing-target fallback. Pane\nmodes are shared by every client viewing that pane, not private UI state.\n\nMenu, prompt, popup and pane-number methods return Promises and require an\nexplicit timeout in milliseconds. Human interaction may outlast that budget.\nCancellation or timeout stops the command client; it does not retract an overlay\nor command already submitted. Use close-popup explicitly when appropriate.\nResults describe command completion, not rendered pixels or a human response.\n\nLiteral messages disable FORMAT and strftime interpolation. tmux display styles\nstill apply. Menu labels retain display styles and leading-minus disabled-entry\nsemantics. CommandTemplate deliberately exposes tmux template syntax and percent\nsubstitutions; it is never compiled as Raku. Popup shell-command deliberately\nrequests shell execution. Other commands use argv and the shared tmux encoder.\n=end pod\n","lib/LibTmux/Command.rakumod":"use v6.d;\n\nunit module LibTmux::Command;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Command.new(:$message, :kind, :outcome(NotStarted)).throw\n}\n\n# Internal admission for role protos, which must specialize before typed dispatch.\nsub admit-operation(Capture:D $capture, :%named = {}, Bool:D :$forwarded = False --> Nil)\n is export(:internals) {\n for $capture.list -> Mu $value {\n invalid('An operation argument must be one value, not a Junction')\n if $value.^isa(Junction);\n }\n for $capture.hash.kv -> $name, Mu $value {\n invalid('An operation argument must be one value, not a Junction')\n if $value.^isa(Junction);\n invalid(\"Unknown operation argument $name\")\n unless $forwarded || (%named{$name}:exists);\n }\n}\n\n#| Reject implicit operation fan-out and misspelled settings before native binding.\nmulti sub trait_mod:(Routine:D $routine, Mu :$single-operation!) is export(:internals) {\n my Bool $async = $single-operation ~~ Str:D && $single-operation eq 'async';\n invalid('single-operation accepts only its default or async mode')\n unless $single-operation === True || $async;\n my $parameters = $routine.signature.params;\n my Bool $forwarded = $parameters.first({ .slurpy && .named && .name ne '%_' }).defined;\n my %named = $parameters.grep(*.named).map(*.named_names).flat.map({ $_ => True });\n $routine.wrap(sub (|capture) {\n my Exception $failure;\n try {\n admit-operation(capture, :%named, :$forwarded);\n CATCH { default { $failure = $_ } }\n }\n if $failure.defined { return $async ?? Promise.broken($failure) !! $failure.throw }\n if $async {\n my $value;\n try { $value = callsame; CATCH { default { $failure = $_ } } }\n return $failure.defined ?? Promise.broken($failure) !! $value;\n }\n callsame\n });\n}\n\nsub quote(Str:D $value --> Str:D) {\n my @pieces;\n for $value.encode('utf8-c8').list -> $byte {\n @pieces.push(32 <= $byte <= 126 && $byte != any(34, 92, 36, 126)\n ?? $byte.chr !! '\\\\' ~ $byte.fmt('%03o'));\n }\n '\"' ~ @pieces.join ~ '\"'\n}\n\n#| One copied tmux command with distinct argv and command-language encodings.\nclass Invocation is export {\n has List:D $!argv = ().List;\n has Str:D $!source = '';\n\n submethod BUILD(Mu :$argv!, Mu :$max-bytes = 12 * 1024, *%unknown) {\n invalid('Unknown command setting ' ~ %unknown.keys.sort.join(', ')) if %unknown;\n invalid('Command size limit must be a positive integer')\n if $max-bytes.^isa(Junction) || $max-bytes !~~ Positive:D;\n invalid('A command needs a nonempty argument vector')\n if $argv.^isa(Junction) || $argv !~~ Positional:D || !$argv.elems;\n my @copied;\n for $argv.list -> Mu $argument {\n invalid('Command arguments must be defined strings')\n if $argument.^isa(Junction) || $argument !~~ Str:D;\n invalid('Command arguments cannot contain NUL') if $argument.contains(\"\\0\");\n @copied.push($argument.Str);\n }\n invalid('Command name cannot be empty') unless @copied[0].chars;\n $!argv = @copied.map(-> $value { $value }).eager.List;\n $!source = $!argv.map("e).join(' ');\n invalid('Encoded command exceeds its byte limit')\n if $!source.encode('utf8-c8').elems > $max-bytes;\n }\n\n #| Original literal values, detached from the caller's membership containers.\n method argv(--> List:D) { $!argv }\n\n #| Protect literal final semicolons from tmux's OS-argv command separator.\n method as-argv(--> List:D) {\n $!argv.map({ .ends-with(';') ?? .substr(0, .chars - 1) ~ '\\;' !! $_ }).List\n }\n\n #| A bounded tmux command string, with no shell expansion or Raku evaluation.\n method source(--> Str:D) { $!source }\n}\n\n=begin pod\n=head1 Interpretation boundaries\n\nInvocation encodes a tmux command, not a shell command or a FORMAT literal.\nDouble quoting alone does not suppress tmux tilde expansion. Exact octal\nescapes preserve quotes, backslashes, dollars, tildes, controls and high bytes.\nThe encoded size limit applies after expansion and before dispatch.\n\nEngine code inserts command separators deliberately between Invocation values;\nliteral semicolons inside their argument values remain data. Commands which\ninterpret FORMAT syntax require an additional command-specific policy.\n\n=head1 Single-operation admission\n\nEffectful entry points use C to reject Junction arguments\nbefore Raku can autothread a typed method into several operations. Unknown named\narguments are rejected unless the method explicitly forwards a slurpy options\nhash; the receiving operation validates those forwarded names. Nested command\noperands remain the responsibility of Invocation and the command's validators.\nNative signatures, defaults and constraints retain their normal binding rules.\nAn effectful multi must guard its explicit proto, since candidate dispatch can\nautothread before a wrapper on an individual candidate runs.\nRole methods use capture admission in the proto body before typed candidate\ndispatch. Wrapping an unspecialized role method loses its private-method context\nafter precompilation on the pinned compiler.\n\nC returns one broken Promise for rejected input or\na synchronous exception from the method. Junctions and unknown names produce\nC with C argument and C NotStarted. Native\nbinding errors and exceptions from the body retain their types. An accepted\nmethod's Promise passes through unchanged. Portable query validation keeps its\nown C policy, while local selections retain native Junction\nmatching.\n=end pod\n","lib/LibTmux/Configuration.rakumod":"use v6.d;\n\nunit module LibTmux::Configuration;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Catalogue;\nuse LibTmux::Capabilities;\nuse LibTmux::Command :DEFAULT, :internals;\nuse LibTmux::Engine;\nuse LibTmux::Transport;\nuse LibTmux::Operations;\nuse LibTmux::Format :DEFAULT, :internal;\n\nsub bad(Str:D $message, Str:D :$field = '' --> Nil) {\n X::LibTmux::Decode.new(:$message, :schema, :$field).throw\n}\nsub text-argument($text, Str:D $label, Bool :$empty = False --> Str:D) {\n invalid-argument(\"$label must be defined text without NUL\")\n unless $text ~~ Str:D && !$text.contains(\"\\0\") && ($empty || $text.chars);\n $text.Str\n}\nsub record-bytes(Blob:D $output, Str:D $repair --> List:D) {\n my @rows; my $start = 0;\n for ^$output.elems -> $i {\n next unless $output[$i] == 10;\n @rows.push(decode-command-output($output.subbuf($start, $i - $start), :$repair));\n $start = $i + 1;\n }\n bad('Truncated command output record') unless $start == $output.elems;\n @rows.List\n}\n\nrole Scoped {\n #| Captured connection settings; retaining them owns no process.\n has Endpoint:D $.endpoint is required;\n #| Captured daemon identity used to reject references after replacement.\n has Incarnation:D $.incarnation is required;\n has Str:D $.scope = 'server';\n has Str:D $.target = '';\n has Bool:D $.global = False;\n has Positive:D $.timeout-ms = 10_000;\n #| Combined output-byte limit for one owned command response.\n has Positive:D $.max-output-bytes = 8 * 1024 * 1024;\n #| Maximum encoded command size in bytes, including tmux quoting.\n has Positive:D $.max-command-bytes = 12 * 1024;\n\n submethod TWEAK() {\n invalid-argument('Configuration endpoint and incarnation disagree')\n unless $!endpoint.key eq $!incarnation.endpoint-key;\n invalid-argument('Unknown configuration scope')\n unless $!scope eq any();\n invalid-argument('Global configuration has no object target')\n if $!global && ($!target.chars || $!scope eq any());\n unless $!global {\n my $valid = do given $!scope {\n when 'server' { !$!target.chars }\n when 'session' { so $!target ~~ SessionId }\n when 'window' { so $!target ~~ WindowId }\n when 'pane' { so $!target ~~ PaneId }\n };\n invalid-argument('Configuration target has the wrong identity type') unless $valid;\n }\n }\n #| Copy endpoint, scope and limits through constructor validation.\n method clone(*%changes) {\n my %arguments = endpoint => $!endpoint, incarnation => $!incarnation,\n scope => $!scope, target => $!target, global => $!global,\n timeout-ms => $!timeout-ms, max-output-bytes => $!max-output-bytes,\n max-command-bytes => $!max-command-bytes;\n for %changes.kv -> $name, $value {\n invalid-argument(\"Unknown configuration setting $name\") unless %arguments{$name}:exists;\n %arguments{$name} = $value;\n }\n self.WHAT.new(|%arguments)\n }\n method !capabilities() { operation-capabilities($!incarnation) }\n method !scope-flags(--> List:D) {\n my @flags;\n @flags.push('-s') if $!scope eq 'server';\n @flags.push('-w') if $!scope eq 'window';\n @flags.push('-p') if $!scope eq 'pane';\n @flags.push('-g') if $!global;\n @flags.append('-t', $!target) if $!target.chars;\n @flags.List\n }\n method !with-runtime(&body) {\n my $deadline = now + $!timeout-ms / 1000;\n self!capabilities.require('managed-commands');\n my $runtime = Runtime.new(:endpoint($!endpoint), :timeout-ms($!timeout-ms),\n :max-output-bytes($!max-output-bytes), :max-command-bytes($!max-command-bytes));\n LEAVE $runtime.close if $runtime.defined;\n my $value = body($runtime, $deadline);\n X::LibTmux::Command.new(:kind, :outcome(Complete),\n :message('Configuration decoding exceeded the operation deadline')).throw\n if now >= $deadline;\n $value<>\n }\n method !execute(@argv, Blob:D :$stdin = Blob.new, Bool :$check = True,\n :&decode = -> $result { $result }) {\n my $command = Invocation.new(:@argv, :max-bytes($!max-command-bytes));\n self!with-runtime(-> $runtime, $deadline {\n decode($runtime.execute($command, :incarnation($!incarnation), :$stdin, :$check, :$deadline))\n })\n }\n}\n\n#| One observed option value. The source schema determines its native scalar type.\nclass OptionValue is export {\n #| Exact observed resource or option name.\n has Str:D $.name is required;\n #| Array member index; undefined for a scalar option.\n has Int $.index;\n #| Whether the effective value came from an ancestor option scope.\n has Bool:D $.inherited = False;\n #| Decoded native option value; its type follows the option catalogue.\n has Mu $.value is required;\n}\n\nsub option-value($spec, Blob:D $bytes) {\n my $text = $bytes.decode('utf8-c8');\n given $spec.kind {\n when 'flag' {\n bad('Invalid option flag', :field($spec.name)) unless $text eq any();\n $text eq 'on'\n }\n when 'number' {\n bad('Invalid option integer', :field($spec.name)) unless $text ~~ /^ '-'? <[0..9]>+ $/;\n bad('Option integer is outside its declared range', :field($spec.name))\n unless $spec.minimum <= $text.Int <= $spec.maximum;\n $text.Int\n }\n when 'choice' {\n bad('Option choice is outside the declared profile', :field($spec.name))\n unless $spec.choices.first(* eq $text).defined;\n $text\n }\n when 'string' { decode-argument-token($bytes).decode('utf8-c8') }\n default { $text }\n }\n}\n\nsub option-entries(Blob:D $output, Str:D $repair, &describe --> List:D) {\n my @entries;\n for record-bytes($output, $repair) -> $row {\n my $text = $row.decode('utf8-c8');\n my $head = $text ~~ /^ $=[ <-[\\[\\*\\s]>+ ]\n [ '[' $=<[0..9]>+ ']' ]? $='*'? [ ' ' $=.* ]? $/;\n bad('Malformed option output') unless $head;\n my $field = ~$head;\n my $spec = describe($field);\n next unless $head.defined;\n my $offset = $head.from;\n my $prefix = $text.substr(0, $offset).encode('utf8-c8').elems;\n my $value = option-value($spec, $row.subbuf($prefix));\n @entries.push(OptionValue.new(:name($field),\n :index($head.defined ?? +$head !! Int),\n :inherited(so $head.chars), :$value));\n }\n @entries.List\n}\n\n#| Typed native options. Reads and writes are explicit daemon operations.\nclass Options does Scoped is export {\n #| Inspect the source-qualified schema locally; user options have text values.\n method describe(Str:D $name --> LibTmux::Catalogue::OptionSpec:D) {\n self!capabilities.require('managed-commands');\n if $name ~~ /^ '@' <[A..Za..z0..9_\\-]>+ $/ {\n return LibTmux::Catalogue::OptionSpec.new(:$name, :kind,\n :since(support-policy().minimum), :scopes((self.scope,).List),\n :source(support-policy().profile(self.incarnation.daemon-version).source\n .subst('/tree/', '/blob/') ~ '/options.c'));\n }\n my $spec = catalogue().option($name, self.incarnation.daemon-version);\n X::LibTmux::Unsupported.new(:feature(\"option:$name\"), :state(NotSupported),\n :reason('Option is absent from the declared daemon profile'),\n :message(\"Unknown or unavailable option $name\")).throw unless $spec.defined;\n invalid-argument(\"Option $name does not belong to scope {self.scope}\")\n unless $spec.scopes.first(* eq self.scope).defined;\n $spec\n }\n #| Read values, array indices and inherited provenance as captured entries.\n method entries(Str :$name, Bool :$effective = True --> List:D) is single-operation {\n CATCH {\n when X::LibTmux::Command {\n return ().List if $name.defined && $name.starts-with('@')\n && .kind eq 'exit' && .exitcode == 1 && !.signal && !.stdout.elems\n && .stderr.list eqv \"invalid option: $name\\n\".encode.list;\n .rethrow\n }\n }\n self.describe($name) if $name.defined;\n my @argv = 'show-options', |self!scope-flags;\n @argv.push('-A') if $effective;\n @argv.push($name) if $name.defined;\n self!execute(@argv, :decode(-> $result {\n option-entries($result.stdout, self!capabilities.output-repair,\n -> $field { self.describe($field) })\n }))\n }\n #| Read a native scalar, an array Map, or Nil for an absent local value/member.\n method get(Str:D $name, Int :$index, Bool :$effective = True) is single-operation {\n my $spec = self.describe($name);\n invalid-argument('Array index must be nonnegative and refer to an array')\n if $index.defined && ($index !~~ Count || !$spec.is-array);\n my @entries = self.entries(:$name, :$effective);\n if $spec.is-array && !$index.defined {\n return Map.new(@entries.map({ .index => .value }));\n }\n my $entry = $index.defined ?? @entries.first({ .index.defined && .index == $index })\n !! @entries.first;\n $entry.defined ?? $entry.value !! Nil\n }\n #| Validate a typed value and set one scalar or explicitly indexed array member.\n method set(Str:D $name, $value, Int :$index --> Result:D) is single-operation {\n my $spec = self.describe($name);\n invalid-argument('Array options require an explicit nonnegative index')\n if $spec.is-array && (!$index.defined || $index !~~ Count);\n invalid-argument('Scalar options cannot have an array index') if !$spec.is-array && $index.defined;\n my Str $argument = do given $spec.kind {\n when 'flag' {\n invalid-argument('Flag option requires Bool') unless $value ~~ Bool:D;\n $value ?? 'on' !! 'off'\n }\n when 'number' {\n invalid-argument('Numeric option requires an integer in its declared range')\n unless $value ~~ Int:D && $value !~~ Bool\n && $spec.minimum <= $value <= $spec.maximum;\n $value.Str\n }\n when 'choice' {\n invalid-argument('Choice option requires a declared text value')\n unless $value ~~ Str:D && $spec.choices.first(* eq $value).defined;\n $value\n }\n when 'command' {\n invalid-argument('Command option requires Invocation') unless $value ~~ Invocation:D;\n $value.source\n }\n default { text-argument($value, 'Option value', :empty) }\n };\n my $key = $name ~ ($index.defined ?? \"[$index]\" !! '');\n self!execute(['set-option', |self!scope-flags, '--', $key, $argument])\n }\n #| Remove a local value or array member; tmux's inherited/default value may remain.\n method unset(Str:D $name, Int :$index --> Result:D) is single-operation {\n my $spec = self.describe($name);\n invalid-argument('Option index must be nonnegative and refer to an array')\n if $index.defined && (!$spec.is-array || $index !~~ Count);\n self!execute(['set-option', |self!scope-flags, '-u', '--',\n $name ~ ($index.defined ?? \"[$index]\" !! '')])\n }\n #| Explicit schema escape hatch. tmux validates the option and interprets its value.\n method set-raw(Str:D $name, Str:D $value --> Result:D) is single-operation {\n text-argument($name, 'Raw option name'); text-argument($value, 'Raw option value', :empty);\n self!execute(['set-option', |self!scope-flags, '--', literal-format($name), $value])\n }\n #| Read raw native output for an option outside the declared typed schema.\n method get-raw(Str:D $name --> Blob:D) is single-operation {\n text-argument($name, 'Raw option name');\n self!execute(['show-options', |self!scope-flags, '-v', '--', literal-format($name)]).stdout\n }\n}\n\n#| Environment absence and an explicit removed marker are different states.\nclass EnvironmentValue is export {\n #| Exact observed resource or option name.\n has Str:D $.name is required;\n #| Captured environment bytes, preserved separately from text conversion.\n has Blob:D $.bytes = Blob.new;\n #| Whether tmux marks this variable for removal from child environments.\n has Bool:D $.removed = False;\n #| Whether this entry belongs to the explicitly requested hidden environment.\n has Bool:D $.hidden = False;\n submethod TWEAK() { $!bytes = Blob.new($!bytes.list) }\n #| Decode captured bytes losslessly, or return Nil for an explicit removed marker.\n method value() { $!removed ?? Nil !! $!bytes.decode('utf8-c8') }\n #| Revalidate copies and detach mutable byte input.\n method clone(*%changes) {\n my %arguments = name => $!name, bytes => $!bytes, removed => $!removed, hidden => $!hidden;\n for %changes.kv -> $key, $value {\n invalid-argument(\"Unknown environment value field $key\") unless %arguments{$key}:exists;\n %arguments{$key} = $value;\n }\n self.WHAT.new(|%arguments)\n }\n}\n\nsub environment-name($name --> Str:D) {\n text-argument($name, 'Environment name');\n invalid-argument('Environment names must use the portable variable alphabet')\n unless $name ~~ /^ <[A..Za..z_]> <[A..Za..z0..9_]>* $/;\n $name\n}\n\n\n#| Internal decoder for native show-environment -s output; never evaluates shell text.\nsub decode-environment(Blob:D $output, Str:D $repair, Bool:D $hidden --> List:D)\n is export(:internal) {\n my $bytes = Buf.new;\n for record-bytes($output, $repair) -> $row { $bytes.append($row); $bytes.push(10) }\n my @values; my int $i = 0;\n while $i < $bytes.elems {\n my $start = $i;\n if $i + 6 <= $bytes.elems\n && $bytes[$i] == 117 && $bytes[$i + 1] == 110\n && $bytes[$i + 2] == 115 && $bytes[$i + 3] == 101\n && $bytes[$i + 4] == 116 && $bytes[$i + 5] == 32 {\n $i += 6;\n my $name-start = $i;\n $i++ while $i < $bytes.elems && $bytes[$i] != 59;\n bad('Truncated removed environment entry')\n unless $i + 1 < $bytes.elems && $bytes[$i + 1] == 10;\n my $name = $bytes.subbuf($name-start, $i - $name-start).decode('utf8-c8');\n bad('Malformed environment variable name', :field($name))\n unless $name ~~ /^ <[A..Za..z_]> <[A..Za..z0..9_]>* $/;\n @values.push(EnvironmentValue.new(:$name, :removed, :$hidden));\n $i += 2;\n } else {\n $i++ while $i < $bytes.elems && $bytes[$i] != 61;\n bad('Truncated environment assignment')\n unless $i + 1 < $bytes.elems && $bytes[$i + 1] == 34;\n my $name = $bytes.subbuf($start, $i - $start).decode('utf8-c8');\n bad('Malformed environment variable name', :field($name))\n unless $name ~~ /^ <[A..Za..z_]> <[A..Za..z0..9_]>* $/;\n $i += 2;\n my $value = Buf.new;\n loop {\n bad('Unclosed environment value') if $i >= $bytes.elems;\n my $byte = $bytes[$i++];\n last if $byte == 34;\n if $byte == 92 {\n bad('Truncated environment escape') if $i >= $bytes.elems;\n $byte = $bytes[$i++];\n bad('Unknown environment escape') unless $byte == any(36, 96, 34, 92);\n }\n $value.push($byte);\n }\n my $suffix = \"; export $name;\\n\".encode;\n bad('Malformed environment export suffix')\n unless $i + $suffix.elems <= $bytes.elems\n && $bytes.subbuf($i, $suffix.elems).list eqv $suffix.list;\n $i += $suffix.elems;\n @values.push(EnvironmentValue.new(:$name, :bytes($value), :$hidden));\n }\n }\n @values.List\n}\n\n#| Session or global environment, including hidden and removed entries.\nclass Environment does Scoped is export {\n method !flags(--> List:D) {\n invalid-argument('Environment scope must be server or session')\n unless self.scope eq any();\n self.scope eq 'server' || self.global ?? ('-g',).List !! ('-t', self.target).List\n }\n #| Capture normal entries, or only hidden entries when requested explicitly.\n method list(Bool :$hidden = False --> List:D) is single-operation {\n my @argv = 'show-environment', '-s', |self!flags;\n @argv.push('-h') if $hidden;\n self!execute(@argv, :decode(-> $result {\n decode-environment($result.stdout, self!capabilities.output-repair, $hidden)\n }))\n }\n #| Find a captured entry; Nil means absent from the requested visibility class.\n method get(Str:D $name, Bool :$hidden = False) is single-operation {\n CATCH {\n when X::LibTmux::Command {\n return Nil if .kind eq 'exit' && .exitcode == 1 && !.signal\n && !.stdout.elems\n && .stderr.list eqv \"unknown variable: $name\\n\".encode.list;\n .rethrow\n }\n }\n environment-name($name);\n my @argv = 'show-environment', '-s', |self!flags;\n @argv.push('-h') if $hidden;\n @argv.append('--', $name);\n self!execute(@argv, :decode(-> $result {\n my @values = decode-environment($result.stdout, self!capabilities.output-repair, $hidden);\n bad('Named environment lookup returned another entry', :field($name))\n if @values.elems > 1 || (@values.elems && @values[0].name ne $name);\n @values.first\n }))\n }\n #| Store literal text without FORMAT or shell expansion; NUL is not representable.\n method set(Str:D $name, Str:D $value, Bool :$hidden = False --> Result:D) is single-operation {\n environment-name($name); text-argument($value, 'Environment value', :empty);\n my @argv = 'set-environment', |self!flags;\n @argv.push('-h') if $hidden;\n @argv.append('--', $name, $value);\n self!execute(@argv)\n }\n #| Delete an entry from this environment.\n method unset(Str:D $name --> Result:D) is single-operation {\n environment-name($name);\n self!execute(['set-environment', |self!flags, '-u', '--', $name])\n }\n #| Store a removed marker so the variable is omitted from newly spawned processes.\n method remove(Str:D $name --> Result:D) is single-operation {\n environment-name($name);\n self!execute(['set-environment', |self!flags, '-r', '--', $name])\n }\n}\n\n#| Buffer metadata is separate from explicitly acquired binary contents.\nclass BufferInfo is export {\n #| Exact observed resource or option name.\n has Str:D $.name is required;\n #| Buffer content length in bytes; content acquisition is separate.\n has Count:D $.size is required;\n #| Buffer creation time as Unix seconds.\n has Count:D $.created is required;\n #| Native buffer preview text; it is not the complete binary content.\n has Str:D $.sample is required;\n}\n\n#| Server-scoped paste buffers with binary load and save operations.\nclass Buffers does Scoped is export {\n method !server(--> Nil) {\n invalid-argument('Buffers belong to the server scope') unless self.scope eq 'server';\n }\n #| Acquire buffer metadata without loading the complete contents.\n method list(--> List:D) is single-operation {\n self!server;\n my $projection = Projection.new(:entity, :context,\n :fields(.List), :capabilities(self!capabilities));\n self!with-runtime(-> $runtime, $deadline {\n $runtime.read($projection, Invocation.new(:argv(['list-buffers'])),\n :incarnation(self.incarnation), :$deadline).map(-> $row {\n BufferInfo.new(:name($row.value('name')), :size($row.value('size')),\n :created($row.value('created')), :sample($row.value('sample')))\n }).List\n })\n }\n #| Acquire complete buffer bytes, including NUL, within the output bound.\n method get(Str:D $name --> Blob:D) is single-operation {\n self!server; text-argument($name, 'Buffer name');\n self!capabilities.require('buffer-save');\n self!execute(['save-buffer', '-b', $name, '-']).stdout\n }\n #| Load binary stdin into the named server buffer.\n method put(Str:D $name, Blob:D $bytes --> Result:D) is single-operation {\n self!server; text-argument($name, 'Buffer name');\n self!execute(['load-buffer', '-b', $name, '-'], :stdin($bytes))\n }\n #| Delete the named buffer.\n method delete(Str:D $name --> Result:D) is single-operation {\n self!server; text-argument($name, 'Buffer name');\n self!execute(['delete-buffer', '-b', $name])\n }\n #| Rename a buffer without decoding its contents.\n method rename(Str:D $name, Str:D $new-name --> Result:D) is single-operation {\n self!server; text-argument($name, 'Buffer name'); text-argument($new-name, 'New buffer name');\n self!execute(['set-buffer', '-b', $name, '-n', $new-name])\n }\n #| Paste into an explicit pane, optionally deleting the buffer afterward.\n method paste(Str:D $name, PaneId:D $pane, Bool :$delete = False,\n Bool :$bracketed = False, Str :$separator --> Result:D) is single-operation {\n self!server; text-argument($name, 'Buffer name');\n my @argv = 'paste-buffer', '-b', $name, '-t', $pane;\n @argv.push('-d') if $delete;\n @argv.push('-p') if $bracketed;\n @argv.append('-s', text-argument($separator, 'Paste separator', :empty)) if $separator.defined;\n self!execute(@argv)\n }\n}\n\n#| Named hook command arrays. Reading a hook never executes its command source.\nclass Hooks does Scoped is export {\n method !describe(Str:D $name --> LibTmux::Catalogue::OptionSpec:D) {\n self!capabilities.require('managed-commands');\n my $spec = catalogue().option($name, self.incarnation.daemon-version);\n X::LibTmux::Unsupported.new(:feature(\"hook:$name\"), :state(NotSupported),\n :reason('Hook is absent from the declared daemon profile'),\n :message(\"Unknown or unavailable hook $name\")).throw\n unless $spec.defined && $spec.is-hook;\n invalid-argument(\"Hook $name does not belong to scope {self.scope}\")\n unless $spec.scopes.first(* eq self.scope).defined;\n $spec\n }\n #| Read local hook entries; each value is native printed command source.\n method list(Str :$name --> List:D) is single-operation {\n invalid-argument('Hooks require session, window or pane scope') if self.scope eq 'server';\n self!describe($name) if $name.defined;\n my @argv = 'show-hooks', |self!scope-flags;\n @argv.push($name) if $name.defined;\n self!execute(@argv, :decode(-> $result {\n option-entries($result.stdout, self!capabilities.output-repair,\n -> $field { self!describe($field) })\n }))\n }\n #| Set one hook index to a validated tmux command; the command is deferred.\n method set(Str:D $name, Invocation:D $command, Count:D :$index = 0 --> Result:D) is single-operation {\n self!describe($name);\n self!execute(['set-hook', |self!scope-flags, '--', \"$name\\[$index]\", $command.source])\n }\n #| Append one command to the hook array using tmux's native array allocation.\n method append(Str:D $name, Invocation:D $command --> Result:D) is single-operation {\n self!describe($name);\n self!execute(['set-hook', |self!scope-flags, '-a', '--', $name, $command.source])\n }\n #| Remove a hook array or one explicit index.\n method unset(Str:D $name, Count :$index = Count --> Result:D) is single-operation {\n self!describe($name);\n self!execute(['set-hook', |self!scope-flags, '-u', '--',\n $name ~ ($index.defined ?? \"[$index]\" !! '')])\n }\n #| Queue a hook now. Acknowledgement does not prove its commands' effects.\n method run(Str:D $name --> Result:D) is single-operation {\n self!describe($name);\n self!execute(['set-hook', |self!scope-flags, '-R', '--', $name])\n }\n}\n\n#| Captured binding metadata. Legacy listings leave note-state Unloaded.\nclass KeyBinding is export {\n #| Key-table name in which the binding was observed.\n has Str:D $.table is required;\n #| Native tmux key spelling.\n has Str:D $.key is required;\n #| Whether tmux allows this binding to repeat.\n has Bool:D $.repeat is required;\n #| Observed tmux command syntax; retaining it does not execute it.\n has Str:D $.command-source is required;\n #| Binding note text when the selected profile can acquire it.\n has Str:D $.note = '';\n #| Availability of the note; older profiles retain Unloaded rather than inventing text.\n has ValueState:D $.note-state = Unloaded;\n}\n\nsub key-table(Str:D $table --> Str:D) {\n invalid-argument('Key table must use letters, digits, underscore or hyphen')\n unless $table ~~ /^ <[A..Za..z0..9_\\-]>+ $/;\n $table\n}\n\n#| Server key tables. Invocation keeps stored command arguments distinct.\nclass KeyBindings does Scoped is export {\n method !server(--> Nil) {\n invalid-argument('Key tables belong to the server scope') unless self.scope eq 'server';\n }\n #| Bind a key to one command, with optional repeatability and literal note.\n method bind(Str:D $key, Invocation:D $command, Str:D :$table = 'prefix',\n Bool :$repeat = False, Str :$note --> Result:D) is single-operation {\n self!server; key-table($table); text-argument($key, 'Key');\n my @argv = 'bind-key', '-T', $table;\n @argv.push('-r') if $repeat;\n @argv.append('-N', text-argument($note, 'Binding note', :empty)) if $note.defined;\n @argv.append('--', $key, $command.source);\n self!execute(@argv)\n }\n #| Remove one binding. Unknown tables remain operational errors.\n method unbind(Str:D $key, Str:D :$table = 'prefix' --> Result:D) is single-operation {\n self!server; key-table($table); text-argument($key, 'Key');\n self!execute(['unbind-key', '-T', $table, '--', $key])\n }\n #| Remove the explicitly named table and all its bindings.\n method clear(Str:D $table --> Result:D) is single-operation {\n self!server; key-table($table);\n self!execute(['unbind-key', '-a', '-T', $table])\n }\n #| Capture one table; modern profiles include notes, legacy profiles mark them unloaded.\n method list(Str:D :$table = 'prefix' --> List:D) is single-operation {\n self!server; key-table($table);\n if self!capabilities.supports('key-binding-format') {\n my $projection = Projection.new(:entity, :context,\n :fields(.List), :capabilities(self!capabilities));\n return self!with-runtime(-> $runtime, $deadline {\n $runtime.read($projection, Invocation.new(:argv(['list-keys', '-T', $table])),\n :incarnation(self.incarnation), :$deadline).map(-> $row {\n KeyBinding.new(:table($row.value('table')), :key($row.value('key')),\n :repeat($row.value('repeat')), :command-source($row.value('command-source')),\n :note($row.value('note')), :note-state(Present))\n }).List\n });\n }\n self!execute(['list-keys', '-T', $table], :decode(-> $result {\n my @bindings;\n for record-bytes($result.stdout,\n self!capabilities.output-repair) -> $row {\n my $text = $row.decode('utf8-c8');\n my $match = $text ~~ /^ 'bind-key' \\s+ $=[ '-r' \\s+ ]?\n '-T' \\s+ $
=\\S+ \\s+\n $=[ '\"' [ '\\\\' . | <-[\"\\\\]> ]* '\"'\n | \"'\" <-[']>* \"'\" | [ '\\\\' . | <-[\\s\\\\]> ]+ ]\n \\s+ $=.* $/;\n bad('Malformed native key binding') unless $match && ~$match
eq $table;\n @bindings.push(KeyBinding.new(:$table,\n :key(decode-argument-token((~$match).encode('utf8-c8')).decode('utf8-c8')),\n :repeat(so $match.chars), :command-source(~$match)));\n }\n @bindings.List\n }))\n }\n}\n\n\n=begin pod\n=head1 Configuration and stored commands\n\nOptions, Environment, Buffers, Hooks and KeyBindings are value-only facades\nbound to an endpoint and daemon incarnation. Construction and schema access\nperform no I/O. Each operation owns and closes its temporary command runtime;\nit checks daemon identity and applies one timeout and output bound.\n\nOptions use source-qualified types and ranges from L.\nFlags require Bool, numeric options reject Bool, and array writes require an\nexplicit index. C preserves inherited provenance; C returns a\nnative scalar or an indexed Map. Unknown native options use the explicitly\nnamed raw operations. User options in the typed API use C<@> followed by\nletters, digits, underscores or hyphens. Native printed command values are\nsource text, not parsed Invocation values.\n\nEnvironment reads distinguish an absent entry, an explicit removed marker,\nand hidden entries. C<:hidden> selects hidden entries only. Environment names\nuse the portable variable alphabet. C requests only that name; C\nrefuses a native entry whose name falls outside the declared alphabet.\nValues preserve bytes through UTF8-C8;\nreading the shell-shaped output never executes it. Buffer content is acquired\nseparately as Blob and may contain NUL.\n\nHooks and key bindings accept L for commands\nto store. Reads preserve tmux's printed command source without executing or\nreconstructing it. Legacy key listings mark notes Unloaded; modern projected\nlistings capture them. Key table names use letters, digits, underscores or\nhyphens so legacy native listings remain unambiguous.\n\nHook C acknowledges queuing. Paste and other mutations acknowledge tmux\ncommands; they do not prove that a pane application consumed input or that a\nhook's asynchronous work completed. Timeouts after dispatch cannot roll back\nserver effects. Captured values do not refresh themselves.\n=end pod\n","lib/LibTmux/Control.rakumod":"use v6.d;\n\nunit module LibTmux::Control;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Command.new(:kind, :outcome(NotStarted), :$message).throw\n}\n\n#| One notification, retaining its original bytes without the record terminator.\nclass Event is export {\n #| Notification name or unframed-output kind, without assuming a known event schema.\n has Str:D $.kind is required;\n #| Original physical record bytes with the terminating LF removed.\n has Blob:D $.raw is required;\n submethod TWEAK() { $!raw = Blob.new($!raw.list) }\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('Control events cannot be cloned; retain the immutable value') }\n}\n\n#| An unrecognized notification remains inspectable without interpreting its body.\nclass UnknownEvent is Event is export { }\n\n#| Some queued jobs print after their end guard; preserve that unframed line.\nclass UnframedOutput is Event is export { }\n\n#| Pane output is terminal bytes, not an independently decodable UTF-8 string.\nclass PaneOutput is Event is export {\n #| Pane identity from the notification, scoped to its owning connection.\n has PaneId:D $.pane-id is required;\n #| Decoded terminal bytes, which may contain NUL or partial UTF-8 sequences.\n has Blob:D $.data is required;\n #| Extended-output age in milliseconds; undefined for ordinary output events.\n has Count $.age-ms;\n submethod TWEAK() { $!data = Blob.new($!data.list) }\n}\n\n#| A matched command guard pair acknowledges execution, not asynchronous effects.\nclass Response is export {\n #| Guard timestamp in Unix seconds, retained for correlation.\n has Count:D $.time is required;\n #| Command number from the matched begin/end or error guard.\n has Count:D $.number is required;\n #| Native guard flags; these are not an operation-completion guarantee.\n has Count:D $.flags is required;\n #| Whether the matching terminal guard was percent-error.\n has Bool:D $.failed = False;\n #| Response bytes between matching guards, retaining their line separators.\n has Blob:D $.payload = Blob.new;\n submethod TWEAK() { $!payload = Blob.new($!payload.list) }\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('Control responses cannot be cloned') }\n}\n\nsub octal-bytes(Blob:D $encoded, Int:D $offset --> Blob:D) {\n my $decoded = Buf.new;\n my $index = 0;\n while $index < $encoded.elems {\n my $byte = $encoded[$index++];\n if $byte == 92 {\n X::LibTmux::Decode.new(:schema, :offset($offset + $index - 1),\n :message('Malformed control output octal escape')).throw\n unless $index + 3 <= $encoded.elems && 48 <= $encoded[$index] <= 51\n && 48 <= $encoded[$index + 1] <= 55 && 48 <= $encoded[$index + 2] <= 55;\n $decoded.push(($encoded[$index] - 48) * 64\n + ($encoded[$index + 1] - 48) * 8 + $encoded[$index + 2] - 48);\n $index += 3;\n } else {\n X::LibTmux::Decode.new(:schema, :offset($offset + $index - 1),\n :message('Unescaped control byte in pane output')).throw if $byte < 32;\n $decoded.push($byte);\n }\n }\n Blob.new($decoded.list)\n}\n\nmy constant KNOWN = set ;\n\nsub notification(Blob:D $line, Int:D $offset --> Event:D) {\n # UTF8-C8 only finds the ASCII header. The retained body never passes through text.\n my $text = $line.decode('utf8-c8');\n my $header = $text.match(/^ '%' $=[<[a..z]>+ [ '-' <[a..z]>+ ]*] [ ' ' | $ ] /);\n X::LibTmux::Decode.new(:schema, :$offset,\n :message('Expected a control notification or response guard')).throw unless $header;\n my $kind = ~$header;\n if $kind eq any() {\n my $prefix = $kind eq 'output'\n ?? $text.match(/^ '%output ' $=[ '%' <[0..9]>+ ] ' ' /)\n !! $text.match(/^ '%extended-output ' $=[ '%' <[0..9]>+ ] ' '\n $=[<[0..9]>+] [ ' ' <-[\\x00..\\x20:]>+ ]* ' : ' /);\n X::LibTmux::Decode.new(:schema, :$offset,\n :message('Malformed pane output header')).throw unless $prefix;\n my $size = (~$prefix).encode('utf8-c8').elems;\n my %age = $kind eq 'extended-output' ?? (age-ms => +$prefix) !! ();\n return PaneOutput.new(:$kind, :raw($line), :pane-id(~$prefix),\n :data(octal-bytes($line.subbuf($size), $offset + $size)), |%age);\n }\n (KNOWN{$kind} ?? Event !! UnknownEvent).new(:$kind, :raw($line))\n}\n\n#| Incremental LF framing with exact response guards and bounded retained data.\nclass Decoder is export {\n #| Maximum incomplete or complete physical control line length in bytes.\n has Positive:D $.max-line-bytes = 1024 * 1024;\n #| Maximum payload bytes retained inside one response block.\n has Positive:D $.max-response-bytes = 8 * 1024 * 1024;\n #| Maximum bytes accepted in one feed call.\n has Positive:D $.max-chunk-bytes = 8 * 1024 * 1024;\n #| Maximum completed frames emitted by one feed call.\n has Positive:D $.max-frames = 4096;\n has Buf $!line = Buf.new;\n has Buf $!payload = Buf.new;\n has List $!guard;\n has Count $!offset = 0;\n has Count $!line-start = 0;\n has Bool $!closed = False;\n has Bool $!failed = False;\n\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('A control decoder cannot be cloned') }\n method !error(Str:D $message --> Nil) {\n $!failed = True;\n X::LibTmux::Decode.new(:schema, :offset($!line-start), :$message).throw\n }\n method !record(Blob:D $line) {\n my $text = $line.decode('utf8-c8');\n my $guard = $text.match(/^ '%' $=[ 'begin' | 'end' | 'error' ] ' '\n $
s!P24Q-V6;9nfAdIux36OsIiq!UiL@rD5t4{zHh*-9@W2 zK7fDSr3C_@S(D8_PxdF$Jzl*G;@v1yg+{#fx{0(l|D(>$v{tC zBX<-%-(Vhl`RqDI2qY$GEuCJ~>!ZAmPq=*WnFb%WlS`vsiDsxEa=#ycuUeO#Ku94S zQvv$?FCWDA?#3MlZa)Mleek!B-l%(FC?KxIN=HRyCrmv+>#`Ywipr>5JE*KIE7hn( zk~wcXaKX2Jro}8NH-1VxG(;TM6K^T)g)R?nyJ5GcTqIv^o}s&=^1`7;>G`Vyi|bVY zLu-kExQa|AJgq!A0r(Mh(ye>z+ljvbPUYYQoGbrI<-^;Bg=G~@YU3rIBrVmATjXry z@=^I0cN?=^JKC&bEeliI+s}HdUv?E^Yjzl-kh$d|p`C|7D}Ncw`3&5DTxx0wLaD!h zmusTZtB!LBpNq8pN_1&s+Vss0h(e*HDn~>`NqJ*qiC96}(sdy9Om!}Yq?+dy%m88R z!@YtaHfrq&eB>4X{b?jZ>22qG=gbmQfqqF?&rpI>EDIKOkXpo0e!=ThO7BVO6zXT? zQzJkDGGWc=&7^X(B({sVS(1jNuuyr^TKRqWkv)D*1sBgsqSp6 zwpAFiC5xNvqHlePAqU6=S(ohpX{@$IU=YgXFdg%^52(j(TIr990tsg|@=SRIWJrzt zqjK#=q+v`_Xq8tU#Z!{fP&i!YvYFH`KfLr5@Zt@OXUC$&&HChUhH{FHHUODhsImnA}cKoRbfuj;XyqGjm1WrHDZN*b_ zo5u@`AKF?sET*KsVNXhe7;26;Z;kv0n__zaMf=ZSS*mNBrm@$a{5v4wJO-rs!9Y!B zdRlKx{m=U2iDYqrc>ou1l7S0Q$3HG0I{e8)fUp0q%K~@)F5dnZl9k=T|8H#P-aJ~pEO literal 0 HcmV?d00001 diff --git a/site/public/brand/raku/library/social-square-light.png b/site/public/brand/raku/library/social-square-light.png new file mode 100644 index 0000000000000000000000000000000000000000..8a629086b4b7d326223e85c23dc0fbc688e27a37 GIT binary patch literal 28890 zcmdRWcQl;a+i1>7BNBoj2#yG12%>ihL5wJ2bY>!ggXq2I2oVGcCZb2Q(R*)+649e~ z6TKU~o4I>}Qz3l z(z~OR4L@R2y=CtWyMOiVO}Yncq*wnrLrTH*`p*P;)+)^|H%!vbSj#ilw$`M#K383R zX7}zidAO9x8+SxT+8J*PZ)kVSh8*bC35R(oZ5PxO?C30hbV7U30(ct4wgdo|1c29H zu>bkN2khqOnE%tmjq_*D+(Usy2q^x?ho8{!WB${_|1(Aa1RmKJDu4Ws4_6^4WB$X# z87Z(s{Fwj4!_Up*$NZ;<|8EF%j{?H(L_)j0B2D69J)g`#@6Z#M<6+Uk=y$mB@#VLx zemB>j7;@{qdyG(~sAr7a?W+gng2SX6-?P&k$X;QchC6dR}uQa`~u^ghA5rd7cX6kX?sISLGh-4!R~)A!4UL+oO@1>?-75 z-K}QRRFA2f)$e?o?_Uf$TF_+Wfa@{BP<UawU#wUlYyN3y8-Oj!Sbz((E?2rfM02RhF?X| zM=SLGD?z+4Zx+QAP1w>^$gMeLul=csKpd;4>(>60Mq-o4U@+TN<5sV=!0aJf2h=$# zJ#Lf6;1Zupgsv0*A$5jN64bqiEr$!tkY(&Z@%iHZDp=d*^7v_f*-bv0zAa` zrWzyQ`;u9TPKw{lV0%BraZqP^b9N zdR8e_10di)Zv4d)cR;yI201Y6=hOw`4pt7l63E0>KgVV1w&h*~G`QFYK3}|yjIzwW z38N|NhaXJsFG}vYXB7UO*SP5lma*!0t+}STAT|9Wfy{lHot*McI@q#=_Vfl=X?sA< zs%H5S5dp==nJ9s+?^NoqpsS-8rKYw~7TCk@7A4EW5Cd8_6CJRSW$N206~dvC4oX0= zwAAe@NbV-j&QDIUR)F6u>FwJDY4IIj6~?_d&;7|GY33yYZIvh8c&rJX=NLOY7-0{a zL>eOW9bag;tdx<&Is-^BOsIl{eNeCpBZX!8{AWS+=H^xyUL0Z*gNG(*=n|wLBQ}kH zNHNcKH$K91y?3v~iyT5gp*j)gMtlQOGLmnyW0{HoU)~Xmww@P}@(nM=VU>xmL%yV| zr}UhaI{#XNt@NH8>Mae4n2Hf6$qmjH^CG%y(d^C>07u(5jf@?`>m$X~G6nkf5~!)jh`VDu8aRrZn; zqrJ8<2w@jntoQlBmI#v^cx-{Ag{7-@-c7fr(53lqJ3kVx<$<-TLSkei1MVC3^{bE< zDhZGMpg3$a6<0gwojX~rA0Iz{Oxk6%H1O%_llkkAoiX$ApXmC2rGa?tKi97iNaabC zGcf2ZwUIHUg0w{u;;AC#`;`hZE>V}MEj(Ty( zzb6<$j4)c|e7dJEUy&e-Eq1P5yCxsr@%7_<3jEL)D)&)*)~H7xRQ^)h*3Q*B9eaTo z8FM2cALD$qW$|mA7HV_3LgxLFGA%glD|k9?QiO7=i>+tn(#crGr8+YLcXg* zFo*Dux$ooR_Tm0`i_!L21NEwO22Crhv(s6u&az^v)bX%^nEjgj z5cQnwmU@s(;K<|Ops zp_{O;!4wen;NA>h02VLdrmt0~C9Cg&{q<#2oYI_8%BbsBg6gzZjfC>E!I)2BOi`&l` zt-(6%kt<)TUWbmE=S&wpkM!!-PiBp;NaX7o_ z4M>J25faszH|ciF$b>leqeV=}jk3F~_fQSU#r5g3)YxJsLn)(W9RR)De(=t*2rkrV zn^>Sr^F9V=^a)tOW2h7I4W#2}{I8EzU{3U%&1r91Hy}_UG@rgFkZZ=|9_pD9Aplk| zOMJ}vw>lAe`DIB-d}%e79r8OWO-*bnOr(iU7{OzXONppAk9FoClyv-{aCib(+~dIV zMA=L=*xckkM0m|5Om^|XE?x40_FU(FQgFQ2hc(baQ5I#mOFgM6HAF^++3eQS%QP^? zW7NCyRkwppyEW)srgjU7ko&?y^P(3>#%`T_EdpO%Hu^lbGA6s&Va?6WJrC=zOH`h) zGsz}-iB2KHa`&s?*VMr;IFXY$!;|qoAEmxl_cTWg518W|8tfFGyrycf`7Q$;h1$}2G z7ea4!VxwEr!mEG;mm+HT*DfQk(5~A*EHZ45i7EAkw!Eik|BN@&0noI?+gBv@wB<*n zk^w7Z9(pq%8iO$ntgtxue6c0Z$z%V63cvNn+DKbf^;(9CcHwO~pL$2AhkC;L;f9f0 zNwv*|3wUDzgWAfLR&zigujTRfGWk>Oqx}bRLK<6@GDm+%C#z>nbO_AZpN{3paU#03 zPAdi*D#39BE%of#jMIvj(52;ui8w%Z-E~FI0(W{90%2~-3XO>9ev!~szSYRC@r)=$ zM^S@~mJd~VUn*HM$0I`A`gF~8U1mYSRPb8ABIG@nCY!_lQi@`WMfXhn7Bw(qbWbQu zO`hQGflPAJvu7q&nX@YMgLV~LufsM6r$cDeyHeU3x2{4GW$B#T&i)!{_I%`nx@1CE zT6YDn$&9-I$uR0smt~wmW9!POQ}S&XXZ7x+d|0|(WZSWCdd#-f14$!5=9X(}={R+# zD3;%JAbFXkA1!M9=y8Q31IyaWgE|I@xVuaXjN-qbRH~1;m}uHcCrkU0uspgwP}=zt zz9rHt!DoQOA{}tMwKqOA1ZE6QfBgmIF2ZPMr6iOL;%1fLQ)G{nmJZ6@+}K?^Z!qdT zW#v~!`q{f-9_eY#<`W){l3b| z+6Qp-FBsd=yOmM!{*}=xo35lvZ*M7!t97K5+*-vPZl7NSm`OHr>N|GCBVL{-i8=P` zNY$L0S0r`{waf1wkTL5Gy+RL0ynny&&u)ly{H^DoyJ~PV#TK}JCId#rx(A23Wr~XZ z&+Jb5cZAkyiWkcJ=y3o^&Gb3yjNoi59)^_4f!#bM8Q%bf#X$UB zG2&~U zx>JS&1E6|FG$)fLCRz~KCrA745g$&lLSCm9;vU{gK0%FHwq1OuZGGLgKjPPbND=k)nDUzmS>k(;Zd1 zdy4F%KuTs#_Mp{Wgn_~Mt1Gk`*?MKqnnGPRX4+zeH-ZGmK5!eq|1HWxXzzHf6VRiGuh?o1Ig~Mf&u~p zVq#(%0;!ba#Dv4;cbr42Jr08DL>=2>gctj=h$PF7MPN4~MKO>=Iffb-&%fuplE;hX z<0U-GQ)dZ60)nV{jj@M&Wo2c@tDE*H2`ArfyN@2diV@;j1T5=AJk-Kp17T$+pyYC z%GA7qe@)71XlTrZc^>UMSh+J@YuR0!tP_8~E15ZWEZw&lVYSRpN_V@@+(nd`fAKya zx#O;x6@Q6Hxng>H`q&XL*GU_Fd&_8EP0{Yevt5tsAN#R-+ZiAy2*Oi{0Snp7B zh=GrIgZh1U+0tF&MWRM8n{lBxxpx&xzmQRilmCpspch_2Kb(0RAD?rT#{C)a9l2}PgUXePI_3kdR!}J;$<-%yX(ICWX!+KBpM`aQcA|(AJ-Te8M=5s3et}PLZotN%F<3#uWGoej zGac`+UlB`Ch*;CF2%hW9@*2U4h`VkQw50TI9I_wVmE@HKRp-ww74l&$+PS4XMhDG) z9(}ZqYI~NWu8zwhm3Fg&B940B6Y8QIm)D1jvz~VwJ7s7vl$dSFj~*5%Mmr4^j}B$) z%O7kH(ur^^_L#axa3DkM*G|*2s=M6{89Sr)T z_G?rzLk?O5uZZb13e7bKQrd#wk~O7ahvPIg^jwFSS{qlvY)3qo zz(T$#RLc#L95HHe;h`UKOWm!o3oako`APgOFy9UIOPPAIbaQ&>N`S0q!K-wRjoDp? zjW(k6swCY?=e#M@JOO)ZTO=>5(W2|tT$hnvsS9w}?X9oFAeII0fIK$N0vrx@Yjwl| z@-;;hCmQmlQ!awlR=mW1UUm6#A}yQ2PHWGIB=vB$hsI(b#@IUk#y39$)BN_>R0qtM zD7Hl7ggsM#58684B&y8TDT4lUi$|(wYh_e)a6|dRt5F4>1FZa034++|dDljHdV@Y_ zeldydiH=XU^4gKdc*lG)+2=J5MS_LE!D-qt@#%H zVuG|Ei;?-mW7%UCCYIQZ_c|D!dyqZly0uW`dE|QE_VYU=l7jvwbnH$zmQIw@eAKms z#Xqi|tQfg8#BZuR=&NhMu91mPY5(wn>bcK~4vRWK=S-7xTUWjY(Hb>LFl7o}T@hk7 zr^wk}wyP6h5=mka)Ph#nN50L}BdmzE94b7?pYyE8Tn7CytFd8WOiB{EqwIS9EYtg? zcC$7HUb4N9BWAydIK{mS7svQrrdHL`y8SbVMrxI=lqdUhfk+~CkN1f~4tE|SwbNsk zVhi1DzR*pvfo!0PJ>r`C+sm}{vnPgxW5l+lvR;>2FGX-&o^4#GxZR&8!D6^=;pX`Y z*_EXc7gw#bpOh4+HneantZ0?6=3nO1$z9laxL&R!(u;N-N7LFU^|H|G}K)93WA zaHJc{*8k_z!!4Gb_?2qa)Vmf#g#iI4`8Hp!H1VJv+QT0{do^sAC9^l66Q~OW!D$RB-f#GPJB#a#G@u{$|aP3hniRjrr zgU<0WpbF1NhXUYRn91#BLB~angRMllH`htGPwE8Fv!YA6A=ur<2RocMfR=gpTbqj4 zZb*`|JVModf`<(k4klC6*vB1R1e`@})g!HOxhT}bW9h%LM1*k049+^ZToqg%&LL8s=$##0xbP;G%lQTaQb`jy*jaPsGx5uB6eYfaVI{Y6r@xRVHTYswrkyj4r| zlDzU&G>;LKMIEZe`eY#2ps4iya*t^?Et{#WIWv2boT4OJ!ebxifM_^IH%$_~`&Bom zl81ZEgOz8-Kj$5jT;C>HvBM%(a3puUazh}Dle4Ds2LtYUXVr{uKSQqiiI%!~(;(M$1Jwb8Lyrj6KJ|}9M2FkdyQr*KZtEYPLqo|< zAu`}fGu2Xk`W%)=D|RGmo+}031yK%-eroaGclWRt0E|l*JuhD(rpbHk$TleRXRLLPW)RlGV|S z$xvk}KcmI$T4^Hm^lrS5Qe1s%KleRBx5P3|)M+-NdP-GdgU-{r3F8$%H*v|}3gL<2 zqvR}mrdXtDHEt}^O2tIaZwB+${FEpgG?HgHJZ3etIzCJy-jnP;LzJO}cHbyGSHpNh z6g@pBeSY%q5uEx_)Gh9cabl+Z*>v%^{Hnusf&R6i`ss*{<01kyYOl>|CUt%$#GoMJ z9J^6pCN-wAz#NAeeo12KK#G2NcsRR}K3X+)ERz23UXox<3XIjU)h-}FT+0j}85zkP zRCtQyDM-f*uZ&uC#Mgw$KAouN2NA@zW8*s{H1$?|XM|TgXa(hy#wPvhR^i8PU}X*q zCU}K~Y2CIKn2$|np$)JoMStHl!YPzYw?s5@!%~!D(^XNim6b8+It^cb7S$%^R_i1W zH{y5nTlgg|(2AV!^^&SUS}+@lq=6#B9KG59h*FeX!zyRr6#Ddf$;Qu&=F zWwH_|8ylPav;J^lJL7}?2a3842FGhIeq%zr9j@U9BX4nFX-ib7MIE0PA$cr@V7PEp zABaILJxGp4H7UsJpk$P*TIjZ3i7&F~sXCj1TEv5G1>qmi`rI1z42|R5i8=Og)h}8u z_y&22U-kaxJh?ubVPmk%!E!8??p-){gEFBM?8I zy>R(8Dm?d&tc^{AmqgD{d#u%~I}hkC;xl~aK5PfhrKYfuLn48Uk|D4|w zBL0?^66w{M=*JroBk#`Q6N`zJy;-6OH8z9Brn4(;JA+!4&Ia{@=^h6T7wP!Ucw;+0a|um79) zsN7-kCdBB+=RW|M1F^D%6cP-Oi*%c-d$T3zyt)PJ;}xmJML09a{EQkekkIQnq;5WZ z_GgufLA(l~WmQp*{(XGG9BIFf%&GsI<|vd|;ihFO2yJ=aS%s?@;8X~)+a-DJB|ldh za-MouyE~%fuN7MAvQfP}Y(hj~MhCfH;m8|n`*WGi+`k_yJ(2=KB%`k0%$~D(xE>)# zM6qxk;zz%auJhxv!*^HkBq^O73uv<31bM{K{+8&IWc$UwqolA`boSr15~S#)nRlBt z>2*uF`~9i#p@)Bw<*2Qpt*8-5Lexi<%C`Ef%Y-#hZ^Hq88!Po3 zgAFQNF zE&^dfy2if9`nOIg-yUD+kK^F5zG2)C6DcNK!6SfAUqLS{MbXcrS{3wXeqzz2g~06} z*v(AUr>Y8AjyQjYy38e1AHV`Y^WbMD8#%981Hl(Yd6W!meFzUUp{YvZ*hxvi=;MSn zblkE$&3&eIsrf_D#Kc6LxZ4T?q#q$^jf0YcCeKevJxYl^ob{?E_lccR7PXLD4MaRI z+i1^cjpw+|%OWaRlFRenaIDhhK(pCAXA5lMZiv9z=;>Ji&~*6OWk~ANtX}^jJX`6~ z#!pd#hEqJfC;pA*$ar+J{FI@q5=MU`g zw|#fsmFEGCK4MQcY8msp!J`3s9{AP;atbZ!GL5XPth~uaCeET9SLua{ah_OBhsd0c z(AgiwK$)R86Eib2LDqi&YewKiL_YoEKw2JC$l>4L-abDc`a`SQeGglr7RASg?~nZ? zooV%EGKq0V`#T2z5Sz)b%TA)qnVVbHr|glhh~V+6hNcbLAr7qKZ4cLyPsw$w4fQx~ zH+|6#5h5Y7-Tjgcv^suj5RcfVO5Q5!zz&fbr*r%Ct*!e;G=}0D0WvBGi0$&mNWWdj z72(|<;=k6D+gV9T>2U^*)ir*YjS60h#nG#RHpWj`U6?`Rj*db@RmUH9-*s5%>Cl7% zWeOIWID0xGbn>0tC3U$wUqAnIRuV`EykgT%PW_Zh<&pd?PZ9j|po$Wo6P~T_=DuuR zaVn(p!O|q7lVv$NZ)5@~JtSZ{g&z)UNHR}p;9$LwCaNwsO2s0v)$`{scq!VvC2D58 zASgf3POjWvcp*)^_wW>6(q0RqH7RHD9C9%SQHlPC;)LGG#Bt7_?m73^bLbW?Z6vIN z*y|T7B6W&espuUB?@zBa%F)ezzI37iH(?7-m#KNC3RKFL^3_l21-dcxMn*=!bq?sV zfz%flf*UyHL4bY3Eaf7WD@U^|~|e!72B$Q8*H#prEq z6l`rI;&j_m$)1g<$BEk-&Ac6#v-bam4$V{Leb8q=1=`&d98Q!(v)YCH9B-1Z*y zh4+xYCpLu?l6M_A$WhVz)8C~f$$l+c{}fQ^mQQmXi85;CU+6BFZ-T_rr1K)}M zS-nQpKLx!AOzcP7T0+o_IJN);NayA4-D$2GrW2_RQ1Ng0*3m(NTwiZ_NhXy0d!Q?| zwzf9m^R3@BNNdak`Q}w%nra@LNC8CxSwx=u-uhLD4+2$1esclc->`F3%GR5a z{~l6iH_K8ikoOCdWO@whhKGIGuNTbl7ILpeUD4l?u{N~2rhsr&{=IBsp8fnf2<=jT z&(d&$_1$uR@-MV`D7nV)%}=~V095SPD&zUr5;^apb$?UNzyJ1~JEsaFgQ~Z5-)q7A z7J&(VB_V@<0fSGjw+R0G^GaFjzbKxww%!6-yuUaa#3-Hr8?iN-jhX4+B09mJpTGX^ zuh9ZX2HS7+r%LVvt^DfGx^k+b06Fs!Cxrj+ox>B&`)~Yv^c!l>&+kf}0GL#V;qQ9_Ox#>M^d|RQ+YW z)7Iw_UD6XN4fi*LPO(aAKH8a04<1rf+pDFLIMp6zX3J7WU56ga5qq^?;=pEu-P2}f zW(F%HB5HnZQ*|O$vP~!NsqX@+0kn}3r#27f+w4O~4wGBPlk8O6nVA#1GBmlAy?QMx zcc1>+JR2c$WwfFrieJH@=P8Ho`%{gBrb{u8z}PrAuF><;QBY8@#^kDdWQN>E&Hp`QUvWzIv`a{C*X^Y; z+i57MW_1>r6rX-!yNs+doN0|Th${V4-WnWsV6dr|`$aYZSnYL?RC#(<6UbWwA^4?5 z@^;&U!lN12$M5E{sik~FKKMFPCVV>WRvTODHOCywH`nhz1rf;L;2?+wqmt6Es7LX+ zD4gzWYBvWr)F(bpx{|kvL3@F8FHwRHhHJ=I(D2hoQ)`7g&A*7o?cym7$ zaMSawB%NFL-}nN1Y6Ph2JHLWHe%z#4v;RwYn%2HC8CInBUgvrCu=Fu`-RyVlT8R58 zeM2YnTQnS$>+U+Q{91^>Znq zRpxs$G~ESK^vZZNe^F5g6pHA*++p~6H9``C>MNB6TED*T4)u?D&L`iW2ZyQ{nm+h| zB+13^#?8|JB@~qXtg6?WU+`T)5|Xpj&!zxH={VJVX4C4mpc0+p8*#x2WW|MCoSeb( zC~%U%ZNT6cW*ww*?$*N=b`=hb?;NwpGAz{N+$?`dm%L-oVgj+O0%Y&BaBtq^!q)o>JI{8OZ{28RPoWE?Rw{zlKWQgwZ$q%&mbHJ7icZD zMluIuezc34j5(nTe2kz9n&_M*0cWd z>PMGCznx$vIV& z>Kt~n?OAWSf!CrwrP#CTI^u&>P-5y#Q^TBn1w~hT)bVPr5hA%Wux{w+Q~v>FDyzt! z95nHx&sBfVsZWy;4Vi4rIps`p-tGhy+HJEl@4&D5Eu%EVP{6Xrqx^J-K`3>=wLGs3 z&`V>{NC=Hb?6z42pT+^nq~d3baqh^+iLwpLDa{}5ww!uC(+8Xt&wH_g>iGo)lYI~p zF>dM8ZOIlA4`k%5R2Z*KHHA%5LJZF58U|ByoeGkn%`}pIn-B@&SR@kJkfjbhI6C3w zFNEqqnxQn?UiGwEX>AOYSRtn>MH4vFmby$1v8r5?y$p`y$!Wu2r(P18Xbl3D1N_-6 zX?8>5fWSbsyItVvnvs|vFLx?eYkzd$&!!!*Pl~LsuRCHqe;F8A!DQ@KKO*PN+CZsI z;_qo7s9xsOclD%%fJy-B&Ca)`CQ3-pT^OjZQsD?fP9 z$B)l2JB=q5+OvK)@@MyEFDl216!B!qYMonJE^)d_OuE3Qvwkxj3TgLN$j9eOTHwo?Ihjps{8himc85VnF&bxZ%R#nFpPs&yQ6bX zih!Y%Ve^5IZWnNvff*+B1a-rqM-3bsT*k$o%%524uOW5|3)f891A*^LeEne$yQ7<} z7wPbs>&NQWQzW!5y0 zo&_lEUEZGNB8d{R(N?Uv{u8Qczc~?@b*@?*`ws-T*V1aS}TJ%XRg)iwHlWaiPQR63>K(Pz&Q&!3++bb(? zWfGnq#Q4DY@}fC7nE3c{CjxtDf(YF#7au56=m#~wB=iMraD>S+IRhO>|+fFqp zDy>@h*C61Y4f#e*dd2N0D4n4jDxqQ|3?2}P(u2EddBYJMVy$1U8F!zZQxv6rUNlS%6mt_auO}?u+Y|y+d(PFkU zH|7DT6Nh``vc@U5PJ!G)x{@)QsO}0C+PQ6AEmXj}(y~S}O zcEztU1ykePp*YVYwVlieeBt0NN=;d;sX<$H#Ifa0aub}qX+TsXOUD6MwX+|b3=1<1 zaa%@e5?#8quxvP5=~94a?F)#$Gj@-&b7AG{qSb9qPK|49bb(Y{)dhoA9)qDPjg2=p zx`?=5QG8n5J3E?h6nH%6XuEh=57pa=jL?UJzTT|`6ArE1zeXz8vlId*J?%HU@8}wv zm)X*OwWD~r#TRT(oVL%p%(XAda)*~Uh5_?lXLLm^y#D+`cM^HQa=-Qp4 zWOG+j&C6@aYUr;x!@5^jmWPW(XIV}5-;a5=+%c3537&Pek30Aif9%{mXFoZkygt_6 zJuH_r;nwR70wZ%2&dI$O~40XT1|KaggadgY49V+q&iqh6FFudQAzaq=-CHff7e zhrz;A{6sk954VS{guDL)TnHkZY@~PE>@>So8`_|tH)66tK=ka6e*QDySvn+lMyxy? zHr5(%467gtc$KYOaUN}=P760Qz7Tg$)Y+L+TRWp&&Hd~+fH)6D^BElaOG?1s!kCG5 zU1_%jvWzCb1`*A0T^BdAckWr}l%p?O+ox5MobH*DXx!Q$^4vZ^j~>--bnIaIy@m=+ z4Fuc`3=Ce;HCc1XB!jB$LvLTAnWN360{$j!)D1U1<3r0~l;LL|xIXaJpL~f@6=Owg z>t7p4`)#lEvU8O8rZ|A(K|12S`O|hCVzk(hkBS+6JH04TtD<{0VASCK1gGOZUmqs6Z*;x0`*E?wFyt{%40fI_rW5I( zZuFeli(rDggBGKNHn{0^kEQ}gLV{Z@RmY_RI z3jdyM7d%q9h~LT{!+0p4C~F18SLXZ`3W#}MwqbT!Xd;@F&c`%i2itQ>=bXkFxYA3ddOztE7|Au{Rc3;p`X0u z5=@ySyu&H2Ea8^w7+P#9O%?3^ea}s&v|!xxMd#}~(8hyg!21abNOE!mX^wkaP)Uy+ zs&b<}I}LPWX138Xh#q>Chf&rP66WnOAcm8X8UTfjx*=!M4YZTJu$PnTo*ld@Ht*ewr^8W*~}HbSWKt(jy<;AF~k|o zIqH_O62D5A8mrrT5Vs#jWVWd~>b9LNFgn{F9sQ~1;jW3>pt_(e?#y`QTA%K4Yze;2 z1n zwXLC5xEelscz(mT`42;E+yO&?gsVxsmuYDPGN9%gg29UVsE;*%t=r6M<>&RM`D>7> zgUyiAOF3z)t6gsm>S$e1K3rd2sNnCz8MrE)oo}8i*Ysr&_t}W96$dh?t&P zkB8g4Y<3ArwSO4IGa4j3rN#j6~YL$4l$f9Bpb`%c9=HQM%3{_ zg__rLBt%()y-f01MlszduS!jwqO8f$=p$c~4xeT$Y{ynJ;zW5I+-!8v(? zPI}LW9}QL%aaw%5?2)@iM8z^aOVR?-a~RD@M6WcPdl}6O{6sWH#U)Ge048|vZ)C23 z0eUTsXMT)z9-QH()D?pgSO#MTl~ny8S${oLHRe3e13{N~slv8x_)?NzH(^4k2O z97Oa-vg2GI>Wy}O_TIonrd4OvBIQfIix`FM(v|n_-uhNa39klym?CjwZ6@OLN zm5}%Rp(@&CX6hf}!@3x@J|Xl9Iuz5b&$9M5vL1@mtW;Dy(?Xq_rZDQo+7Xy5^w{J# z53G@=A32FUufNS|c1q;o`!SAv9qIdsIxpJdzb-FI&{{vs-Ta1*d-zO3w)9a)M~9bSn^Q^%F*3dH7QrHsAOCl%}g+Q-D6IwgG;--kTU0n zr{YydwII(mg`7%*1IJ-ee3uY<0cgsoZo`oJ24s9Z=IG^} z))fNHS$@~QA@!f@La^drq9NlfU09r&7A=H>T`#dQsCGNJcjXG%WqOfEs3opPU(6i) zJv#kXyaRJC?+}{rH}`VBwXRJw@ryQ8>ii3K19Z5l=^-K5qo$~KSKMJ1(i;77sN}k! z!PAsi%~+|*JNm^-qdIL}*bOGHK+m<@5V>9EBP?x)pBqzA^e(;GLbe;j8_(|5VUGmc zdyJSmy3{#vo9C=oW~aGQlvwgm8r#{6Bo3b7Y6t=HG6~Y!NUxEtW*kH2X`wfYL3(Ki z_6Bs{g-Ip*1aXaJ)!7z~zl)nI8So0|^o@Y)tLnfO1wmiXPAeI*uUHpO2w>RFwvE=% z?&uecZ&edk57nf+jdi)dnIXQpiinK?ha058NoVH66frhY?o7DaQIsaB=s(XMp?oAM z-{aCJ-P$5WOJoJ>YaJ|ZM;I@ ziiaA|wP)Rw+JU`J2yIFr%T8ZhufTcuICuih&CjsR+{%i!CqzCIe`{CQ)<#AGZlR_2 z9nsavk!vIdJ4cAFSaQN{vSj%9YjrZHISX)c{B!k4gsbvUXEX3{cd9@m3qIWnE_eP_ zCq2DkKFTt!bLViN6C(ud{$*mMZq#UO;euP0l{b>?eSlJ5bg|hm<3v!cYFSa-xA3)u z{2j!ma(h)NXYMis)9G0NhQ6Np?hJid%vSZ;nD>Ap&z!+Aq-*ksVf(L{+P%*YR{L3b z_+hn6vqmiutc%OFWas@kj&5kkW*)1~W^8y`E+UqOoVOB{B`Z ziXCOQ_iHT1COX=i06BOhVYNkukl+E}Y47ZptQSR-k%Mz6Ej=tdbQx9R6h0oe!VXe8 zhtuE03(2D%5Q&<~dOb53UEoew96h3hSM2qPX6Ogs%yjt?b4&ncv3WTB@%sQKN*2=x zHCu)AygWQG*$}#j5vR-1!J4#?aY_wa^yb(_?6oyV;OQtJ7>$xXyP_u2_Zwr|GkqO6 zO%QQtF6$j8w?qgtf;{lsp-S5PS7Lu6%_rkdUrDWw4i$2Y;V7RP+phRTq6kbcr>fqf zJX28xnfccc>kb+#1UZUx8b66ab?8{kBvxC;NHL#dbIPhx>j1fFj~B zrc!Vob3H{v&g(Ua*k%L>TE2A}-aOb=mSX7CwedM}R-N}eZl?{W(ij{3 z(?^=#(WM0~+G0)pDY?WpfD-YXrx}5P{*6a1C>o#;h8t+Lb=)4>jW2Kny z_j2;N1D(y$u9)c)^<+3|Y_C|&Z*H4bY5;tokwN(cV#DbRb9dD@i~6x){@vo>9%cO7 zO{doOCZ$fD4$|5bA5x5SuR{$bgb?~{@hiEqWXX{FC?$v9lo+7>M{tdHS0Q=xqpw0C zx3=WO#p@Ebuvfm#6U+*s*kI63ltnZcTa3Kj6de5!OR*LV4D?GCc|8Mz`yb@OcfZCS zEDn@KhvCZ(vezJK&Pt{X;{gI?lJ~&A^w6w88I}&`G6wSVLz8Muomsdi=(s93%@S0Z z!crTO&eq=GB0 zpgG$U$c)8OC+HHTnICyxg_x2;?!!ID*i2&Lol%9B!<}W|*wa13%SeaC{^b4ABA}jS zcKN;mD)MNRz5Zv&CN;8{OfrFD5{4=}Ex;}*HeJTn& z&JS*-<34_QoM8J8i0bjTMx?q-;+$-}$zgG>+vi!~U=aNg6qzmV%Dm&Mi6TIP?$Brj zx_m1b%_0Ih-{v3%CtmIL!I`k{b5cg* zpJXrsb1Y8%WA+(%kc_aI_GmZzux|6bal-*uW{T(ykZ@jw?cZOet%$2;m?!v-%F*8=2l75BrF+aZhF4RwWzSx7mXP%a(lc&hvAm zYn6)Jwwu@S3nXjCdy;bDGnwQ$HQg#>^_M=-4;Lt_DLP5JKr9aOaD?-GZ>JYW{i9N@ zDHvXr9{WI@EhUmKS~PVfclN_UG6Dz$f$d+pacwO>L~=_nK%ywO-Rj5>3gXrc&PtB` z_|JG*kGn$T<-8X_At|w!IVX9e?}{Dd*zimvbknXSTeBlq#NFg7xAIuA_%sSHHO;Rd zCo;jem2pQ}U{QSVI;%psM|$(tJ_7OW!&Tn+BUW()hW2Q-uH3+2i`&Ey2tv?JSglp5 zn$!2FQ3u3kc}9_QTfDxldcC>j5DWsFxB=lc=?HcnjJ7P}m5JBcy!93^ECik-hwCOn zzd!1~m{V-gE`jS>U*}v*I!7unMiwa^xjC`9z+Hx-SHvh#d)Raf+ zk1T<4Hx!cS#Ow~E)v0L%DY>#8u^y?MqcLH}o-oN$abQlDVSK%uk{sq;vEso!VHCls z%YxtgeP?I338Y*Qb@XOU%a$NoBR*mMv$U7LXGMXhtNbQ!K!S9-$8(O&H{Coymq9es z-BHagMjJL#$8Xw9+iA5wFsa3 z%RfPNIjEkS(X)M|%mK~BBgRM>M{Z{f*!>m+7?nfi`eY%!*(FYJ&#jFejT|=Tdhxm{{86j>`^1lQ7x+kGDmY^Yf+f92 z_k6W)_O9p(x=*2WYOvvHYE1CGq?FlS%Y{Idv=S9UM8Rvr>pol-s+Q@GKJd+h)Eo}5 z7Wl{CGa_YH52mLIOYCWn7;|rr!J^P^YVq$QzJ&3HkNZdaqHpdj?G@1ze~Z z7v!q$?CNu^EcB0;G^1^lG(fCnA)aJS|ufM++Kx2iG*nq>Wa;n^95{ zHSsy@Z$?!wfzrYeKEknW2#bom#G)JOIU^gQnDYl1?(?1`wy2er?qzC2QqPP~A}>blqMF`{uX1(UN^d zLCKHx<5-qw$3bt1IM!Z$Be6Dfe>F=<26ec#_P%#4JMDn;eMilv*=B`LjuBaZ-Othz zjS#F>jT!HY>OK5x#MkVdRTp10fGa~+J^kHgF&Jg*YTFN5JeIZf&pd8)y4mz7mD*E6 zwkRRvgmqUL2|f7?62`2Zn0sbG1p(+giKH&DnV=Q|66jY=jN@Jbo@umRc5#wZc8p~+#WiB3YN79ae{9V=q=wu}kR|UQvMDLSU zr3pXCz?aEVsNarc>C_gF5MBsX@i#%8<27!B?)y2v_*V9#>uT@#GB{NXDuK#kMON_9%?G+#M^o4e+Rn4-UnXwfm)=__!yHO7m<=Q?{^Rp293k9mh$Xu0? zfz`V_u#vj|;DO8o*qeYqA&@^Is7E(%^JI*l9bupsqBnP4q;vM0(q7c&K#8cuLd=#C z%SUL@{=t3wS-5oq#_THW%>C*3Tc~Hz!zmEEq0bfc_#AN&msSygAGx4 z_9&VTa_JT33Tbv+K;F?6Fc$tu+)vbOEWVqPWS6oP?sV5^A+b99zRDlxkY1r5$@WH_ z`uQn4gmJZ&?XDx4d!DU?sh1#UMNrQksC88PtK+t+7&;?=xqYVN-~`GM6)Na7#w+I3u7%k)lfzEv^gs=aFM1kar~G?_Mg+ zt%ZkbH&E78mAZbSzYIw$UdV_G%F-3w@>C}N3w6dDinxGu{=1op?IR}b{ZnK1_O2gQ zt9?nI_jmm08Bv$Ne^fo!eyx7z2~>DtAWUL^t}d!z6Q&|h>gC6;Q&Fgq6k%?7=KlGs zuzd+seX}}yu=rZfic?aIXWyPM%&Pi6$Q)^1JCoC5C}9`$RM=Xb&1T{bZhSxb6z(6! zA}Hn=at`@Oqt5`c;yYL}6lsxpk#+FwIf{EK^9LVQzkS0_UW^~}rH<@Um7MS4MMO*1 zkf75z6yjZ;=iIQf7|WNWm$+T`WE(q}lV9u<_<|9&>GzS0Rv^2hhdA<0DG@0%xdo`W z3~Vj-^NTtIP%W}SmLAmFpQ@euc!jOzR{JzVE#p^m(0>v@&Ky0~5!QyRy}sY*G*I6G zabx4XF1nIUuif#^%Z3mfbaq{dVXWI3#C&u#W@rx$)Lv$7ptYm}Bs?^4D*r)EiJN+p zx>9ZBu93;$(EH(?<{PCo56?qS@b_~b;nIV?apoJhEevwCwWkN~{m^&W;@|s`oWmi` zI?4LT-C%pEh{0=$@(+NSl5LVFy=>teG@!N3v!o5Wyh!Y~Z!9-7FzQ zKa4(M!uRmNYdOzmGBtL{38>t(o6UC&_7)01)f<{s7b3Fq(ujco66>(-QWrqQGgta0 zc2pD8^6{D-yu3DfG=}@(aX;Au;hwkU=60mKCiPX48|XcLA9^bC(Ys*|<_c-AohRD_ zF+f&cd8!vQV@SkrZVh@vqgCVJl>xX7h6;~TS0l_t#TFWZ|;A0-S1l~D{H-F?{_~>p8fkhW$(P_qM%vl8aFor8x{-|{lDJ_dfpyAB(~&L zP0Wn2@v*S+{g%oFmUbtZQ{n`;DhlfPly$#RJMxW-g+==C9gUtqAifaYx>ai)y%hpI12 zC~ax^)vJt{|TrzwoO&m2s zZhs;Rn<%IDye!bJeBEP8f%e{8i5^L^h@AvwBC=jSoQr-&r@EOVm${eOP)p7u!c+K$ z^j>YA-N)2l7f)n`NmbX~B6j<&k4#1r$(~dFvR$+pk8O;|LW&2u(BjUkU0a*vz2>wf z^6L}92Y$3#rPk4uPLsyoji8g)wamvbUPX1zlj1g(26GENy1pnw!?6#(#Us_>?OGHm z9*EqKAqUg&;?rZunS^VN^?Q*f_UJ6bVe}oz^{I?V$dWb8%cUv6ZgCqgO&pZVAQZcP zZnr6G;47+!G%9QHXV2PQbrWwnqKEAbhGyyE{6ID$+wsp$>zslQw!WXuYr6a)Hmr3z z4gG#XkW8v){4&7ELL6*IF8e;&2GDA-UbnrqC5}A$JZ*ntu*Adqr$G8tzEO$qypIMx z=l1@SGba`8VI>ER$UTmN!yKlm)t`sUyv`%ZsDdlMmkwVgxumf&e5a*tIcI{G0mPka zY}lDvz;Ot9u4O+KtPz4+tL*GJE>{q{A`(aY!u1*-i?X9S*7YlbWOs(v4?Dk)Orqf6Z%f^719bg$uKzY;05v$KHG)`r2gZc*dG36vilzV_WyZ6DW|KTgzU8?c$p<&~7h~Inw zq19hyCX@R4wvc(;Z*Y-o*T3zsGxeX5?%WkML5Z_{SaA|eQ)4hfcm_QZGJBHGPLHW7 z6)X3HE)^}Az|gmBorl~u(#W)@c0A`rGI;{k1N5BAMtAmYEp`E6$OlakBdAKBu@UwRR8$g!jnPGK>9;$sm%jg3Dp}j`aG%WR03JZc`wDIeuv?+ z#o;?oiN{A^AAOp;f!S~KU)8aU@$JePNalQ> ze2+W_FFlELD$Ca-Qvx@gVd7>t?Obsl+ezdh+*0<}&yv>y)GvH!ak~Wr2RoSW#5iYf zF2uHJ%Ihqq>+W_o1yeo@PF5_HuO3nIImXjb=iXVNIqHul>w5Mng&hOf3h+aqFg4bd z65GDev{nLsW~Do6lS-m%=tw+l ze=2(5)V%{RCKjZEUe3KQtfk5Y=24X?Z|Ui+kHVfY(PS8KgL6{6EO`734xKkcTAm)d ze(3>>@x;d=9qcNr6SU0H&8wHu&=Zrk( z>g%oA+f@h_Te7S0wUozLvh_sz)5ECGq=ckP@9RL*I8a$lE zM#sX%YXSIDtCXLWWUs*Vm^T(^-ioMUN}2IXYhDr8{r1kYXNsb8-*>Q&ShL~f%T9ug#j`pD(JR|= zBdaeCk8Z2Myq?-@DCC(I8sofKjsnXoRdCI$)&+FuJ*Cx}ocpk$8aKTpei}Zn=n6U( z$uDfTt0)<$&hA?7@2~5kAJ{I= zj`mo);G*VV0ydP}FIF}b51=F{59d(@w>snkqcKlR+juW@h*yfbjD~jxsPEZc2)ldJ z3|;arD6c;r3Uc(`+YvL)Ggdp87S|)>teo?xEaGI!i|FIE+0JzCe;gdXE6HK;3Y~42 zSOCDe*O)|6UF~$r<~4ZEhuhBIjytfUB+nReYl!!}lD?+ze+*nbK6xu;VSkiG%qE>I%~fPM-Lvsb^#;;d1^;xvu8q>j0w(c9pGf%V=^$H5mP#ZS!#?~6;Ml1-}8Td;?(=MaFk&&M0l z$71Zl)z8N|XhoC!U|w70MDNR(Y5n*%wT^Q}P)clLN}pEQ)kl~>3BjkxAtJSM-isBf_)JGlx>NSrW z=rD6X{l)OSa;l0T+`@k{Yv2IYo4n8@#ES84ic5gVfKNAM%8tGNnC7p8!ynY z*!}97&h*oH5HsUANZZ6iVPbL9@ar>!X_3m=TX7zvN(~PK@X*FXy+ya;Z#(Ac!FpV|StS1~Dl%dB-LBJG=>G_w4%$~!4^L_TRJs+rxY&Nz(sfX?GTChhip zY_IY#5E&nc59K2eSmN->NBH5-T03$~MVI${mW^2DK71a~w*Q7rk8zHr)^U!Re6v1! zSa=MK&CCT9K0u(RO|4XS^B-lh)M9$6<$NvLvC@oiF`SynE!9X}IID3at`zp%?PtTB z0QJnfGnK(Y7AvXb&j9pS4ON$hYJ{a7HjW|6Om_m+hpv4{JA64)BYYK_HB_^@#ZBJ` zHZLon;Wq)_Cs-s^S7fS{QAOT8e$h@-gQbf3>Rw&)=b=7Bo^fr zdXWK@XI(Ruo8-6$3xWS3rwqrx#jnJ=3T2gLBta?Vw2eH%uH4AdjA@%Y(32D!YWco+ zJfhrXD`}MQs>Ig-sR4ldC%_RwTU8BXOMPj?IFZBGTX#nEg z*G|O~eV+iv(_T=B=mJUT(BqgEbL40EMM6SsEti11QzveqMJjav^?Fvut2)ZIM4MR> zNG8<%b+XsWQHtC%b53x}>y!-bTUpA)hP}fYKRFYUdt224Xt`ll8^@pnNUWtaMOxBT z-d!H`k3F7WBLEli+AI;Cde=~E_*iHmI=xri++wX{$qc_2^D$%5u|^*EljT)-`KiM` zR=+;`(1k87?fp+*)CLGzuiAsbq6wNEH+IW#)P^&WHZqG(`4JTwf%ppiFytMAG4nIx z6fnVWJPA-Q*8_-IRB|t!Zf`Ir5v(fzVdja<1HhInLvwkx6*H8bEwqphntm0kv`w6; znRX~|s{eY+%JtoZ`;Ugra9Lz_lzs7LeU_Eq%NIVs*vrkD5(DrRMcqx`z8&EZNnR;k z@NKHSiqTABSZ>u}w|4lLQ7-EhOuuVxf00#cj}p<$UoZP@uA`Innr_@N$t!G&(doK! zU-D40=urusTu2_tdE`4?Lw!Sec^Zo6K^d}@o9QD@P`3qJa047 zO3pltbLB29WKRr|pis!r&)kzZP;3$Kxqz9@Fl`7yV-&2;0efW-t8{T-YAO@ytBdgDFzM*W{+ti1;nt0~(` z&b3rX_6lfqzEH`WK53DxQhRH3?qy;3zU};sol3h~q-oV$fea@omxka1#O3mw4}0Na zrA9wYI)_&N#C-$^!`Le%H+8x!+-A*psxGkV(3@mPd1lFNe_pH8?DPGOh`iR{A@%7_ zG|GS27`qtW%z)NS@@CO-)oh+#=#Eb9|U-kpHTk`W-Z?fd8Zd*RfY9__ z1lMh^7b_D33Zs;NoV)lVI1d<3_(}j)H@;xLBOo+AApIv`h@19I|7N3-TL zx^HA2?zY)r$GiWa&dwt2m*Fs)>p{&9WcQc7LdIN%xwp-*vW^lIq+MWCE)z_DLZfz? z-gIA(fiNr`UVY^t#5)X?Vh`#|ow~}W>v?Y4n~}%88@?y1oeA9|&m2*39I6ABQ7px% zs_y0UMoShUDY^P1-2={_*?;5(UPxdxy?keEXAvT{^M&NKc?XZjw-%;3L(h68%kD3D z71j5Y{~mKkH@WQfz5u^=!oKHl0}#^;56Y%`P1J=IL6)jq2uO}JWP6}qb`H1sD0S;7 zXP89y_G8m-guROYmjrv47B>%9+C6}4cnpggY?lrmrpe?h_an4~oN4lv*ZpkNnmGk; zQiIF}!k@2plM#tKCQ=zB>BqF>yr*jkj7@S_e6r@&JYCzdVdG5(JCFD_KCg;OS0dbr zF;t-S_IlF`CqyVI8i!>8mdNU@A+!uEBq>k{B?mz^fSD{nH(5-Hk<%j ztw(h7WtBm)AILr^HS5g zZ;E=**CyAk4P#>Um-fDvp$FP{+lN(kf}vK7B+kBUM^8-Mc3Y}%1>StdunNfgcTY+!>-9kAV;KYTt23Oe#+&WgyV zZSF!)K{r*L^DgtH;7fLtjb@UsyPv!ernG{@cq(%^dV&O=l^y7d`dgIur16^HqSBwW zNh^%jzg}0Ogy7|LT|SuJummp zVfmp_PYIW??nXw<#gs=@9K%bBMXyL@e|R46vwLILM&rvG>V8VAl zQ@ERf+$L>nKtkQ^T7{AO?QQanq{xP+X0%J*k74aRYb{eBM9>!g-<6G&lj2-y<4PKF zXL+)1EgCgy9*06gb%+rK0?P(V@=kbOhg8gcSo?0_qyB~~vS-Sel`353P;nvTL?e4C`7 zM|-qbYMM=$j@=d%l4Z(v{45&;{T()&WC6zAm$GOAKNVXiHi5g+NhL;Mkp(rVR@4H-}9UC$Eo zZy2d)-DH&RJaNs@>c4@>Y)hZRK0?5nGf+qq*+z5agh6-QC9=$`yE-yD z;cR+o-+NSa5u2);z00ia5h@Ozz(hy77@FfIcbhnhNph%KJSkDf%vWxn9QP#iHMw31uCI*)f7PU667$p^XApX ziaaQYZ?+{6tqKXrZ^QKal1}q{y3Hg%>B|C&lRUt5Y#3aG_CIl2it|3 z>kg8aUd3LbSl6#PBVq0Le&X&%HN<`tQDdSUOAQ}f*R=O_+q2T_pi92z!T6$wW^OLQ z&zp0hlsD~>l?kVFA9MzY-4_KmLgrR~w4bxFid<;LCe95rhve*x;~KQv_701-MjNI> zFqx8>&9(4?`{F>Zj>oWkuHJUAUQhHi-h6odUe>W3E-)wAFK41!mml80!U<65i93zQ z!1tZ*hKVG!*(jTe!dKA6mkcc}M)#-5!!>ScaGr$Roy4b)(8Vv;hT{DcH($8oQbW5^ zF;8LDjEcQb4pYepV>7k56M*d3*v(KL^W_R-!){Ozg+cK}2#D(vjdK5)Wq$>@se6U?cIkmqv>n zSRQKCC7}ea5cONaO4ZfK+_1bByT4Imx>|sMSd9?lf76s(@PoC#z)Us)%dxQ&7FMUf z{!&6uk3stF3V`eL^!$;vypQNkS%2#p56rZ#8x0v|E0(LrZudr)MKP*#F9SmHz3SC(k2ep5-_p{0AB zXMH^#Ksj4YrFLc$b_}VS+#&G;6p^1fXm*OQq+H@bSx09|y(&=)r;NgWbGiUeJJgrt%_ai}Eb&_%%hx5<{R+_vAYeo=2nfLxsDAy!Bhh_1l&x z7M-bkc4HBV4JlF_C>gBvQ#8%70o8p6`sz=@i044LW?D{;P8JL3#cBn*T(7A)M{uP_ z>0s~Lo`Z)*!Cc=jy%*xoA}QC3x-7h-1Omw@ybfM|weose?~9&htrQH92*47NCCGT(R4E`n+Cog;|2vD4I&-6o^WX~B8w|4BUGUtKZn?NX7TKY%4g`rDwK9Z*S z;o_bQ=5q72OvKm_0scr-Lt5g_DjUi{$;PW|u83Y6owev#|MHoeV*Cml>T8Qw9f*@} zYLZ#hb>e67Hf2BAiQL*k<1CUl78b9?-6IXYFd+B4=Lo5CPfGrtN{t+NIk*%mu{6Y+ z1(~IIZMa}!+vJjptFBYU1otbEEPIGeTh1 zef*=`1{9^4pC9$E|NI8<5BRV!PcsXPz+1nVZ@T)|qaQahul=~`pPT&i(O(_>)#OKa ze;xgs4*qKL&m;IZP5uuf_^X4zn*8lEf86=slJoDMN&1KK{;t!%9o1ig{IAr+-wygO zegA*1sGs2^pyvO7n+gAYLuTXiU~VF0PU63_)c<#XpY+Im|LB*OTahs=?*T=ysNL7P KS9teHz<&Un7AM&N literal 0 HcmV?d00001 diff --git a/site/public/brand/raku/library/twitter-dark.png b/site/public/brand/raku/library/twitter-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..68dc6020e3ee7d16d7a37f18a1d4930747a0be07 GIT binary patch literal 25219 zcmd42bySpH_%5uk2!nu(Akr|3grp*!4hl$jNlUkMgTe?RDJd<|-CZxBba$6@cgMG9 zeCzkuch>pioa0);V&-}FzW2TFy!N&IWTi!M?vUKMapMM#*y~sFH*TO6+_>?FD&!CF z$tB{G6!?Yt?zNijjT>0_$p1HQ#KaNZxBQC$01HMbwWk2!l zS}}ZRisP#%Uh)JHS+5JfLH_7Z!G|zmVlsszdjCi|enkEUB2-K4kA8xV_(kU{K_W|y z@=i;RiDllN<;oVUYTno}qU8?W{W|A8Lb|(P`WwATd}K&*ZonWnk-yL$B7eSzp&@@k z5y+o6yr9URFQBOBAVSDLZonbPpZ^D5`adwm|JGt)5N_ng{@+r||F6vdm$vJFK`xv7 zNWJ|(WMcnA=KrVUGOjn$&e%D4etEU4->Mhv8Ox%rJY6HW(6&!H`DDA)^Qt=4J<%|o z)37Jz5M$D~IY2N?^3>vBg;J2jrdDDkncYl=>CJbGt3Rkum2M$z)g{s>!R+8i7{mTj zt%SGp*I4I$AHlF|1Fv3;&bZSSLhXyb)4*zWvs?zHvL4&p68o_j$gQ$F&(In2`Q9e4kR&9$zsiYF}HT{0K^IyWa^i8k3;)$ zIa^gnleaA2(ddPdHk~N+tbZtFyY|?%*sz|{(yd%R!YYA5HAq_&SOr>=1plSvb&a#< zNY?WjuWW$LFv(o1q`N0Fkc2iWZFR)w`q7KRzBpOaJ0T@J-2yZCrsvye6YK2&gZh4;-6aymOw;9m2oTvRX~E z_blW~K+i%QXD**Zgog+Tch5l>0pmSYb5CgB`vAKyb2akShuUFlq8(!^Lhy&wsrCuY^4~ zLd04Vea`Po;W}1e+HdPJlYN(5Q8>1)8HZN2C!QYuN@g$ndY^}kb!~csKNm?(@8oO;e4@u z@#*QM$iHKXzI|(VA8~bc{qWx*siK%y=^)EJ*M2bI@JL-k5y7pB3}={)!u}qp(g3yA zIVx*wG4SEHZ?6A}?)LcEGhsn^h0`t*vVuXH6dWoL8kds{(PGhqPM(pi1|If=dhigigXme{rYX6<)`Evz9IMD-#h=1S4?M%3IElVi- z^a=YvuRnF%^0X&FtdFGM`&UCBPWL^Bm7tcBUxofv2F3%%6FC)lh4b_OhbDUk%-Y!yWAi5EEt8|55sfkP!8%JB{(Y`2SJ*pZ%#btMm}Z?Vx`RVeS@#vc`ZC zbZd%K^zX?xcFXH8$1@d%`%|sYkA5cb$3h9C$jIa0oxGbIFD-OGPZQkl?9n1bFsK-U z@s79u8IJp)5liqkMoVf+ipdWVL&K#ssluV`nWOJ8Y^(tlCB=JA!rqRZhlcbD&JJBP@cecfBxg=$Uc|d{s^1>d0`3V zUZ>qh)b0C;k5QK18znX(EUZ~b#mB7invID5U=kMa=`~ms1wV-dv}!skx&CT5U7Jy@ z%1y~q>tgfx%&g`lNYfPzdlN3frscMVEqE0M%nP{ES&q=htwerOD@WJX!&D}9t^FO? zWC2_o?sUP0iV43RAm@qdPK)g_o=r5RiODJ}W*{xbT$)f{R$7MhX`<8zO>hm3Y;D1)2}B~eU|CgyX>H$tBq&ON)+SZss}hJSsX zMWPtH)4_u4qyya={qhaG?wKGV0-gW{4F*AAnaPe76%{oH@z0vTD{PHw^1PnX&?Eo} z>?sg|v88IHg>87(rynjHAE1n#Ctl&;!Z{r`N-Ex^HQDQ34~6^fxl{>E;H(+@u#G)s zt3azYw@&ISUM$oKOndz%E>34$q@i0AguwVDB_(N)5e+FnG89ZIc(<3Ck6Ghl3aMpi zs=( zzF423ta=79$YG?SdT9lB+R-6HX&pEl(t9)Ej>F%IHpg6ZUi%eo-D&&;nHu_L4t4+p zx|T!u==Y!7>Sb|M5ONAc?zltm*XOnuKQjN3!|5#!{lpyA%mW6cJ|?)+mWD5g*q$T2hmDZzj@bKvW4Ku{(3vTWITF%&y{sG&SWLuG@#PKUB%7*eZgV z4=jzm^ra}}{EtPJYE&?0LV zFO@T>-+AilJ{8Nd#wm@e%#U(fA0U>tH5?Su_uvJYseeu3>n{1iz%u2 z+0w#kI^IqUr}LM51>*O+c+BirvankiZ@s;(xSv9*9cn#SL!)<48~oe8QqW7wQc_Zs zEwmkVpv)Rhp3B`Q3k!JDm^yTh#Iw!YG* zO8o25GTHGHeKI~G+Fu^yq8?k5*IQ%wEX9My^(63&CK#h?iCq&-?#w3dN~}q-mr!Ir zrZy#UDZlANcj>)Yuc$mCLF=`N?Zf;_8$GY5>7Ypct~}+#?@}-5aG}p#z%Y_CMMO-E z;h?1Yu*xF;l9w>VLg3OZa!7WZR+dxZSU6p z&y2$O>LW(wD!g=tzZR_*DeK9FlXeKtieM=2P6+(9CcEqo?d!7!$s+nLQM);t>+!gY zKMj0k2gayfDbm7OrQV++tnPR_=`s8o{_-(io~NV2FJZ;PU9p?~QDq*b$+vribhTjBEo`ODA2I{Si(JxOuuY%La>D-H) zZQD~NcG+S(+MhBruQq;kT74Of5P9&tvu^-X$QL6CJKqEqsx>JQ{S*pmJ>8vkmJ)ei zd7OF9F0UxtcT~25-A2c8j%qQgyW$B$&TsL$N7j!S5zxO8!CM#VG~k^cjdvAnm6iaR zq(zrep)RH-m6X$RtZ*ivbK^^L3jwq8@Z9wqF)EYok<4rP^i(6$jan^l!?JqCFL;a8 zDk-m9-9=B$$cYc|X&&=PykBn@ly_fz=ZFpWS!7c4ylR_k3Qoqj8 zN^V_}BZaR_!08A$?M^b(eN=JdevO6OmOcnR2G2QtcWI4cQ9eja>7w>mO{fhgd%6cns zk|}Kh#;8#fH|e{&bNu9agK^?~`Sy;X@{wcER3=-l2DT)0X{k!;RDFrIjp$MNKX`dd?viuUBokNN5vr6QB-ZoxL3evPcu?E+{a*R@r0ujcbt+jXTOA?d zJ3Kkk#v=FV=46?kqh(&Qa+`7P5Uxa?(ozXZ&88uNNWq!VlQbOYnjFg{t%=%&_&%x1V<>x&$2!;RZS zUkVnx+%Q-T*QoP6{Z?PCYry~2+c&5^CM?e34`lqqDJr~&Kuh`wyD;5&6^POL2d2#u zeMeL@e{POk^;L*2RSNF*^+|Ey!)Mle2V}LL&hBc3Q=b^8@(Quq9uB0BZp9yCa6N|b z+HIv-tEPxV=BhGD$d*`+$bFX1OOKdSh`yC3yguSmKjAs;^@22t?mmOE4>2?Olc~I2 zohQzM*B|$&MlwudiwLyBTL@V+)tHGa2kHi9A0~=>sFP30w^ca+%gkCVma=2dNN0vr19=gs$t^bZWdTi z_bFTOF6{kULDm|Ytx_7yCtrF63W`?T+};+YPCQxs^9_0Vm!!etGj}LyqW)osxC4jT zVb)$wuhLwk`bArcDXw4-G3B37aFI9Lzf;}lm&12&Ry4^BQx_sIbRo_H7YZ}>cj!sPEeMn zEh$w!o-I>Pwwd}Wx}B6NIfp`i^@YJB;$lzwmldUJHKECu?SF*sS>|qWM&TQty@P&k z?iyFE4O5_*E#2MLz-}Wd8VWWHx_;En@gEC)+5)Gea&kY%Epv5bMW+s<<2gsC@4*#P z@U7>!v@6#3h*gPgd~ED3J2>(uPE13cMS~Oj zJ>YG^ej?KB$ORqP_3-U0*xB)!G$3m|3IYUc%tA=hp{XykvX#()>dT%MubqubtjbIp z(uq#7#IzwbE!%xghzq1K)F4|`b3l0OK9go$7E}I`pkVLXGBaVgO#&t;D3j7VqP9o) zU6}_6P?1dzP8Sx>rEkIZv6CjNmRGH`aZ7UVJFLd~SEPpPY6w3Cw@c#@$z+v#)JuV` zDx4TonTHIvsd$L-m@;$Pk%Kpy%}r|&wNtLOM)o|~(dIs3lE@fW`)7_?08SCo-HdK0 z#TD>msSlb>l#B>MsYHTyPhn)-E^*06CvD5g7CG=t*~-*jx$~jBa?uiDu#&X_mb#*| z%r-qXEx15$=f?VYJ`79lKC^P<@3Hwc{qP(I1_u1@pyFr-%&z%Qq2TFlv+aY?-GMrC zgw3zSTT!?3E%xyj9z#aEVlUaPvIUZZv$JZeP62FxqcztT?;({*x z_nua2@V#gPfhVr;3Za6Q6foMl@hxa-_4}XD>_kIL%eCTHuJPW%J{}^_aUnzeQl7EU zPI1$NoV=;&GM9CooqmEib)@61kfYy~d`OFm(F0zx-CXf@lb<8kOE&MR-P)`Bu^d)Iqvu`fjvJ%ZDrmZ(2;+83&v$g`SZjRWZG4OP zegCLQYmuy1@6mb&r-+E!B{Y`JiV8Q<`K{wNzs};!Ol-NfM=CdMBr>461cuT6YQ_9( zGd1dUixqIEdgqk$NGvW*MH8_bP1)DL@I|u~N7Bcef*S!=4wENVYz`#ErSY(m_|Ar~ zkgwk_xtld=7?amQ4O7Mw$7Q_puA3g^M>N*fZ3}3m$axf@9#@M*=@eCGIO@jrA9N`_ zw_M?L3}{?>>5KHrBLZKs9-wpU)sJV>YzV$Xz&h`pN`$!1s8>es%qAr((?)0(vIZ!K zqjpmA4GEUCQ$u8QboAG+MELl&ppEgyz}*@zWuT`w{nZ>eH#Y}*2#vFMSeTfYtfLFp z?SwC1zEsJ5LybF8pxZQ@tA4yOW_z-u>-+_akhvAh(7*ucEEwpz*=6K$E-MQ~6*$pROk*Y+LEC_Xa%e|6* zf?74JpI-pfWzykrZ3u|*x@>c*S|!Ws=Vt%*g$J}&s3Rz?&b;cy`=Hdq$# zF!HT)Xs|%cteX}!tpFj54Q`UCIja_}Sefmz^b@w#5*Vk2L?okHy+x>{@$||fWfXkO0Wqr^gq@E&Dx2+0e)R7l zU~J%ijKl%8C=oW&l;q@6johYTZQKU0d-az6tkq+?bM;5Hs896Y@A4l~}j~~Ap&VDy0?t_-Za(iyCmz|l*rHCux$RtmLRTM0W z2V01{;MntmTeLVJLBKWdwclQx7-}yL;dHT&1J(16_mAY@mEJ*ruvIf@)u{SNYKDA7 z4dx>y2L=QALH3-ie9xZ+De<&d!J9xAmEydyLi$=W^dpqD4|vORn2@T$K6Dm8yG=z! zHKnfc;X}iR4@nvD%MCA|J!9sy@IDQek`!7bRFh(}Tnw zB-;-e&a30ED{U2Wkot|q)KVKf-7^`1MIop_9cJ%Cylk~inzS|{$OJV<_xXwbrH|{(jH3#)olQb;^15y9 z>9?a>pzl#GFgE!+%ulW)7r%`v8TCsEcxpL+0qe@O2x5^p(cS1@OIA@A4rR1^u1X1Lu zyp|G?GWdMoS7i3{M=ZzlbL~h5?kV;6F&>G}m(OaPjSPC_)9%{Oma{O#w|@T!)M2cA ze%FfUu(u7?3|d$A>Gz4(C{Lj?Nx5uNt58*=C2s~5cm*{ikwwwwc>30O_0<;mfQ2&> z0|T9BK~w63X(WNZ2aATMv62tjL+}Ojg=5DCfMJ#QBg7&@5%g{ zmViosW$QW`S~e)6R?`FJ4e_3x5~7wGPiHSbnQJunRa02h_Q ze(rhY$8B4;p9d+C^{MZUk1cvPClLLl`QgitHtIA;o7?-`MRt18@oe1co7g@FT9SbG z&d0{o601}N^!7O2t(qGn7`o>{n)TOnqMMgKj9Bb$;sD{Xnyksa46i-MZU3?``8#6v z<~HaVPiiqJw-Nan4Q%yoJ}%(q|+PW1P!yWt);VTVp{0%itz%baezMmI**F zu3ckiuuNXXe_p~I5>`|AOG8;Yhh1xbFT%;Im%;04eQ7DB%Yny?nD6djv@s!u?x{F? zXy`zRBRxJN0h3z8iXSV&(q7iOKb-ill92rlVI48_o4sRPPChJ3YK```fe8YXC`&d< ze(&Fx?k{QDG>|1F{Moa8baC3Ukk>j%_N@w=OfxpE_GWC=kyLeYb4rW4Ye{L?k| z=^jlF3=`|#8hkynHJIHk4YIO!K?UxSmEleG%`kgnT0YOK8tJ9rFQgMTeeC{(%#+WI zqDf)yLOtnZq(ugc5*UJUwaqRUps=D{-TK4XEHN`U0BCJpo$iN;)!RvPy7^euO#M1VPyPtNncgwu9iFe@{rq>E z()26%n$@tAXEW?DBm`Rdxxd`(DF=tcVtd3CI02ZIL+(yXX5>TZvKtJOFg zLwP5YTG6Y}HWjm-g|;xf+M{W@lib7^+$x!d`mZ3=eHWhCFcYeDeg5#_2iTx3^fUY1 zI=M%$0NI}3k@Vt`(7Be{R&l?F0kIJ1$R0t?aZX;JC%gUX(h9oN61bdaP`?U%rwDDA z%(BL88$YkIdomn(?&Rya_i?D4A5@ipNkj7S&QuILgW|cQ`&f~|?(S}#inmSbclTtk zBA*`{V}hZck*y@hScK!x*8?s#y*C~6@DKvT2v*gRDos%gib6aCdRm%P(``F|v2A#` zt7S|5iZCFNN7{9P$mZF&;Ny;$BV0SAnTok(8gd&&uyA#Z(tJN9L;FzIw-#>jN+0F( zA$_|3!s|!3kY(92z4C@n;*8Da^TWlCsAc1W=BDz_&d!VsI^NI1krBuHzy6RTE#5JG z@giuuGn`iimr_6yy2b&CAihgparXo?SDRC*DTepy-!yNH2wLyuH2cd$3&g?>KEv+s z`n8QKChh(xoF zU0o?FQ$&$&g5uWg8@fTJ_oq*v;(R_&!j?%H?o@rvk-JAk6f=;_Bmu`mRN)8}>W_*0 zlI1y`-!0RU1bB8lNVj2$t@MY8M3`E`?$5zK@X5DTR*P5;FP!5YR zX_4!a<06k=4~T_3`#L}ucGX==S)#4%Lv4Fjggl1mjc+FCa;0zy6`2V6^+-mO8${O&N^o7zlEo_=PsdF~_ln zJ7`AK4fXY%G;!K%xNKS%ky^dIUy^CbSh+nqg&7!%rz)J!!P!O}+b=r!N(Sscm1uDBnI6@M zn8)7fO5Bx_a8LORr+TdX*YRww1saI&T}s`T|-`{zk3PRBT0?Zd7RG z%+wa-c-kwDZ#h~3*IQ}6g*=IB)yOPkiDZuAY7bpMh_&^(Q?Fe@hw=QZRr|$P3$W!t zPD_$bfZQJiFRa@b#4r&$v_oV7A|jd?Txc*W+>C2hKRNo4vK=8dU_O>S+2usd{EXG~ zoa|aSEWJD2`E=1u(>pMX4fF=sLaUJn*=l8OF#s`Rwi5AJ$dRslWILL`MPRXNpTcDD z<)snY960ots&ZF3uMVlSu<;B|)QDx0ur%E^wjbr`=KkG(cExCxxWv?1{}S0$ui-QD z_xCTZMK|iXyScxWBpol);LKBRZ92NM>Hpy4=rkhDyB}2%gHrGk1Enq$AC8yTlYEXRqF$a5^9Ni^|PJIUDgR zM$w1mZMFMX@4=yo$zVxf=j@(KdO4^l1oVz-E-`|PdzQX;R?Y{&7?rc;Prphi&$xkf zO14)SKzbcGq<7fY+rzbqDuO#o%$=v#OwN|NV)^Sa@$vCha#VHooNBH;24}7lVrXU1 zHD)W9=j$(Qasw&5s_fST&{I+A(^>LlJg_Y8V+XZ^4KqXWbjPN1*(9B@qZzkb2mtpk zVBzrkm!d)37Xxh6FUQ&ynY$s4per-m*38SaoSBmnb!XmlWZOH3y9Tp1DR_%8aqs^Y z$ZpN99|&}`IpLm+et8)+nClw)+P1KTLSlW|Jv~s$n2k;fdZq<^@I-F<_VWC_^+)73 z>)#%#we6hvJx5EzMN7)iS~nn72`rDj&=eUWv5%PI=7V4W^nQ)>>p>TGiw7G))?hfd zYcBJ%HzoSFr3HTP=TsGWp-YU%&Mdqq2d>60H!NL}$|e$c$MfoxYp+vN%Vjkjt&%BG z5&TnDegI#|hM&xy^@y|QXstz(0!&+fnApgTEh1~E&W$<&cJKk#dHoLa&Ss^S%}Ybw z%!%0^KO=Hd#9q6yZ`bh#ug>9?C~xaUHnQwymk2-|ag4OZ9+x{#bL$uw`26%|(XQJt zVW*2C^zrqb=qK8)EmvyJ%wRpHmxXPu=Z}o;IRnTe3U)9DyKm605*C{uXZ?uTZ*iv( zo*avrtHmV>brFVsE_bQXvnQ9}jpK4I0}UAQR_h12YK2qffKiW0{fC19$z;yi7f49S z1?>#yByK(W(pIYu`m9w`(xrNS-DBS?2?$tZtE!&Fy%ug)y zZVtS%R7RPKZQTEs_fwr+`Atq3m6PW5+Gb7SHR#pUFDJ;NVeNAG7k_C5pt*2w2eZUv z?JB!ATd#M=TT{x(Z>MYCuMPEt>QYc!O$Xd1KT^Nk(3j=m;fX=2M6uO8u(BSaki}|e z?-a3SuW|aUjVmR^zf;heeVqipQVXZkpN^VMWw5z+#Am&omx^br2t8Wm?OmG)sg#Mo zY+^YUG1NCyC#K;i&;-3fx6p4R3FbeVNqSjs5|_L^Svm01RMsar=fTg;=;ExJlYYU3 z7%6Y(Z!U+@jH=L_OH3aG0`UGQ5$*Z_MsJQ@*>{NZnyGd4wD^(sAXnS=*E01j9~&VS zhCZ>cZTcLp$K;`vM*1F#mF7Kbi=WVvXwj0sgHnBOSFIM_o%7W{${-N`RIKb^{w`+Y z8+%ey&qwpKb9&NMABJC-Q@H2Q9DIMT^Ou|gp4aCrR3heOc3yQZho&+aaN-Q?yJh`& z__R{Ynt5wYi625eJs*YN*ndGl56=9$uLyCzvO6lN2RrGMVdUldu} zx!0KFeXA|k5g^-RrAGBk{_z@B_ZiIe+P`l~*IE#uGU3qGZg8SV@U+e^oeQb=v(vwEx~i4$`*G#gxLaAB06KVrshi_^!c9drLv%GrCb2@8SY&F6i0?uWbS@HpEVt?qGk(e%2BY%cVaG@%vML zG3#A8l1Gx%<8roouI*{z@ocxGgpG6fTaGNPS(MqxY)fKL$aM(mB@y4b+hP4R)ycL@ z&inKyYNn?F#QuMi*A8IdIN~xz%upH9+S>X~587^uHqOpvenNXYu3!%@E=%JlVY+0r z_+J#KBn;=Hv1*019FCZUra*Q8kW!80m=4bN>L%96ekJ9u3GLkDv>&(oo4LjRy1}d5 zs2f|Ur+d*x%5mshfTWL)4|rkrVN*r!Om;-BtVMG`^xu>)myqwmRwt+YF+Ub(8@vHe zg-N~4c!sle^cyancBK#FgTHxRNf=L*=v^DUFgk8MrlF}yMVCq7%arrh4mxYMdqC`z zDXwI8dV2adRcr-L!dX{iGC<>)`@GO@RbGOf%cJqfcj}IP+bs#L93`u(i_?Eaz^7%d zq=qDa|IRoxTeA9GJUsIUZsoSgXoc{L7bw0n67r$|$xhu;E%XX>!I7qbf8wm9<>r_8 zPJ1ZNUG$&T3%z=kBihAC-z3WV=|^z6)%s<(D;eNRp_>QL2xtdstNmsquE2-$?3?UZ0RW!H zPDDg>U~|b*B53K=>x$$jpSbqa$;QmQ`Rmzx32u9WnVBZcc?~No#>GwEwXXSYd)Mfo zfgnT7@6x&~u>7gP`q#rZeeOzGU+(Crs(v-Wkxn4n`+*+|5lX}r+Wiq0{}%-p53%LA z@H)=lY-eMvcuARDL!;`TiqH8GrVu|`lGB>WgJ_^ugqOVC>a)%VKlg#qk`)hM&KMBY3P_*FM7qGJka-k$TO>E!%6qx08eXQdeVM*8{{73g|;dQ!d^ zu1DBPW&q+;hu-;{shT8VzZDl96SH+T*O04TPBJvx8U0X(ztj&@v4DDtG%M-j9?&`K zii_jH*STH17jYWuJu8s$6<6SgSHv7+?= zQzU&DCG(jFRD9cgS6KelkBFDPZ&@_OC11Z5lj(t~7rH%gB;=^QpMdV2?!VnWenHN zC1hkcW2Dm@x2Ft&TK}G02g+gT_A(EvYj_b5&cvEXG)i9kU;qlt-=o;yLs->CM@L2` z;K{qm*IY4@#nHO9*X_akN?@NaHt z(l*8%IOFU1=`RL|X#shJ?#EM?xWU-}K9G+wH(9wmb~gQpiVDZOK(&w*Yy@h(P(&Ri z;`W`3lx1~{h{KgAMz!z5vjw{9*N*T0U9CG0#HdHQ_jCv8jdMFX5%ebizF!4t97sR( zs9mXZKOZC^6BOXHnx6U3yMhpZ!fUv%Sud%D*>H}WcY#v2EqaSD(9-WP-|OgIppq{c zKcXWp{<*;vzv22~*&S#IrA3I4CfeL`BJDaKq$hzt8-4EmP1h?IH`MS4_l3p7^Ocqf zeqw!;uzrz44}!2w1-)XX$ys`8hle*TH;n|af4#rIs$z`&D`G_mCR&o8G~URv7+!}}k_!HKoQ)^vK! zKA=75oEK+}xTsx5ruXb2xwR-2@_5{CoSoI7hEzKWzP0(iu#zosfRQ_44;U&>l=9lA zT#pwmW-5OA?>~2PvR} zrGiL(%%94r*$fsu?~j0I@MmKG#s2hq3UoOo4s}>}_%XTr5NN`ymkV+oN)}s)7(`3jZ`HgX(p`U)TqYC8H?^X+m(&_05>M$t+cHgK+QidGJeJ7d8MeK1K#zz=>XjT|Tw7c?EU2|Ng(~#hI%B6s0aQ0! zrI?CElRHx~{!B_H?lZ@whUH|^oz3z7B0GuNRqA92m#TH=y3y|x>4 zX6L8Wt%_p)9kQgDIr0yn~tbh8Q0jK zTjmQ~VqXt3!AEP9To+UGeo&9^+C|;g{bgvu_DG6RtxSG?*c8fq2m6`3<-sY@;V$dF zFHC~yw9*NsY^)|kNb>M#i9zh@05t^Xn7Y!~eparTAOa)NPoQV@4ys($Dtm6!O$R?| z!~$*vMF6HMW051EN47WVm%3~+(6VTLKHS%)Q$go2nHGt@Q9QM76+kYimXNU}L7^iG zZIAHCG*O8Vtc|hnvI}Wpf^!+1nJ=bZEMvHsLz`)7I+h<@hkS|V2WT=5NojZ!!!?7- zQTrFgnLhz~Tp1aNM z%sJWpGo095^rWhm+Vi_@2H!QSYnjXv-Ohfh*bHU!$=6}oFUX>Ev)@$&eb!*&oQwcv z*FQ_75)FEdBb`{+zxS8lio*i|1abDX@_BE6(-|(wBbC56X9|_CWHn>qk!(2^^Ag;5 zgxcN%hUF7aJ8lkmo(G$ImAaR#Pi%OUDS!=vafE*U^jD!*%CAZq%m!xgGy|2Hl#K0HcYbdhUf5CZExHThyd!L%uD=~H4bPgdC>SF59B zDY{^H8(AdEYMV)86BYO(udo2snp|Q~x-%LrwCm{yqymiJVOyF8>r149mg&Ywm^p6a z!zPi8CSKOC^fC71NjwDWPHK><_?nXqwB6TuwKyzE=x~Q5=r9^bsI7AHdN$MX1NukC zauP(MC%4G2RQ+$N?kTDD!68=g=GQ|EdfX~Eku}O--veTBkU3g&dK-E1#sS)`4ShUv zmASyEVQ3dFM>rwVW%01sn~sILICvZnA)lgPbdsqZZj?D7?IHwiH~8GXo})@^IKxoE z2q}H}n%pQ%O+R&l3GklwwD}NhiP}$DTJIu!UpZWOUVhd1REMfq~0SmUVN^<#b#SSspB4$_ofn-sN&S_90 zT#qRgwbGBPFZuaU=g_-6HdYC#`mETE_UlySd*12YKdAP9#B@K^Cqk5AzrK5ZVry?o z9F0)cj-n?-T84^Or0w0}FPZs*Sqn;^^cj$x0=-Ihf6CuWmv0Wd%c z;Psdf5UZ1*nZT088Gk%~1Pb*c-D+#|_SoPyO`0MVsqd?n!IndVk zbjw3yYI{}mC?L}>N40HziVP$i6 ztVKHLwDhPXayA~xtjS}uK-2X*9?m5@Uo84Cf7G~9X*6@Q>6CUcF}BoYXbr2K>>&m& zWwG^O-+}y#CYWN>*Ra@`g*z|R>&OW)l3b>e$2zq6=^+F8hHCCl)Trg1cQ^+O)$TOH zy?rP4^7Pv&xoMCTu3&hsOCX!q&Y`r`SdnOS-(deBE7&R4CtqIXIo?LakP&l0&#|dB z-k!!lsZ5eyA?1}bv6Y;tN(yH7a7Om7DJwzB*{t9;Pqno~-d%q8qqsgu5*7~9xNS-k{`LPR$*M23Ugb&ys50c3{JK(_Zvuuw8@M;Od}{NNEtx4l~iw1d`9 z3thKwO0X!E!v}beJ!C0pvTwIPvS+F9pJY4LhyOw9EsIV+Wc>m~)3qFasDWRn<*o{1e5Zin>Yh^jEqVFp zoq5l`UVEAmj1wVPGXo|$Gp@9Wl|x6t`H^@&NYg|8A*x+nqO&ou&bp)cp{TR1=H!VT zeHztj?{}a8Squ55n3(EY>YfXlyd6L-kCA3dmZr6xUr>{lLutjn9NeCefC`*0$RO{( zO`_?Rk{s&aC9=1+Emm+B$Dqe0dT#mFgLD|9oEoyo0AThoOu6veKZ-pKNZNi zidZ1(MN@6@2CG9Rnlmnjx?Sr7gDHuAaeG?pBQ>e<=IhU2Uy*LrcE_d+}M(C$BMQV{p?$DDtPm@mp=Ec;yqBM0TUP za?qfIqsi0UTyd6xKZ!0)g1ltY5K0u4_UFvSxFNr+oFuaJyk%dBSa7~6d)4}bBQEiG zEoNN}u$tv=T4bF7z`uHIyk;7r#W*y-JyF(?j8&!NJq_X{dF9vTERc@@{L^*kwLJEL z0i34gUCpg@(O82!G6vQT(O&&K7NdlSqS5%h1CC8za9hW~r3c(hdZU!1D0~h?iG1eX z1XyC=&LYm@P2%XWG+%yEINiq_fzg93O=7V~SFAt}Y%)@W&%kH;APT{sZJ4MaGhLYgmd2lVTh~_9w++99C zFp@%^<*Ao%XZh!HS`IgtXg$6$Na!c=I$@R5YP2OWn21|sOI=~w=VJTfHXJ;S)|t#1 z^5qF9KF?E##p4!^bU0m98NH)bJ3+*p8E5;A{P5z7ZBPQQT}JQiwmr>R^letJwoaAnkYNj0_^a1qEs8-)>5RC@d^wH+_uE ze&hrQJd?GUUuoV5*7^*Q=GNPZtonn14_=8W)K}LOyXG3Qt|;Z51UOb}0W4|y;gZVI zJzYEq&>F}lFno+Y5B`%KPWLi~wZj-Bvq&uk)82lzr=Y|!@E|!95h&&j&6dX*`Qm5} z{OefBy(;IUG1s>{zde(QS1wHwT($Pe@gFDV|E3(TQf5A-d%&SjXFd@$wI_ONTmH1xg;xJqYui~4y5w0Qovcxq zdABf2I+1^5>yVSNwkZxh32$>RCT&}zF5}`WH^}b9l8392TgJar40G9!A3y%My#)o@ z&=fmM0v(Frsar{o6>~>J8+CF&pQSS`>+%91PX>X)4x9LplIzDqt7NxDlJ=b_#u_b< zkE|}i^yhG6cYphm})lkzF5@8|ElYpIWG^a9_0P`Q~V;%4q<&7893@>f18bVUjX3J+a4} zz;z#z84N^Ph?}<#m674#J|;}g3L|a1-AM*T=~fdX$y|p25L}G)f(G?__J$-ii9(9~ z$r@`Hc$A_?4*F6=qkb){83g^d@M-S?dFri)XmH3$4(Kvl#{<9#lKI%uVT9RmmLsls ziS0X-w3v+>!@2qQfTnJ0Qx`vomNr7t>cKs(rP;q4}j-uHu;ox8;ED8LC>bfpE?j{$Oogu5xqbJg{b zSs!3rpli)&*&NJtLarSA4Vv&ZYYB02>i<5TlaphVa2gG2+`n!uyG)Lk)uN>NjTrJ< z{%QtSfd9S{EgL)m?&>0&Uoax5Q1!pd{bzVXfJ5~}ZL9p}BWu^ih;3wy`dcE4M#QWC zem_yiANk+u@$djs_V?pS6ySQhAcy*~dZ{U@A3~0iwB_|~{)YtG+-RZS-*U)0!cWGG zo}tavx&I>@_-r(HVyv@MG9E+M#icn+<_cNLqn5eG0MT~cJoxEPNc?zX?0MKfpEE-M zKlvpzPm5dvxgkgu*b^cErx4ua9&!e)P})L==s({)K)~T}Y`pg2LcIqlh~qE$o^o+< zaVT$N;raNs{EMWmF+&WnaBzlBKPI=eWd;jgG5q%(S#YKM)4_oqKc{ZK7V*F6mJ7Df z7=RX|Lqfhyz$Po7NB)Cb$+Eyl>n^puWXn<|q9}MBBoniTIvh1?PH_Ky8(?EgT`XwP z6T>-bwo9GSfGNC|i+Op0_b)yMFu+nXS~Rt3At9mf-@n&g9!&sHI@*U#PI+BIOw6<5 zbPf8}+`Op43wibSZ_JJqVbEcSzG$g__D;Rcy`A#$0ySReL~oy<1%+F{+Yg3e_b<=44;N_o z9Jk{9y=5)6bF}#5!Im8oBXCH{PtQm_cjdheEuC*scPLMlZHF7r6#Dv7W(!>Uw4Vn| zI)`6(-UJngi#1f>>Vzd(H2)ZsBtwiEg0CwKIt-8#?BrMKc*Ks;*@B~{l0+#;BjF@WqmNE*XLxN;-3$)^=`V7kMe!nB+ zigkk1{Bnc0qmv=DeeDP=cCwf@24!WacR(0TV)l|<=sKT}V4;=-^wvD`lA-lAD&D%&qwmyai|e@4 zYe80`?)=4ym06Jj;Z^x17cQT#&vJdkYdb{wY^VDlSn$RQ>;-OZw@oiI-ih$cyLdbG zEX>II`_acWDo_h6%E$Z#q{hxg)ou!l}$zRGls5Nqf@8Y8BmrxdN9~n~ce7Sv>$nacCe^iQwRVlGrcRi`AI=D^n^=CG-sXlqActl(H zJLwtXsMjYPs!)x^9l&#LX4~`UNads-F;-%O#L$p-18Tpk4$JU3u5#L;_W?MMW zlLj-SzRtLnnd{Nngd-I)Fb2R7ioeO6Nfx^j6`Hs`!C%WgGty- z^qeFI9hpU6gqr_Yv62*gg6TByMag;ReXxK^l^i$g9>rif_NjSJ->*euy8o}X>yBzN zi}LEIz)(aHX&Rc;(4;6*1r?OuLFpoa5Q@?zl#%8*^pa2lBE1&@1B4O@N(pV~QZo^P zARrJ3z3fMH&hFW>XLkRX{f~3LkN4es-+lMp^1C;LzV4XEMgpL-T~V0H`YHCzAlm#a-{e2jGq>=NdiEim08`k9xg!$j}?rTbB)!n3-JDu zXpOnLzt)x+9New!;=(ZwVCCppCv>Q}(@Q}2F&Fw8`GVDW{e5^BsG$mg4j^B7z@^e_ z_bqnu=r`k7)ddzuNtS}Xq|*|+T0rh2OWj$DLw+#C5)$aFit)U@&tpSMV# zT-hD$MyJj}X9AMUbu)#HhQ$AVzuS9(?CU>gBd|3Gzrm=!D>3&O&z00}>}y>Z?8Wh2 zX8(DSTD|m>SJBmIm+i zpvF~ZQkW`!)`7kx5Yf}NJOz#$_B~VjVlOblYE8; zk@^j={uaD;^I&cHfvst*gw7BDQ?eViJ;r9Mvpbh04hehKjTCq1xE>v?r2A8>KnL}L z#{0*Tw@i;7L{7Ul-O}ffO#;ba?&{lUaq!77sy8SYw$v*HmRcFRY=(+Y`kKArqvtBJ zy}GqKcA*_qcg<*UAYSZUkocXS(EzcdU)nPtZ0UG3>n%84TTQ z7JiSG_s%7|@X;d=;Jzq0at3#nrRLyL*D+ZXMdjN{1xXJ7nep?BNRCB)R zz!0S1Qmu3cGrSfho%ToI^U(ur6F3d(wK5+>_G!TOtu5grDs5v??pqWRr->s&xl`7K z+AxFh#e=`(Ahw0jC8h%NtP(Zhnwr#W20`8_^B;%>Y8HiR^h1T6RoMp#(z8()Z>fi1nZfoB7`b z&yGg2C2;y?N>>XhLqu}KZg7R;oo5)1nQQcm$EpzIV1?$9j!lqyjdpuCsZ6VigGm&~ zZA6qAW{aJEvcIhd#CibJfBNig6CBvXfucx{FJWsWl|%uh}nH(A;y z(vrAtSp8wZsNUu%Wm1idTon59na4z>g<{#;Fa52E$8{ZhVc^*qHU10tL5MoC>x$1- zlxjEv(O(FKa*MhpwTiTk6YP$kREM}$p2oDkx7d! z+eKhf!?4drxsAi?rKh=r+-H|ijJPW+APS0@k+FMx%eKg<@U%8R8D;s(AYjB9;X6KC zw%eV&>&d{@^~{wSkT9N2mE*SBY?#c!)(R~SQ>mnI6l2-c{`&MuNX+Y5Yj^08BpAVQ z)85J|gNud^K%jJ+1|(3;43OaplzWb@_QaHZc?*eTV8??k9;e#O#3d#e8Ee4AJD;or z7n0BBPFiMTGYli?qoz)JqL)jeVT5T4s+i6odafEb=?LT^lg=mE)d0Gy{iY0C$ndgd zq%>=98c}Hiv-z_`vjaWN1*id`e)(~1G^RE(+7v&*9ygl7F4eOp0(6g1SPUbLVk)c< z_IDpG+n5E&TG``b0TbghXVEq0h`@c5l!BPc2{2uL=%NVxy#?VIw_@OF~{b6Bu;Yd?WJ?&K=`wP+1(riqK;>h0mWLXvV;m(Nn2da2dL!c|Et_MG$fz%(dy zW8H_hcGL)DgBcjaZ0#oE{ses?1j7cPbYR(#-oT9C=}4A!?V;P4P9)R@q}C-IQ(t&TT$>d%a1Um z%F88fXUD&eCc8{$r^|_-PMyGn6V#n2bM+KIMe8>N8%aM@=v~;l%_yBbR}av#OyS`ma(6ergCj9}8xlBVBvd>_x|Yal@dfN8ZT4D^%E zjBaO4>N9Q#P;Ou`nnCOQ!tXJ;l?M5dp%D^&L{2vfYi(_H&oF6!)(Bubx8DTOs@pQ+ zTt*5$wil4O82TWWfdtISap>9q67_%%2jI1w;62EUjH#;U+9zE`RVKxi`dPtJeiyN= zCnH{e!1#Pu?$P0Zh#dkS6ikXWD>r;~(!to16*Als^cB&cLa;kY44oj$;^HL-UHN9Vdw>KwB3?wpOtjD+!awb$*ptYcrZt z9k%v-p@I%QdhnMSB7$3l8pe2$YagZo58FfgbIN<8VV&N7tcBCSd#n!~H^tG#NwR=P9t4XG6 z7G->tK2$0{Y;6W^4pP`Gl?5ztj99tW>P>9AWX~RF_43PHhA}XgXW7}ZtNC?d#Tif0S8h>rXbA% zU+9(F0ms#VS@84ncwOS!Q0ruDjZ-O{G68;Pq#XxRRSno&b`u)@^*kWFbM}0?s4Gwy zEH1CFs08!5uwMm%5DnOxI$ZDYo5GC#d%k`=gTFg&kp7n*tanWS3E@m5EJwkdHUyXiw-$I56x$m%{(yRT0d zNoDOTBO{}An#kWv$ySAY*W?bq{1AKbCT6Mz zz8$Z&`~9UwXMZ>R>q?zs3#tf6BQl4FN}Xl`$umEkz37|1JAjLD4_ioAc7OyWZ7F35x`(HhYYk7ZbK(gCJ zmEr!hfV$pQ)uZ9LuJ1{)sq*fD{zUW=s$**LUHOmQeR%AOojC5Ekb~vyyf(iz6Sisa ze4T|w5M%%S>2hiZ?sV9So7+27#KeRGRUXTU%RN`I)5jZ#vFel&yADk_e4l1t)jx2` z->;7?hT{f#+PZP#Nm^)DTyB0x*~t;9(w06)#EQLut^<=99BqWErJ7iGH-`(S)RW!_ zGbj$t)IaA}F%O=dw|#uVo_&haPOmF=HtgKS*H=}Be%3Eu*Dh}^p4*r&{CX%8(l-Sd ztM=V>&w-u>>OuW%+5kP~Am-tO+K#T~NGNclM}}Q3>MHCOs=VvHA{p?u`*`rk$jCaj zPgmDmMw-T=h58i&XOR3ffwR1*h}m=C8j&88s~H>q6*9e(@E5V|m8GR6i%$e$XT+n- z8sI_d*FBX~1S+XTw?2TRb$F%m`7W7cjh&=4L;Jns8cB-A1@1wxB_QX?ax^`ko7?`V z@#G`5pi2d-Dd7|frCOXRH#^(DLvhlHwfDg%)KfFVfr?B;uEcq>@q;~-nK)o_*yVyi zIzzwEeeF%-ANit`jzYyDkQFxXJU^}xy8=A|VZ#e+oAo<(>j=A{WPa!y;QaG5%Bp@-0p-ZfQ9f)p;-c$_b1VpD{fC_r>7$pTm8+#GEETHq^f91iDz87kC^D6B`_bhSG85_P{{ zFH1f+Pzdtk*~|xzxGX7$y-fj0@nE-&`NRFK2r>gfHnQBncrmp0eX-h!4C4GWhvwk8 zgVQfCV3LM^lFU_3j;&pW1`AVDpYK3jJ2~^V&$r>%vmI^Rp=2_-q+dh+;*G!~He5B= zL20Sv!8j`CWWT`f@SgA>&Bnt=m(Se=%o=}}ro27hvWN>C#|hD_#~XBQX_SWPZK!=K zvzqhuRc9B>-aN7{;}$I-P8MK_q@s+BkPuj?Noyh##KqLheKqzDGe{#b8a7q|XcPDC z$C$$vhTR(9`fzklAW^!@^{uq3JQi}NPq{cvWT>pEocE#G=S#}-6t54^hfu$il))Oiw;=E!3I^;k2nI{MgCT%A2#P(@ zf+WLIRQk?6=YP#ucP4b`UAWI3^15oUvN_t&v|g^b?w-2#wD_+AlH9q&YlrQN{0B%F z`2htXJ|LjGh!50fh@XE!P!S(s7~ukKxw7USs#CH>N+&N`4^x$&8a6DY~BqjIE{yyJyet4AwY-k9mPEu## zywRKadPDi~_e$gI<3cWdL#{`#n*rY>_mgX4OE*5&`IYsqTgAIB#}^LEof3wBS;+bJdN&=TCAZKcJlyt^_B&vB)a1CIKivkh@!-o6P}*6SO%~{y zq2Ss4WgB_JG)#tnUsGi~nt*9<3IjRrb!5tzwv6ey7T9lnDEJ}F!=OE6H^N%@rSYJ$ zh9D5AUx5>C*BM!-xz=i+PTS>l4PFC)on&5ftHIA_(;vjU5{>kCPKwHtF7_EzJ$f-Cx|DV2F^FJOPXMX=*ef>mRzJfgKxkW z;ZW}zJlMyMFo~;rAaX!J36e@lnI%^cPzwy>99U}X%SG2kNJOl`$xdB+AtNx5SHH2E zdf)ZM*qp2?>a*G*3Fd2~5Lu-HOLP4R7v%57e=RbHsQ|wl&5{!$qI{g3tbO2*iClNk zLNi<|0s=ezCOE?may_}KCMjCqLigTFkFH-HBLKdHz6C#mp(c}g%Ra>-IKxIm z3=Dkn44Tyjk(9djn)`rw^BM9n7p$fbFn$v71q6g4?A1T!#R8e%?C-A_AI~^DbFnOS zvDba`GrPr~+1V2;9p7Hd`sdw?w_s6`ay`8We1d4M^Cl%#)jG#Q=p*Zal-*i3(46xs zv4=OXA;5@<*S4Wg37zR_+WME`)QycrY-|Dv&=ztFA0hG`QW6(yaOd7+Zvs_dV4##> z{qk}oqvpkD<@-8Gf_ePFFvt}oSEA|2_D93vR8lu3kbQ6%&! zc+VUPH4gVQ=in$`SjeoS1l@0F1m*z=dxb!bS|QU7bNx%f>Z+>gafPH*h%5~J23-Fb z*3qFTbyGviuOj?sJdiNvJ(PyfsqHInkbY2nB!dhx@iGJ`~)qg4nCkf|1s0~LBkZfyL77o&+n4C|lw zuYxse-q}5Zp}pq$_v?I9-@_q!`S}!oq(xoueEc|qbKL+FbQT2xY6pb%z%b<}_#3n! zZ?F32|2(KDBEtKiDP5ug8Fdj$MO{#29r5$5QPKY_zbUt~ zEB6Qw2B`5L!JQQK(}TQN=yN{*Yhp#^u{9cyasfZ|UoY#y9j;Mz%*^oqSxaF~Vd0nz zxV44jkL^KTdpSNnXuyMRZUX;2$gEzrRzoddE-r5WFB#4De-+w4fo+bC{9}l{5@2z| zir@lmZIOQ_?}~a+la&jZt_uB^lrUJ?Iz4D;kp5q*QB@fy)V#m2(zE=pc^Fv_A_}~$ zrYcwwwb)<4ZiRxi@JZd@D?_Vv#pwPervF#tQAMzUUc`R{61!TWnXBCs*0rtu^gT#_A&Oye?c&TZWmT4kb`3d}La^k<3zY0tA}f`<>O6css$iU<1p zi*&pfg7~B_Wx=g&n+%}Rl0RavWh9RC_j#AWx_xlTt-pE~k4>@DevW#bSOtkW7 z<5gC6cBHsbEf0vxENf5^OeWY(1?(n-dV%fKbj*=uW^aF7*r2sh4vqPymYfUe?$CjS z0Oq)h^!TcDv=L(i(SY{7UdVKrxHi=3h!z>veusl;MQ;lgXd0$Fkpp@%2;XX1PajZ3&uMfJ<;=%YF zqt@s_U0n=7jQuS>VwHWv-%IjUtotRrWbsYL6v3T6@ptdeAw%_Bz>^VsH8C5iFY%6d zIy-#TyXgBX?dX6`eB!A$zvDRwsRXAyw8$4Pw%eCF?vr5&6EfuH<_@WY4Gf}?5%KSV zLWqv^u<56gUw>ZhOFC8nQ&X)Mpy}skXJcbsbzVcye&WrgXA*;iGtn1rP|(>|x-}kG zMIiNz5Y#dcs?YY+Z)&pFi4t^p@a~%(yhDN40;g$bra?-k!L1AfcrjVxArQ_HlX9#b zjlu%H@+?$9+%~c;OG*kVxc+4(4x{SG$jC&Vp^XZNM#a`g z5fR1kpvs(_jlI263s6&L(#^(v<88oCq+))%#(Qu4=ynFcja#sxReBv%s!4U?r*Z7b z{;e1z5Vw;F39+CnBQoW`b&Uv)CjAFWa&iNMgIj|Tjr!XBs;YP*g=nhj@?5?BUlIkN zCPDZ5?mjNf5pQ7C7(fmOv>!rLR;{R{l*m1>2wd4UIEh9vL1Rv*!mbE^gY|V6kRX7aQIxY0rfun12bjwA+gD z^+|leP|B-=`(OGSvk$Ph=Lou=Ecv|J-PPFHnaX}FG{3Cu<4}g*_wNpQAIXWQG!zw6 z_rLvX8xDW3ld7`Rwy$~5!hbbqnQ2hj2BoMCHhk*K0dseyOrD1u~%MKu=33% z^!ZYZ@MRQt+r1*_ZY>RY*3}P2T>tUV#DPf{uc0SMk2mS(k;u}HMH@PSjN~W=iUmhm z*=KDEewm&Qv)?r7M#s|U{1$-aYB@j&N+5%=h9nl-MsxVu+VDStg`w_$6@P?rTfKQV zkU&o0NTshBFJo(_VeYG#AhXceRm@vKRQ5n!qnDz6P=TvUvX}meoZl8ec)qW?;B4c#(n=j((jJu zhf@{RE2Ca$x(w8!q|0zx(3ce>kkMegAQKNJjVny3HRQB^ z*Rp=`1`=@+Q~E(})wO0KoM9!=<0d`LzJv8@WS`=8HY=FK6&ELt)m^C#cWc#lMcr+5 zqBN7Tn9MV$62)@s_Qt+&s|?5*pPI+V6__p8M|)5Cistxg_#crFd8|n04&9cAi4M*d zO5CQ`uYPLdIMH&->%WN(yYECbS&o~!RZyMLX+IZ)H9AFqRpX#g_Ola*Py%Jx8RVZi7k*l7Er<>s{F<S2u$b=LBTTU# zjf;P2nkax$w7k6Re%Y{|moRH1MgX4)g&bATmu8AwV!L&Tym;_?r*b0FT{tA7^w46) z75=$D?8UxvCw~wnyaIs9& z$fx(NoaC#!ylK;LDW^wd&os0N!1n#C-m(VoLrouQDyuS|xTeD4a=uVnjvWWN#yi|Y1QhI&VuX4}AQ4?S z`e(g~bWBNZ8NpZ%9hc6>fsK7f9uuFO-_4TVKwbO1-FZQVy@{(EjtmT5!^1agCa+Y% z2Xm+VOB>gnlTT2SIbP-}P4WL#V)qVxuEDLpa>iI!AcjEOS#vagsSFPp$wLAIfoPeJ zwh%TC4n%Lihheiq-xaOOpU?P$L6eY}#{KNnbJp1KEh7kIGIkj~7X4&Os(o;qs3wGj z)zj~KG}FxP9oS%NGTmAwO;qqoFP;%vYVvlA2DDKE*-CNF`*xLUJC;_bqO!Uxg;v(%3i()8}+&j-ZrR`e15hE$ZE9IRz-6 zkjEvU=RE3UXKHhAvn##*KyFfnd8yvw$&=-H+kfk$g6*&2lk>TSnxdl zkF+g4ty4XFTb@{Tt!n@sqQ;cb663D{&Z^^3BY;Q(3+(cE*ki zflKPUH8*(678G&ZHoKBLJ*VO**L3A^E^*%L59P$ow)@T+8qiYM2`)(f*AsQez>dQaYalqvLeQ2-)h#&dH44&7zezyXa-74;q=v% zR9pE~>vz3JBFb~Gmam~kJD;P`zfEsB4(voOFZ&3@v3YhbXRPGSwZW!=xy zur=Du=pR5$_Q{HT$?3_m7;T{o1&ycnQEExdryi>3J*!_Mi6S7@nogL6cf(C7Fodz2MLn|I zv6eTcQP6QG&rQOd`|8HEFYi+kP!aKrAU0k9)b$FN_R>mJ7`_>>Q`Qurw5j6KJQ_d} zFq?&C6#FD5-Cqdrs~rzDDJkvII5M7$UoNNc^#1M(;kQodSoy|elW8Px>n%{o={&j0 zDdY(M9&sp%Fj1Xmru1A|CV3_ULS6m2Ub57D)}50^4`QVhTpdeHJ~ziMy@ooOu3j!r zN@Q*opGu%?6*i8|5p6`s9ID7ApFA#MRi=k#z2I9d(ik$eCB%(WKFKhjHM8Z_jy3ZM zM^57Yqv>-1b_rs0JKj%@FXGKrA2yvT8xsO2KMeIChczZI^iJx&8GgWLDod|mL1#DW zQT|$CWsnkN{vbG@;yk-Umt6}g*x!3PS(Pr2pTcdM5&3)Mx|!S4+l2i5d@B0CFAmcxl?X(XsAB*vdkB5S&Ln5&!Ki>cROn_F)jxuj z4A>=cG-W(_#k32q{N>Dn5tPk zqqRc{uhCMJ3l16}5l`-E3_ilPpG3E9iXbc)FFeV?0CKlDxWfO6s=cRj)?8P!UsJa{?cw+ZFto4xP^i#XWX+x=udfBrl%F%cUZJ5^~ZBO#&Q;NdPT+?1o3n^I^N z8XBr28h53A4irS=Be}|5&0*o;T;`JziHY@wePqs|US9W{8(UjN5!FBwWZHB7FA3ZP zjgynY8nS-1{f`HBx0p?b=#_Z`x!V13&Sa=D$L^^f3s7I@vX?p%Cg@a75_rU zW0RJX;|GX0Lk>F?ID-)fC2EXk?30nXAMgOPE$n)30kh#&T1?iqJmH(EwU0Ytj7CjH z+1NC#5xh#%g|7YhJc>9|^)rz0$A|?uo8%T0M1dmwg_QGD921<+%`40 z^BYe^-G9bXB7Cymq}d0nsXHM~Bi#Aw%o_fNO;Av<+p*%ymoMd}W1ZK&Po6wM#N$E8 z*1W&A-Qb4vcHNWCOK+>zJZCbDCZOsStn#?3Op{|g-?cEDCXOc@>5Qk2d`J3BiOl0TXGwZTF2xP$n8S)aB3vAGatQ{QU$>05C1 zT0N^*e>xXl{YC2sKGQw&%DLzS+nAxZNVAVOeJ(yfKSzz*C!|JAvhO81mBey{d7Ny>zd=wD@EKBn-dv*sX;`umGYt zq^TPKRh>_2bZlh0dq$k?5(xNqgALS|C_shDGwIx6^lMV@@6mjLZQHFsfudI64S>Pf zdBo2s40L#B(_qUu&ELKe0TbHgsZ&eFE&#(N7Rz6A4fI{@)BAtV9@d4S#+gEHN} zF+_JG5*m)TEY8;4t+Qc`0ipZGM17`oxfL}s6!)Pgn}xBH!Dsu%#O^QS@IL7Og-=Gt z^g6?$9WZZ_*It57>a^8S*eI20(xQ^0GJs1Y&w3T5q+Io0R`V3m*SVsd+(pFnE^k>* zV`5dvr|wd=`||JK^Q&tlCqGP1E>2F~?~0}&o}j%YeiX*&Nk&9OKvd1j&fe*5$x2WE zj_JAmx?UR4uDB0iSPrx11>XJU%qLgvJ9W8#F(C-~-FU!I9RiFdGY_@{MMs)2glFgnZ|K z%wMI5Xftb^)y>pvm93e5_#iJUt0>!FoGyWjj&Ast%g0BwW_wmxHML2^bLJKJLLMwQ zm6=2wG#h`8$uZkZddfdNO8_7yO+lAqnz&9ZAj3ZOH5Kff+tG-~Xlp^FLU&_1UkqGL zYnu3Olvc$21P+3lyxv&>D=)N}&K)7NS==l|&I2hD+u4F*sHhqsEHlspdbJ8h+w+5R zoAk`h`kJ$|vy_zQ2v3~nsr>j8UAK&8hz9Uu+l1ZimFi%bQOhdeye;qq#@aI|RXMG1 z`&9PwuDcfD_^89TzoTmRcyUywaOh_|F>+&5053;!0osKQV|7RKR2RR20<wGigmfeH=kfQme_tW#4jI<9ukaI;#TI7xG}g)(jVA@;WW%+LV1X zEl*QgXjUI2;w4jH^mT*h%w~0PVREwcA5jnbJP0Uc>)X!{vZWT_^p(vl)m5NOwkXLR(nC;zc1QQWg2424mp1ML=(lxL+>5M zYM+JI;I6v<2LA;DrSf+$)Q6vFWmgPUP7jDIVoS#H_(Fya!S9HSZ>caV<;bp@~#Yur>&Ecny&DPF)hIrIdBqGz*?tF%kNMXXz$!JHpP3Iasg*alOqY3cv z7Hf&`Ek-fT&_o-#xKZ{ehc>^1ANGH(B<=iJ0U&ljpfP%GC0-Pr6QM36cLR>}Q+(pgNXR%%`{qE{s%UhH zR+^-BA1;M&5b+6WD1}vOx1RjtM|k~{PfDG8aV`G2UfzzKk}stR=_96CfoN6at!!2y z@zyErgt(o@28LL5BA=tur4q0H_wFYdl1a-q5CCzhK35{H#0fe#OWBtXdh%p;6rOt` zuSLl6Hi&XH3c2h6$Jvg4t#>=^p%fRjx>m;C`@*4=g+DtZn$b@PH5-n1KuUXW%_Mrb^s^-qUK2w3W5 zXn7a9v0=j9{JWC9I?9ZumQu@gFCil&q*Io=aKt9U@=?rH;^8$l`dOl{IxC=`6-Q02 zSzC3{nU{uRLCk3u!bk(M2XH{O=auw4*Wb$%_$ZVuO}3PG$ZgF8112X;dIrL3^v6(> zWl$IL;F#=Ms!@hk7h-g5(X+R2aUIbRhO& z{xAMAc4x=>`J92uQO0jEgp)u`gC*~`$-@S8TY2}1vkS7r82o1NVK$rJPdJJ@^Q3KL z@)DS7$NEhgzF~>*o@(nM8oO(1w}(P6?%ri6?;BPw(3mI~AZDH;A|e_b93-K|S5*>( z{Dt{uySwQkB*bAZmd>$YXQC8{VCG_ErK zO9Y{yWT*K7vPt=TZqoz-c>Lf>H&ZWmQ_&aNIKHrl5|`S0Kfh*J$nd9Ld$B_3n#1Bv zkcAPOMRhhEZF_6yqD`u%qGBZZ@OMW0kcf!kS=mtHr7K+#C|5WKz3^+@Dc3T6y0?g; zh*t2%&PyI=tooSPtoPT`D#|K~ny1GLnMBM?UCwwg;54aABROy*=X{&m7k{8BnZz-6 z<4M3v2AkmV)jyJPWqv*DsxA6(>bS(Wr1W-I`_!Z%4@;urR3BL*(9F2mHiuEkO=hlJ zTU(Eej0kFa1I6jKrZEe<-N>&Nsx(dXD5lynyY*-A;R;P(_rsMQ)({CqZPoHCy^9an zsykB*sl1b}@Y7E;yj5p9OMXwcHO*$~6Cg)lArZ%q%x+XVwO`upsmBOd>eSqbtbG7? zQVq>ipV|z_&K?wjR&n_6A&SDjn(LFC`47Z~+xz?b+X>i%uAJ}<4$cbARK*2l3xe7= z!#uh(O`|8$ujv`afIoPM;+BO?bKHbYza`Sj9TTq`c&+*TyveFS6ps5Euu5QXY!#M|%F${Xiz*bYv|Qn2Yo z)-=rUTaVX9S%K7&($b?(tM{9Lj*`mCyK>KBJNQqzD2>cH4K@WQi}M4A?llU}yE?@f z7ziQZ#zlv9GmIYMHyQtWOF`TwRJ)76@uElGfXyQa0dRRqu(f20V^)DE``g@?X zz}dazmTlue)=@P`*dkm#spO@p%;>qqI5BwqEiPTjWVtMwTF#`!Z`Pu=1&*NM3-j&7(KnVEyXel2F>pY`C| zzSztyglFJbSS<#oFSb%mo)6?{){N@OeuEs9LL%C*h|iM+3>R#^Cd7Aj=AGKOCJJyp z;GI^JCZ`0zBO#D}e<1*pC)^mTxm3DGWNTs>(Prh?im{7n(M0WVK80uy8AWMt)vr__ux}ts7+kNtUy)R_Wvedh zpxDpLDg&OZeQ+pkp_%P??c9$_v)SvlJF%X}K#Req?@=o9XzyN7cQVB_J8rJ4@3XhJ z*cR-nj@`NZ83P03guPYW(mc$XKBv3%=BzC&TYhZ(&>4U>z%UOISW0oWmPNfy%hxK( zsG&AADGTZ{=LHhz8XlCE({jeZmQ(`$$YmiiXXD)>DbGugOp=8&aA2FXoZq=5XLCl8 zW;bkn9w!C?P^?}dr2gU5S1SpQtYv)zczAeqIcWM|@u;HGSp1S7qJ4?6KVzcLCi-$j z1Kt*AVw~>I$$$Y^ntruBDJY3@$cA^5QKR6Fq_~uQGdiU$jIuz=}q{EY3V z-S$Zuo~f+GcK8TL>g3l?2nnB#-wAQZ!&-AbhpL^`hV5y>IL|l=yf-|iUfReMD44+O z&So}_vu%3>9Ab7cnn?K^#smEN``7q(xZn9WN17JqyWX5@atiSgM)dadP=T(wK~GrK zb=#PmB63K8OcSa2WalbIkL3NJ$VyV}VZ8-v@-A9(h_iNUfPK@PRQuzq(Rbad(3sk1 zEh|$Ya2d_(X694T*@@+c+m+8Yt>SrxI#p?rP~A%PX1&Mlbq~?%8i4W~h7m<9P{fHm zBqpBfm*xBTQ=F(9(|+B?XrctPEyKdf8U{JKgeXv(h7z*69Bpj=pgRLP34K7-hD*k~ z)YvD1hP4dSQc4MD3GXn|B4c^Gk{Eg}w_G9+7fta9HVcON0WHm?#ZqVQc#+^^C#_NL z&?G%m=A8%#d&FZ?&*v$9U4`&9G_|2z^GdVw*#1QtsYS-eh+H&hdwm=&c&?XPj(1d5 z#ci1dCCm!=QZ(?$#xgli&~4drzwdZw=FMNu$(~mfeJkv2S7<}H9XS9D-)XWVkhE!f zn5MCEkC5BwOP)S+X|2`T{2QB1O`|tUzTE?iS zZx;XNgRL!v7zVPw&Ie9GO~cty1bBtn+4~=`J0IAWIKUmSEoN)ir{QeWLTDTu=GT{8 z4QJ15dxn)g*zWnnWhxH#CluM}4_4<+5{o;)Y zxJJQxHc>>Vcr1s4E!uGY@b|)CyaKH{zdzh6=7ZZCZHZSuM$~Ir+1P-Ccy@L+5l5A= zJQ2qlfz-HB*fj~j#7E}#qK4~y>X7H42%9@1xtQ^ zMs$GEhJbto3e_tY2Q?Gb44?DzPO4#3Q&Y3ttxL+z&Hd`<_lM-x?@z+3uoMcBl#nP@ z^0v0ll}X_3z=hw^(a|YUgMY~a6C===)fv}ax?o1}r08hFd>|xbCnrZGS$RfAM@#%s zkMi4htWG1{DXeY^Y9{k-Qw`e_;Vn?$eS}Zq*6g=3o0x9anh*k57zMu2PFa~>u#g~# z{Gbv2GBwqf(c>EdQ`tT-*59(5^^)L9GSRbr6MgeWC9jc`uR{H@ibj&#t%oCbUcI2f zLsV4sVME?;YGOYzDWB4g046Rq6_p7iD-?W@k=<~6{qyRI-a{MUC?ZzixIU0Nam}Hk zqGD8x_FDM4egbb`a2(`l08+d1E!d*k*g#4Ouc74c0sSedT|V%}!eFR}L|E9^msf|H zljK}bfPqW912A*05!$8j!mY6_rU?482K zoSd95UqIoItwE~BDl`D30Jww56ySC`H%El8^j>xS(LmLoPr>!8<<2mb$5W^7wHK7A_9qBV8>7V-Fx(0aWHB?;_XJ z70nucTY@C?%Ca){MItPmpsM{=JwSK_6%SBF9qPi|jRVt*9teR9=ek*Lem+O6^h)`d zgGwIs&l1;sq2u}L{u%_6XT1zS4i#l(0x~iSyVDO#yB>~FfGh~&79jDh_nvY?wcVDA zNO%xe_@)Rt_N4uCJHl?inVT1`U?we%$+X=UR8%e8pxaeXH2}FsS^@&P76RR#wJ{&L zZGJByb5~G^Q1d2tD_ZyUehq-Hzk}o27_`brF1FVf9TO8X&==jZCg0~jv&#}dW5QEU zH${LZP4?(~nK8zg)+GYJ|IK(!zC~ZqzOm8rHSLcxGab#7^WN*AISdH;!{`FI_qS*Z zKR#jeA{>f7b%gpk;AEKpXrLO@BqNkR>uBkfDt z-UPm`yT#cB1)@9}K%uyzZEj*ATdyW3*IRrK(BTDk(_eS$`e?&LLzB@K@+(J?npsN# zx&aqcLc9z_L>t@?&Oj0Y;PqV`a`T&!bANmWZFiso4|)Q`j5hFulgsL3K2rek!Lm*vpiip{V8 zd1K7N7l-t{iPg^Z2w)&=q=E3gt)_xVHk(H$I=dB6QEP-q+z@re^!K=u)Er|3T_ynlI2mdw)J17w7;tAd;SRU(OqC|sX z)V+xU$3Sl|h44X*k?9L)Y^0sB z)mlt(_)=>HK&Csr5liZc;b1mDTp1n3lg4No%2Y40#mSwVlxFZ`k|4VH;q!RfCLIHCFpbf@i_*&8oQp2y$nkkw?cQ9Mt}un*>H}PlB&iq@fcV0MJ38L- z8Pj}2PLZ50sYEh^SN|gKA$b5HyWW}CUyyLa4&Uc|4+6gcwQ?s=JkF8un+>nYEbRj= zG9n`Lw3}GA{0%a7H5qzOTKVIjt@*L+$F|PpK!=*}VcmN)gAv~j?us5={i{VedG!`T zOk^%(ssLI=`c76$?fFW7?;TDrS^o2G{|$=eH`Bj#fwrKyE`rFECnYg-K5OBR&pf1J zJ(~!Lh0KkflC0@Mfaq!?fU|iPGB-@y6)TON(K3<@SRJMgM&+ueR4(#h9 z_)Ax|@O;~`Wu1qkO8B9D67EYrfyB!)DN3!=4y!1wg%BaKjm2fi+sjz~ALIE6HE#(k zDk_W=3NGdWDp3b|v)eWHQ+CjVnoUN8`JITz+a(mP(vt^=HmILl1%rC1gA0T)# z{t~c#ax)MoFGtuc;ZnV71KBA0lR$$Zt30iY5SFf=zJVPGfc;cd93yAB0JQ#kVxm(* z;OcA$hkwQ#ia`4V-{O&b@!`GUyFuK(P%Xk)!@GUFs+^ANIjHrJC9KFBE`Nb}@7LV}wp-x3)0u z91<+%Wd#6tof1-sC-5<}1(e{EkiO*u>&=7qlI7&{`_48_%bv@fT0CJJ#6a6sfe)mQ zs?r13f2PB_Lfz&J5DMT-!<3*J2UnY`G-C{LQ>vIqaumYNaE7;mzTbRnPwRUi3a4iW ze?e_x*G9Le^tZ$J+Ku2Fiez+ipLuO)z2k|{b4qfAuL*;`s5P!XKsu3DMV;&EJM7-L z%Fc_w_pB)NKI#j3a%x93HCGk4k6{`dCfm6-U%yv#dNUfUC~8g=Kq9cJ$`7wQqpJn> z12nFUZtQ|lld-tyn9KPXx=g)g_t(Pv6vtv_`Dn;tyjPdOQ@eax8fgz6ZEJ4YOb%Q;A}Q^S^H0tC!twaW$moNqYgA&uP528gQl0Ww2J5}DgGFvkb`E{ zoh#w*ZEk#>Q{}`%p-e`h%XohO9A{UW8Z$IXUdv>EaQOs%p>v$u-bu{hpsZ>oQOrvg zt$z5SggB`sj_^4+-`#;#A&X3Fu~^U_O3O30PtJeL)GyN}Q$h%Pwh&6hOoh_2L6Lv$ z4s*j~70uBi?1KMRRZvAl#AA%6HgW)MgMv-a7k~!x@}y8?{O7KKAl8kKx7p_{CyX#i zY49W-?0uT;3bVqkY+|}J-#RvwHkyvU@UXE>m(=xs<^5y_Q1+r3tACzdO*tfD-LNdv zvV7#Nz+Jy<1c4sIFHpHWR)Iydw_TH(W6I{pxc9J zJk)0(;cdt;^+FjyNeBFLIgt)^aY*PYh$tPq#@=xBJpVg)cx1v$<1l86O_>e$L0uVbrVt*XMeo z!>ab@zN`m~;ce}~jke4u%AQzyA7tI7RPo+Zfbhnsr=~+m+z7|ZIKPCYG=BYU zpZbcmwY6ehE+aB>WPT{@U1a96qg%Sy?twDLn&|odh6msW#xc{{!j7EJIrzj#dzkOD z;|SY-<$<3|6|j`8PFdT6bH)VJYOh9ez4i(Uf+yYRRH@!O?@iyoJL+Y1{0-H0Hd6AO zqV0|7?bi8AmZyFkURD5Hcd{jCz+TQ-9x!0Xddj!#qKwqnMfYfbKV%H3an-01x1~Ob z>q{q?gzn?p+lhQD0uZgm5k301$Bm-7A#=>izJkYQ+Tjm{2Sy##C_suOQPl~HmKHd| zglF%y-mKK_A3!3iE6(31<)2PkLFcU zIP<)%R(6ib!>9Ehe)1SUh9-&e?FU0}=d1LKKA@LOYx>MZ5e(3HQuKlYyhnzWfNPh6 zK-}fjepfy7%gc`%b7-nIK#5c(s*8K|1y;l|t&~CbL+5k216p#6Jsp!tuZ9VKdBDCM z>j{=M3i9+&SmEdQ0HY}mxDE)&GE$8kY|)Xs^J+Q&aK{zYu?}qX7s^vK z0%S>JwVC^V;i<18{;?SVu$iSRewo{ze66b1;D#YLiP3Og3)#+wLjV$Re~tAyG3pc$#a>HIxTfi93mk7 z3QR@zv?Q-Uq_xN4xd6FBh}*12V%yBNezs z?jmZM;Tfg(?@Ns20`eD;m3H#>v+{{Ud^Jq8XU3TZaf~0n@AI-MOVxPEws(hY98m@f zji~n?aA;|Z`fkAsWfB^Oiy{1;H+dTPxwXOz#X!eOczf!0c!A^D=^_saY{Nbi=%Nwf zhKoD|E(LrXoxb1NHBtA~_zxF=ILGr6;+@3m(oOe!N9|Pn`t@sn5$JP3Kzw8{8+e9` zcyhPwN7lFFlan9&`s1e+vm8>dp|pB7U2&Fmo4$2I@@h&Z<^&sNRIFZ^FXyvyNOp6-Ntt`#x7a)d(OI8aAOtiP_hXujbrBzm2u1 zq@XaI+4l@lugH7twRyw(VwU1jzaCJexG1HFG~*W-v*%jRN8M9WS@=I%^G-&ZK@kSiw#*ZAl(#$ImQ1S~9q7(aL)a6Q6!xe6uX%WWOScQssk9J5 z#OX}bYn1WD3#TQ^U?Sn&zSv=D`98(4bJZTzqU< zD`4iV@^j^ddN@~F`x`;c8iDMfylPs|GM*fPg2KsWxehRDkR zq8c3LXzM}8(D#rF3<$*()NeN$T6sZ=AzaMIAmNT{laS-g@|aX8qxbBiv}lLk@=;LU z>neag>s;{IpiSuBDNwE$cQU2|knHTF={sz-IJ68+XjZpO>TJ8AwU~`!&OYx!FVGt} ztk02&E(bXF3ds1GRijS>v`>KxmC&_32z$MI@2_!xNqsug?{QpzO$#{D@~M;c??V(; z>_Q9V`_A;`_`=bjzQeM_Au~AO)T7-3&R?C;Ob%u`F2~aCWj%53v>;|J)l9j9aRpx$ zMHzu9$G%yC(OKZ=Bm33CS?bV{$usLJ2F?!BCzL#1AKfuR-l|Jx;)FY`2Yd3r2KIs- z&AM;h<*C@4{1Bqh<@u#BIb*WmTD(|W8!6$BK$D1&_1#;w&4@}lW#v>X&yJ=|faP`e z3!RedeMVYFCr4Syms(193#|f%ljlIfRba9yF37uvumyGQS331&GNh$tWJ8_UxuQL( z?jjjz#4w=4RiTuQARl>ww;_(w^y&M(MRFwAyX^BljuCxp06*P^9eF0TCxw-lmm|;q zATMz5!DtOd#CS-qIS-N6TP9IO8m=(R7#;|+rm4mep0KD|kN`H*vv?}Om&QQ3t79Gd z+6m|*(jR`)N;t}LWrn-N>i(|GPa(C-_&d)~p`f#T;A&^bWB_o;N5>%};kdv%-hqB~ zz`;R8jc3sD;Z!j;AgF`)lvzzf&+Re*{(Cvlq4>}5*^Oke5x)m0)hBKRg?apqp~wwH z31YTfY%66E015xF?4XZ$Ef$~@kia5B9rjXt?h#Vv3vA)@S;VE|-xya`oB0qm3Sz9^ z=;v`2si4L?z(fGLg*YDz0Cyio5E~K!&;Y@HaddqA47dm@{_jTwTsaZZ7Ktc%$p%kF z&;gfn|9K@U#t4xpkvI_QGrT~=-Ri%eqA}t zC2$x1e+e8Jsrc~EhyuV(^N?im)2Z#sq-TG|sK#s}Wb*?xb%g(Coa7xZtL_+Kpb(P& z&sf8n01Dt(mYfV-g{r8lpZaUNiTqjR@e^2|V4UsN_)9blbgX}t0}Oq1Waq`g)cfks zqxJ+aIXOAN-*|DG4i0jp6A-5`gtC)+y;v9-1E9haE~gdsMnpnNI zgc4E4Fa>Y|D$S=V+%HcOlqX|F%Ros0PM_GTw-Ekfk9ZXkcZcQKtBL-ERu*0 zW3ikWE!5UlR$jew2&+i`yDpO_bWh1U|UzmXXp1o$R zg<~8Z988nIY%YJ1Iu0X9se;}tg?r;(RB|a<8 ztA;|CHb1}Q&l18)s_TH6hK6i`2N7s8(whOtd=6?UAMq)cpT!RAn}Cb22*JhhtVxr;ydV|n*T0TT)9 zxpRO#pVHS3*SX$|7jM3PU6+NSpY3vr4%`y&upcu=N-O&{saT$%7t=4qlZlBg4iC(^ zH`5m(=E1I`b+J>oJrjELda@!RwXH`<>rIKt!eCa;hRHU>OmN_F9k27SVG={|L-L@c z8czLOalRI6vk*rTuD$Uxj}Kex51Z0+eais@nH^%sb9bPs^Z{= z>T9m43H}TJsLE%-(KJB`6||Rc6EE6HYfjvF_3ID3ENi)#XxS^^@Qz8}_bLkfp5ja2 zAL2#Sb&2uY?+l_$h;@_0IVj{$1g%#-o*O!&+-+ot;DRg-O;qvBoV6#J@jSy-5-Ja- z>6M?Y6=n@PL`AxX<G@mwnpul8;N{Xm5og_h5cRoOlEr=^1kR zU69ITgg3mcYe2R>;i@U6(gXBXcYy(K1ih<2{TxN1`y~qUTxwZRvy)3~QAJBhcl&=@ zyYhG_*SFs$BulC6#!>ctSB+#T#+K}3O=gI(7qZTYK{D1c)(|rGeM^=(ILO$dkR`GV zMaW3jcyG=*@9+KReb0M7pY!)Tb3gZeJ=c9b-}`%guj^SN_U*03IPC9?Fwe}Vakw_s zm`r$?)?23eO$G9Oe0`CYE%xj9=5ODo$4{Iv@f&(CU1@A=e6ZaQ3m)l2zC2Y-{DS zGr4hy7cg!imQ)g?Hp3}yT8`YG*K0+H*6J#v-~L2d5~Yo***bmY*<6v#JT=F`G)Zm= zZ$&L`<0vR*XkAjA9k4RvPVPq%f1Jv~o)V5p8mN6%SlDgqoS`IkGHkU`86KguZQT>1 z-%NM4meTQZEx`(M-8FXlMkFMh9kUt;)x8bh8^t=rDN zooEY4xRG~-NTg?rQ(TsMeV_Mmw*ESg(P>)U(uIT>F0b6WsRQT4wIVjE=|}b0;VmJ9 zj732k=f*Fa+3&|RnCICKvaka}ZaN0Td+X+$=W{G6!f@1i4C#f(Qp_qx0+Ho$;Ae8b z0+c__p9VnKIYB_=#{TkqD4ktTUSdIh{x?l#2G;VUo(HW(BZ8N>WzfT)*B;JkdosUJ zYKXO<#wW#}mN_V#n6u}`I6X|AqU5nEE8T1s{&Jt&e%xnS%D0@-^d>aA!-reA%`YC& zF={vANh<2P7(WJRKP_P?`!#PBqy)vdK4Jh$Gm__0^|&s>&nw@T$#o*$^#&SyeuzS! zYQtXG2%?E}_5*2I;k5}TM=jRv+X;cN$7$5l;@Wk7r1Wq~F0JW`B*->`R(UF)pK`cC zWn9d&VazKZD%t>LVQ#**WaIWnKu&F$krk6+!Mrie>#@GyFOE2I-nZQHfzw*i;xf8J z<$;tPHuQE`9JOW=u$~Tq7p>^kXE3XrkRm_ji;mx`pRjS*TOfs&X@jOl0fF_WjoH++ zM;q0y)8Ii>U-O%pB~DV89C62pUX{EEUq3zsDP5nq&y5M~jO@+iZ3{E)@MK9t!=ei* z>a*7P>yqR<2w^T1B*n9$Xsrb6#6-eK&BxeWYTlvb&wl_trvOyvqzZoPLHxOV6(=Xj zd-*cT$q71$si>en+S3Urez6Ive6%lE4fj7|B7Msy^?}Ygw zH7J&#hJB<$UZ4kO9(bm|`3chfD^s`=3*vOcWo zm3As?LeXiBzU-;C$qF#}pKirP*(552VlW&Ewm^WU5nNtTv6h=udkFZdu;u}Yo@puR zDuM&K9)Sg-NeR_!7K9$NcY?S(H8v=Y37Ry$| zN$p?XZWGO!E#Z<962aZo5ICL1$%d>@_YGWL{kSD;2q5|)7<8pHOw~|PYp^QV>gnm> z!fThu*N<@K*LzIDsP9oJvQsmrNENzuz=?du(_QFwfDI5Px5pA|0M*zp@^L9Qa=;kD9$}_5Z*+zU!oUeZWLR|9| z)N=#RW^*Z7LODM+muF5}P5HTfW&Uk&NUu*f(CWHh*j}P*+eDA7-<)5 z4aYJfs--1|Kcz17(Z{EE>;+jsfp_|__2|q?(YOj2iTy0qtxmbu+FV5Q^y-1Wkvdk4 z(+}4Eu7W<6!uMYUa0?ce;rf0<2)y^`Y{IBEe%lkv(&g^TL<+t{f`pZ7zTNtSB?eLl zmzU?8jdoAxY#%lT1u zbH4A1J+9_Ug`#`cy?a;Mz=?z?p@NIx59^!xoCni4JWwv z>OZ`D>9^P*-1s?xzOzQI2h3@8tF^DLBVB$gYGFohh^s{W)>V}#$cWp$NFI+<;2%kf z=2oz9yz2-}1H4hB%p$2UOx3kNEpS^`+=RdCT+w+$9qzJIS;b=KYMj!gSp`SRNL4_J zjz?J{vF~$L1bqpXvPCZoigN_3_IoVLEeRN|Z*5Ym_n6MGG0SH*zJGid&)nIB1w&@jE>ioXz&%f+o$m`4=fC#Rq6)bT%5TeABrUtTzX^A z86k81!TtvOn2AA8%+TC?ag8SdPutzyO{03i(5k@=?{Sk%iXXi}-hp*p`67!OUyyyH zKN&Z1qM%c0w+cC_7m0iKNdFcxw+C^#K{4UschW{w2}9%4_o+Ime%pcEZ^VT}s(why z(G0a*BRAl_AY@&WAEg(jI@L29O#Zr8*66b9kb3+m-dO>CqKk=>Brk7k2#&<+Mv(_P zMj(%;Zyk5bbdfY#=Qvwxe<&h2{M16 z^dM&kqHIx-wa#e+n#(tjcVg zZU5EmFk^GrqNZ|C4d>(5-rkNAfMk~iNYS8o-bob{?Di-d{?(c=D|};V zx7ZF@Vpdahit;W~Z|aptSvzCGf6K*SO@4BqGm_kPUt+q|quHpn1GN9S`)H`KzaURr&AOtQ8WnT(I0VI6HUHAnfML zc6%<=Nk>PG-9cHU*2&sI7o+_rN-3lEgvzna51T)s+m`McTR$_PzQnyC;=*0HOnWgr zTzT)Cc3o*r@NwX4D#_Ah@~oO#+dzu^*tq{nqakzOu__0Mi_6b$7uVd2XTkgCOzV5I zN<=mhEqP5w!^g+X!y{@&%faWPS9MO#!jH{?GpE7hqOv`ckhot`=0+I)MC>nym{rZc zTG6_LM0WDVH6Qphm)rw{ojw!)`17l{I8F2;Q2Z5#x}zMZ6_}ewBJDhRBJ|TIf*9&`r5-p5(EW78XUqF z=IHP5FRKO?wYkZ?9o_I;7zKI!Z7^5cW}_6|a!6VXOhx0wz@dgS?j)qI=byKu9o_eeHe+{*jWThJw zHQ>zN)YPOr_Wh+r=7Wn<=<1>(k;LoBquB>bKJi?bTyH60%pO%}y`7}N0LjQqa$~rn z8l=~k=GG{+@ll=X5RzQL2)P#%_*2_2f0bRI&C8IcpIHiDLce9pYjXO_)TD8ZX!WWf zO#k>|G-T7*wy~DqZ)wv_cQ;byh?bzTjo-6B2$I{%9GIFqSO;YxDKaC!C)cvnI!CGV zt~E&<8H$xzd5!qC%o=TVDkunJ$C?>1L;KE-J*~5vf4=9u2rHNj7Iru2$<)%p>`+tL z1LAn2ir@VAFX0fsH_()4Ln0<&EUtD_(0RJf&-q9Ap#omUf(r&9Us|W%zrqgIayWq->>R>I4_?7j_lzs z=gH?b*;riCl0IIyRQG#SMn=ZslnHusJOygi>)fZfK#s&sFiV5}$(OgA|5_ckLL@g+LiDJ|4?cGTdc?%HQXauKDO;1E?-4?^55KE^l!8A`TQv>rZ01Kd0F?M zXf7Z0hEz$uNiVS2s<$)Bj0rh;QcF}xLvd0GN z69j?fpX-cq%h*m0V3i}YtMfH&*uE%#1sPx-8UaJk8@7s7LBLl!PEQA@Jb3AQCg^LU z%HeXfKyh@Qp8VHRKSwnr`B`rFGdemMews)MUF$iT!Zyu3Q?<^H&d%1$E#K-tl~@=Y zqJNNvILb{Nk@!bR4RA&Qu@xYlV~4U-aIih3}HvjNvy?5OM6-apuEs1RVdjXLl;A2(0)&7WkXF{7d)$H!RFEuumK6 X0nfYK@CyT2!ZFw_J@r!6d%^z&O0o_% literal 0 HcmV?d00001 diff --git a/site/public/brand/raku/source.json b/site/public/brand/raku/source.json new file mode 100644 index 000000000..8500b5f0f --- /dev/null +++ b/site/public/brand/raku/source.json @@ -0,0 +1,249 @@ +{ + "schemaVersion": 1, + "repository": "https://github.com/libtmux/assets", + "revision": "55dd6eac4347ba22270788b74a71ec0cba12e287", + "language": "raku", + "primary": "#0000fb", + "githubLanguageColors": "https://github.com/github-linguist/linguist/blob/d456527fe93355baa28c3c29d542c97282b61bc7/lib/linguist/languages.yml", + "sourceDirectory": "assets/raku", + "variants": [ + "library" + ], + "manifestOverrides": { + "files": [ + "site.webmanifest", + "site-dark.webmanifest" + ], + "id": "/", + "start_url": "../../../", + "scope": "../../../", + "display": "browser" + }, + "sourceFiles": [ + { + "file": "library/logo.svg", + "bytes": 5879, + "sha256": "d29de9b0d137e07e41e919a1b4e339b3b4f25830320dd47bb503ac6507cd14cb" + }, + { + "file": "library/logo-16.png", + "bytes": 563, + "sha256": "66dff74ed31f19515d4fe93f7e2a37647c600cf92ecea3902fc3a4a3c4b68545" + }, + { + "file": "library/logo-24.png", + "bytes": 751, + "sha256": "4a7ac0dd1d229e62d9d92930e331db00a762527103b3840a34e638f5e4d0ea79" + }, + { + "file": "library/logo-32.png", + "bytes": 1009, + "sha256": "6ff0537aa942c284f50ece1fae4a244d368280522c0447a86082b55319657807" + }, + { + "file": "library/logo-48.png", + "bytes": 1458, + "sha256": "162feed5b2a715fd7cf830e72d141f972465b48a62ca942d7310739f09335228" + }, + { + "file": "library/logo-64.png", + "bytes": 1887, + "sha256": "23408529a0e37c98f695ffdc1fd407caff307ba1f554bdfeca57ce765392b0f7" + }, + { + "file": "library/logo-96.png", + "bytes": 2725, + "sha256": "6688886c3505b05eb8d0591a058a4ece1920da6a80ddbc84a4a3fa60e026d67b" + }, + { + "file": "library/logo-128.png", + "bytes": 3644, + "sha256": "0fedf8ae7574d25038463e5eb77a1f9587d4ea4fbe36839c68f4074de7b2ed1b" + }, + { + "file": "library/logo-144.png", + "bytes": 4092, + "sha256": "0c8533c0bdac2f4cfedd4741e3a34b51d9116481dc4e640058cff41f6df704ed" + }, + { + "file": "library/logo-152.png", + "bytes": 4241, + "sha256": "2b97c3cc942a8a34db6268164b264f02f5b7030b5870a0a612b24d6b46608a73" + }, + { + "file": "library/logo-167.png", + "bytes": 4680, + "sha256": "8e23cf4bab3145d61abee4da34c26caa6711d9b2993f8b81a39677b52bcb5b4f" + }, + { + "file": "library/logo-180.png", + "bytes": 5176, + "sha256": "41478eed635a47867e9c5e2fd81ad518f56e1aca7dfce45e62b72e1fdba74312" + }, + { + "file": "library/logo-192.png", + "bytes": 5499, + "sha256": "9faaf59f1c1b708418480c346ebd80bbe22425addf1db455b493f1fa0df88196" + }, + { + "file": "library/logo-256.png", + "bytes": 7440, + "sha256": "fde027226f1f7b33dc07f64a5fb660cb5e220dd76e948b4518fc7278874cf3da" + }, + { + "file": "library/logo-384.png", + "bytes": 11534, + "sha256": "03a10bcb4c5e508b407eedcf9136d1d46cde4e7daf86f8243245bad596ce451e" + }, + { + "file": "library/logo-512.png", + "bytes": 15988, + "sha256": "4cb45d5d6f0a33c479795a32a58d3e44a7dd2d2e0c1bbfd1baa975d5e1c50483" + }, + { + "file": "library/logo-1024.png", + "bytes": 36310, + "sha256": "905f7c9f105d85a332b120598b8f59eafe0d2c5da725909a7e1167043f3b1b04" + }, + { + "file": "library/favicon.ico", + "bytes": 22542, + "sha256": "d32346301b8c95f4074c42382eab7d518758b10035225723acbda69ee1022f05" + }, + { + "file": "library/safari-pinned-tab.svg", + "bytes": 5879, + "sha256": "290b7e5f70062386563d6bf4f5768ed6605a618cd3b608354ca600d68616284f" + }, + { + "file": "library/apple-touch-icon-light.png", + "bytes": 3857, + "sha256": "031004f812ad5dad209c82d881fdd8853d3784064425e88726c531cc1881270d" + }, + { + "file": "library/app-icon-1024-light.png", + "bytes": 28394, + "sha256": "86a140bd45afd5c4450bae7f864d60cfd0a25b1d7d3f76a8dd32f110c77546be" + }, + { + "file": "library/maskable-192-light.png", + "bytes": 3084, + "sha256": "2588e7514f9531b86ee2a1826f0833d95c79290c54293ebf6f580303d9b220ea" + }, + { + "file": "library/maskable-512-light.png", + "bytes": 9293, + "sha256": "9cf9371c9ff12256ea235f4b59508294dc0e60488d04634118536879d1f97faa" + }, + { + "file": "library/mstile-150-light.png", + "bytes": 2999, + "sha256": "dcd60dcd8e347e4bae3a649d4104c9caf11f39f2f6b1b06e800ad2eeb77ea43e" + }, + { + "file": "library/mstile-310-light.png", + "bytes": 6525, + "sha256": "18ef095ad71e0d2f320a209d7b1b9d59ed6bf7576b4333b9f0cc2b543c2981d3" + }, + { + "file": "library/opengraph-light.png", + "bytes": 25134, + "sha256": "9ac90c0cbc233162bc71d1de93466736171dc6aac90090466100dc8b54a8fc39" + }, + { + "file": "library/opengraph-light.jpg", + "bytes": 46117, + "sha256": "e27ee0a46b91971d8dd95150b7ecffde754b1aa47c40d7e884aabdc64688ffba" + }, + { + "file": "library/twitter-light.png", + "bytes": 24965, + "sha256": "760d706412948ca09da22cfcdd41884ca6d5b5538cbf1bb391733f6e8e23d7f9" + }, + { + "file": "library/social-square-light.png", + "bytes": 28890, + "sha256": "0e2c83ef136c6f516629e858357db97e3f375b77551dad9eebaab90c0fb9ec71" + }, + { + "file": "library/site.webmanifest", + "bytes": 716, + "sha256": "3bf9f40554b13ee88a31c13c126b1d319bcb5dbb56cf61d2ef2e827074d94dab" + }, + { + "file": "library/browserconfig.xml", + "bytes": 238, + "sha256": "a275b5bf7cf9484884c1fd85f2aaeead64e4eef44785c7390f715bc81c4dbd87" + }, + { + "file": "library/apple-touch-icon-dark.png", + "bytes": 3873, + "sha256": "abb814cf8cd8d691d028d6848fb1c6f62b873511c19febdb22b53086c2fe02f6" + }, + { + "file": "library/app-icon-1024-dark.png", + "bytes": 28683, + "sha256": "5873a255a31c9e94e7fb9077016deecb39c3fe3cbff811eb9e0ef0d4d6d668c8" + }, + { + "file": "library/maskable-192-dark.png", + "bytes": 3114, + "sha256": "02cf7a6a92a5f2f1682b2f3fa1547cd2397003ed17ff27cfdb69f093edc28a81" + }, + { + "file": "library/maskable-512-dark.png", + "bytes": 9375, + "sha256": "42bcd9ff5f1c960c1bb9019eb9d235cb5e49db703fc4361c04d6d22c59037834" + }, + { + "file": "library/mstile-150-dark.png", + "bytes": 3024, + "sha256": "f4b4fabf34865a50077a5e96ded570e095eb66033d0b7e259636f36ac442bf2e" + }, + { + "file": "library/mstile-310-dark.png", + "bytes": 6578, + "sha256": "01be9b8ce61c01349e8f490ebd4c41a95c745d43471358f563b006d89d14d198" + }, + { + "file": "library/opengraph-dark.png", + "bytes": 25396, + "sha256": "660ef6b57a1c45657fad9229d45b132c35d95346063278e1fd4969e8ff5f0a3b" + }, + { + "file": "library/opengraph-dark.jpg", + "bytes": 43791, + "sha256": "cc6971140c97e02ce7f334bc231e1124bc5afa8151023a7260cb76e161a25ff3" + }, + { + "file": "library/twitter-dark.png", + "bytes": 25219, + "sha256": "85b09f4c814224590c2c8bb02037cf3e2ba90b10d46ac972aaac751770bb5b50" + }, + { + "file": "library/social-square-dark.png", + "bytes": 29151, + "sha256": "a9fca634a2ef64b844c7627dddfe9ad790804201ee96dbec54e156a30d9be93c" + }, + { + "file": "library/site-dark.webmanifest", + "bytes": 714, + "sha256": "a95d23a5948ae8702adcf2b737221012f844a7e5215250bb813b87fbd2476e0e" + }, + { + "file": "library/browserconfig-dark.xml", + "bytes": 236, + "sha256": "1fa4e33a8b34b8f169bcc71d3246f5c398412645aa19fb05c638a43b75ae13bf" + }, + { + "file": "library/github-social-dark.png", + "bytes": 25777, + "sha256": "2af6f52eeddd561bce31d795ec2e5fb2444e214360ab3830bd0b1cac981dc1fc" + }, + { + "file": "library/github-social-light.png", + "bytes": 25516, + "sha256": "c348d034527fddae0735ce160632af604bb0c24298a1152067c9125f707b7328" + } + ] +} diff --git a/site/src/lib/brand-palettes.json b/site/src/lib/brand-palettes.json index 641837fff..3dd854481 100644 --- a/site/src/lib/brand-palettes.json +++ b/site/src/lib/brand-palettes.json @@ -570,5 +570,31 @@ "solid": "#1c523f", "onSolid": "#ffffff" } + }, + "raku": { + "name": "Raku", + "color": "#0000fb", + "light": { + "background": "#fafbfc", + "surface": "#f3f5f7", + "hover": "#e9edf1", + "border": "#d6dce3", + "text": "#202830", + "muted": "#53606d", + "link": "#0000b0", + "solid": "#0000b0", + "onSolid": "#ffffff" + }, + "dark": { + "background": "#15191d", + "surface": "#1c2229", + "hover": "#29323d", + "border": "#3e4a57", + "text": "#e7edf3", + "muted": "#b7c1cd", + "link": "#8c8cfd", + "solid": "#0000b0", + "onSolid": "#ffffff" + } } } diff --git a/site/src/styles/brand.css b/site/src/styles/brand.css index 6b3612828..1313e3942 100644 --- a/site/src/styles/brand.css +++ b/site/src/styles/brand.css @@ -2749,3 +2749,128 @@ html[data-brand="lisp"][data-theme-mode="dark"], html[data-brand="lisp"][data-th --lt-color-code-bg: #1c2229; } } +html[data-brand="raku"] { + color-scheme: light; + --brand-color: #0000fb; + --brand-solid: #0000b0; + --brand-on-solid: #ffffff; + --button-bg-primary: #0000b0; + --button-text-primary: #ffffff; + --theme-primary: #0000b0; + --theme-secondary: #53606d; + --theme-accent: #0000b0; + --theme-background: #fafbfc; + --theme-text: #202830; + --background-color: #fafbfc; + --text-color: #202830; + --topnav-background: #fafbfc; + --topnav-text-color: #202830; + --topnav-link-color: #53606d; + --topnav-link-hover-color: #202830; + --color-background-primary: #fafbfc; + --color-background-secondary: #f3f5f7; + --color-background-border: #d6dce3; + --color-api-background-hover: #e9edf1; + --color-foreground-primary: #202830; + --color-foreground-secondary: #53606d; + --color-foreground-muted: #53606d; + --color-link: #0000b0; + --color-brand-primary: #0000b0; + --color-brand-content: #0000b0; + --color-inline-code-background: #f3f5f7; + --lt-color-bg: #fafbfc; + --lt-color-bg-secondary: #f3f5f7; + --lt-color-bg-hover: #e9edf1; + --lt-color-fg: #202830; + --lt-color-fg-secondary: #53606d; + --lt-color-fg-muted: #53606d; + --lt-color-border: #d6dce3; + --lt-color-accent: #0000b0; + --lt-color-link: #0000b0; + --lt-color-link-visited: #0000b0; + --lt-color-code-bg: #f3f5f7; +} +html[data-brand="raku"][data-theme-mode="dark"], html[data-brand="raku"][data-theme="dark"] { + color-scheme: dark; + --brand-color: #0000fb; + --brand-solid: #0000b0; + --brand-on-solid: #ffffff; + --button-bg-primary: #0000b0; + --button-text-primary: #ffffff; + --theme-primary: #8c8cfd; + --theme-secondary: #b7c1cd; + --theme-accent: #8c8cfd; + --theme-background: #15191d; + --theme-text: #e7edf3; + --background-color: #15191d; + --text-color: #e7edf3; + --topnav-background: #15191d; + --topnav-text-color: #e7edf3; + --topnav-link-color: #b7c1cd; + --topnav-link-hover-color: #e7edf3; + --color-background-primary: #15191d; + --color-background-secondary: #1c2229; + --color-background-border: #3e4a57; + --color-api-background-hover: #29323d; + --color-foreground-primary: #e7edf3; + --color-foreground-secondary: #b7c1cd; + --color-foreground-muted: #b7c1cd; + --color-link: #8c8cfd; + --color-brand-primary: #8c8cfd; + --color-brand-content: #8c8cfd; + --color-inline-code-background: #1c2229; + --lt-color-bg: #15191d; + --lt-color-bg-secondary: #1c2229; + --lt-color-bg-hover: #29323d; + --lt-color-fg: #e7edf3; + --lt-color-fg-secondary: #b7c1cd; + --lt-color-fg-muted: #b7c1cd; + --lt-color-border: #3e4a57; + --lt-color-accent: #8c8cfd; + --lt-color-link: #8c8cfd; + --lt-color-link-visited: #8c8cfd; + --lt-color-code-bg: #1c2229; +} +@media (prefers-color-scheme: dark) { + html[data-brand="raku"]:not([data-theme-mode]):not([data-theme="light"]) { + color-scheme: dark; + --brand-color: #0000fb; + --brand-solid: #0000b0; + --brand-on-solid: #ffffff; + --button-bg-primary: #0000b0; + --button-text-primary: #ffffff; + --theme-primary: #8c8cfd; + --theme-secondary: #b7c1cd; + --theme-accent: #8c8cfd; + --theme-background: #15191d; + --theme-text: #e7edf3; + --background-color: #15191d; + --text-color: #e7edf3; + --topnav-background: #15191d; + --topnav-text-color: #e7edf3; + --topnav-link-color: #b7c1cd; + --topnav-link-hover-color: #e7edf3; + --color-background-primary: #15191d; + --color-background-secondary: #1c2229; + --color-background-border: #3e4a57; + --color-api-background-hover: #29323d; + --color-foreground-primary: #e7edf3; + --color-foreground-secondary: #b7c1cd; + --color-foreground-muted: #b7c1cd; + --color-link: #8c8cfd; + --color-brand-primary: #8c8cfd; + --color-brand-content: #8c8cfd; + --color-inline-code-background: #1c2229; + --lt-color-bg: #15191d; + --lt-color-bg-secondary: #1c2229; + --lt-color-bg-hover: #29323d; + --lt-color-fg: #e7edf3; + --lt-color-fg-secondary: #b7c1cd; + --lt-color-fg-muted: #b7c1cd; + --lt-color-border: #3e4a57; + --lt-color-accent: #8c8cfd; + --lt-color-link: #8c8cfd; + --lt-color-link-visited: #8c8cfd; + --lt-color-code-bg: #1c2229; + } +} diff --git a/site/test/branding.test.ts b/site/test/branding.test.ts index 2450ea43e..f6ac66877 100644 --- a/site/test/branding.test.ts +++ b/site/test/branding.test.ts @@ -33,6 +33,7 @@ describe('route branding', () => { csharp: 'libtmux-dotnet: C#-based tmux client', fsharp: 'libtmux-fsharp: F#-based tmux client', cxx: 'libtmux-cxx: C++-based tmux client', swift: 'libtmux-swift: Swift-based tmux client', ocaml: 'libtmux-ocaml: OCaml-based tmux client', + raku: 'libtmux-raku: Raku-based tmux client', }) expect(portTagline(PORTS.find((port) => port.slug === 'rs')!)).toBe('Rust-based tmux client') // The home title carries no ` | project` suffix, for Julia's differing project name too. @@ -54,6 +55,7 @@ describe('route branding', () => { scala: 'libtmux-scala', csharp: 'libtmux-dotnet', fsharp: 'libtmux-fsharp', cxx: 'libtmux-cxx', swift: 'libtmux-swift', clojure: 'libtmux-clojure', ocaml: 'libtmux-ocaml', + raku: 'libtmux-raku', } expect(Object.fromEntries(PORTS.map((port) => [port.slug, branding(port.slug).projectName]))).toEqual(names) expect(branding('java', 'reference/libtmux-scala-cats').projectName).toBe('libtmux-scala') From 386e669a111f0b6c65bb888ca4e1a69c8f55d0e6 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:45:33 -0600 Subject: [PATCH 09/41] raku(feat[docs]) Stage the Raku guides from the library repository why: The Raku repository owns its installation guide, example programs and compatibility policy as Markdown. The site should publish those at the revision of the model rather than keep a second copy. what: - Stage README.md as Getting started, examples/README.md as Runnable programs and the tmux compatibility ADR as a topic, from 9a9838047f15 - Add the Core page with cards for the staged sections and the reference, and state the experimental status and the absence of a workspace manager or MCP server - Route a selected-source Raku build through the same native model and guide steps as the other native ports - Cover the Raku product exclusions and the single-card guide index --- scripts/build-site.sh | 3 +- .../src/content/docs/ports/raku/core/index.md | 28 +++++++++++++++++++ site/src/data/port-guides/raku.json | 20 +++++++++++++ site/src/lib/port-documentation.ts | 15 ++++++++++ site/test/product-exclusion.test.ts | 6 ++-- site/test/stage-port-docs.test.ts | 1 + 6 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 site/src/content/docs/ports/raku/core/index.md create mode 100644 site/src/data/port-guides/raku.json diff --git a/scripts/build-site.sh b/scripts/build-site.sh index d60c9f859..5b5ed4a3b 100755 --- a/scripts/build-site.sh +++ b/scripts/build-site.sh @@ -303,7 +303,8 @@ if [ -n "${LIBTMUX_DOCS_PORT:-}" ] && { [ "$LIBTMUX_DOCS_PORT" = ruby ] || [ "$L node "$script_dir/gen-api-model.mjs" --port "$LIBTMUX_DOCS_PORT" node "$script_dir/stage-port-docs.mjs" --port "$LIBTMUX_DOCS_PORT" elif [ -n "${LIBTMUX_DOCS_SOURCE_SHA:-}" ] && { [ "$LIBTMUX_DOCS_PORT" = powershell ] || [ "$LIBTMUX_DOCS_PORT" = julia ] || - [ "$LIBTMUX_DOCS_PORT" = elixir ] || [ "$LIBTMUX_DOCS_PORT" = ocaml ] || [ "$LIBTMUX_DOCS_PORT" = haskell ] || [ "$LIBTMUX_DOCS_PORT" = perl ] || [ "$LIBTMUX_DOCS_PORT" = lisp ] || [ "$LIBTMUX_DOCS_PORT" = erlang ]; }; then + [ "$LIBTMUX_DOCS_PORT" = elixir ] || [ "$LIBTMUX_DOCS_PORT" = ocaml ] || [ "$LIBTMUX_DOCS_PORT" = haskell ] || [ "$LIBTMUX_DOCS_PORT" = perl ] || [ "$LIBTMUX_DOCS_PORT" = lisp ] || [ "$LIBTMUX_DOCS_PORT" = erlang ] || + [ "$LIBTMUX_DOCS_PORT" = raku ]; }; then node "$script_dir/gen-api-model.mjs" --port "$LIBTMUX_DOCS_PORT" node "$script_dir/stage-port-docs.mjs" --port "$LIBTMUX_DOCS_PORT" --from-source node "$script_dir/gen-api-model.mjs" --port "$LIBTMUX_DOCS_PORT" --nav diff --git a/site/src/content/docs/ports/raku/core/index.md b/site/src/content/docs/ports/raku/core/index.md new file mode 100644 index 000000000..059aca237 --- /dev/null +++ b/site/src/content/docs/ports/raku/core/index.md @@ -0,0 +1,28 @@ +--- +port: raku +route: core +title: tmux client library for Raku +description: "tmux client library for Raku. Control tmux, connect to and create servers, navigate sessions, windows, and panes, send keys, capture pane contents" +cards: + - label: Getting started + href: ../guides/getting-started/ + body: Install LibTmux, create and split panes, and find them through typed snapshots. + - label: Examples + href: ../examples/programs/ + body: Run six complete programs against private tmux servers and compare their output. + - label: tmux compatibility + href: ../topics/compatibility/ + body: Check the supported tmux releases and how the library handles newer ones. + - label: API reference + href: ../reference/ + body: Native signatures, RakuDoc and links for every public module, class and method. +--- + +LibTmux gives Raku programs typed snapshots of a tmux server, ordinary +predicates over them, and explicit commands that change tmux. Reading a +snapshot makes no further tmux calls; an operation through a reference does. + +The distribution `LibTmux:auth` is published on Raku Land. Its API +is experimental and may change between `0.x` releases. CI qualifies Rakudo +2026.09 on Linux with tmux 3.3a and 3.8; other platforms and compiler versions +are unverified. The library has no workspace manager or MCP server. diff --git a/site/src/data/port-guides/raku.json b/site/src/data/port-guides/raku.json new file mode 100644 index 000000000..411326f17 --- /dev/null +++ b/site/src/data/port-guides/raku.json @@ -0,0 +1,20 @@ +{ + "source": { + "repository": "libtmux/libtmux-raku", + "revision": "9a9838047f1585c2c790b011cb708670999b7bdd" + }, + "guides": [ + { + "path": "README.md", + "content": "\n
\n \n \n \"libtmux\n \n
\n\n\n
\n\n# libtmux for Raku\n\n
\n\nLibTmux controls tmux from Raku: create sessions and panes, find them through\ntyped snapshots, send input, and react to terminal output. Use ordinary Raku\npredicates and collections alongside validated query data and explicit commands.\n\n## Install\n\nRequires Linux, Raku 6.d and tmux 3.3a through 3.8. Install the published package\nfrom [Raku Land](https://raku.land/zef:libtmux/LibTmux) with its Fez authority:\n\n```console\n$ zef install 'LibTmux:auth'\n```\n\nThe API is experimental and may change between `0.x` releases. CI qualifies\nRakudo 2026.09 on Linux with tmux 3.3a and 3.8; other platforms and compiler\nversions are unverified. See the [changelog][repo-changelog-md] for release history.\nThe [toolchain guide][repo-github-contributing-md-toolchain] covers Raku and zef setup.\nTo install a checkout instead:\n\n```console\n$ zef install .\n```\n\n## Create sessions and panes\n\n### [`Server.start`][api-server-start] and [`PaneRef.split`][api-pane-split]: create and arrange panes\n\nCreate a private tmux session named `work`, split its first pane, and set\nthe pane titles to `editor` and `logs`. Both panes run `cat` as an echo process.\nThis is the complete [quickstart program][repo-examples-quickstart-raku]. `LEAVE`\ncloses the owned server when the program exits, including on an exception.\n\n\n\n```raku\nuse LibTmux;\n\nmy $server = Server.start(:name, :shell-command('exec cat'));\nLEAVE $server.close if $server.defined;\n\nmy $before = $server.snapshot;\nmy $left = $before.panes.single.ref;\nmy $right = $left.split(:horizontal, :shell-command('exec cat'));\n$left.set-title('editor');\n$right.set-title('logs');\n\nmy $after = $server.snapshot;\nmy $editor = $after.panes.filter(*.title eq 'editor').single;\nsay \"{$editor.title}: {$after.panes.elems} panes\";\n```\n\nIt prints `editor: 2 panes`. The earlier snapshot still contains one\npane: commands through `.ref` change tmux, while snapshots retain the state they\ncaptured. Reading a snapshot or following its relationships makes no further\ntmux calls.\n\nRun it from the checkout with a supported tmux executable on `PATH`:\n\n```console\n$ raku -I. examples/quickstart.raku\n```\n\n## Query captured panes\n\n### [`PaneSelection.where`][api-pane-selection-where]: select panes from a snapshot\n\nCreate panes titled `editor`, `tests`, and `logs`. Select wide panes with query\ndata, then use a Raku predicate to find `editor`. The complete\n[query program][repo-examples-query-panes-raku] also uses native `.grep`, `.map` and\n`.sort` to list the other panes.\n\n\n\n```raku\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(160), :height(40), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $editor = $server.snapshot.panes.single.ref;\n my $tests = $editor.split(:horizontal, :shell-command('exec cat'));\n my $logs = $tests.split(:shell-command('exec cat'));\n $editor.set-title('editor');\n $tests.set-title('tests');\n $logs.set-title('logs');\n\n my $snapshot = $server.snapshot;\n my @wide := $snapshot.panes.where(%(width => %(gte => 60)));\n my $selected = @wide.filter(*.title eq 'editor').single;\n say \"Wide pane: {$selected.title}\";\n\n my @others = $snapshot.panes.grep(*.id ne $selected.id).map(*.title).sort;\n say 'Other panes: ' ~ @others.join(', ');\n}\n```\n\nIt prints `Wide pane: editor` and\n`Other panes: logs, tests`.\n\nBinding with `:=` retains the typed selection. [`where`][api-pane-selection-where]\nvalidates query fields and operators; [`filter`][api-pane-selection-filter]\nreturns another selection of the same entity type.\nNative `.grep` returns a `Seq`, and `.map` can produce ordinary strings.\n`.single` requires exactly one result; `.single-or-nil` permits no result.\nRaku's `.one` keeps its junction meaning.\n\nFor live acquisition, [`query-panes(:where(%criteria))`][api-server-query-panes]\nreturns a fresh selection. [`explain-panes`][api-server-explain-panes] shows\nwhich restrictions run in tmux and which remain local.\nSee the [native query guide][repo-lib-libtmux-rakumod] for\nrelations, portable filters and source execution.\n\n## Adapt to the running daemon\n\n### [`Capabilities.supports`][api-capabilities-supports]: choose a supported operation\n\nCreate an empty `status` pane as a floating pane when supported, with a tiled\nsplit as the fallback. The [capability example][repo-examples-floating-panes-raku]\nasks the captured daemon capabilities before choosing an operation.\n\n\n\n```raku\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(120), :height(36), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $snapshot = $server.snapshot;\n my $main = $snapshot.panes.single.ref;\n my $floating = $snapshot.capabilities.supports('pane-floating');\n my $auxiliary = $floating\n ?? $main.new-floating(:width(40), :height(12), :x(2), :y(2), :empty)\n !! $main.split(:horizontal, :empty);\n $auxiliary.set-title('status');\n\n my $after = $server.snapshot;\n die 'The auxiliary pane was not captured' unless $after.panes.elems == 2;\n say 'Status pane: ' ~ ($floating ?? 'floating' !! 'tiled');\n say $after.panes.where(%(id => $auxiliary.id)).single.title;\n}\n```\n\nIt prints `Status pane: floating` or `Status pane: tiled`,\nfollowed by `status`. A newer client executable does not upgrade an\nolder daemon. Unknown releases are refused conservatively. The\n[compatibility policy][repo-docs-adr-0001-tmux-compatibility-md] describes support;\nthe [field and capability reference][repo-docs-reference-catalogue-rakudoc] lists\nfeature requirements and unavailable values.\n\n## Watch pane output\n\n### [`ControlConnection.events`][api-connection-events]: receive output through a `Supply`\n\nAsynchronous operations return `Promise` values. A control connection exposes\nevents through a shared `Supply`; native `react` and `whenever` consume them.\n[`Server.open-control-async`][api-server-open-control-async] opens the connection.\nThis complete [output watcher][repo-examples-watch-output-raku] subscribes before\nsending text to `cat`, waits for the echoed bytes, then checks the captured screen.\n\n\n\n```raku\nuse v6.d;\nuse LibTmux;\nuse LibTmux::Control;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name, :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $snapshot = await $server.snapshot-async;\n my $pane = $snapshot.panes.single.ref;\n my $connection = await $server.open-control-async(:session-id($snapshot.sessions.single.id));\n LEAVE $connection.close if $connection.defined;\n\n my $message = 'hello from Raku';\n my $received = '';\n react {\n whenever $connection.events.grep(PaneOutput) -> $event {\n if $event.pane-id eq $pane.id {\n $received ~= $event.data.decode('utf8-c8');\n die 'Pane output exceeded its bound' if $received.chars > 65536;\n done if $received.contains($message);\n }\n }\n whenever start { $pane.send-text($message); $pane.send-keys('Enter') } { }\n whenever Promise.in(2) { die 'Pane output timed out' }\n }\n\n die 'The captured screen did not contain the message'\n unless $pane.capture.decode('utf8').contains($message);\n say $message;\n say 'Screen capture confirmed';\n}\n```\n\nIt prints `hello from Raku` and `Screen capture confirmed`.\nThe deadline bounds the wait; output events supply the completion evidence.\n`send-text` sends literal text, and `send-keys('Enter')` submits it separately.\nPane output arrives as bytes so fragmented or invalid UTF-8 remains available.\n\nThe longer [session workflow program][repo-examples-session-workflow-raku] combines pane\ncreation, output observation, capture, local queries and an explained source\nquery in one lifecycle.\n\n## Recover after a batch fails\n\n### [`Server.run-batch`][api-server-run-batch]: inspect partial completion\n\nA batch records each operation's outcome. The\n[recovery program][repo-examples-batch-recovery-raku] produces `Complete`, `Failed`\nand `Skipped`, verifies that the first effect remains, then removes that effect\nexplicitly. Command acknowledgement alone does not establish application\ncompletion, and a failed batch does not roll back earlier commands.\n\n```console\n$ raku -I. examples/batch-recovery.raku\n```\n\nThe [examples guide][repo-examples-readme-md] gives the commands, expected results and\ncleanup behavior for every complete program.\n\n## Ownership and documentation\n\n### [`Server.close`][api-server-close]: close an owned daemon\n\n[`Server.start`][api-server-start] creates and owns a daemon on a private socket.\n[`Server.new`][api-server-new] configures a borrowed endpoint; closing it leaves\nthat daemon running. Close both explicitly. Control connections and terminal\nattachments have their own lifetimes and also need closing. References are\nscoped to the observed daemon incarnation and refuse a replacement daemon.\n\nAPI links open the native declarations and their RakuDoc comments.\n\n- [Native API guide][repo-lib-libtmux-rakumod]: the object graph, queries,\n capabilities, async execution, control events and recovery.\n- [Examples][repo-examples-readme-md]: complete Raku programs with checked results.\n- [Contributing][repo-github-contributing-md]: compiler setup and validation.\n- [API documentation authoring][repo-docs-documentation-rakudoc] and\n [writing conventions][repo-github-writing-md].\n- [MIT license][repo-license] and [artwork provenance][repo-docs-assets-readme-md].\n\n[api-capabilities-supports]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Capabilities.rakumod#L126\n[api-connection-events]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Control/Connection.rakumod#L147\n[api-pane-selection-filter]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Selection.rakumod#L68\n[api-pane-selection-where]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Selection.rakumod#L78\n[api-pane-split]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Model.rakumod#L279\n[api-server-close]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Server.rakumod#L685\n[api-server-explain-panes]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Server.rakumod#L432\n[api-server-new]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Server.rakumod#L290\n[api-server-open-control-async]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Server.rakumod#L579\n[api-server-query-panes]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Server.rakumod#L430\n[api-server-run-batch]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Server.rakumod#L608\n[api-server-start]: https://github.com/libtmux/libtmux-raku/blob/f543ca5de32e04445f4d6e29c66e5dba94ac9a63/lib/LibTmux/Server.rakumod#L622\n[repo-changelog-md]: https://github.com/libtmux/libtmux-raku/blob/master/CHANGELOG.md\n[repo-docs-adr-0001-tmux-compatibility-md]: https://github.com/libtmux/libtmux-raku/blob/master/docs/adr/0001-tmux-compatibility.md\n[repo-docs-assets-readme-md]: https://github.com/libtmux/libtmux-raku/blob/master/docs/assets/README.md\n[repo-docs-documentation-rakudoc]: https://github.com/libtmux/libtmux-raku/blob/master/docs/documentation.rakudoc\n[repo-docs-reference-catalogue-rakudoc]: https://github.com/libtmux/libtmux-raku/blob/master/docs/reference/catalogue.rakudoc\n[repo-examples-batch-recovery-raku]: https://github.com/libtmux/libtmux-raku/blob/master/examples/batch-recovery.raku\n[repo-examples-floating-panes-raku]: https://github.com/libtmux/libtmux-raku/blob/master/examples/floating-panes.raku\n[repo-examples-query-panes-raku]: https://github.com/libtmux/libtmux-raku/blob/master/examples/query-panes.raku\n[repo-examples-quickstart-raku]: https://github.com/libtmux/libtmux-raku/blob/master/examples/quickstart.raku\n[repo-examples-readme-md]: https://github.com/libtmux/libtmux-raku/blob/master/examples/README.md\n[repo-examples-session-workflow-raku]: https://github.com/libtmux/libtmux-raku/blob/master/examples/session-workflow.raku\n[repo-examples-watch-output-raku]: https://github.com/libtmux/libtmux-raku/blob/master/examples/watch-output.raku\n[repo-github-contributing-md]: https://github.com/libtmux/libtmux-raku/blob/master/.github/CONTRIBUTING.md\n[repo-github-contributing-md-toolchain]: https://github.com/libtmux/libtmux-raku/blob/master/.github/CONTRIBUTING.md#toolchain\n[repo-github-writing-md]: https://github.com/libtmux/libtmux-raku/blob/master/.github/WRITING.md\n[repo-lib-libtmux-rakumod]: https://github.com/libtmux/libtmux-raku/blob/master/lib/LibTmux.rakumod\n[repo-license]: https://github.com/libtmux/libtmux-raku/blob/master/LICENSE\n" + }, + { + "path": "examples/README.md", + "content": "\n
\n \n \n \"libtmux\n \n
\n\n\n
\n\n# libtmux Raku examples\n\n
\n\nCreate sessions, split panes, watch terminal output, and recover a failed command.\nThese complete Raku programs use [LibTmux](../README.md) to own private tmux\nservers. Each closes its clients and daemon when it exits.\n\nRun commands from the repository root after the\n[toolchain setup](../.github/CONTRIBUTING.md#toolchain), with a supported tmux\nexecutable on `PATH`:\n\n```console\n$ zef install .\n```\n\n| Task | Program | Raku facilities |\n| --- | --- | --- |\n| Create and find panes | [Quickstart](quickstart.raku) | Objects, `LEAVE`, a native predicate |\n| Select wide panes | [Pane queries](query-panes.raku) | Typed selections, query hashes, `grep`, `map`, `sort` |\n| Add a status pane | [Floating panes](floating-panes.raku) | Capability checks and a tiled fallback |\n| Watch pane output | [Watch output](watch-output.raku) | `Promise`, `Supply`, `react`, `whenever` |\n| Combine the workflow | [Session workflow](session-workflow.raku) | Events, captured graphs and query plans |\n| Recover after a command fails | [Batch recovery](batch-recovery.raku) | Typed outcomes and explicit recovery |\n\n## Create and find panes\n\nThe [quickstart](quickstart.raku) is the complete first program in the root\nREADME. It creates two panes, sets their titles, and finds the editor pane through\na fresh snapshot. The earlier snapshot retains one pane.\n\n```console\n$ raku -I. examples/quickstart.raku\n```\n\nIt prints `editor: 2 panes`.\n\n## Select wide panes\n\nThe [pane query program](query-panes.raku) creates panes titled `editor`,\n`tests`, and `logs`. `.where` selects the wide panes, `.filter` finds\n`editor`, and `.single` checks cardinality. Native `.grep`, `.map` and `.sort`\nproduce the remaining pane names as ordinary Raku values.\n\n```console\n$ raku -I. examples/query-panes.raku\n```\n\nIt prints `Wide pane: editor` and\n`Other panes: logs, tests`.\n\nUse `:=` when binding a typed selection to an array variable. Assignment with\n`=` materializes ordinary array membership. Repeated traversal reads the\ncaptured members; it does not refresh tmux.\n\n## Add a status pane\n\nThe [floating-pane program](floating-panes.raku) creates an empty `status`\npane. It checks the daemon's `pane-floating` capability, chooses a floating pane\nwhen available, and otherwise splits the tiled window.\n\n```console\n$ raku -I. examples/floating-panes.raku\n```\n\nIt prints the selected placement, then `status`. The empty display\nhas no child process on profiles that report an absent PID; the pane still\nbelongs to the captured graph. Consult capabilities before offering an\noperation to a user.\n\n## Watch pane output\n\nThe [output watcher](watch-output.raku) awaits asynchronous snapshot and control\nconnection operations, subscribes to pane-output events, and sends text to\n`cat` as an echo process.\n`react` and `whenever` collect fragmented bytes until the complete message\narrives. It then checks the captured screen.\n\n```console\n$ raku -I. examples/watch-output.raku\n```\n\nIt prints `hello from Raku` and `Screen capture confirmed`.\nThe deadline bounds the wait. Multiple event subscribers share the same owned\nconnection. Sending text and pressing Enter are separate operations.\n\n## Run the complete session workflow\n\nThe [session workflow](session-workflow.raku) combines pane creation, literal input,\ncontrol-mode observation and screen capture. It filters a snapshot with query\ndata and a Raku predicate, then compares an exact source query with the captured\npane. Its query plan shows where evaluation takes place.\n\n```console\n$ raku -I. examples/session-workflow.raku\n```\n\nThe output includes `Session: 2 panes`,\n`editor: hello from Raku`, and\n`Owned clients, daemon and socket cleaned up`.\n\n## Recover after a command fails\n\nThe [batch recovery example](batch-recovery.raku) sets an option, sends an\ninvalid command, and checks that the following command was skipped. It verifies\nthe first effect and removes it explicitly.\n\n```console\n$ raku -I. examples/batch-recovery.raku\n```\n\nIt reports `Complete`, `Failed` and `Skipped` outcomes, followed by\n`Recovery: removed the first effect explicitly` and\n`Owned daemon and socket cleaned up`. A failed batch does not undo commands\nthat already succeeded.\n\n## Select a tmux executable\n\nEvery program except the minimal quickstart accepts `--tmux`. For that\nquickstart, select the supported binary through `PATH`. The repository's\n[example check](../tools/check-examples.raku) selects `LIBTMUX_TEST_TMUX` through\na private temporary `PATH`, checks displayed source against these files, runs\nall programs, checks their results, and rejects leftover owned socket\ndirectories. See [Contributing](../.github/CONTRIBUTING.md#checks) for validation.\n" + }, + { + "path": "docs/adr/0001-tmux-compatibility.md", + "content": "# tmux compatibility\n\nStatus: accepted.\n\n## Decision\n\nSupport Linux and the declared stable tmux releases from 3.3a through 3.8.\nUse the daemon's version and observed capabilities when selecting commands,\nfields, codecs and layouts. A newer client executable does not upgrade the\ndaemon. Unknown and vendor releases require an explicit support decision.\n\nKeep release profiles in [LibTmux::Catalogue](../../lib/LibTmux/Catalogue.rakumod).\nEach profile names its upstream commit. The oldest and newest profiles define\nthe required live CI jobs; intermediate releases retain pure compatibility\nfixtures. Feature boundaries and known defects belong in the field catalogue.\n\n## Rationale\n\nRuntime checks and CI must agree on supported releases. Typed release records\nprovide one source for both without a separate configuration format. CI verifies\nthe fetched tag against the pinned commit; it does not need a second inventory\nof individual source-file hashes.\n\nAdding a supported release requires reviewing its feature and defect policies,\nupdating its profile, and passing the relevant fixtures and endpoint tests.\n" + } + ] +} diff --git a/site/src/lib/port-documentation.ts b/site/src/lib/port-documentation.ts index c522d18eb..e072cb9f4 100644 --- a/site/src/lib/port-documentation.ts +++ b/site/src/lib/port-documentation.ts @@ -442,6 +442,21 @@ const PORT_DOCUMENTATION: Readonly> = { ], redirects: [{ path: 'mcp', target: '' }, { path: 'workspace', target: '' }], }, + raku: { + domains: [ + libraryDomain('Typed tmux snapshots, local selections and explicit commands for Raku programs.'), + ], + sections: { + guides: 'Install LibTmux and create, find and arrange tmux sessions and panes.', + examples: 'Run complete Raku programs with their documented results and cleanup.', + topics: 'Check which tmux releases and platforms the library supports.', + }, + sourceGuides: [ + guide('README.md', 'guides/getting-started', 'core', { title: 'Getting started', aliases: [], sidebar: { group: 'Guides', order: 1 } }), + guide('examples/README.md', 'examples/programs', 'core', { title: 'Runnable programs', description: 'Run the checked Raku programs and compare each with its expected result.', aliases: [] }), + guide('docs/adr/0001-tmux-compatibility.md', 'topics/compatibility', 'core', { title: 'tmux compatibility', aliases: [] }), + ], + }, } export const SOURCE_GUIDE_PORTS = Object.keys(PORT_DOCUMENTATION) diff --git a/site/test/product-exclusion.test.ts b/site/test/product-exclusion.test.ts index 9b0a77cbc..3f8ad96d5 100644 --- a/site/test/product-exclusion.test.ts +++ b/site/test/product-exclusion.test.ts @@ -13,8 +13,10 @@ import { DOC_PRODUCTS, PORT_BY_SLUG, PORTS, productAvailable, productExcluded, t * through `parentLibrary`. */ const WITHOUT: Record = { - mcp: ['lua', 'powershell', 'erlang', 'elixir', 'haskell', 'lisp', 'ocaml', 'perl'], - workspace: ['lua', 'elixir', 'haskell', 'erlang'], + mcp: ['lua', 'powershell', 'erlang', 'elixir', 'haskell', 'lisp', 'ocaml', 'perl', + 'raku'], + workspace: ['lua', 'elixir', 'haskell', 'erlang', + 'raku'], } /** Product roots that were public before their port stopped claiming the product. */ diff --git a/site/test/stage-port-docs.test.ts b/site/test/stage-port-docs.test.ts index dda164d29..bee3bb3fb 100644 --- a/site/test/stage-port-docs.test.ts +++ b/site/test/stage-port-docs.test.ts @@ -257,6 +257,7 @@ describe('staged port guide links', () => { ]) else if (port === 'clojure') expect(cards[1].label).toBe('Captures, effects and streams') else if (port === 'perl' || port === 'erlang') expect(cards[1].label).toBe('Installation') + else if (port === 'raku') expect(cards.map((card: { label: string }) => card.label)).toEqual(['Getting started']) else if (port !== 'ocaml') expect(cards[1].label).toBe('Attaching to tmux') if (port === 'perl') { const example = files.get('perl/examples/orchestration/index.md')! From 26b1e73ee40747a1e359bc69dd63467494aa404e Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:36:38 -0600 Subject: [PATCH 10/41] erlang(feat[hex]) Link and install libtmux_erlang from Hex why: libtmux_erlang 0.0.1 reached Hex on 2026-11-13 (CST); its metadata links libtmux.org and the v0.0.1 tag carries the documented source. The site still said the application was unreleased and offered only a Git install. Hex carries no HexDocs for the package (docs_html_url is null and hexdocs.pm answers 404 for it), so only the package page is linked. what: - Name Hex as the Erlang registry and link the package page from the library entry and header - Offer the Hex release first, pinned exactly as the package README does, and keep git_subdir as the explicit Git tab - Make installsFor fill both the version and the revision, so a registry tab and a source tab can share a port - Drop the Elixir-syntax pin advice from the Erlang page, whose install already pins an exact version - Record the Erlang entry from gen-registry.mjs (release 0.0.1, tag v0.0.1) and a verified Hex evidence record - Remove the unreleased claims and update the header, destination and port-links fixtures - Test the registry, install forms, rendered page and evidence, and that no HexDocs reference is linked --- site/src/components/CoreHome.astro | 3 +- site/src/data/destination-evidence.json | 23 +++++++++ site/src/data/registry.json | 16 +++---- site/src/lib/port-inventory.ts | 10 +++- site/src/lib/ports.ts | 21 ++++++--- site/src/lib/registry.ts | 10 ++-- site/test/fixtures/header-links.ts | 4 +- site/test/fixtures/port-destinations.ts | 1 + site/test/fixtures/port-links.json | 10 ++-- site/test/package-destinations.test.ts | 63 ++++++++++++++++++++++++- 10 files changed, 133 insertions(+), 28 deletions(-) diff --git a/site/src/components/CoreHome.astro b/site/src/components/CoreHome.astro index 30b0f52cb..23083f588 100644 --- a/site/src/components/CoreHome.astro +++ b/site/src/components/CoreHome.astro @@ -46,7 +46,8 @@ const PINS: Record `{:${name}, "~> ${v}"}` }, nuget: { lang: 'xml', code: (name, s, v) => `` }, } -const pin = series && info.slug !== 'py' && info.registry ? PINS[info.registry.icon] : undefined +// Erlang's install already pins an exact version, and its Hex entry is not an Elixir tuple. +const pin = series && info.slug !== 'py' && info.slug !== 'erlang' && info.registry ? PINS[info.registry.icon] : undefined const capabilityOf = (key: string) => [...home.capabilities.typed, ...home.capabilities.cli].find((row) => row.key === key) const location = capabilityOf('current-pane') const testing = capabilityOf('test-fixtures') diff --git a/site/src/data/destination-evidence.json b/site/src/data/destination-evidence.json index ee42b418a..ee5f75260 100644 --- a/site/src/data/destination-evidence.json +++ b/site/src/data/destination-evidence.json @@ -4951,6 +4951,29 @@ "elixir:libtmux" ] }, + { + "url": "https://hex.pm/packages/libtmux_erlang", + "kinds": [ + "package" + ], + "host": "hex", + "ok": true, + "status": 200, + "requested": "https://hex.pm/packages/libtmux_erlang", + "identity": "libtmux_erlang", + "version": "0.0.1", + "repository": "libtmux/libtmux-erlang", + "versionChecks": [ + { + "check": "unsupported", + "note": "the pinned manifest (libtmux/libtmux-erlang:apps/libtmux_erlang/src/libtmux_erlang.app.src) declares a development placeholder, which names no release" + } + ], + "checkedAt": "2026-11-14", + "entries": [ + "erlang:libtmux_erlang" + ] + }, { "url": "https://hex.pm/packages/libtmux_mcp", "kinds": [ diff --git a/site/src/data/registry.json b/site/src/data/registry.json index b5b4e9fcb..f0d172b32 100644 --- a/site/src/data/registry.json +++ b/site/src/data/registry.json @@ -93,16 +93,16 @@ "tag": "v0.1.1-alpha.2" }, "erlang": { - "status": "unpublished", - "version": null, - "release": null, - "tag": null, + "status": "release", + "version": "0.0.1", + "release": "0.0.1", + "tag": "v0.0.1", "packages": { "libtmux_erlang": { - "status": "unpublished", - "version": null, - "release": null, - "tag": null + "status": "release", + "version": "0.0.1", + "release": "0.0.1", + "tag": "v0.0.1" } } }, diff --git a/site/src/lib/port-inventory.ts b/site/src/lib/port-inventory.ts index 071447d67..2ae20c990 100644 --- a/site/src/lib/port-inventory.ts +++ b/site/src/lib/port-inventory.ts @@ -219,6 +219,11 @@ const hexPackage = (name: string): Located & Pick => ({ package: { host: 'hex', url: `https://hex.pm/packages/${name}` }, api: { host: 'hexdocs', url: `https://${name}.hexdocs.pm/` }, }) +/** A Hex package whose owner has published no HexDocs, so only the package page is real. */ +const hexRelease = (name: string): Located => ({ + coordinate: name, + package: { host: 'hex', url: `https://hex.pm/packages/${name}` }, +}) const MAVEN_GROUP = 'io.github.libtmux' const central = (artifact: string): Located => ({ coordinate: `${MAVEN_GROUP}:${artifact}`, @@ -386,8 +391,9 @@ export const INVENTORY: Readonly> = { path: 'packages/LibTmuxWorkspace', aliases: ['using LibTmuxWorkspace', 'libtmux-workspace'] }), ], erlang: [ - erlang({ id: 'libtmux_erlang', kind: 'library', product: 'core', label: 'libtmux_erlang', path: 'apps/libtmux_erlang', - aliases: ['Erlang/OTP', 'Rebar3'], note: 'Installs from Git with Rebar3 git_subdir; no Hex release.' }), + // Hex has no documentation for the package (docs_html_url is null), so no HexDocs reference is linked. + erlang({ id: 'libtmux_erlang', kind: 'library', product: 'core', label: 'libtmux_erlang', ...hexRelease('libtmux_erlang'), + path: 'apps/libtmux_erlang', aliases: ['Erlang/OTP', 'Rebar3'] }), erlang({ id: 'repository', kind: 'source', product: 'core', label: 'libtmux-erlang', coordinate: 'libtmux/libtmux-erlang' }), ], elixir: [ diff --git a/site/src/lib/ports.ts b/site/src/lib/ports.ts index 86cd75b95..2b1754ddd 100644 --- a/site/src/lib/ports.ts +++ b/site/src/lib/ports.ts @@ -381,6 +381,8 @@ const ERLANG_SOURCE_INSTALL = `{deps, [ const ERLANG_GIT_INSTALL: InstallForm = { code: ERLANG_SOURCE_INSTALL.replaceAll('{revision}', '"master"'), lang: 'erlang', } +// An exact pin, as the package README gives: the API is still developing. +const ERLANG_HEX_INSTALL: InstallForm = { code: '{deps, [{libtmux_erlang, "{version}"}]}.', lang: 'erlang' } const JULIA_GIT_INSTALL: InstallForm = { code: 'using Pkg\nPkg.add(PackageSpec(url="https://github.com/libtmux/libtmux-julia.git", rev="master"))', lang: 'julia', @@ -693,13 +695,20 @@ const CORE_PORTS: readonly Port[] = [ renderer: 'astro', publishesOwnTree: true, generator: 'OTP documentation chunks and native typespecs', - installs: [{ label: 'rebar.config', filename: 'rebar.config', lang: 'erlang', - code: ERLANG_SOURCE_INSTALL, - additionalBlocks: [{ lang: 'console', code: 'rebar3 compile' }], - note: 'Merge this deps entry into rebar.config. Requires Erlang/OTP 29.1.2, Rebar3 3.28.0, Linux, tmux 3.3a–3.8, make and a C11 compiler. Commit rebar.lock to retain the resolved Git revision. The application is unreleased; no Hex package is advertised.' }], + installs: [ + { label: 'Rebar3 (Hex)', filename: 'rebar.config', lang: 'erlang', + code: ERLANG_HEX_INSTALL.code, + additionalBlocks: [{ lang: 'console', code: 'rebar3 compile' }], + note: 'Merge this deps entry into rebar.config. Requires Erlang/OTP 29.1.2, Rebar3 3.28.0, Linux, tmux 3.3a–3.8, make and a C11 compiler. The API is still developing, so the entry pins an exact version. Commit rebar.lock to retain the resolved package checksum.' }, + { label: 'Rebar3 (Git)', filename: 'rebar.config', lang: 'erlang', + code: ERLANG_SOURCE_INSTALL, + additionalBlocks: [{ lang: 'console', code: 'rebar3 compile' }], + note: 'Installs the documented source revision instead of the Hex release. Merge this deps entry into rebar.config. Commit rebar.lock to retain the resolved Git revision.' }, + ], + registry: { name: 'Hex', url: 'https://hex.pm/packages/libtmux_erlang', icon: 'hex' }, initProject: { code: 'rebar3 new lib tmux_example && cd tmux_example', lang: 'console' }, - installForms: { release: ERLANG_GIT_INSTALL, prerelease: ERLANG_GIT_INSTALL, git: ERLANG_GIT_INSTALL }, - installNote: 'Add libtmux_erlang to your application dependencies and start it with application:ensure_all_started/1. Native records are experimental in OTP 29. The Git subdirectory selects the core application from its umbrella repository.', + installForms: { release: ERLANG_HEX_INSTALL, prerelease: ERLANG_HEX_INSTALL, git: ERLANG_GIT_INSTALL }, + installNote: 'Add libtmux_erlang to your application dependencies and start it with application:ensure_all_started/1. Native records are experimental in OTP 29. The Git alternative selects the core application from its umbrella repository with a subdirectory.', }, { slug: 'elixir', diff --git a/site/src/lib/registry.ts b/site/src/lib/registry.ts index 0b3c1f785..d11778587 100644 --- a/site/src/lib/registry.ts +++ b/site/src/lib/registry.ts @@ -59,14 +59,16 @@ export function installSelection( /** Resolve package snippets against the selected docs source or registry snapshot. */ export function installsFor(port: Port, selection: { version?: string; pin?: boolean; revision?: string } = {}): readonly InstallCommand[] { - if (port.installs.some((command) => command.code.includes('{revision}'))) { - const revision = JSON.stringify(selection.revision ?? port.source?.ref ?? 'HEAD') + const revision = JSON.stringify(selection.revision ?? port.source?.ref ?? 'HEAD') + const versioned = port.installs.some((command) => command.code.includes('{version}') || command.additionalBlocks?.some((block) => block.code.includes('{version}'))) + if (!versioned && port.installs.some((command) => command.code.includes('{revision}'))) { return port.installs.map((command) => ({ ...command, code: command.code.replaceAll('{revision}', revision) })) } - if (!port.installs.some((command) => command.code.includes('{version}') || command.additionalBlocks?.some((block) => block.code.includes('{version}')))) return port.installs + if (!versioned) return port.installs const entry = registryFor(port) const version = selection.version ?? entry.version - const fill = (code: string) => code.replaceAll('{version}', version!) + // A port may offer a registry release beside a source install, so one pass fills both. + const fill = (code: string) => code.replaceAll('{version}', version!).replaceAll('{revision}', revision) if (!version) { const source = installCommand(port, entry) return [{ label: 'Source', ...source, code: source.lang === 'console' ? wrapShell(source.code) : source.code }] diff --git a/site/test/fixtures/header-links.ts b/site/test/fixtures/header-links.ts index d5092837b..532e6d283 100644 --- a/site/test/fixtures/header-links.ts +++ b/site/test/fixtures/header-links.ts @@ -58,11 +58,13 @@ export const LINKS: Record = { ], }, erlang: { - actions: [['source', 'GitHub', 'GitHub: libtmux/libtmux-erlang/apps/libtmux_erlang', 'https://github.com/libtmux/libtmux-erlang/tree/master/apps/libtmux_erlang']], + actions: [['source', 'GitHub', 'GitHub: libtmux/libtmux-erlang/apps/libtmux_erlang', 'https://github.com/libtmux/libtmux-erlang/tree/master/apps/libtmux_erlang'], + ['package', 'Hex', 'Hex: libtmux_erlang package', 'https://hex.pm/packages/libtmux_erlang']], indexed: true, rows: [ ['source', 'libtmux_erlang', 'apps/libtmux_erlang', 'https://github.com/libtmux/libtmux-erlang/tree/master/apps/libtmux_erlang', ['libtmux_erlang']], ['source', 'libtmux-erlang', 'libtmux/libtmux-erlang', 'https://github.com/libtmux/libtmux-erlang', ['repository']], + ['package', 'libtmux_erlang', 'Hex', 'https://hex.pm/packages/libtmux_erlang', ['libtmux_erlang']], ], }, py: { diff --git a/site/test/fixtures/port-destinations.ts b/site/test/fixtures/port-destinations.ts index ff0ae5851..035ffebef 100644 --- a/site/test/fixtures/port-destinations.ts +++ b/site/test/fixtures/port-destinations.ts @@ -50,6 +50,7 @@ export const DESTINATIONS: Record = { }, erlang: { source: github('https://github.com/libtmux/libtmux-erlang/tree/master/apps/libtmux_erlang', 'libtmux-erlang/apps/libtmux_erlang'), + registry: { name: 'Hex', url: 'https://hex.pm/packages/libtmux_erlang', icon: 'hex', label: 'libtmux_erlang on Hex' }, }, elixir: { source: github('https://github.com/libtmux/libtmux-elixir/tree/main/lib', 'libtmux-elixir/lib'), diff --git a/site/test/fixtures/port-links.json b/site/test/fixtures/port-links.json index 7f9c0f7fb..6a91234c7 100644 --- a/site/test/fixtures/port-links.json +++ b/site/test/fixtures/port-links.json @@ -9,8 +9,8 @@ "powershell v1.2.3 @revision": "", "julia": "", "julia v1.2.3 @revision": "", - "erlang": "", - "erlang v1.2.3 @revision": "", + "erlang": "", + "erlang v1.2.3 @revision": "", "elixir": "", "elixir v1.2.3 @revision": "", "haskell": "", @@ -52,9 +52,9 @@ "elixir v1.2.3": "", "elixir next": "", "elixir latest @revision": "", - "erlang v1.2.3": "", - "erlang next": "", - "erlang latest @revision": "", + "erlang v1.2.3": "", + "erlang next": "", + "erlang latest @revision": "", "kotlin v1.2.3": "", "kotlin next": "", "kotlin latest @revision": "", diff --git a/site/test/package-destinations.test.ts b/site/test/package-destinations.test.ts index 5f029945c..9daa4ae23 100644 --- a/site/test/package-destinations.test.ts +++ b/site/test/package-destinations.test.ts @@ -1,7 +1,9 @@ import { describe, expect, it } from 'vitest' +import evidence from '../src/data/destination-evidence.json' import { portHeaderLinks } from '../src/lib/header-links' import { INVENTORY } from '../src/lib/port-inventory' -import { PORT_BY_SLUG } from '../src/lib/ports' +import { PORT_BY_SLUG, installCommand, portDestinations } from '../src/lib/ports' +import { installsFor, registryFor } from '../src/lib/registry' /** * Where each package's registry destination and install command come from. @@ -80,3 +82,62 @@ describe('Julia companions', () => { } }) }) + +describe('Erlang, released on Hex as libtmux_erlang', () => { + const erlang = PORT_BY_SLUG.erlang! + const hex = 'https://hex.pm/packages/libtmux_erlang' + const library = INVENTORY.erlang!.find(({ kind }) => kind === 'library')! + + it('names Hex as the registry', () => { + expect(erlang.registry).toEqual({ name: 'Hex', url: hex, icon: 'hex' }) + expect(portDestinations({ port: erlang }).registry?.url).toBe(hex) + expect(registryFor(erlang)).toMatchObject({ status: 'release', release: '0.0.1', tag: 'v0.0.1' }) + }) + + it('links no HexDocs reference, because Hex carries no documentation for the package', () => { + expect(erlang.ecosystemHost).toBeUndefined() + expect(INVENTORY.erlang!.filter(({ api }) => api)).toEqual([]) + expect(portHeaderLinks(erlang).actions.map(({ kind }) => kind)).toEqual(['source', 'package']) + }) + + it('records the library as published on Hex, with a passing record', () => { + expect(library).toMatchObject({ status: 'published', coordinate: 'libtmux_erlang', package: { host: 'hex', url: hex } }) + const record = evidence.destinations.find(({ url }) => url === hex) + expect(record).toMatchObject({ ok: true, status: 200, identity: 'libtmux_erlang', repository: 'libtmux/libtmux-erlang' }) + }) + + it('installs the Hex release first and keeps Git as the explicit alternative', () => { + const release = '{deps, [{libtmux_erlang, "0.0.1"}]}.' + expect(installCommand(erlang, registryFor(erlang)).code).toBe(release) + const [hexTab, gitTab, ...rest] = installsFor(erlang) + expect(rest).toEqual([]) + expect(hexTab).toMatchObject({ lang: 'erlang', filename: 'rebar.config', code: release }) + expect(gitTab!.code).toContain('git_subdir') + expect(gitTab!.code).toContain('https://github.com/libtmux/libtmux-erlang.git') + expect(erlang.installForms.git.code).toContain('git_subdir') + for (const { code, additionalBlocks } of installsFor(erlang)) { + expect([code, ...(additionalBlocks ?? []).map((block) => block.code)].join('\n')).not.toMatch(/\{(?:version|revision)\}/) + } + }) + + it('shows the Hex release on the port page, without an Elixir tuple or a range to pin', async () => { + const { Window } = await import('happy-dom') + const { createComponent, renderTemplate } = await import('astro/runtime/server/index.js') + const { loadAstroTemplate, renderAstroTemplate } = await import('./astro-templates') + const Code = createComponent((_result: unknown, props: { code: string }) => renderTemplate`
${props.code}
`) + const template = await loadAstroTemplate('components/CoreHome.astro', { modules: { 'astro-expressive-code/components': { Code } } }) + const window = new Window() + try { + window.document.body.innerHTML = await renderAstroTemplate(template, { props: { port: 'erlang', version: 'latest', cards: [] } }) + const text = window.document.body.textContent + expect(text).toContain('{deps, [{libtmux_erlang, "0.0.1"}]}.') + expect(text).not.toContain('{:libtmux_erlang') + expect(text).not.toContain('Pin to a range') + } finally { await window.happyDOM.abort() } + }) + + it('no longer says the application is unreleased', () => { + for (const { note } of erlang.installs) expect(note).not.toMatch(/unreleased|no Hex package/i) + expect(library.note ?? '').not.toMatch(/no Hex release/i) + }) +}) From add713bc7d8fe33b74f0f7b5ed2ed91aebf48f88 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:53:59 -0600 Subject: [PATCH 11/41] perl(chore[pin]) Pin Perl to the 0.003 CPAN distributions why: LibTmux, LibTmux-Async and LibTmux-Workspace 0.003 are on CPAN, but the committed model, guide cache and manifest packages described libtmux-perl d9fa7c527. Its installation guide called the distributions unreleased and offered only a source checkout, and the landing example stated that no CPAN release was claimed. The live installation page repeated both. what: - Pin Perl to libtmux/libtmux-perl@a1cab0324 and regenerate its API model and path data (exported with Perl 5.44.0 and PPI 1.291), tmux usage, guide cache, example sources, manifest packages and mention index with the repository's generators - Adopt the source change between the pins: the installation guide installs each distribution from CPAN and keeps the source checkout as an alternative, the examples page lists the programs shipped inside each distribution beside the repository's qualification programs, and the filtering, graph, errors and orchestration guides were revised - No declaration changed; only the LibTmux, LibTmux::Async and LibTmux::Workspace module documentation differs in the model, and the manifest packages move from 0.001_001 to 0.003 - Keep every reviewed tmux usage claim: all of them hold at the new revision, so only the usage file's revision binding moves - Drop "No CPAN release is claimed" from the Perl landing example; the displayed program still needs the source checkout's fixture, so its recorded revision stays where the program was recorded - Update two assertions that read the guides: the orchestration page now opens with "Start with a complete program", and the guides name a CPAN changelog file, the `libtmux.where/v1` wire format and a filter criterion path in code spans, which are not API and stay unlinked Source refs: libtmux/libtmux-perl master a1cab0324b600a5df6e34b92590b5c3bd8f79c69, previous pin d9fa7c5278d243c671a29cdb00e3a911ac651bfa. --- site/src/data/api/perl.json | 2 +- site/src/data/api/perl.paths.json | 2 +- site/src/data/example-sources.json | 2 +- site/src/data/home-examples.json | 2 +- site/src/data/manifest-packages.json | 14 +-- site/src/data/mentions.json | 164 +++++++++++++++++++++++++-- site/src/data/port-guides/perl.json | 22 ++-- site/src/data/tmux-usage/perl.json | 2 +- site/test/api-db-mentions.test.ts | 5 +- site/test/stage-port-docs.test.ts | 2 +- 10 files changed, 180 insertions(+), 37 deletions(-) diff --git a/site/src/data/api/perl.json b/site/src/data/api/perl.json index 21b2ee633..93cd88c62 100644 --- a/site/src/data/api/perl.json +++ b/site/src/data/api/perl.json @@ -1 +1 @@ -{"port":"perl","repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","sources":[{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","package":"LibTmux","product":"core","repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","version":"0.001_001"},{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","package":"LibTmux-Async","product":"core","repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","version":"0.001_001"},{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","package":"LibTmux-Workspace","product":"workspace","repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","version":"0.001_001"}],"extractor":"Perl PPI 1.291 + Pod::Simple native POD v1","nativeProvenance":{"exporter":{"file":"scripts/export-api.pl","perl":"v5.44.0","ppi":"1.291","repository":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","sha256":"445d306968a0656f1b8542665daee83674f7f89bf8f8256093e88a58505c9d3e","working_tree":false},"files":[{"path":"packages/core/LICENSE","sha256":"e32e2d62046374e7f08a57882699e3f37920edf6b770f817e5b67eb625e2eb4f"},{"path":"packages/core/Makefile.PL","sha256":"b1676ac18d88f57e08ed6ddf463af66c5752bd41ce0e8dd8074329a3e38f60af"},{"path":"packages/core/README.md","sha256":"caafec35911b637f811ca3a388a87f797fb9c554325dbb20251d2de48efcea85"},{"path":"packages/core/cpanfile","sha256":"c3872a5a5b6b7f367534376cd4db51f7ebf4a1ee31a4560c0de2661c9b25bdf7"},{"path":"packages/core/lib/LibTmux.pm","sha256":"f4716e9b7ba03c66fa57c084ac0803c68968ccacb37ff54a15023e34e854080c"},{"path":"packages/core/lib/LibTmux/Client.pm","sha256":"1d6a7fe38802d134215f476727e014cceb7f189d608a45e907aa74a9b33377a3"},{"path":"packages/core/lib/LibTmux/ClientSelection.pm","sha256":"24c200afefcb28a5df984b99db8df4253986176b005daf175ecd3f45ebc50aab"},{"path":"packages/core/lib/LibTmux/Codec.pm","sha256":"c3517cd3542e7622b575ddf3a8274841e43df843d4b9b4739d79268ed047a327"},{"path":"packages/core/lib/LibTmux/CommandResult.pm","sha256":"c05fee72a809d924d96908eeb5c9d4c328b088d5e4f9692f292f9c96b13fdbd9"},{"path":"packages/core/lib/LibTmux/Entity.pm","sha256":"46fbe507850d5880f59d78a732270e2554d5e4fe112d8a8013e60a9fca0d5c20"},{"path":"packages/core/lib/LibTmux/Filter.pm","sha256":"fa3b65a22515a6086d06f044e06eeb454575b926e41216419f445d084c8cd8bc"},{"path":"packages/core/lib/LibTmux/Operation.pm","sha256":"dc63406ae06d858fad89347a146cb7ba8496e6db9ee5eaf1ab278e2a67d250e3"},{"path":"packages/core/lib/LibTmux/Pane.pm","sha256":"1d34d763df3256c8645b91395788d0e863e1bff80115a473494b23c4525f3040"},{"path":"packages/core/lib/LibTmux/PaneSelection.pm","sha256":"6edb85943a642e56afcc5185b905c4fc82fcb9c3ca35d013aa61627421354fc5"},{"path":"packages/core/lib/LibTmux/Platform/Linux.pm","sha256":"15d720b545a11c3835e94b672bab6719fbc7dc6b9645ad5edb90207cb12a8968"},{"path":"packages/core/lib/LibTmux/ProcessJob.pm","sha256":"fd46908c18f4b034cd74b1c8e10b1525d7270e60159e32e6c45b0778425be642"},{"path":"packages/core/lib/LibTmux/QueryPlan.pm","sha256":"3f18a903100e46dcb58c32b7ad6a4853df8094f8932a56644b33d6e4dd5668fa"},{"path":"packages/core/lib/LibTmux/Schema.pm","sha256":"69290dbf72abe7cb27d9364b519f261281088d59abd4c17af33026adf4d7a52f"},{"path":"packages/core/lib/LibTmux/Selection.pm","sha256":"12565d289dcb00e13852d297cbd843a65a9bab43c0e6cab6392bc6fdf8749c99"},{"path":"packages/core/lib/LibTmux/Selection/Iterator.pm","sha256":"755aaf2aa31e3302422d00573bd4ce4d26be8017f1d008b12be1f64708496d40"},{"path":"packages/core/lib/LibTmux/Server.pm","sha256":"2ee3f86b2a377d31692321c19928845f49463a6faa1e231bf4fadb5825be23ef"},{"path":"packages/core/lib/LibTmux/Session.pm","sha256":"937f4399513d814108380b75beb1c8824960593354f3955559439e2bc999da83"},{"path":"packages/core/lib/LibTmux/SessionSelection.pm","sha256":"8ba23cdcf527ceb555ce392857c2b43b86b1b55ab4e881e5dc733ced99e95f4c"},{"path":"packages/core/lib/LibTmux/Snapshot.pm","sha256":"d25f65b94405c1d9cb3ff3f0e268de567d79d4aca178efa66c14db8bd040df5d"},{"path":"packages/core/lib/LibTmux/Transport.pm","sha256":"57dcb66db1c204f7fe6bcfee6623742dcfe425d8f9f0220e126d8e7c0a6535dc"},{"path":"packages/core/lib/LibTmux/Window.pm","sha256":"df01e902cc513dee0e7458c2499078ca9141446066a822525a2e45864942e06e"},{"path":"packages/core/lib/LibTmux/WindowLink.pm","sha256":"30c8937a5806bb2996af3b21c3a6936a383a3e34ead6d591748a077b7b6adebf"},{"path":"packages/core/lib/LibTmux/WindowLinkSelection.pm","sha256":"8301d518b97d620f76c7d1c7927c14809962a48b9ae5027768ea2163395550f1"},{"path":"packages/core/lib/LibTmux/WindowSelection.pm","sha256":"8b7956f6360344d3c3f8c7b1759f2e53e0acbbc98e81d2f3f864c339b8fcf8c2"},{"path":"packages/core/lib/LibTmux/X.pm","sha256":"83438781e81322c06006dd84fe7bf357472a34c1e3e3a502babdc5b040036195"},{"path":"packages/core/lib/LibTmux/schema.json","sha256":"5f132d204d5c919cdab5083233da5a1c0aedf4690f72fe430c1c8b1b271cb1e9"},{"path":"packages/async/LICENSE","sha256":"e32e2d62046374e7f08a57882699e3f37920edf6b770f817e5b67eb625e2eb4f"},{"path":"packages/async/Makefile.PL","sha256":"d286c34dea28a19e5dee6676994572948484a14dcced38ac3c2b5ad836874d74"},{"path":"packages/async/README.md","sha256":"c966ad175401c58b69bcc76c74f7245b88299bf0c49f84ea72da107614ec41ad"},{"path":"packages/async/cpanfile","sha256":"c41a2e0987205267d3b501621a8868e3939a23f4af9cf3ee7be311d4d915cc75"},{"path":"packages/async/lib/LibTmux/Async.pm","sha256":"1f408d07f32ce01839b25a6e3974c89153cd470834587f4bffbad6b4c272b522"},{"path":"packages/async/lib/LibTmux/Async/Server.pm","sha256":"65af3416d55200c0d10d4a2a8982280254ee28b5d06b15222a1da7da6beeea11"},{"path":"packages/async/lib/LibTmux/Async/Transport.pm","sha256":"67c30dd33016be2f7161aeaa4aab0ff3a153b06c8739a32fc9a8786642dc9375"},{"path":"packages/async/lib/LibTmux/Async/X.pm","sha256":"c1f342b52f45de5eee2c1970e806049a373f0f88d1c579ae4c157ed40756d272"},{"path":"packages/workspace/LICENSE","sha256":"e32e2d62046374e7f08a57882699e3f37920edf6b770f817e5b67eb625e2eb4f"},{"path":"packages/workspace/Makefile.PL","sha256":"e0cd4934a909b4af792040dbaa9f29f430b0873cf1dd4be5d1079df03b177515"},{"path":"packages/workspace/README.md","sha256":"003c89eebfae69f34542579cc5997cb223e91feeaaa091f96c5b7fcea248c2fd"},{"path":"packages/workspace/cpanfile","sha256":"1acf55e302b84a6050525354e8887ca39ae45c8b0e908ff9fc3ffa23cb7ad246"},{"path":"packages/workspace/lib/LibTmux/Workspace.pm","sha256":"4433b6524afcdbb09150231eaf42918030bb2fbeb469e8cafe9187cdbf4e063d"},{"path":"packages/workspace/lib/LibTmux/Workspace/X.pm","sha256":"10c8aeefee1eff75d303559f1a30d4a71705ba638fa95e630fad0b4df04c0220"},{"path":"examples/quickstart.pl","sha256":"ba9f650b81972f6b11556c4babd22b19d868335d9701980069e5d37748ce3cf2"},{"path":"examples/selection.pl","sha256":"2f558f90969300ba7d2b86dac55a07a23b140ea60c921a282ddf231e9dd98093"},{"path":"examples/workspace.pl","sha256":"6f0b49432880a956960fcc19c02fe1ed0c7eeb4f57f2131e17162c4ecb65fbf3"},{"path":"examples/async.pl","sha256":"f194d964b977c4249b06e6927cd2533a7725675cf4534377baa2d3e5ef1d9d9b"},{"path":"examples/await.pl","sha256":"4ba75608ce524ae2b0212c029bbdcb9d4d96c8aebfac5d96a227c48a28ef2294"}]},"symbols":[{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nUse :obj:`LibTmux::Server ` for acquisition and commands. Captured entities and :obj:`LibTmux::Selection ` queries perform no tmux I/O.\n\n","summary":"Explicit tmux commands and captured graph queries"},"id":"LibTmux","kind":"module","modifiers":[],"name":"LibTmux","package":"LibTmux","product":"core","publicId":"LibTmux","qualifiedName":"LibTmux","signatures":[{"params":[],"raw":"package LibTmux;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nThe async distribution depends on :obj:`LibTmux `, [IO::Async](https://metacpan.org/pod/IO::Async), [Future](https://metacpan.org/pod/Future), [IO::Async::Loop::Ppoll](https://metacpan.org/pod/IO::Async::Loop::Ppoll), and [IO::Ppoll](https://metacpan.org/pod/IO::Ppoll). Use :obj:`LibTmux::Async::Server ` or :obj:`LibTmux::Async::Transport ` with an explicitly supplied Ppoll loop. Core snapshot filtering remains local and synchronous. Async dependencies are not required by the core or workspace distributions.\n\n","summary":"Optional Future-based libtmux execution"},"id":"LibTmux::Async","kind":"module","modifiers":[],"name":"Async","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async","qualifiedName":"LibTmux::Async","signatures":[{"params":[],"raw":"package LibTmux::Async;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async"},{"apiScope":"exported","doc":{"body":"\n## SYNOPSIS\n\n\n```perl\n use v5.44;\n use IO::Async::Loop::Ppoll;\n use LibTmux::Async::Server;\n my $loop = IO::Async::Loop::Ppoll->new;\n my $server = LibTmux::Async::Server->new(loop => $loop, socket_name => 'owned');\n my $capture = $server->snapshot;\n $loop->await($capture);\n my $panes = $capture->get->panes->where({ active => true });\n $loop->await($server->close);\n```\n\n","summary":"Optional Future facade over the core protocol","examples":[{"lang":"perl","code":"use v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse IO::Async::Loop::Ppoll;\nuse Future::AsyncAwait;\nuse LibTmux::Async::Server;\nuse LibTmuxFixture;\nasync sub capture_count ($server) {\n my $snapshot = await $server->snapshot;\n my $count = $snapshot->panes->count;\n await $server->close;\n return $count;\n}\nLibTmuxFixture->run(\n sub ($sync, $root) {\n $sync->new_session(\n name => 'await-example',\n command => ['/bin/sleep', '120']\n );\n my $loop = IO::Async::Loop::Ppoll->new;\n my $server = LibTmux::Async::Server->new(\n loop => $loop,\n socket_path => \"$root/s\",\n executable => $ENV{LIBTMUX_TEST_TMUX} // 'tmux'\n );\n my $work = capture_count($server);\n $loop->await($work);\n die 'await result differs' unless $work->get == 1;\n say 'optional caller await syntax: ok';\n }\n);\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/d9fa7c5278d243c671a29cdb00e3a911ac651bfa/examples/await.pl"}]},"id":"LibTmux::Async::Server","kind":"class","modifiers":[],"name":"Server","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::Server","qualifiedName":"LibTmux::Async::Server","signatures":[{"params":[],"raw":"package LibTmux::Async::Server;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"attach_argv\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::attach_argv","kind":"method","modifiers":["async"],"name":"attach_argv","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::attach_argv","qualifiedName":"LibTmux::Async::Server::attach_argv","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub attach_argv($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":88,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-attach_argv"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"batch\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::batch","kind":"method","modifiers":["async"],"name":"batch","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::batch","qualifiedName":"LibTmux::Async::Server::batch","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"requests"}],"raw":"sub batch($self, $requests)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":62,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-batch"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"capture_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::capture_pane","kind":"method","modifiers":["async"],"name":"capture_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::capture_pane","qualifiedName":"LibTmux::Async::Server::capture_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub capture_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":82,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-capture_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"clients\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::clients","kind":"method","modifiers":["async"],"name":"clients","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::clients","qualifiedName":"LibTmux::Async::Server::clients","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub clients($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":87,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-clients"},{"apiScope":"exported","doc":{"summary":"Cancel active operations, suppress subsequent command continuations, reject new operations, and return a fresh cleanup observer [Future](https://metacpan.org/pod/Future). Only successful `is_done` completion proves owned processes and pipes finished. Cancellation of an observer does not cancel cleanup. The caller must drive its borrowed loop through shutdown. No tmux server is destroyed by closing this facade."},"id":"LibTmux::Async::Server::close","kind":"method","modifiers":["async"],"name":"close","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::close","qualifiedName":"LibTmux::Async::Server::close","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub close($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":55,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-close"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"cmd\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::cmd","kind":"method","modifiers":["async"],"name":"cmd","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::cmd","qualifiedName":"LibTmux::Async::Server::cmd","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":20,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"argv","variadic":"positional"}],"raw":"sub cmd($self, @argv)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":60,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-cmd"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"delete_buffer\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::delete_buffer","kind":"method","modifiers":["async"],"name":"delete_buffer","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::delete_buffer","qualifiedName":"LibTmux::Async::Server::delete_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub delete_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":103,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-delete_buffer"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"detach_client\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::detach_client","kind":"method","modifiers":["async"],"name":"detach_client","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::detach_client","qualifiedName":"LibTmux::Async::Server::detach_client","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub detach_client($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-detach_client"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"execute\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::execute","kind":"method","modifiers":["async"],"name":"execute","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::execute","qualifiedName":"LibTmux::Async::Server::execute","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub execute($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":63,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-execute"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"explain_panes\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::explain_panes","kind":"method","modifiers":["async"],"name":"explain_panes","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::explain_panes","qualifiedName":"LibTmux::Async::Server::explain_panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub explain_panes($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":69,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-explain_panes"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"get_environment\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::get_environment","kind":"method","modifiers":["async"],"name":"get_environment","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::get_environment","qualifiedName":"LibTmux::Async::Server::get_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":27}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub get_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":96,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-get_environment"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"get_option\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::get_option","kind":"method","modifiers":["async"],"name":"get_option","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::get_option","qualifiedName":"LibTmux::Async::Server::get_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub get_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":91,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-get_option"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"kill_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::kill_pane","kind":"method","modifiers":["async"],"name":"kill_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::kill_pane","qualifiedName":"LibTmux::Async::Server::kill_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":83,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-kill_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"kill_server\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::kill_server","kind":"method","modifiers":["async"],"name":"kill_server","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::kill_server","qualifiedName":"LibTmux::Async::Server::kill_server","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_server($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":86,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-kill_server"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"kill_session\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::kill_session","kind":"method","modifiers":["async"],"name":"kill_session","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::kill_session","qualifiedName":"LibTmux::Async::Server::kill_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-kill_session"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"kill_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::kill_window","kind":"method","modifiers":["async"],"name":"kill_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::kill_window","qualifiedName":"LibTmux::Async::Server::kill_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":84,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-kill_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"link_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::link_window","kind":"method","modifiers":["async"],"name":"link_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::link_window","qualifiedName":"LibTmux::Async::Server::link_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub link_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":72,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-link_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"listings\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::listings","kind":"method","modifiers":["async"],"name":"listings","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::listings","qualifiedName":"LibTmux::Async::Server::listings","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"kind"}],"raw":"sub listings($self, $kind)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":61,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-listings"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"move_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::move_window","kind":"method","modifiers":["async"],"name":"move_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::move_window","qualifiedName":"LibTmux::Async::Server::move_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub move_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":74,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-move_window"},{"apiScope":"exported","doc":{"summary":"`new(loop => $loop, %connection_options)` constructs without I/O. Borrow an [IO::Async::Loop::Ppoll](https://metacpan.org/pod/IO::Async::Loop::Ppoll); connection options belong to :obj:`\"new\" in LibTmux::Server `. `max_concurrent` and `max_queue` configure the owned :obj:`LibTmux::Async::Transport `. Its :obj:`backend and signal contract ` applies to this facade. No event loop is run implicitly."},"id":"LibTmux::Async::Server::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::new","qualifiedName":"LibTmux::Async::Server::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-new"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"new_session\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::new_session","kind":"method","modifiers":["async"],"name":"new_session","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::new_session","qualifiedName":"LibTmux::Async::Server::new_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":64,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-new_session"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"new_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::new_window","kind":"method","modifiers":["async"],"name":"new_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::new_window","qualifiedName":"LibTmux::Async::Server::new_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":65,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-new_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"query_panes\" in LibTmux::Server ` for arguments, returned value, and completion. Its observer runs inline in void context; a returned [Future](https://metacpan.org/pod/Future) is ignored. Cancellation before the decision suppresses it. If the observer cancels its query or calls :obj:`\"close\" `, cancellation takes precedence over subsequent return or exception delivery. Continue driving the loop until close cleanup completes."},"id":"LibTmux::Async::Server::query_panes","kind":"method","modifiers":["async"],"name":"query_panes","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::query_panes","qualifiedName":"LibTmux::Async::Server::query_panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub query_panes($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":68,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-query_panes"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"rename_session\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::rename_session","kind":"method","modifiers":["async"],"name":"rename_session","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::rename_session","qualifiedName":"LibTmux::Async::Server::rename_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":18,"kind":"name","start":4},{"end":31,"kind":"parameter","parameter":0,"start":26}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub rename_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":70,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-rename_session"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"rename_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::rename_window","kind":"method","modifiers":["async"],"name":"rename_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::rename_window","qualifiedName":"LibTmux::Async::Server::rename_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub rename_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":71,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-rename_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"resize_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::resize_pane","kind":"method","modifiers":["async"],"name":"resize_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::resize_pane","qualifiedName":"LibTmux::Async::Server::resize_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub resize_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":78,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-resize_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"select_layout\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::select_layout","kind":"method","modifiers":["async"],"name":"select_layout","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::select_layout","qualifiedName":"LibTmux::Async::Server::select_layout","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_layout($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-select_layout"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"select_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::select_pane","kind":"method","modifiers":["async"],"name":"select_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::select_pane","qualifiedName":"LibTmux::Async::Server::select_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":76,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-select_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"select_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::select_window","kind":"method","modifiers":["async"],"name":"select_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::select_window","qualifiedName":"LibTmux::Async::Server::select_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":75,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-select_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"send_keys\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::send_keys","kind":"method","modifiers":["async"],"name":"send_keys","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::send_keys","qualifiedName":"LibTmux::Async::Server::send_keys","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub send_keys($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":80,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-send_keys"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"send_text\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::send_text","kind":"method","modifiers":["async"],"name":"send_text","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::send_text","qualifiedName":"LibTmux::Async::Server::send_text","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub send_text($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":81,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-send_text"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_buffer\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_buffer","kind":"method","modifiers":["async"],"name":"set_buffer","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_buffer","qualifiedName":"LibTmux::Async::Server::set_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":101,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-set_buffer"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_environment\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_environment","kind":"method","modifiers":["async"],"name":"set_environment","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_environment","qualifiedName":"LibTmux::Async::Server::set_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":27}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":95,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-set_environment"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_hook\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_hook","kind":"method","modifiers":["async"],"name":"set_hook","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_hook","qualifiedName":"LibTmux::Async::Server::set_hook","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_hook($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":93,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-set_hook"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_option\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_option","kind":"method","modifiers":["async"],"name":"set_option","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_option","qualifiedName":"LibTmux::Async::Server::set_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":90,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-set_option"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_title\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_title","kind":"method","modifiers":["async"],"name":"set_title","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_title","qualifiedName":"LibTmux::Async::Server::set_title","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_title($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":79,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-set_title"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"show_buffer\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::show_buffer","kind":"method","modifiers":["async"],"name":"show_buffer","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::show_buffer","qualifiedName":"LibTmux::Async::Server::show_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub show_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":102,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-show_buffer"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"show_hooks\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::show_hooks","kind":"method","modifiers":["async"],"name":"show_hooks","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::show_hooks","qualifiedName":"LibTmux::Async::Server::show_hooks","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub show_hooks($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":94,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-show_hooks"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"snapshot\" in LibTmux::Server ` for arguments, returned value, and completion.","examples":[{"lang":"perl","code":"use v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse IO::Async::Loop::Ppoll;\nuse LibTmux::Async::Server;\nuse LibTmuxFixture;\nLibTmuxFixture->run(\n sub ($sync, $root) {\n $sync->new_session(\n name => 'async-example',\n command => ['/bin/sleep', '120']\n );\n my $loop = IO::Async::Loop::Ppoll->new;\n my $server = LibTmux::Async::Server->new(\n loop => $loop,\n socket_path => \"$root/s\",\n executable => $ENV{LIBTMUX_TEST_TMUX} // 'tmux',\n max_concurrent => 2\n );\n my $snapshot = $server->snapshot;\n $loop->await($snapshot);\n die 'async snapshot missing pane'\n unless $snapshot->get->panes->count == 1;\n my $closed = $server->close;\n $loop->await($closed);\n die 'cleanup failed' unless $closed->is_done;\n say 'async capture and cleanup: ok';\n }\n);\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/d9fa7c5278d243c671a29cdb00e3a911ac651bfa/examples/async.pl"}]},"id":"LibTmux::Async::Server::snapshot","kind":"method","modifiers":["async"],"name":"snapshot","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::snapshot","qualifiedName":"LibTmux::Async::Server::snapshot","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub snapshot($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":67,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-snapshot"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"split_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::split_pane","kind":"method","modifiers":["async"],"name":"split_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::split_pane","qualifiedName":"LibTmux::Async::Server::split_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub split_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-split_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"unlink_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::unlink_window","kind":"method","modifiers":["async"],"name":"unlink_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::unlink_window","qualifiedName":"LibTmux::Async::Server::unlink_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unlink_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":73,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-unlink_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"unset_environment\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::unset_environment","kind":"method","modifiers":["async"],"name":"unset_environment","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::unset_environment","qualifiedName":"LibTmux::Async::Server::unset_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":21,"kind":"name","start":4},{"end":34,"kind":"parameter","parameter":0,"start":29}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unset_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":98,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-unset_environment"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"unset_option\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::unset_option","kind":"method","modifiers":["async"],"name":"unset_option","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::unset_option","qualifiedName":"LibTmux::Async::Server::unset_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unset_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Server.pm","line":92,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-server-unset_option"},{"apiScope":"exported","doc":{"body":"","summary":"Bounded asynchronous process execution"},"id":"LibTmux::Async::Transport","kind":"class","modifiers":[],"name":"Transport","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::Transport","qualifiedName":"LibTmux::Async::Transport","signatures":[{"params":[],"raw":"package LibTmux::Async::Transport;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Transport.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-transport"},{"apiScope":"exported","doc":{"summary":"Begin idempotent shutdown and return a fresh observer Future. New admissions fail with :obj:`Closed `; queued requests are cancelled without dispatch and running jobs are cancelled. Cancelling an observer never cancels private cleanup. Only successful `is_done` completion proves all owned jobs, pipes, and watchers have completed cleanup. The borrowed loop remains usable. Callers must keep driving it through shutdown."},"id":"LibTmux::Async::Transport::close","kind":"method","modifiers":[],"name":"close","package":"LibTmux-Async","parent":"LibTmux::Async::Transport","product":"core","publicId":"LibTmux::Async::Transport::close","qualifiedName":"LibTmux::Async::Transport::close","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub close($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Transport.pm","line":218,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-transport-close"},{"apiScope":"exported","doc":{"body":"The shared :obj:`LibTmux::ProcessJob ` owns supervision. Cancelling the Future requests cleanup; it does not prove exit or reverse command effects.","summary":"Accepts the same literal process arguments as :obj:`\"run\" in LibTmux::Transport `. Returns a [Future](https://metacpan.org/pod/Future) yielding one :obj:`command result `. Typed core exceptions remain the failure value. Queue overflow fails with :obj:`QueueFull ` before dispatch. The backend is checked again at admission and launch. Child preparation failures retain a typed diagnostic and `dispatched` false, with supervisor exit still required before cleanup completes."},"id":"LibTmux::Async::Transport::execute","kind":"method","modifiers":[],"name":"execute","package":"LibTmux-Async","parent":"LibTmux::Async::Transport","product":"core","publicId":"LibTmux::Async::Transport::execute","qualifiedName":"LibTmux::Async::Transport::execute","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"request","variadic":"keyword"}],"raw":"sub execute($self, %request)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Transport.pm","line":60,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-transport-execute"},{"apiScope":"exported","doc":{"body":"Ppoll blocks watched signals outside its atomic wait. Its shared SIGCHLD watch can outlive this transport. `close` leaves the caller-selected loop and its signal policy intact. Do not change the backend or its wait mask while jobs or cleanup remain active. Async children unblock only SIGCHLD before process supervision; other mask bits remain unchanged in the child. This lets a new tmux daemon observe pane exits without changing synchronous core's mask policy.","summary":"`new(loop => $loop, max_concurrent => 4, max_queue => 64)` borrows an [IO::Async::Loop::Ppoll](https://metacpan.org/pod/IO::Async::Loop::Ppoll) backed by [IO::Ppoll](https://metacpan.org/pod/IO::Ppoll). Construct that class explicitly; automatic loop selection can choose an unsupported backend. Other classes, a substituted poll implementation, or a wait mask blocking SIGCHLD throw :obj:`Unsupported ` before dispatch. The loop owns supervisor reaping; competing external all-child reapers are unsupported. The library never runs, stops, or replaces it."},"id":"LibTmux::Async::Transport::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Async","parent":"LibTmux::Async::Transport","product":"core","publicId":"LibTmux::Async::Transport::new","qualifiedName":"LibTmux::Async::Transport::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/Transport.pm","line":35,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-transport-new"},{"apiScope":"exported","doc":{"body":"","summary":"Shutdown has started and new work is refused. Callers may still observe cleanup through \"close\" in LibTmux::Async::Transport."},"id":"LibTmux::Async::X","kind":"class","modifiers":[],"name":"X","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::X","qualifiedName":"LibTmux::Async::X","signatures":[{"params":[],"raw":"package LibTmux::Async::X;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/X.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-x"},{"apiScope":"exported","doc":{"summary":"Shutdown has started and new work is refused. Callers may still observe cleanup through :obj:`\"close\" in LibTmux::Async::Transport `."},"id":"LibTmux::Async::X::Closed","kind":"exception","modifiers":[],"name":"Closed","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::X::Closed","qualifiedName":"LibTmux::Async::X::Closed","signatures":[{"params":[],"raw":"package LibTmux::Async::X::Closed;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-x-closed"},{"apiScope":"exported","doc":{"summary":"The configured running and pending limits are occupied. No command was submitted for this request. Returned through a failed [Future](https://metacpan.org/pod/Future)."},"id":"LibTmux::Async::X::QueueFull","kind":"exception","modifiers":[],"name":"QueueFull","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::X::QueueFull","qualifiedName":"LibTmux::Async::X::QueueFull","signatures":[{"params":[],"raw":"package LibTmux::Async::X::QueueFull;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/async/lib/LibTmux/Async/X.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-async-x-queuefull"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured client entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::Client","kind":"class","modifiers":[],"name":"Client","package":"LibTmux","product":"core","publicId":"LibTmux::Client","qualifiedName":"LibTmux::Client","signatures":[{"params":[],"raw":"package LibTmux::Client;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Client.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Client::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::generation","qualifiedName":"LibTmux::Client::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-generation"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Client::height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::height","qualifiedName":"LibTmux::Client::height","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub height($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Client.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-height"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Client::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::id","qualifiedName":"LibTmux::Client::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Client.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Client::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::identity","qualifiedName":"LibTmux::Client::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-identity"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Client::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::kind","qualifiedName":"LibTmux::Client::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-kind"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Client::name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::name","qualifiedName":"LibTmux::Client::name","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub name($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Client.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-name"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Client::pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::pid","qualifiedName":"LibTmux::Client::pid","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4}],"params":[],"raw":"sub pid($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Client.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-pid"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Client::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::server_id","qualifiedName":"LibTmux::Client::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-server_id"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Session ` entity or undef. Local captured data; no I/O."},"id":"LibTmux::Client::session","kind":"method","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::session","qualifiedName":"LibTmux::Client::session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub session($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Client.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-session"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Client::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::to_record","qualifiedName":"LibTmux::Client::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-to_record"},{"apiScope":"exported","doc":{"summary":"bytes. Local captured data; no I/O."},"id":"LibTmux::Client::tty","kind":"method","modifiers":[],"name":"tty","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::tty","qualifiedName":"LibTmux::Client::tty","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4}],"params":[],"raw":"sub tty($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Client.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-tty"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Client::width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::width","qualifiedName":"LibTmux::Client::width","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub width($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Client.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-client-width"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::Client ` handles from one server generation. Empty instances still validate against the client schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured client entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::ClientSelection","kind":"class","modifiers":[],"name":"ClientSelection","package":"LibTmux","product":"core","publicId":"LibTmux::ClientSelection","qualifiedName":"LibTmux::ClientSelection","signatures":[{"params":[],"raw":"package LibTmux::ClientSelection;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ClientSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::ClientSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::count","qualifiedName":"LibTmux::ClientSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::ClientSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::exists","qualifiedName":"LibTmux::ClientSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::ClientSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::first","qualifiedName":"LibTmux::ClientSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::ClientSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::grep","qualifiedName":"LibTmux::ClientSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::ClientSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::iterator","qualifiedName":"LibTmux::ClientSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::ClientSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::new","qualifiedName":"LibTmux::ClientSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::ClientSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::one","qualifiedName":"LibTmux::ClientSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::ClientSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::one_or_undef","qualifiedName":"LibTmux::ClientSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::ClientSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::to_array","qualifiedName":"LibTmux::ClientSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::ClientSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::where","qualifiedName":"LibTmux::ClientSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-clientselection-where"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders are local and do not mutate the result or perform I/O. A lifecycle exception may expose a bounded partial result; it does not imply rollback or command completion. See :obj:`\"run\" in LibTmux::Transport ` and :obj:`LibTmux::X `.\n\n","summary":"Completed or partial subprocess outcome"},"id":"LibTmux::CommandResult","kind":"class","modifiers":[],"name":"CommandResult","package":"LibTmux","product":"core","publicId":"LibTmux::CommandResult","qualifiedName":"LibTmux::CommandResult","signatures":[{"params":[],"raw":"package LibTmux::CommandResult;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/CommandResult.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-commandresult"},{"apiScope":"exported","doc":{"summary":"Return an exit code or undef when no child status is known."},"id":"LibTmux::CommandResult::exit_code","kind":"method","modifiers":[],"name":"exit_code","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::exit_code","qualifiedName":"LibTmux::CommandResult::exit_code","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub exit_code($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/CommandResult.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-commandresult-exit_code"},{"apiScope":"exported","doc":{"summary":"Return the POSIX wait status or undef when unavailable."},"id":"LibTmux::CommandResult::raw_status","kind":"method","modifiers":[],"name":"raw_status","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::raw_status","qualifiedName":"LibTmux::CommandResult::raw_status","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub raw_status($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/CommandResult.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-commandresult-raw_status"},{"apiScope":"exported","doc":{"summary":"Return a terminating signal number, zero for ordinary exit, or undef for unknown status."},"id":"LibTmux::CommandResult::signal","kind":"method","modifiers":[],"name":"signal","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::signal","qualifiedName":"LibTmux::CommandResult::signal","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub signal($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/CommandResult.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-commandresult-signal"},{"apiScope":"exported","doc":{"summary":"Return separately retained stderr octets, possibly empty."},"id":"LibTmux::CommandResult::stderr","kind":"method","modifiers":[],"name":"stderr","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::stderr","qualifiedName":"LibTmux::CommandResult::stderr","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub stderr($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/CommandResult.pm","line":4,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-commandresult-stderr"},{"apiScope":"exported","doc":{"summary":"Return retained stdout octets, possibly empty. No text decoding occurs."},"id":"LibTmux::CommandResult::stdout","kind":"method","modifiers":[],"name":"stdout","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::stdout","qualifiedName":"LibTmux::CommandResult::stdout","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub stdout($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/CommandResult.pm","line":3,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-commandresult-stdout"},{"apiScope":"exported","doc":{"summary":"Return true only when known status proves ordinary exit zero. Unknown status is never success."},"id":"LibTmux::CommandResult::success","kind":"method","modifiers":[],"name":"success","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::success","qualifiedName":"LibTmux::CommandResult::success","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub success($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/CommandResult.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-commandresult-success"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nField readers and relationships resolve locally in the retained graph. :obj:`\"to_record\" ` returns detached scalar record data. Handles retain no transport.\n\n\n## EXECUTION\n\nAll methods in this module operate on local captured data and perform no tmux I/O. Ordering is deterministic; public query methods do not mutate membership. Typed validation/evaluation errors propagate. See :obj:`\"snapshot\" in LibTmux::Server ` for explicit acquisition and :obj:`LibTmux::X ` for machine-readable failures.\n\n","summary":"Read-only handle retaining a captured graph"},"id":"LibTmux::Entity","kind":"class","modifiers":[],"name":"Entity","package":"LibTmux","product":"core","publicId":"LibTmux::Entity","qualifiedName":"LibTmux::Entity","signatures":[{"params":[],"raw":"package LibTmux::Entity;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-entity"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Entity::generation","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::generation","qualifiedName":"LibTmux::Entity::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-entity-generation"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Entity::identity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::identity","qualifiedName":"LibTmux::Entity::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-entity-identity"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Entity::kind","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::kind","qualifiedName":"LibTmux::Entity::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-entity-kind"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Entity::server_id","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::server_id","qualifiedName":"LibTmux::Entity::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-entity-server_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Entity::to_record","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::to_record","qualifiedName":"LibTmux::Entity::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-entity-to_record"},{"apiScope":"exported","doc":{"body":"\n## SYNOPSIS\n\n\n```perl\n use v5.44;\n use LibTmux::Filter;\n my $filter = LibTmux::Filter->new(\n entity => 'pane', where => {width => {-gte => 120}},\n );\n my $matches = $snapshot->panes->where($filter);\n```\n\n\n## CONTRACT\n\nCompilation validates the entire tree and copies operands. Hash keys evaluate lexically; logical arrays retain input order. Missing reads throw; known-null ordering is false. String operators are literal. Relations use some/every/none and is/is_not with explicit dash prefixes in Perl data.\n\n`matches` accepts entities, plain records, and registered adapters. `to_data`/`to_json` export copies in libtmux.where/v1; `from_data`/`from_json` validate input. Regex/coderefs/cycles and non-UTF-8 byte-path wire operands are refused. Perl regex remains available through Selection `grep`.\n\n\n## EXECUTION\n\nAll methods in this module operate on local captured data and perform no tmux I/O. Ordering is deterministic; public query methods do not mutate membership. Typed validation/evaluation errors propagate. See :obj:`\"snapshot\" in LibTmux::Server ` for explicit acquisition and :obj:`LibTmux::X ` for machine-readable failures.\n\n","summary":"Validated, reusable local criteria and explicit wire data"},"id":"LibTmux::Filter","kind":"class","modifiers":[],"name":"Filter","package":"LibTmux","product":"core","publicId":"LibTmux::Filter","qualifiedName":"LibTmux::Filter","signatures":[{"params":[],"raw":"package LibTmux::Filter;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter"},{"apiScope":"exported","doc":{"summary":"Return the declared entity-kind string. It remains known for an empty :obj:`LibTmux::Selection `."},"id":"LibTmux::Filter::entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::entity","qualifiedName":"LibTmux::Filter::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter-entity"},{"apiScope":"exported","doc":{"summary":"`from_data($envelope)` validates the version, entity, fields, operators, and operands, then returns a compiled filter. Reject executable values, unknown versions, cycles, and unsupported regex nodes."},"id":"LibTmux::Filter::from_data","kind":"method","modifiers":[],"name":"from_data","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::from_data","qualifiedName":"LibTmux::Filter::from_data","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"data"}],"raw":"sub from_data($class, $data)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":315,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter-from_data"},{"apiScope":"exported","doc":{"summary":"`from_json($json_octets)` decodes bounded JSON using core booleans and calls :obj:`\"from_data\" `. Invalid JSON throws :obj:`InvalidFilter `."},"id":"LibTmux::Filter::from_json","kind":"method","modifiers":[],"name":"from_json","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::from_json","qualifiedName":"LibTmux::Filter::from_json","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"bytes"}],"raw":"sub from_json($class, $bytes)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":331,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter-from_json"},{"apiScope":"exported","doc":{"summary":"`matches($entity_or_record)` returns a native Boolean. Accept captured entities, plain hash records, or registered adapters of the declared kind. Missing required reads throw :obj:`Unloaded `; they never become null or false through negation. Evaluation performs no I/O."},"id":"LibTmux::Filter::matches","kind":"method","modifiers":[],"name":"matches","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::matches","qualifiedName":"LibTmux::Filter::matches","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"record"}],"raw":"sub matches($self, $record)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":136,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter-matches"},{"apiScope":"exported","doc":{"summary":"`new(entity => kind, where => $hashref)` validates the complete criteria tree and owns a normalized copy. Schemas choose comparison types; no scalar-history coercion or arbitrary method dispatch occurs. Errors throw :obj:`InvalidFilter ` with precise paths, even for unreachable branches."},"id":"LibTmux::Filter::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::new","qualifiedName":"LibTmux::Filter::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter-new"},{"apiScope":"exported","doc":{"summary":"Return an independent copy of normalized Perl criteria. Editing it does not change the compiled filter."},"id":"LibTmux::Filter::normalized_where","kind":"method","modifiers":[],"name":"normalized_where","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::normalized_where","qualifiedName":"LibTmux::Filter::normalized_where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":20,"kind":"name","start":4}],"params":[],"raw":"sub normalized_where($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter-normalized_where"},{"apiScope":"exported","doc":{"summary":"`register_adapter(class => name, entity => kind, readers => { field => coderef })` registers trusted field readers without inheritance. Only declared fields are accepted. Readers are executable local code; they never enter portable criteria. See :obj:`LibTmux::Schema `."},"id":"LibTmux::Filter::register_adapter","kind":"method","modifiers":[],"name":"register_adapter","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::register_adapter","qualifiedName":"LibTmux::Filter::register_adapter","signatures":[{"methodKind":"call","nativeSyntax":[{"end":20,"kind":"name","start":4},{"end":34,"kind":"parameter","parameter":0,"start":29}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub register_adapter($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":20,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter-register_adapter"},{"apiScope":"exported","doc":{"summary":"Return a fresh `libtmux.where/v1` envelope using canonical wire field/operator names. Normalize strings, numbers, native booleans, null, objects, and arrays by schema. Aliases are currently absent; one canonical name is encoded."},"id":"LibTmux::Filter::to_data","kind":"method","modifiers":[],"name":"to_data","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::to_data","qualifiedName":"LibTmux::Filter::to_data","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub to_data($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":301,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter-to_data"},{"apiScope":"exported","doc":{"summary":"Return canonical-key UTF-8 JSON octets using [JSON::PP](https://perldoc.perl.org/5.44.0/JSON::PP). Non-UTF-8 opaque path bytes throw :obj:`UnsupportedValue `. This is reproducible key order, not semantic canonicalization of arbitrary Boolean trees."},"id":"LibTmux::Filter::to_json","kind":"method","modifiers":[],"name":"to_json","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::to_json","qualifiedName":"LibTmux::Filter::to_json","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub to_json($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Filter.pm","line":311,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-filter-to_json"},{"apiScope":"exported","doc":{"body":"","summary":"Executor-independent prepared command continuations"},"id":"LibTmux::Operation","kind":"class","modifiers":[],"name":"Operation","package":"LibTmux","product":"core","publicId":"LibTmux::Operation","qualifiedName":"LibTmux::Operation","signatures":[{"params":[],"raw":"package LibTmux::Operation;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Operation.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-operation"},{"apiScope":"exported","doc":{"summary":"Recover a failure with one value or another Operation."},"id":"LibTmux::Operation::catch","kind":"method","modifiers":[],"name":"catch","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::catch","qualifiedName":"LibTmux::Operation::catch","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"callback"}],"raw":"sub catch($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Operation.pm","line":33,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-operation-catch"},{"apiScope":"exported","doc":{"summary":"`request(argv => [...], stdin => $octets, ...)` owns its input arguments. Execution is explicit through :obj:`\"run\" `; preparation performs no I/O."},"id":"LibTmux::Operation::request","kind":"method","modifiers":[],"name":"request","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::request","qualifiedName":"LibTmux::Operation::request","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"request","variadic":"keyword"}],"raw":"sub request($class, %request)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Operation.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-operation-request"},{"apiScope":"exported","doc":{"body":"The synchronous :obj:`LibTmux::Server ` and optional async distribution use the same preparation, codecs, and graph semantics. Core has no Future dependency.","summary":"`run($executor, $on_done, $on_fail)` supplies requests and two one-argument completion callbacks to the executor. The executor returns a cancellation hook. `run` returns a cancellation coderef suppressing further submissions. Each request settles once; the complete operation yields one value or error."},"id":"LibTmux::Operation::run","kind":"method","modifiers":[],"name":"run","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::run","qualifiedName":"LibTmux::Operation::run","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15},{"end":31,"kind":"parameter","parameter":1,"start":26},{"end":38,"kind":"parameter","parameter":2,"start":33}],"params":[{"name":"executor"},{"name":"done"},{"name":"fail"}],"raw":"sub run($self, $executor, $done, $fail)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Operation.pm","line":51,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-operation-run"},{"apiScope":"exported","doc":{"summary":"Execute an array of Operations in order, returning one arrayref of results."},"id":"LibTmux::Operation::sequence","kind":"method","modifiers":[],"name":"sequence","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::sequence","qualifiedName":"LibTmux::Operation::sequence","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"operations"}],"raw":"sub sequence($class, $operations)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Operation.pm","line":39,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-operation-sequence"},{"apiScope":"exported","doc":{"summary":"Compose a local transformation returning one value or another Operation. Exceptions retain their original identity."},"id":"LibTmux::Operation::then","kind":"method","modifiers":[],"name":"then","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::then","qualifiedName":"LibTmux::Operation::then","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub then($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Operation.pm","line":27,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-operation-then"},{"apiScope":"exported","doc":{"summary":"Wrap one local value, including undef for a documented void operation."},"id":"LibTmux::Operation::value","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::value","qualifiedName":"LibTmux::Operation::value","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"value"}],"raw":"sub value($class, $value)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Operation.pm","line":25,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-operation-value"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured pane entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::Pane","kind":"class","modifiers":[],"name":"Pane","package":"LibTmux","product":"core","publicId":"LibTmux::Pane","qualifiedName":"LibTmux::Pane","signatures":[{"params":[],"raw":"package LibTmux::Pane;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane"},{"apiScope":"exported","doc":{"summary":"boolean. Local captured data; no I/O."},"id":"LibTmux::Pane::active","kind":"method","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::active","qualifiedName":"LibTmux::Pane::active","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub active($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-active"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Pane::current_command","kind":"method","modifiers":[],"name":"current_command","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::current_command","qualifiedName":"LibTmux::Pane::current_command","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4}],"params":[],"raw":"sub current_command($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-current_command"},{"apiScope":"exported","doc":{"summary":"bytes. Local captured data; no I/O."},"id":"LibTmux::Pane::current_path","kind":"method","modifiers":[],"name":"current_path","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::current_path","qualifiedName":"LibTmux::Pane::current_path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4}],"params":[],"raw":"sub current_path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-current_path"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Pane::cursor_shape","kind":"method","modifiers":[],"name":"cursor_shape","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::cursor_shape","qualifiedName":"LibTmux::Pane::cursor_shape","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4}],"params":[],"raw":"sub cursor_shape($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-cursor_shape"},{"apiScope":"exported","doc":{"summary":"boolean. Local captured data; no I/O."},"id":"LibTmux::Pane::dead","kind":"method","modifiers":[],"name":"dead","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::dead","qualifiedName":"LibTmux::Pane::dead","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub dead($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-dead"},{"apiScope":"exported","doc":{"summary":"integer or undef. Local captured data; no I/O."},"id":"LibTmux::Pane::exit_status","kind":"method","modifiers":[],"name":"exit_status","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::exit_status","qualifiedName":"LibTmux::Pane::exit_status","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub exit_status($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-exit_status"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Pane::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::generation","qualifiedName":"LibTmux::Pane::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-generation"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Pane::height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::height","qualifiedName":"LibTmux::Pane::height","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub height($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-height"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Pane::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::id","qualifiedName":"LibTmux::Pane::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Pane::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::identity","qualifiedName":"LibTmux::Pane::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-identity"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Pane::index","kind":"method","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::index","qualifiedName":"LibTmux::Pane::index","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub index($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-index"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Pane::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::kind","qualifiedName":"LibTmux::Pane::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-kind"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Pane::pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::pid","qualifiedName":"LibTmux::Pane::pid","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4}],"params":[],"raw":"sub pid($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-pid"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Pane::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::server_id","qualifiedName":"LibTmux::Pane::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-server_id"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Pane::title","kind":"method","modifiers":[],"name":"title","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::title","qualifiedName":"LibTmux::Pane::title","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub title($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-title"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Pane::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::to_record","qualifiedName":"LibTmux::Pane::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-to_record"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Pane::width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::width","qualifiedName":"LibTmux::Pane::width","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub width($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-width"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Window ` entity. Local captured data; no I/O."},"id":"LibTmux::Pane::window","kind":"method","modifiers":[],"name":"window","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::window","qualifiedName":"LibTmux::Pane::window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub window($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Pane.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-pane-window"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::Pane ` handles from one server generation. Empty instances still validate against the pane schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured pane entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::PaneSelection","kind":"class","modifiers":[],"name":"PaneSelection","package":"LibTmux","product":"core","publicId":"LibTmux::PaneSelection","qualifiedName":"LibTmux::PaneSelection","signatures":[{"params":[],"raw":"package LibTmux::PaneSelection;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/PaneSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::PaneSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::count","qualifiedName":"LibTmux::PaneSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::PaneSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::exists","qualifiedName":"LibTmux::PaneSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::PaneSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::first","qualifiedName":"LibTmux::PaneSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::PaneSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::grep","qualifiedName":"LibTmux::PaneSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::PaneSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::iterator","qualifiedName":"LibTmux::PaneSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::PaneSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::new","qualifiedName":"LibTmux::PaneSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::PaneSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::one","qualifiedName":"LibTmux::PaneSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::PaneSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::one_or_undef","qualifiedName":"LibTmux::PaneSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::PaneSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::to_array","qualifiedName":"LibTmux::PaneSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::PaneSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::where","qualifiedName":"LibTmux::PaneSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-paneselection-where"},{"apiScope":"exported","doc":{"body":"","summary":"Shared owned process-supervision boundary"},"id":"LibTmux::ProcessJob","kind":"class","modifiers":[],"name":"ProcessJob","package":"LibTmux","product":"core","publicId":"LibTmux::ProcessJob","qualifiedName":"LibTmux::ProcessJob","signatures":[{"params":[],"raw":"package LibTmux::ProcessJob;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-processjob"},{"apiScope":"exported","doc":{"summary":"Request cleanup without blocking. Cancellation can follow dispatch and does not imply rollback or completed reaping."},"id":"LibTmux::ProcessJob::cancel","kind":"method","modifiers":[],"name":"cancel","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::cancel","qualifiedName":"LibTmux::ProcessJob::cancel","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub cancel($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":108,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-processjob-cancel"},{"apiScope":"exported","doc":{"summary":"True only after a valid supervisor result proves owned program cleanup."},"id":"LibTmux::ProcessJob::cleanup_complete","kind":"method","modifiers":[],"name":"cleanup_complete","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::cleanup_complete","qualifiedName":"LibTmux::ProcessJob::cleanup_complete","signatures":[{"methodKind":"call","nativeSyntax":[{"end":20,"kind":"name","start":4}],"params":[],"raw":"sub cleanup_complete($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":99,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-processjob-cleanup_complete"},{"apiScope":"exported","doc":{"summary":"Accumulate bounded result octets. Malformed or excessive data is a failure."},"id":"LibTmux::ProcessJob::consume","kind":"method","modifiers":[],"name":"consume","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::consume","qualifiedName":"LibTmux::ProcessJob::consume","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"bytes"}],"raw":"sub consume($self, $bytes)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-processjob-consume"},{"apiScope":"exported","doc":{"summary":"Decode the complete result after EOF and supervisor exit. Return one :obj:`LibTmux::CommandResult ` or throw a typed error."},"id":"LibTmux::ProcessJob::finish","kind":"method","modifiers":[],"name":"finish","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::finish","qualifiedName":"LibTmux::ProcessJob::finish","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub finish($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":128,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-processjob-finish"},{"apiScope":"exported","doc":{"summary":"Return the supervisor PID. It differs from the program PID."},"id":"LibTmux::ProcessJob::pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::pid","qualifiedName":"LibTmux::ProcessJob::pid","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4}],"params":[],"raw":"sub pid($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":98,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-processjob-pid"},{"apiScope":"exported","doc":{"summary":"Start a supervised literal command using the same arguments as :obj:`\"run\" in LibTmux::Transport `. This explicit operation performs I/O."},"id":"LibTmux::ProcessJob::start","kind":"method","modifiers":[],"name":"start","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::start","qualifiedName":"LibTmux::ProcessJob::start","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"input","variadic":"keyword"}],"raw":"sub start($class, %input)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-processjob-start"},{"apiScope":"exported","doc":{"summary":"Transfer the result pipe exactly once. Its reader owns closing that handle."},"id":"LibTmux::ProcessJob::take_result_handle","kind":"method","modifiers":[],"name":"take_result_handle","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::take_result_handle","qualifiedName":"LibTmux::ProcessJob::take_result_handle","signatures":[{"methodKind":"call","nativeSyntax":[{"end":22,"kind":"name","start":4}],"params":[],"raw":"sub take_result_handle($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":101,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-processjob-take_result_handle"},{"apiScope":"exported","doc":{"summary":"The synchronous reader/reaper. A loop-owned job refuses blocking wait. Async adapters supply a spawn/reap callback and retain jobs through EOF plus the matching exit notification. Dropping a job closes its parent guard but does not synchronously wait; owners must complete their cleanup protocol."},"id":"LibTmux::ProcessJob::wait","kind":"method","modifiers":[],"name":"wait","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::wait","qualifiedName":"LibTmux::ProcessJob::wait","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub wait($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":200,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-processjob-wait"},{"apiScope":"exported","doc":{"body":"","summary":"Explainable explicit pane acquisition"},"id":"LibTmux::QueryPlan","kind":"class","modifiers":[],"name":"QueryPlan","package":"LibTmux","product":"core","publicId":"LibTmux::QueryPlan","qualifiedName":"LibTmux::QueryPlan","signatures":[{"params":[],"raw":"package LibTmux::QueryPlan;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-queryplan"},{"apiScope":"exported","doc":{"summary":"Return the compiled :obj:`LibTmux::Filter `. Its matching remains local."},"id":"LibTmux::QueryPlan::filter","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::QueryPlan","product":"core","publicId":"LibTmux::QueryPlan::filter","qualifiedName":"LibTmux::QueryPlan::filter","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub filter($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":31,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-queryplan-filter"},{"apiScope":"exported","doc":{"summary":"Return auto, never, or require. :obj:`\"query_panes\" in LibTmux::Server ` executes the plan with complete captured local evaluation. Native candidates cannot hide errors or discard matches from that captured result. Only verified complete translation qualifies for require; runtime disagreement throws :obj:`\"QueryMismatch\" in LibTmux::X ` without assigning a cause. The optional :obj:`\"query_panes\" in LibTmux::Server ` observer exposes completed comparisons."},"id":"LibTmux::QueryPlan::policy","kind":"method","modifiers":[],"name":"policy","package":"LibTmux","parent":"LibTmux::QueryPlan","product":"core","publicId":"LibTmux::QueryPlan::policy","qualifiedName":"LibTmux::QueryPlan::policy","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub policy($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":32,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-queryplan-policy"},{"apiScope":"exported","doc":{"summary":"Describe native lowering and local residual reasons. Explanation performs no I/O and uses the support floor until connected capabilities are available."},"id":"LibTmux::QueryPlan::summary","kind":"method","modifiers":[],"name":"summary","package":"LibTmux","parent":"LibTmux::QueryPlan","product":"core","publicId":"LibTmux::QueryPlan::summary","qualifiedName":"LibTmux::QueryPlan::summary","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub summary($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":191,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-queryplan-summary"},{"apiScope":"exported","doc":{"summary":"Return an inspectable plan with source commands, filter, policy, and reasons. The :obj:`LibTmux::Schema ` catalog identifies required fields and relations."},"id":"LibTmux::QueryPlan::to_data","kind":"method","modifiers":[],"name":"to_data","package":"LibTmux","parent":"LibTmux::QueryPlan","product":"core","publicId":"LibTmux::QueryPlan::to_data","qualifiedName":"LibTmux::QueryPlan::to_data","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub to_data($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":235,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-queryplan-to_data"},{"apiScope":"exported","doc":{"body":"","summary":"Catalog and explicit record adapters"},"id":"LibTmux::Schema","kind":"class","modifiers":[],"name":"Schema","package":"LibTmux","product":"core","publicId":"LibTmux::Schema","qualifiedName":"LibTmux::Schema","signatures":[{"params":[],"raw":"package LibTmux::Schema;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Schema.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-schema"},{"apiScope":"exported","doc":{"summary":"`register_adapter(class => ..., entity => ..., readers => {...})` registers trusted callbacks for declared fields. Unknown criteria keys never become method names. Missing fields throw; nullable undef is known null."},"id":"LibTmux::Schema::register_adapter","kind":"method","modifiers":[],"name":"register_adapter","package":"LibTmux","parent":"LibTmux::Schema","product":"core","publicId":"LibTmux::Schema::register_adapter","qualifiedName":"LibTmux::Schema::register_adapter","signatures":[{"methodKind":"call","nativeSyntax":[{"end":20,"kind":"name","start":4},{"end":34,"kind":"parameter","parameter":0,"start":29}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub register_adapter($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Schema.pm","line":121,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-schema-register_adapter"},{"apiScope":"exported","doc":{"body":"\n## EXECUTION\n\nAll methods in this module operate on local captured data and perform no tmux I/O. Ordering is deterministic; public query methods do not mutate membership. Typed validation/evaluation errors propagate. See :obj:`\"snapshot\" in LibTmux::Server ` for explicit acquisition and :obj:`LibTmux::X ` for machine-readable failures.\n\n","summary":"Native array selections with fixed query returns","examples":[{"lang":"perl","code":"use v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse LibTmuxFixture;\nuse LibTmux::Filter;\nuse List::Util qw(any first);\nLibTmuxFixture->run(\n sub ($server, $root) {\n my $session = $server->new_session(\n name => 'example',\n command => ['/bin/sleep', '120']\n );\n my $initial = $session->window_links->one->window->panes->one;\n $server->split_pane(\n pane => $initial,\n horizontal => true,\n command => ['/bin/sleep', '120']\n );\n my $snapshot = $server->snapshot;\n my $panes = $snapshot->panes->where({current_command => 'sleep'})\n ->grep(sub ($pane) { $pane->width >= 1 });\n die 'expected two panes' unless $panes->count == 2;\n for my $pane ($panes->@*) {\n say $pane->id . ' ' . $pane->current_command;\n }\n my $only_active = $panes->one({active => true});\n die 'active pane unavailable' unless defined $only_active;\n my $has_active = any { $_->active } $panes->@*;\n my $first_active = first { $_->active } $panes->@*;\n die 'List::Util alternatives differ'\n unless $has_active && $first_active->id eq $only_active->id;\n my @ids = map { $_->id } $panes->@*;\n my @positive = grep { $_->width > 0 } $panes->@*;\n die 'ordinary Perl arrays differ' unless @ids == 2 && @positive == 2;\n my $filter =\n LibTmux::Filter->new(entity => 'pane', where => {active => true});\n my $decoded = LibTmux::Filter->from_json($filter->to_json);\n die 'wire filter changed meaning'\n unless $panes->where($decoded)->one->id eq $only_active->id;\n my $retained = do {\n my $observed = $server->snapshot;\n $observed->pane_by_id($only_active->id);\n };\n die 'retained graph lost a relationship'\n unless $retained->window->panes->count == 2;\n my $same_child = $snapshot->windows->where(\n {panes => {-some => {-and => [{index => 0}, {index => 1}]}}});\n my $different_children = $snapshot->windows->where(\n {\n -and => [\n {panes => {-some => {index => 0}}},\n {panes => {-some => {index => 1}}}\n ]\n }\n );\n die 'quantifiers conflated children'\n unless $same_child->count == 0 && $different_children->count == 1;\n my $where = {active => true, width => {-gte => 1}};\n my $local = $server->query_panes(where => $where, pushdown => 'never');\n my $verification;\n my $native = $server->query_panes(\n where => $where,\n pushdown => 'require',\n on_verification => sub ($report) { $verification = $report },\n );\n die 'native verification was not observed'\n unless $verification->{status} eq 'agreed'\n && $verification->{comparison} eq 'exact_ids';\n die 'native/local disagreement'\n unless join(',', map { $_->id } @$local) eq\n join(',', map { $_->id } @$native);\n say 'selection, wire, graph lifetime, quantifiers, and query: ok';\n }\n);\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/d9fa7c5278d243c671a29cdb00e3a911ac651bfa/examples/selection.pl"}]},"id":"LibTmux::Selection","kind":"class","modifiers":[],"name":"Selection","package":"LibTmux","product":"core","publicId":"LibTmux::Selection","qualifiedName":"LibTmux::Selection","signatures":[{"params":[],"raw":"package LibTmux::Selection;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection"},{"apiScope":"exported","doc":{"body":"","summary":"Local cursor over frozen membership"},"id":"LibTmux::Selection::Iterator","kind":"class","modifiers":[],"name":"Iterator","package":"LibTmux","product":"core","publicId":"LibTmux::Selection::Iterator","qualifiedName":"LibTmux::Selection::Iterator","signatures":[{"params":[],"raw":"package LibTmux::Selection::Iterator;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection/Iterator.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-iterator-cvun"},{"apiScope":"exported","doc":{"summary":"Return the next captured entity or undef only at exhaustion. Order and multiplicity match creation-time membership. Later native selection edits do not change this traversal. A cursor is consumable; create a fresh cursor with :obj:`\"iterator\" in LibTmux::Selection ` to traverse again. No tmux I/O occurs."},"id":"LibTmux::Selection::Iterator::next","kind":"method","modifiers":[],"name":"next","package":"LibTmux","parent":"LibTmux::Selection::Iterator","product":"core","publicId":"LibTmux::Selection::Iterator::next","qualifiedName":"LibTmux::Selection::Iterator::next","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub next($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection/Iterator.pm","line":4,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-iterator-next"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::Selection::count","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::count","qualifiedName":"LibTmux::Selection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::Selection::exists","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::exists","qualifiedName":"LibTmux::Selection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::Selection::first","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::first","qualifiedName":"LibTmux::Selection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::Selection::grep","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::grep","qualifiedName":"LibTmux::Selection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::Selection::iterator","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::iterator","qualifiedName":"LibTmux::Selection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-iterator-2bn1"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::Selection::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::new","qualifiedName":"LibTmux::Selection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::Selection::one","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::one","qualifiedName":"LibTmux::Selection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::Selection::one_or_undef","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::one_or_undef","qualifiedName":"LibTmux::Selection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::Selection::to_array","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::to_array","qualifiedName":"LibTmux::Selection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::Selection::where","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::where","qualifiedName":"LibTmux::Selection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-selection-where"},{"apiScope":"exported","doc":{"body":"\n## SYNOPSIS\n\n\n```perl\n use v5.44;\n use LibTmux::Server;\n my $server = LibTmux::Server->new(socket_name => 'application');\n my $snapshot = $server->snapshot;\n my $pane = $snapshot->panes->first;\n say $server->capture_pane(pane => $pane) if defined $pane;\n```\n\n\n## CONTRACT\n\nConstruction and planning perform no I/O. Acquisition and mutation are explicit, bounded operations. Captured :obj:`LibTmux::Snapshot ` entities retain their observed graph; mutations do not refresh them. Acquire another snapshot to observe changes. Connection settings remain owned by the server wrapper; destroying it never kills a tmux daemon. See the [orchestration guide](https://github.com/libtmux/libtmux-perl/blob/master/docs/orchestration.md).\n\nPhysical entity targets accept stable ID strings or generation-checked handles. Session-relative window operations require :obj:`LibTmux::WindowLink `. Checks across subprocesses are optimistic rather than transactional. Single-quote session IDs such as `'$1'` to avoid interpolating a Perl capture variable.\n\n\n## ERRORS\n\nInvalid arguments throw :obj:`\"InvalidArgument\" in LibTmux::X ` before dispatch. Acquisition and checked commands propagate typed :obj:`LibTmux::X ` failures, including missing executables, absent daemons, vanished targets, stale handles, codec errors, timeouts, and output limits. Failures never become empty selections. Cancellation or a timeout after dispatch does not prove nonexecution or roll back effects.\n\n\n## VERIFICATION REPORT\n\n:obj:`\"query_panes\" ` supplies a fresh, detached hashref to `on_verification`. It contains no entity handles. Every ID array retains stable order; editing the report cannot mutate captured data or the query result.\n\n`policy`, `status`, `comparison`Policy is auto, never, require, or native for the expert escape hatch. Status is disabled (never), local (no safe lowering), agreed, disagreed, or native. Comparison is none, exact_ids, candidate_superset, or captured_membership. Partial lowering checks inclusion of local matches; expert queries check only membership in the captured graph. Neither establishes full filter equivalence.`native_checked`, `translation_exact`, `native_filter`, `reasons`native_checked is Boolean. translation_exact is Boolean, or undef for never and expert queries. native_filter is the executed expression, or undef when no native check ran. reasons is a fresh arrayref of lowering limitations. Exact translation and agreement between two observations are separate facts.`server_id`, `generation`, `daemon_version`, `capture_start`, `capture_end`Identity strings and the captured interval in wall-clock seconds since the epoch, from :obj:`\"metadata\" in LibTmux::Snapshot `. This is not an atomic observation.`captured_ids`, `local_ids`, `native_ids`captured_ids and local_ids follow physical capture order; local_ids is undef for expert queries. native_ids holds unique IDs in native first-occurrence order, or undef when no check ran. An empty array is an observed empty set.`missing_ids`, `unexpected_ids`, `uncaptured_ids`missing_ids lists local matches absent natively, in local order. For exact lowering, unexpected_ids lists native matches absent locally. uncaptured_ids lists native IDs absent from the graph. The latter two follow native order; inapplicable lists are empty. Any applicable mismatch produces disagreed. :obj:`\"QueryMismatch\" in LibTmux::X ` carries this report for require or expert failures; the observer is not called for a failed query. A discrepancy has no inferred cause: concurrent changes, compiler defects and backend differences all need investigation.\n\n","summary":"Explicit tmux acquisition and commands","examples":[{"lang":"perl","code":"use v5.44;\nuse Config;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse LibTmuxFixture;\n\n# This complete demo owns a Linux child-reaping scope, including tmux panes.\nBEGIN {\n die 'Requires Linux x86_64 LP64'\n unless $^O eq 'linux'\n && $Config::Config{archname} =~ /x86_64/\n && $Config::Config{ptrsize} == 8\n && $Config::Config{ivsize} == 8;\n syscall(157, 36, 1, 0, 0, 0) == 0 or die \"subreaper: $!\";\n}\n\ntry {\n LibTmuxFixture->run(\n sub ($server, $root) {\n my $session = $server->new_session(\n name => 'demo',\n command => ['/bin/cat']\n );\n my $failure;\n try {\n my $editor = $session->window_links->one->window;\n $server->rename_window(window => $editor, name => 'editor');\n my $right = $server->split_pane(\n pane => $editor->panes->one,\n horizontal => true,\n command => ['/bin/cat']\n );\n my $logs = $server->new_window(\n session => $session,\n name => 'logs',\n command => ['/bin/cat']\n );\n $server->select_pane(pane => $right);\n my $snapshot = $server->snapshot;\n my $link = $snapshot->window_links->one(\n {\n window => {-is => {id => $logs->id}}\n }\n );\n $server->select_window(link => $link);\n $snapshot = $server->snapshot;\n\n for my $entry ($snapshot->sessions->@*) {\n say 'session ', $entry->name;\n for my $link ($entry->window_links->@*) {\n my $window = $link->window;\n my $ids = join ' ', map { $_->id } $window->panes->@*;\n my $label = $link->index . ':' . $window->name;\n say ' window ', $label, ': ', $ids;\n }\n }\n my $panes =\n $snapshot->windows->one({name => 'editor'})\n ->panes->where({width => {-gte => 1}})\n ->grep(sub ($pane) { $pane->height >= 1 });\n my $selected = $panes->one({active => true});\n die 'unexpected pane membership' unless $panes->count == 2;\n my $name = $selected->window->name;\n say $selected->id, ' is in window ', $name;\n }\n catch ($error) { $failure = $error }\n $server->kill_session(session => $session);\n die $failure if defined $failure;\n }\n );\n}\ncatch ($error) {\n warn \"tmux quickstart failed: $error\\n\";\n die $error;\n}\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/d9fa7c5278d243c671a29cdb00e3a911ac651bfa/examples/quickstart.pl"}]},"id":"LibTmux::Server","kind":"class","modifiers":[],"name":"Server","package":"LibTmux","product":"core","publicId":"LibTmux::Server","qualifiedName":"LibTmux::Server","signatures":[{"params":[],"raw":"package LibTmux::Server;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server"},{"apiScope":"exported","doc":{"body":"Return a fresh literal argument array for a caller-owned interactive terminal without I/O. The session target is a stable ID string; obtain it through :obj:`\"id\" in LibTmux::Session `. The caller owns terminal/process setup and exit observation; the bounded capture transport does not allocate a TTY. Invalid inputs throw :obj:`\"InvalidArgument\" in LibTmux::X `.\n\n\n```perl\n my $argv = $server->attach_argv(session => '$1');\n```","summary":"`attach_argv(session => session_id)`."},"id":"LibTmux::Server::attach_argv","kind":"method","modifiers":[],"name":"attach_argv","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::attach_argv","qualifiedName":"LibTmux::Server::attach_argv","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub attach_argv($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":978,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-attach_argv"},{"apiScope":"exported","doc":{"body":"Perform ordered independent literal requests and return a fresh array reference of {result, error} records in input order. Each result is :obj:`LibTmux::CommandResult ` or undef; each dispatch error is the original typed :obj:`LibTmux::X ` or undef. Nonzero command exits stay raw results. An empty input returns an empty array without command I/O. Requests are attempted in order, without rollback or tmux command-list attribution.\n\n\n```perl\n my $results = $server->batch([['display-message', '-p', '#{version}']]);\n```","summary":"`batch(arrayref_of_argv)`."},"id":"LibTmux::Server::batch","kind":"method","modifiers":[],"name":"batch","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::batch","qualifiedName":"LibTmux::Server::batch","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"requests"}],"raw":"sub batch($self, $requests)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":974,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-batch"},{"apiScope":"exported","doc":{"body":"Read a :obj:`LibTmux::Pane ` and return raw terminal octets, including tmux's final newline. Optional start/end select native history rows; no UTF-8 replacement is performed. This I/O reads current observed content without waiting for application work. Command/transport failures propagate through :obj:`LibTmux::X `.\n\n\n```perl\n my $bytes = $server->capture_pane(pane => $pane, start => -20);\n```","summary":"`capture_pane(pane => Pane|pane_id, start => integer?, end => integer?)`."},"id":"LibTmux::Server::capture_pane","kind":"method","modifiers":[],"name":"capture_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::capture_pane","qualifiedName":"LibTmux::Server::capture_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub capture_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1058,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-capture_pane"},{"apiScope":"exported","doc":{"body":"Acquire a graph and return its :obj:`LibTmux::ClientSelection `. A daemon without attached clients produces an empty selection. Membership is copied away from graph storage. Acquisition failures propagate through :obj:`LibTmux::X `; :obj:`\"detach_client\" ` changes client state explicitly.\n\n\n```perl\n my $clients = $server->clients;\n```","summary":"`clients()`."},"id":"LibTmux::Server::clients","kind":"method","modifiers":[],"name":"clients","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::clients","qualifiedName":"LibTmux::Server::clients","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub clients($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1077,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-clients"},{"apiScope":"exported","doc":{"body":"Perform one checked literal tmux command and return :obj:`LibTmux::CommandResult `. No shell wrapper or implicit tmux command list is used. Nonzero exits throw :obj:`\"Command\" in LibTmux::X ` or a more specific target/server error; transport failures propagate.\n\n\n```perl\n my $result = $server->cmd('display-message', '-p', '#{version}');\n```","summary":"`cmd(@literal_arguments)`."},"id":"LibTmux::Server::cmd","kind":"method","modifiers":[],"name":"cmd","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::cmd","qualifiedName":"LibTmux::Server::cmd","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":20,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"argv","variadic":"positional"}],"raw":"sub cmd($self, @argv)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":968,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-cmd"},{"apiScope":"exported","doc":{"body":"Delete the named daemon buffer loaded through :obj:`\"set_buffer\" `. Other daemon buffers remain untouched; later :obj:`\"show_buffer\" ` calls report absence as a command failure.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->delete_buffer(name => 'application');\n```","summary":"`delete_buffer(name => string)`."},"id":"LibTmux::Server::delete_buffer","kind":"method","modifiers":[],"name":"delete_buffer","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::delete_buffer","qualifiedName":"LibTmux::Server::delete_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub delete_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1120,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-delete_buffer"},{"apiScope":"exported","doc":{"body":"Request detachment of a captured :obj:`LibTmux::Client ` or explicit native client name. Command acceptance can precede client-process exit; callers owning an attached process must observe its exit separately.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->detach_client(client => $client);\n```","summary":"`detach_client(client => Client|client_name)`."},"id":"LibTmux::Server::detach_client","kind":"method","modifiers":[],"name":"detach_client","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::detach_client","qualifiedName":"LibTmux::Server::detach_client","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub detach_client($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1079,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-detach_client"},{"apiScope":"exported","doc":{"body":"Perform one raw command and return :obj:`LibTmux::CommandResult `, including nonzero exits. stdout and stderr remain separate octet strings. stdin is optional bytes; cancel_fh is borrowed and remains open. Transport failures throw typed :obj:`LibTmux::X ` with bounded partial output when available.\n\n\n```perl\n my $result = $server->execute(argv => ['list-sessions']);\n```","summary":"`execute(argv => arrayref, stdin => bytes?, timeout => seconds?, cancel_fh => handle?)`."},"id":"LibTmux::Server::execute","kind":"method","modifiers":[],"name":"execute","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::execute","qualifiedName":"LibTmux::Server::execute","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub execute($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":987,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-execute"},{"apiScope":"exported","doc":{"body":"Validate criteria and return an inspectable :obj:`LibTmux::QueryPlan ` without I/O or mutation. The plan records required fields/relations, source commands, residuals, and conditional daemon capability needs. Invalid criteria throw :obj:`\"InvalidFilter\" in LibTmux::X `. Executing :obj:`\"query_panes\" ` discovers the connected generation and capabilities.\n\n\n```perl\n my $plan = $server->explain_panes(where => {width => {-gte => 120}});\n```","summary":"`explain_panes(where => criteria|Filter, pushdown => policy?)`."},"id":"LibTmux::Server::explain_panes","kind":"method","modifiers":[],"name":"explain_panes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::explain_panes","qualifiedName":"LibTmux::Server::explain_panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub explain_panes($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1006,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-explain_panes"},{"apiScope":"exported","doc":{"body":"Read a session/global variable and return its octets. The native quoted representation is parsed as data; no shell evaluates it. Literal backslashes, newlines and non-UTF-8 bytes remain distinct. Empty text and '0' remain values. Performs I/O without mutation; missing or explicitly unset variables throw :obj:`\"Command\" in LibTmux::X `, and malformed output throws :obj:`\"Codec\" in LibTmux::X `. Captured targets follow :obj:`\"set_environment\" `'s generation checks.\n\n\n```perl\n my $value = $server->get_environment(session => $session, name => 'BUILD');\n```","summary":"`get_environment(name => env_name, session => session_target?)`."},"id":"LibTmux::Server::get_environment","kind":"method","modifiers":[],"name":"get_environment","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::get_environment","qualifiedName":"LibTmux::Server::get_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":27}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub get_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1104,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-get_environment"},{"apiScope":"exported","doc":{"body":"Read an option and return its octets, decoding tmux's quoted string values. Literal backslashes and non-UTF-8 bytes remain distinct on older daemons. Key, numeric and command options retain native printed syntax. Array values are joined with newlines in native index order; an empty array returns `''`. Empty text and '0' remain values. `inherited => true` requests tmux's `-A` behavior; otherwise only the selected local level is queried. Performs I/O without mutation. Native missing-option errors throw :obj:`\"Command\" in LibTmux::X `; malformed output throws :obj:`\"Codec\" in LibTmux::X `. A built-in option without a local override may produce empty output. See :obj:`\"set_option\" ` and :obj:`\"unset_option\" `.\n\n\n```perl\n my $value = $server->get_option(scope => 'window', target => $window->id, name => '@build');\n```","summary":"`get_option(name => string, scope => scope, target => id?, global => boolean?, inherited => boolean?)`."},"id":"LibTmux::Server::get_option","kind":"method","modifiers":[],"name":"get_option","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::get_option","qualifiedName":"LibTmux::Server::get_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub get_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1087,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-get_option"},{"apiScope":"exported","doc":{"body":"Destroy the selected :obj:`LibTmux::Pane `. Killing a window's final pane may destroy the physical window and its :obj:`LibTmux::WindowLink ` associations. Previously captured records remain readable observations.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->kill_pane(pane => $pane);\n```","summary":"`kill_pane(pane => Pane|pane_id)`."},"id":"LibTmux::Server::kill_pane","kind":"method","modifiers":[],"name":"kill_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::kill_pane","qualifiedName":"LibTmux::Server::kill_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1062,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-kill_pane"},{"apiScope":"exported","doc":{"body":"Explicitly request destruction of the connected tmux daemon. This method can affect a borrowed server and must be called intentionally; wrapper destruction never calls it. Successful command acceptance alone does not prove every daemon/client process exited.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->kill_server;\n```","summary":"`kill_server()`."},"id":"LibTmux::Server::kill_server","kind":"method","modifiers":[],"name":"kill_server","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::kill_server","qualifiedName":"LibTmux::Server::kill_server","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_server($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1074,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-kill_server"},{"apiScope":"exported","doc":{"body":"Destroy the selected :obj:`LibTmux::Session ` and its links. Windows linked elsewhere can survive. Captured data remains local; later mutations through stale generation handles are checked.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->kill_session(session => $session);\n```","summary":"`kill_session(session => Session|session_id)`."},"id":"LibTmux::Server::kill_session","kind":"method","modifiers":[],"name":"kill_session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::kill_session","qualifiedName":"LibTmux::Server::kill_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1070,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-kill_session"},{"apiScope":"exported","doc":{"body":"Destroy the physical :obj:`LibTmux::Window ` and every :obj:`LibTmux::WindowLink ` referring to it. Use :obj:`\"unlink_window\" ` when removing one association is the intended effect.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->kill_window(window => $window);\n```","summary":"`kill_window(window => Window|window_id)`."},"id":"LibTmux::Server::kill_window","kind":"method","modifiers":[],"name":"kill_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::kill_window","qualifiedName":"LibTmux::Server::kill_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1066,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-kill_window"},{"apiScope":"exported","doc":{"body":"Add an association from a physical :obj:`LibTmux::Window ` to a :obj:`LibTmux::Session `. index is optional; conflicts remain command failures. Existing associations are preserved. Inspect new :obj:`LibTmux::WindowLink ` records through :obj:`\"snapshot\" `.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->link_window(window => $window, session => $session, index => 4);\n```","summary":"`link_window(window => Window|window_id, session => Session|session_id, index => integer?)`."},"id":"LibTmux::Server::link_window","kind":"method","modifiers":[],"name":"link_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::link_window","qualifiedName":"LibTmux::Server::link_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub link_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1018,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-link_window"},{"apiScope":"exported","doc":{"body":"Perform acquisition and return a fresh unblessed array reference of contextual hash records in tmux order, preserving duplicate physical identities. kind is session, window, pane, or client. An attached-client listing can be empty. Records are detached values; :obj:`\"snapshot\" ` normalizes the graph. Acquisition/codec failures propagate through :obj:`LibTmux::X `.\n\n\n```perl\n my $rows = $server->listings('window');\n```","summary":"`listings(kind)`."},"id":"LibTmux::Server::listings","kind":"method","modifiers":[],"name":"listings","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::listings","qualifiedName":"LibTmux::Server::listings","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"kind"}],"raw":"sub listings($self, $kind)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":970,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-listings"},{"apiScope":"exported","doc":{"body":"Move one contextual :obj:`LibTmux::WindowLink ` into the destination session/index. Other links of the physical window keep their own associations. Use :obj:`\"link_window\" ` to add an association without moving one.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->move_window(link => $link, session => $session, index => 4);\n```","summary":"`move_window(link => WindowLink|session_id:index, session => Session|session_id, index => integer?)`."},"id":"LibTmux::Server::move_window","kind":"method","modifiers":[],"name":"move_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::move_window","qualifiedName":"LibTmux::Server::move_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub move_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1026,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-move_window"},{"apiScope":"exported","doc":{"body":"Return a new server wrapper without I/O. Select socket_name or socket_path, never both. Defaults are executable tmux, timeout 5 seconds, and an 8 MiB combined retained-output limit. env is copied; child processes clear ambient TMUX and TMUX_PANE. Invalid configuration throws :obj:`\"InvalidArgument\" in LibTmux::X `.\n\n\n```perl\n my $server = LibTmux::Server->new(socket_name => 'application');\n```","summary":"`new(executable => tmux, socket_name|socket_path => string, timeout => seconds, max_output => bytes, config_file => path, env => hashref)`."},"id":"LibTmux::Server::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::new","qualifiedName":"LibTmux::Server::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-new"},{"apiScope":"exported","doc":{"body":"Create a detached session and return its captured :obj:`LibTmux::Session `. command is a literal argument vector; shell_command explicitly requests a shell and is mutually exclusive. Omitting both uses tmux's default command. cwd is path octets; environment supplies NAME/value pairs to the first process. Performs I/O. If creation succeeds but acquisition fails, :obj:`\"Creation\" in LibTmux::X ` retains the known generation-scoped creation receipt and cause.\n\n\n```perl\n my $session = $server->new_session(name => 'application', command => ['/bin/cat']);\n```","summary":"`new_session(name => string, command => arrayref?, shell_command => string?, width => integer?, height => integer?, cwd => bytes?, environment => hashref?)`."},"id":"LibTmux::Server::new_session","kind":"method","modifiers":[],"name":"new_session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::new_session","qualifiedName":"LibTmux::Server::new_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":989,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-new_session"},{"apiScope":"exported","doc":{"body":"Create a detached physical window in the selected session and return its captured :obj:`LibTmux::Window `. command, shell_command, cwd, and environment follow :obj:`\"new_session\" `. The new link uses tmux's next available index. Performs I/O; :obj:`\"Creation\" in LibTmux::X ` preserves known effects if subsequent acquisition fails.\n\n\n```perl\n my $window = $server->new_window(session => $session, name => 'logs', command => ['/bin/cat']);\n```","summary":"`new_window(session => Session|session_id, name => string?, command => arrayref?, shell_command => string?, cwd => bytes?, environment => hashref?)`."},"id":"LibTmux::Server::new_window","kind":"method","modifiers":[],"name":"new_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::new_window","qualifiedName":"LibTmux::Server::new_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":993,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-new_window"},{"apiScope":"exported","doc":{"body":"```perl\n my $operation = $server->operation('snapshot');\n```","summary":"`operation($name, %arguments)` validates and copies arguments, returning one :obj:`LibTmux::Operation ` without I/O. The optional Future facade shares this preparation and parsing boundary. Use the named methods above for synchronous execution. Invalid arguments or criteria throw :obj:`\"InvalidArgument\" in LibTmux::X ` or :obj:`\"InvalidFilter\" in LibTmux::X ` before submission."},"id":"LibTmux::Server::operation","kind":"method","modifiers":[],"name":"operation","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::operation","qualifiedName":"LibTmux::Server::operation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21},{"end":33,"kind":"parameter","parameter":1,"start":28}],"params":[{"name":"name"},{"name":"args","variadic":"keyword"}],"raw":"sub operation($self, $name, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":854,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-operation"},{"apiScope":"exported","doc":{"body":"Acquire and return a new :obj:`LibTmux::PaneSelection ` in captured physical-pane order. where accepts a hash reference or :obj:`LibTmux::Filter `. auto verifies safe scalar candidates after complete local evaluation; never disables the native comparison. The default auto costs one extra command and supervisor when lowering is available; it does not reduce acquisition. Select never when only the captured answer is needed. require throws :obj:`\"Unsupported\" in LibTmux::X ` unless lowering is exact, or :obj:`\"QueryMismatch\" in LibTmux::X ` on disagreement. native_filter is an exclusive expert escape hatch. Empty successful matches remain a typed selection; acquisition/evaluation failures propagate.\n\n`on_verification` receives one detached report hashref in void context after a successful decision, including auto fallback. It runs inline once; its return is ignored and exceptions propagate unchanged unless the operation has already been cancelled. Cancellation suppresses subsequent result/error delivery. Failed queries do not invoke it. Report edits cannot change the returned selection. See :obj:`\"VERIFICATION REPORT\" ` and :obj:`\"explain_panes\" `.\n\n\n```perl\n my $panes = $server->query_panes(where => {active => true}, pushdown => 'auto');\n```","summary":"`query_panes(where => criteria|Filter?, pushdown => auto|never|require?, native_filter => string?, on_verification => coderef?)`."},"id":"LibTmux::Server::query_panes","kind":"method","modifiers":[],"name":"query_panes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::query_panes","qualifiedName":"LibTmux::Server::query_panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub query_panes($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1002,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-query_panes"},{"apiScope":"exported","doc":{"body":"Rename the selected :obj:`LibTmux::Session ` using a literal name. Existing captured handles keep the old observed name; use :obj:`\"snapshot\" ` to observe the change.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->rename_session(session => $session, name => 'application');\n```","summary":"`rename_session(session => Session|session_id, name => string)`."},"id":"LibTmux::Server::rename_session","kind":"method","modifiers":[],"name":"rename_session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::rename_session","qualifiedName":"LibTmux::Server::rename_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":18,"kind":"name","start":4},{"end":31,"kind":"parameter","parameter":0,"start":26}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub rename_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1010,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-rename_session"},{"apiScope":"exported","doc":{"body":"Rename the physical :obj:`LibTmux::Window ` across all its links. Names remain literal rather than expanding tmux formats. Captured handles keep their observed name.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->rename_window(window => $window, name => 'logs');\n```","summary":"`rename_window(window => Window|window_id, name => string)`."},"id":"LibTmux::Server::rename_window","kind":"method","modifiers":[],"name":"rename_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::rename_window","qualifiedName":"LibTmux::Server::rename_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub rename_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1014,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-rename_window"},{"apiScope":"exported","doc":{"body":"Resize a :obj:`LibTmux::Pane ` to the supplied positive width and/or height. tmux's layout constraints may affect the resulting dimensions; inspect another :obj:`LibTmux::Snapshot ` for observed values.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->resize_pane(pane => $pane, width => 100);\n```","summary":"`resize_pane(pane => Pane|pane_id, width => positive_integer?, height => positive_integer?)`."},"id":"LibTmux::Server::resize_pane","kind":"method","modifiers":[],"name":"resize_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::resize_pane","qualifiedName":"LibTmux::Server::resize_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub resize_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1042,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-resize_pane"},{"apiScope":"exported","doc":{"body":"Apply an unambiguous predefined layout name or a checksum-prefixed native layout to a :obj:`LibTmux::Window `. Unknown or ambiguous predefined names throw :obj:`\"InvalidArgument\" in LibTmux::X ` before dispatch, including on tmux 3.3a. Native custom-layout validation remains tmux's responsibility.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->select_layout(window => $window, layout => 'tiled');\n```","summary":"`select_layout(window => Window|window_id, layout => string)`."},"id":"LibTmux::Server::select_layout","kind":"method","modifiers":[],"name":"select_layout","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::select_layout","qualifiedName":"LibTmux::Server::select_layout","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_layout($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1038,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-select_layout"},{"apiScope":"exported","doc":{"body":"Change the active :obj:`LibTmux::Pane ` of its physical window. This differs from selecting a session's :obj:`LibTmux::WindowLink `.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->select_pane(pane => $pane);\n```","summary":"`select_pane(pane => Pane|pane_id)`."},"id":"LibTmux::Server::select_pane","kind":"method","modifiers":[],"name":"select_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::select_pane","qualifiedName":"LibTmux::Server::select_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1034,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-select_pane"},{"apiScope":"exported","doc":{"body":"Select a :obj:`LibTmux::WindowLink ` within its session. A physical window alone cannot identify session-relative active state. Capture again through :obj:`\"snapshot\" ` to observe the selected link.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->select_window(link => $link);\n```","summary":"`select_window(link => WindowLink|session_id:index)`."},"id":"LibTmux::Server::select_window","kind":"method","modifiers":[],"name":"select_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::select_window","qualifiedName":"LibTmux::Server::select_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1030,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-select_window"},{"apiScope":"exported","doc":{"body":"Send the array's named keys in order to a :obj:`LibTmux::Pane `. tmux interprets key names; arguments beginning with a dash remain key operands. An empty array sends no keys. Acceptance does not prove the pane application consumed input. Use :obj:`\"send_text\" ` for literal text.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->send_keys(pane => $pane, keys => ['Enter']);\n```","summary":"`send_keys(pane => Pane|pane_id, keys => arrayref)`."},"id":"LibTmux::Server::send_keys","kind":"method","modifiers":[],"name":"send_keys","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::send_keys","qualifiedName":"LibTmux::Server::send_keys","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub send_keys($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1050,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-send_keys"},{"apiScope":"exported","doc":{"body":"Send literal text/bytes to a :obj:`LibTmux::Pane `, then optionally send Enter. Empty text is permitted. Acceptance does not prove application completion. Use an application-specific observable handshake before relying on output; :obj:`\"capture_pane\" ` reads observed terminal content.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->send_text(pane => $pane, text => 'hello', enter => true);\n```","summary":"`send_text(pane => Pane|pane_id, text => string|bytes, enter => boolean?)`."},"id":"LibTmux::Server::send_text","kind":"method","modifiers":[],"name":"send_text","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::send_text","qualifiedName":"LibTmux::Server::send_text","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub send_text($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1054,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-send_text"},{"apiScope":"exported","doc":{"body":"Load a named tmux buffer through stdin bytes rather than interpolating data into a command. Empty data is permitted. :obj:`\"show_buffer\" ` retrieves bytes; buffer ownership remains in the daemon until :obj:`\"delete_buffer\" ` or an external change.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_buffer(name => 'application', data => \"a\\0b\");\n```","summary":"`set_buffer(name => string, data => bytes)`."},"id":"LibTmux::Server::set_buffer","kind":"method","modifiers":[],"name":"set_buffer","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_buffer","qualifiedName":"LibTmux::Server::set_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1112,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-set_buffer"},{"apiScope":"exported","doc":{"body":"Set a literal environment value for a :obj:`LibTmux::Session ` handle or explicit session ID, or globally when session is omitted. Empty text and '0' remain values. Existing pane processes are unaffected; creation-time environment belongs to :obj:`\"new_session\" `, :obj:`\"new_window\" `, and :obj:`\"split_pane\" `. Captured handles are checked against the connected daemon generation before dispatch; stale handles throw :obj:`\"StaleReference\" in LibTmux::X `. Raw IDs target the current session. The probe and mutation remain separate operations.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_environment(session => $session, name => 'BUILD', value => '0');\n```","summary":"`set_environment(name => env_name, value => bytes, session => session_target?)`."},"id":"LibTmux::Server::set_environment","kind":"method","modifiers":[],"name":"set_environment","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_environment","qualifiedName":"LibTmux::Server::set_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":27}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1100,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-set_environment"},{"apiScope":"exported","doc":{"body":"Set a native hook or sparse hook[index] entry for an explicit session target or global scope. command is deliberately a tmux command string, unlike literal process argv. :obj:`\"show_hooks\" ` preserves native indexes/quoting rather than inventing a flattened hook list.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_hook(target => $session->id, name => 'after-select-window[3]', command => 'display-message hook');\n```","summary":"`set_hook(name => hook_or_hook[index], command => explicit_tmux_command_string, target => session_id?, global => boolean?)`."},"id":"LibTmux::Server::set_hook","kind":"method","modifiers":[],"name":"set_hook","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_hook","qualifiedName":"LibTmux::Server::set_hook","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_hook($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1094,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-set_hook"},{"apiScope":"exported","doc":{"body":"Set an option at explicit session/window/pane/server scope. Supply an exact target ID for local settings or global => true for the global level. Empty and zero values are preserved. :obj:`\"get_option\" ` controls whether inherited values participate.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_option(scope => 'window', target => $window->id, name => '@build', value => '0');\n```","summary":"`set_option(name => string, value => string|integer, scope => session|window|pane|server, target => id?, global => boolean?)`."},"id":"LibTmux::Server::set_option","kind":"method","modifiers":[],"name":"set_option","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_option","qualifiedName":"LibTmux::Server::set_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1083,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-set_option"},{"apiScope":"exported","doc":{"body":"Set a :obj:`LibTmux::Pane ` title. Literal input is protected from format expansion; tmux's own title sanitization remains observable in a new :obj:`LibTmux::Snapshot `.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_title(pane => $pane, title => 'build.v2');\n```","summary":"`set_title(pane => Pane|pane_id, title => string)`."},"id":"LibTmux::Server::set_title","kind":"method","modifiers":[],"name":"set_title","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_title","qualifiedName":"LibTmux::Server::set_title","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_title($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1046,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-set_title"},{"apiScope":"exported","doc":{"body":"Read a named tmux buffer and return raw octets, including embedded NUL bytes. Empty data remains an empty string. Performs I/O; a missing buffer throws :obj:`\"Command\" in LibTmux::X `. See :obj:`\"set_buffer\" `.\n\n\n```perl\n my $bytes = $server->show_buffer(name => 'application');\n```","summary":"`show_buffer(name => string)`."},"id":"LibTmux::Server::show_buffer","kind":"method","modifiers":[],"name":"show_buffer","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::show_buffer","qualifiedName":"LibTmux::Server::show_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub show_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1116,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-show_buffer"},{"apiScope":"exported","doc":{"body":"Read hooks and return raw octets preserving sparse indexes and tmux quoting. No hooks produce empty text. Performs I/O; failures propagate through :obj:`LibTmux::X `. See :obj:`\"set_hook\" ` for explicit command-string semantics.\n\n\n```perl\n my $hooks = $server->show_hooks(target => $session->id);\n```","summary":"`show_hooks(target => session_id?, global => boolean?)`."},"id":"LibTmux::Server::show_hooks","kind":"method","modifiers":[],"name":"show_hooks","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::show_hooks","qualifiedName":"LibTmux::Server::show_hooks","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub show_hooks($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1096,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-show_hooks"},{"apiScope":"exported","doc":{"body":"Perform strict graph acquisition and return :obj:`LibTmux::Snapshot `. Physical windows/panes appear once; :obj:`LibTmux::WindowLink ` retains each contextual association. Capture start/end describe an observation interval, not an atomic transaction. Acquisition, unsupported capabilities, and incomplete topology throw typed :obj:`LibTmux::X `; no partial snapshot is returned.\n\n\n```perl\n my $snapshot = $server->snapshot;\n```","summary":"`snapshot()`."},"id":"LibTmux::Server::snapshot","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::snapshot","qualifiedName":"LibTmux::Server::snapshot","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub snapshot($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1000,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-snapshot"},{"apiScope":"exported","doc":{"body":"Split the targeted pane and return the new captured :obj:`LibTmux::Pane `. horizontal selects side-by-side placement; false uses tmux's vertical split. command, shell_command, cwd, and environment follow :obj:`\"new_session\" `. Performs I/O; creation/acquisition failures follow :obj:`\"Creation\" in LibTmux::X `.\n\n\n```perl\n my $other = $server->split_pane(pane => $pane, horizontal => true, command => ['/bin/cat']);\n```","summary":"`split_pane(pane => Pane|pane_id, horizontal => boolean?, command => arrayref?, cwd => bytes?, environment => hashref?)`."},"id":"LibTmux::Server::split_pane","kind":"method","modifiers":[],"name":"split_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::split_pane","qualifiedName":"LibTmux::Server::split_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub split_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":997,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-split_pane"},{"apiScope":"exported","doc":{"body":"Remove exactly one :obj:`LibTmux::WindowLink `, given a captured link or session_id:index string. Removing the final link can destroy its physical window; other linked associations retain their context.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->unlink_window(link => $link);\n```","summary":"`unlink_window(link => WindowLink|session_id:index)`."},"id":"LibTmux::Server::unlink_window","kind":"method","modifiers":[],"name":"unlink_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::unlink_window","qualifiedName":"LibTmux::Server::unlink_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unlink_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1022,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-unlink_window"},{"apiScope":"exported","doc":{"body":"Unset the named session/global variable. This differs from setting an empty value; :obj:`\"get_environment\" ` reports the unset state as a command error.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->unset_environment(session => $session, name => 'BUILD');\n```","summary":"`unset_environment(name => env_name, session => session_target?)`."},"id":"LibTmux::Server::unset_environment","kind":"method","modifiers":[],"name":"unset_environment","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::unset_environment","qualifiedName":"LibTmux::Server::unset_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":21,"kind":"name","start":4},{"end":34,"kind":"parameter","parameter":0,"start":29}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unset_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1108,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-unset_environment"},{"apiScope":"exported","doc":{"body":"Remove the selected local/global option so inheritance can take effect. Scope and target follow :obj:`\"set_option\" `; removing an override differs from assigning empty text.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->unset_option(scope => 'window', target => $window->id, name => '@build');\n```","summary":"`unset_option(name => string, scope => scope, target => id?, global => boolean?)`."},"id":"LibTmux::Server::unset_option","kind":"method","modifiers":[],"name":"unset_option","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::unset_option","qualifiedName":"LibTmux::Server::unset_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unset_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Server.pm","line":1091,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-server-unset_option"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured session entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::Session","kind":"class","modifiers":[],"name":"Session","package":"LibTmux","product":"core","publicId":"LibTmux::Session","qualifiedName":"LibTmux::Session","signatures":[{"params":[],"raw":"package LibTmux::Session;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Session.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Session::attached","kind":"method","modifiers":[],"name":"attached","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::attached","qualifiedName":"LibTmux::Session::attached","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub attached($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Session.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-attached"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Session::created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::created","qualifiedName":"LibTmux::Session::created","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub created($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Session.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-created"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Session::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::generation","qualifiedName":"LibTmux::Session::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-generation"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Session::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::id","qualifiedName":"LibTmux::Session::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Session.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Session::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::identity","qualifiedName":"LibTmux::Session::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-identity"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Session::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::kind","qualifiedName":"LibTmux::Session::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-kind"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Session::name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::name","qualifiedName":"LibTmux::Session::name","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub name($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Session.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-name"},{"apiScope":"exported","doc":{"summary":"bytes. Local captured data; no I/O."},"id":"LibTmux::Session::path","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::path","qualifiedName":"LibTmux::Session::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Session.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-path"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Session::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::server_id","qualifiedName":"LibTmux::Session::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-server_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Session::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::to_record","qualifiedName":"LibTmux::Session::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-to_record"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Selection ` of :obj:`LibTmux::WindowLink ` entities. Local captured data; no I/O."},"id":"LibTmux::Session::window_links","kind":"method","modifiers":[],"name":"window_links","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::window_links","qualifiedName":"LibTmux::Session::window_links","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4}],"params":[],"raw":"sub window_links($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Session.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-session-window_links"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::Session ` handles from one server generation. Empty instances still validate against the session schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured session entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::SessionSelection","kind":"class","modifiers":[],"name":"SessionSelection","package":"LibTmux","product":"core","publicId":"LibTmux::SessionSelection","qualifiedName":"LibTmux::SessionSelection","signatures":[{"params":[],"raw":"package LibTmux::SessionSelection;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/SessionSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::SessionSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::count","qualifiedName":"LibTmux::SessionSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::SessionSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::exists","qualifiedName":"LibTmux::SessionSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::SessionSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::first","qualifiedName":"LibTmux::SessionSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::SessionSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::grep","qualifiedName":"LibTmux::SessionSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::SessionSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::iterator","qualifiedName":"LibTmux::SessionSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::SessionSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::new","qualifiedName":"LibTmux::SessionSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::SessionSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::one","qualifiedName":"LibTmux::SessionSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::SessionSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::one_or_undef","qualifiedName":"LibTmux::SessionSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::SessionSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::to_array","qualifiedName":"LibTmux::SessionSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::SessionSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::where","qualifiedName":"LibTmux::SessionSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-sessionselection-where"},{"apiScope":"exported","doc":{"body":"\n## EXECUTION\n\nAll methods in this module operate on local captured data and perform no tmux I/O. Ordering is deterministic; public query methods do not mutate membership. Typed validation/evaluation errors propagate. See :obj:`\"snapshot\" in LibTmux::Server ` for explicit acquisition and :obj:`LibTmux::X ` for machine-readable failures.\n\n","summary":"Captured graph with explicit completeness"},"id":"LibTmux::Snapshot","kind":"class","modifiers":[],"name":"Snapshot","package":"LibTmux","product":"core","publicId":"LibTmux::Snapshot","qualifiedName":"LibTmux::Snapshot","signatures":[{"params":[],"raw":"package LibTmux::Snapshot;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::ClientSelection ` in captured order. A loaded empty client set is valid."},"id":"LibTmux::Snapshot::clients","kind":"method","modifiers":[],"name":"clients","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::clients","qualifiedName":"LibTmux::Snapshot::clients","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub clients($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":209,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-clients"},{"apiScope":"exported","doc":{"summary":"Return the capture completeness Boolean. The strict live acquisition path fails on incomplete topology; it does not synthesize empty relations."},"id":"LibTmux::Snapshot::complete","kind":"method","modifiers":[],"name":"complete","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::complete","qualifiedName":"LibTmux::Snapshot::complete","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub complete($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":104,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-complete"},{"apiScope":"exported","doc":{"summary":"`from_records(server_id => ..., generation => ..., sessions => [...], windows => [...], window_links => [...], panes => [...], clients => [...])` constructs a detached graph. Scalar records and relation IDs are copied. Omitted fields/collections remain unloaded; null is explicit. Invalid identities or inconsistent complete topology throw typed acquisition errors."},"id":"LibTmux::Snapshot::from_records","kind":"method","modifiers":[],"name":"from_records","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::from_records","qualifiedName":"LibTmux::Snapshot::from_records","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub from_records($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":25,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-from_records"},{"apiScope":"exported","doc":{"summary":"Return the captured daemon generation. :obj:`LibTmux::Server ` checks it before mutations through captured handles; retained snapshots never silently refresh."},"id":"LibTmux::Snapshot::generation","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::generation","qualifiedName":"LibTmux::Snapshot::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":103,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-generation"},{"apiScope":"exported","doc":{"summary":"Return a fresh metadata hash with capture start/end, daemon version, and PID where acquired. Several commands observe an interval; the snapshot is not an atomic tmux transaction."},"id":"LibTmux::Snapshot::metadata","kind":"method","modifiers":[],"name":"metadata","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::metadata","qualifiedName":"LibTmux::Snapshot::metadata","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub metadata($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":105,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-metadata"},{"apiScope":"exported","doc":{"summary":"`pane_by_id('%3')` returns a :obj:`LibTmux::Pane ` or undef. The returned handle retains the captured graph after this wrapper goes out of scope."},"id":"LibTmux::Snapshot::pane_by_id","kind":"method","modifiers":[],"name":"pane_by_id","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::pane_by_id","qualifiedName":"LibTmux::Snapshot::pane_by_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"id"}],"raw":"sub pane_by_id($self, $id)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":212,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-pane_by_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::PaneSelection ` containing each physical pane identity once. Membership edits cannot change the graph store."},"id":"LibTmux::Snapshot::panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::panes","qualifiedName":"LibTmux::Snapshot::panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub panes($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":208,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-panes"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. Entity IDs are meaningful only within this scope and :obj:`\"generation\" `."},"id":"LibTmux::Snapshot::server_id","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::server_id","qualifiedName":"LibTmux::Snapshot::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":102,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-server_id"},{"apiScope":"exported","doc":{"summary":"`session_by_id('$1')` returns a :obj:`LibTmux::Session ` or undef. Single quotes preserve the dollar-prefixed ID instead of interpolating a regex capture."},"id":"LibTmux::Snapshot::session_by_id","kind":"method","modifiers":[],"name":"session_by_id","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::session_by_id","qualifiedName":"LibTmux::Snapshot::session_by_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"id"}],"raw":"sub session_by_id($self, $id)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":210,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-session_by_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::SessionSelection ` in captured order. Empty loaded collections yield empty selections; unloaded collections throw."},"id":"LibTmux::Snapshot::sessions","kind":"method","modifiers":[],"name":"sessions","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::sessions","qualifiedName":"LibTmux::Snapshot::sessions","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub sessions($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":205,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-sessions"},{"apiScope":"exported","doc":{"summary":"Return independent scalar records and adjacency IDs for detached use. No handles or live transport are serialized."},"id":"LibTmux::Snapshot::to_records","kind":"method","modifiers":[],"name":"to_records","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::to_records","qualifiedName":"LibTmux::Snapshot::to_records","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub to_records($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":214,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-to_records"},{"apiScope":"exported","doc":{"summary":"`window_by_id('@3')` returns one physical :obj:`LibTmux::Window ` or undef, independent of session link context."},"id":"LibTmux::Snapshot::window_by_id","kind":"method","modifiers":[],"name":"window_by_id","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::window_by_id","qualifiedName":"LibTmux::Snapshot::window_by_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"id"}],"raw":"sub window_by_id($self, $id)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":211,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-window_by_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::WindowLinkSelection ` retaining every session/index association, including repeated links of one physical window."},"id":"LibTmux::Snapshot::window_links","kind":"method","modifiers":[],"name":"window_links","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::window_links","qualifiedName":"LibTmux::Snapshot::window_links","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4}],"params":[],"raw":"sub window_links($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":207,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-window_links"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::WindowSelection ` containing each physical window identity once. Context lives in :obj:`\"window_links\" `."},"id":"LibTmux::Snapshot::windows","kind":"method","modifiers":[],"name":"windows","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::windows","qualifiedName":"LibTmux::Snapshot::windows","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub windows($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Snapshot.pm","line":206,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-snapshot-windows"},{"apiScope":"exported","doc":{"body":"\n## RESULTS\n\n:obj:`LibTmux::CommandResult ` exposes stdout, stderr, exit_code, signal, raw_status, and success. Output remains octets.\n\nThe private supervisor owns program signals/groups and reaps the program. It receives CHLD, INT and TERM through a Linux signal descriptor, so child exit cannot wait for a deferred Perl handler. This mask belongs only to the supervisor; the command restores its inherited mask before execution. Application SIGCHLD handlers remain intact; SIGCHLD=IGNORE is refused. Cancellation handles are borrowed and remain open. Cancellation after release can have effects and never implies rollback. Parent death triggers cleanup.\n\nOwned supervisor and command branches close unrelated inherited descriptors through Linux `/proc/self/fd`, preserving the caller's handles. Native descriptors without close-on-exec cannot leak into a newly started tmux daemon. Only standard streams and each branch's required protocol/cancellation pipes remain open. Enumeration or closure failures prevent execution and throw :obj:`\"Transport\" in LibTmux::X ` or :obj:`\"Spawn\" in LibTmux::X `. No arbitrary descriptor-passing API is selected. Forking hosts with native threads remains unqualified.\n\n","summary":"Supervised literal process execution"},"id":"LibTmux::Transport","kind":"class","modifiers":[],"name":"Transport","package":"LibTmux","product":"core","publicId":"LibTmux::Transport","qualifiedName":"LibTmux::Transport","signatures":[{"params":[],"raw":"package LibTmux::Transport;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Transport.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-transport"},{"apiScope":"exported","doc":{"summary":"`run(argv => [...], stdin => $octets, timeout => $seconds, max_output => $bytes, cancel_fh => $handle)` returns a :obj:`LibTmux::CommandResult `. Stdout/stderr are separate octet strings. Nonzero exits are results; spawn, timeout, cancellation, output limits, and supervision failures throw :obj:`LibTmux::X ` exceptions. `timeout` bounds one command's execution loop, excluding supervisor setup, async queue waiting, and separate cleanup time."},"id":"LibTmux::Transport::run","kind":"method","modifiers":[],"name":"run","package":"LibTmux","parent":"LibTmux::Transport","product":"core","publicId":"LibTmux::Transport::run","qualifiedName":"LibTmux::Transport::run","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub run($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Transport.pm","line":100,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-transport-run"},{"apiScope":"exported","doc":{"summary":"Return a :obj:`LibTmux::ProcessJob ` for an executor adapter."},"id":"LibTmux::Transport::start","kind":"method","modifiers":[],"name":"start","package":"LibTmux","parent":"LibTmux::Transport","product":"core","publicId":"LibTmux::Transport::start","qualifiedName":"LibTmux::Transport::start","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":23,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub start($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Transport.pm","line":96,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-transport-start"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured window entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::Window","kind":"class","modifiers":[],"name":"Window","package":"LibTmux","product":"core","publicId":"LibTmux::Window","qualifiedName":"LibTmux::Window","signatures":[{"params":[],"raw":"package LibTmux::Window;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Window.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Pane ` entity or undef. Local captured data; no I/O."},"id":"LibTmux::Window::active_pane","kind":"method","modifiers":[],"name":"active_pane","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::active_pane","qualifiedName":"LibTmux::Window::active_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub active_pane($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Window.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-active_pane"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Window::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::generation","qualifiedName":"LibTmux::Window::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-generation"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Window::height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::height","qualifiedName":"LibTmux::Window::height","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub height($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Window.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-height"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Window::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::id","qualifiedName":"LibTmux::Window::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Window.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Window::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::identity","qualifiedName":"LibTmux::Window::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-identity"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Window::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::kind","qualifiedName":"LibTmux::Window::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-kind"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Window::layout","kind":"method","modifiers":[],"name":"layout","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::layout","qualifiedName":"LibTmux::Window::layout","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub layout($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Window.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-layout"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Selection ` of :obj:`LibTmux::WindowLink ` entities. Local captured data; no I/O."},"id":"LibTmux::Window::links","kind":"method","modifiers":[],"name":"links","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::links","qualifiedName":"LibTmux::Window::links","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub links($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Window.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-links"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Window::name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::name","qualifiedName":"LibTmux::Window::name","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub name($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Window.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-name"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Selection ` of :obj:`LibTmux::Pane ` entities. Local captured data; no I/O."},"id":"LibTmux::Window::panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::panes","qualifiedName":"LibTmux::Window::panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub panes($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Window.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-panes"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Window::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::server_id","qualifiedName":"LibTmux::Window::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-server_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Window::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::to_record","qualifiedName":"LibTmux::Window::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-to_record"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Window::width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::width","qualifiedName":"LibTmux::Window::width","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub width($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Window.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-window-width"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured window_link entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::WindowLink","kind":"class","modifiers":[],"name":"WindowLink","package":"LibTmux","product":"core","publicId":"LibTmux::WindowLink","qualifiedName":"LibTmux::WindowLink","signatures":[{"params":[],"raw":"package LibTmux::WindowLink;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/WindowLink.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink"},{"apiScope":"exported","doc":{"summary":"boolean. Local captured data; no I/O."},"id":"LibTmux::WindowLink::active","kind":"method","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::active","qualifiedName":"LibTmux::WindowLink::active","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub active($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/WindowLink.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-active"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::WindowLink::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::generation","qualifiedName":"LibTmux::WindowLink::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-generation"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::WindowLink::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::id","qualifiedName":"LibTmux::WindowLink::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/WindowLink.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::WindowLink::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::identity","qualifiedName":"LibTmux::WindowLink::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-identity"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::WindowLink::index","kind":"method","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::index","qualifiedName":"LibTmux::WindowLink::index","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub index($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/WindowLink.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-index"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::WindowLink::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::kind","qualifiedName":"LibTmux::WindowLink::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-kind"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::WindowLink::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::server_id","qualifiedName":"LibTmux::WindowLink::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-server_id"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Session ` entity. Local captured data; no I/O."},"id":"LibTmux::WindowLink::session","kind":"method","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::session","qualifiedName":"LibTmux::WindowLink::session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub session($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/WindowLink.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-session"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::WindowLink::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::to_record","qualifiedName":"LibTmux::WindowLink::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-to_record"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Window ` entity. Local captured data; no I/O."},"id":"LibTmux::WindowLink::window","kind":"method","modifiers":[],"name":"window","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::window","qualifiedName":"LibTmux::WindowLink::window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub window($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/WindowLink.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlink-window"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::WindowLink ` handles from one server generation. Empty instances still validate against the window_link schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured window_link entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::WindowLinkSelection","kind":"class","modifiers":[],"name":"WindowLinkSelection","package":"LibTmux","product":"core","publicId":"LibTmux::WindowLinkSelection","qualifiedName":"LibTmux::WindowLinkSelection","signatures":[{"params":[],"raw":"package LibTmux::WindowLinkSelection;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/WindowLinkSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::WindowLinkSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::count","qualifiedName":"LibTmux::WindowLinkSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::WindowLinkSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::exists","qualifiedName":"LibTmux::WindowLinkSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::WindowLinkSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::first","qualifiedName":"LibTmux::WindowLinkSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::WindowLinkSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::grep","qualifiedName":"LibTmux::WindowLinkSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::WindowLinkSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::iterator","qualifiedName":"LibTmux::WindowLinkSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::WindowLinkSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::new","qualifiedName":"LibTmux::WindowLinkSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::WindowLinkSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::one","qualifiedName":"LibTmux::WindowLinkSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::WindowLinkSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::one_or_undef","qualifiedName":"LibTmux::WindowLinkSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::WindowLinkSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::to_array","qualifiedName":"LibTmux::WindowLinkSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::WindowLinkSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::where","qualifiedName":"LibTmux::WindowLinkSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowlinkselection-where"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::Window ` handles from one server generation. Empty instances still validate against the window schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured window entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::WindowSelection","kind":"class","modifiers":[],"name":"WindowSelection","package":"LibTmux","product":"core","publicId":"LibTmux::WindowSelection","qualifiedName":"LibTmux::WindowSelection","signatures":[{"params":[],"raw":"package LibTmux::WindowSelection;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/WindowSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::WindowSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::count","qualifiedName":"LibTmux::WindowSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::WindowSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::exists","qualifiedName":"LibTmux::WindowSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::WindowSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::first","qualifiedName":"LibTmux::WindowSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::WindowSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::grep","qualifiedName":"LibTmux::WindowSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::WindowSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::iterator","qualifiedName":"LibTmux::WindowSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::WindowSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::new","qualifiedName":"LibTmux::WindowSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::WindowSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::one","qualifiedName":"LibTmux::WindowSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::WindowSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::one_or_undef","qualifiedName":"LibTmux::WindowSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::WindowSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::to_array","qualifiedName":"LibTmux::WindowSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::WindowSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::where","qualifiedName":"LibTmux::WindowSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-windowselection-where"},{"apiScope":"exported","doc":{"body":"\n## SYNOPSIS\n\n\n```perl\n use LibTmux::Workspace;\n my $workspace = LibTmux::Workspace->from_json($json_octets);\n my $plan = $workspace->plan(existing => 'error');\n my $report = $workspace->load(server => $server);\n```\n\n\n## COMMAND LINE\n\nThe packaged `libtmux-workspace` executable exposes `validate`, `plan`, and `load`. `--dry-run` selects planning without tmux I/O. See the installed executable's help for socket and repeat-application options.\n\n","summary":"Versioned JSON configuration and owned orchestration"},"id":"LibTmux::Workspace","kind":"class","modifiers":[],"name":"Workspace","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace","qualifiedName":"LibTmux::Workspace","signatures":[{"params":[],"raw":"package LibTmux::Workspace;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace"},{"apiScope":"exported","doc":{"body":"\n## EXCEPTIONS\n\n","summary":"Workspace configuration and partial-load failures"},"id":"LibTmux::Workspace::X","kind":"class","modifiers":[],"name":"X","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace::X","qualifiedName":"LibTmux::Workspace::X","signatures":[{"params":[],"raw":"package LibTmux::Workspace::X;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x"},{"apiScope":"exported","doc":{"summary":"Invalid versioned configuration. `path` identifies the rejected input."},"extends":["LibTmux::X"],"id":"LibTmux::Workspace::X::Config","kind":"exception","modifiers":[],"name":"Config","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace::X::Config","qualifiedName":"LibTmux::Workspace::X::Config","signatures":[{"params":[],"raw":"package LibTmux::Workspace::X::Config;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":35,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::Workspace::X::Config::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::count","qualifiedName":"LibTmux::Workspace::X::Config::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::Workspace::X::Config::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::details","qualifiedName":"LibTmux::Workspace::X::Config::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::Workspace::X::Config::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::dispatched","qualifiedName":"LibTmux::Workspace::X::Config::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Config::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::entity","qualifiedName":"LibTmux::Workspace::X::Config::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::Workspace::X::Config::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::expected","qualifiedName":"LibTmux::Workspace::X::Config::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::Workspace::X::Config::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::matched_ids","qualifiedName":"LibTmux::Workspace::X::Config::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::Workspace::X::Config::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::message","qualifiedName":"LibTmux::Workspace::X::Config::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::Workspace::X::Config::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::new","qualifiedName":"LibTmux::Workspace::X::Config::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Config::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::path","qualifiedName":"LibTmux::Workspace::X::Config::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::Workspace::X::Config::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::received","qualifiedName":"LibTmux::Workspace::X::Config::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::Workspace::X::Config::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::result","qualifiedName":"LibTmux::Workspace::X::Config::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::Workspace::X::Config::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::throw","qualifiedName":"LibTmux::Workspace::X::Config::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-config-throw"},{"apiScope":"exported","doc":{"summary":"An existing session conflicts with the selected repeat-application policy. No session is created until all names pass the conflict check."},"extends":["LibTmux::X"],"id":"LibTmux::Workspace::X::Conflict","kind":"exception","modifiers":[],"name":"Conflict","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict","qualifiedName":"LibTmux::Workspace::X::Conflict","signatures":[{"params":[],"raw":"package LibTmux::Workspace::X::Conflict;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":37,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::Workspace::X::Conflict::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::count","qualifiedName":"LibTmux::Workspace::X::Conflict::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::Workspace::X::Conflict::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::details","qualifiedName":"LibTmux::Workspace::X::Conflict::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::Workspace::X::Conflict::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::dispatched","qualifiedName":"LibTmux::Workspace::X::Conflict::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Conflict::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::entity","qualifiedName":"LibTmux::Workspace::X::Conflict::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::Workspace::X::Conflict::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::expected","qualifiedName":"LibTmux::Workspace::X::Conflict::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::Workspace::X::Conflict::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::matched_ids","qualifiedName":"LibTmux::Workspace::X::Conflict::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::Workspace::X::Conflict::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::message","qualifiedName":"LibTmux::Workspace::X::Conflict::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::Workspace::X::Conflict::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::new","qualifiedName":"LibTmux::Workspace::X::Conflict::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Conflict::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::path","qualifiedName":"LibTmux::Workspace::X::Conflict::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::Workspace::X::Conflict::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::received","qualifiedName":"LibTmux::Workspace::X::Conflict::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::Workspace::X::Conflict::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::result","qualifiedName":"LibTmux::Workspace::X::Conflict::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::Workspace::X::Conflict::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::throw","qualifiedName":"LibTmux::Workspace::X::Conflict::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-conflict-throw"},{"apiScope":"exported","doc":{"summary":"`cause` retains the original exception. `report` records completed steps, the failed step, dispatch uncertainty, and typed cleanup outcomes. Rollback affects only sessions whose creation was proven by returned core handles. See :obj:`\"load\" in LibTmux::Workspace ` and :obj:`LibTmux::X `."},"extends":["LibTmux::X"],"id":"LibTmux::Workspace::X::Load","kind":"exception","modifiers":[],"name":"Load","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace::X::Load","qualifiedName":"LibTmux::Workspace::X::Load","signatures":[{"params":[],"raw":"package LibTmux::Workspace::X::Load;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":39,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load"},{"apiScope":"exported","doc":{"summary":"For Load exceptions, return the original core or orchestration failure object."},"id":"LibTmux::Workspace::X::Load::cause","kind":"method","modifiers":[],"name":"cause","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::cause","qualifiedName":"LibTmux::Workspace::X::Load::cause","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub cause($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":42,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-cause"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::Workspace::X::Load::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::count","qualifiedName":"LibTmux::Workspace::X::Load::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::Workspace::X::Load::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::details","qualifiedName":"LibTmux::Workspace::X::Load::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::Workspace::X::Load::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::dispatched","qualifiedName":"LibTmux::Workspace::X::Load::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Load::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::entity","qualifiedName":"LibTmux::Workspace::X::Load::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::Workspace::X::Load::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::expected","qualifiedName":"LibTmux::Workspace::X::Load::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::Workspace::X::Load::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::matched_ids","qualifiedName":"LibTmux::Workspace::X::Load::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::Workspace::X::Load::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::message","qualifiedName":"LibTmux::Workspace::X::Load::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::Workspace::X::Load::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::new","qualifiedName":"LibTmux::Workspace::X::Load::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Load::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::path","qualifiedName":"LibTmux::Workspace::X::Load::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::Workspace::X::Load::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::received","qualifiedName":"LibTmux::Workspace::X::Load::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-received"},{"apiScope":"exported","doc":{"summary":"For Load exceptions, return the partial-load report. It contains created IDs, completed and failed steps, dispatch uncertainty, and cleanup failures. Each `cleanup_errors` entry contains `target` (the captured :obj:`identity `), `action` (`kill_session`), and `error` (the original exception). Entries follow rollback attempt order, reversing creation order. An empty array means no cleanup failure was observed. The primary :obj:`\"cause\" ` and secondary exception objects retain their identity. Inspect their :obj:`dispatched ` and :obj:`result ` fields without parsing prose. No I/O occurs."},"id":"LibTmux::Workspace::X::Load::report","kind":"method","modifiers":[],"name":"report","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::report","qualifiedName":"LibTmux::Workspace::X::Load::report","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub report($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":41,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-report"},{"apiScope":"exported","doc":{"body":"```perl\n use JSON::PP ();\n my $data = $error->report_data;\n say JSON::PP->new->canonical->encode($data);\n```\n\nThe packaged `libtmux-workspace` CLI uses this export. Use :obj:`\"report\" ` when recovery needs the original typed exceptions rather than diagnostic data.","summary":"For Load exceptions, return a detached, JSON-safe report hashref. The primary cause and each cleanup error become records with `class`, `message`, known `path`, and `dispatched` (null means unknown). Core creation/load causes retain their cause chain; a repeated exception is marked `cycle`. Process results retain exit code, signal, raw wait status, and bounded stdout and stderr as `stdout_base64` and `stderr_base64` using [MIME::Base64](https://metacpan.org/pod/MIME::Base64). This diagnostic encoding does not serialize entity graphs or arbitrary exception internals. Other exceptions retain their class and string message. No I/O occurs; editing the export cannot change :obj:`\"report\" ` or :obj:`\"cause\" `."},"id":"LibTmux::Workspace::X::Load::report_data","kind":"method","modifiers":[],"name":"report_data","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::report_data","qualifiedName":"LibTmux::Workspace::X::Load::report_data","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub report_data($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":44,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-report_data"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::Workspace::X::Load::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::result","qualifiedName":"LibTmux::Workspace::X::Load::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::Workspace::X::Load::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::throw","qualifiedName":"LibTmux::Workspace::X::Load::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-x-load-throw"},{"apiScope":"exported","doc":{"summary":"Decode bounded UTF-8 JSON octets with core [JSON::PP](https://perldoc.perl.org/5.44.0/JSON::PP) and call :obj:`\"new\" `. Reject unsupported versions, unknown keys, invalid commands, and duplicate names. YAML is not part of this distribution."},"id":"LibTmux::Workspace::from_json","kind":"method","modifiers":[],"name":"from_json","package":"LibTmux-Workspace","parent":"LibTmux::Workspace","product":"workspace","publicId":"LibTmux::Workspace::from_json","qualifiedName":"LibTmux::Workspace::from_json","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"json"}],"raw":"sub from_json($class, $json)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":146,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-from_json"},{"apiScope":"exported","doc":{"body":"Return one report containing created IDs, skipped names, and completed steps. On failure, rollback only sessions returned by successful creation, then throw :obj:`Load ` with original cause and partial-effect report. An uncertain creation without a returned ID cannot be rolled back safely. Existing resources are never rollback targets. Layouts apply after splitting; working directories and environments reach every initial process. Completion means command acceptance and captured state, not application readiness.","summary":"`load(server => $server, existing => 'error'|'skip')` uses public :obj:`LibTmux::Server ` operations. It checks all session-name conflicts before creation. `error` rejects any existing target with :obj:`Conflict `; `skip` leaves that entire session alone, so repeated application creates only absent sessions. A missing server permits explicit creation; other acquisition failures propagate.","examples":[{"lang":"perl","code":"use v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse LibTmuxFixture;\nuse LibTmux::Workspace;\nLibTmuxFixture->run(\n sub ($server, $root) {\n my $workspace = LibTmux::Workspace->new(\n config => {\n schema => 'libtmux.workspace/v1',\n sessions => [\n {\n name => 'workspace-example',\n windows => [\n {\n name => 'api',\n cwd => $root,\n layout => 'even-horizontal',\n panes => [\n {command => ['/bin/sleep', '120']},\n {\n command => ['/bin/sleep', '120'],\n horizontal => true\n },\n ],\n }\n ],\n }\n ],\n }\n );\n die 'plan mutated state' if $workspace->plan->{mutates};\n my $loaded = $workspace->load(server => $server);\n die 'load failed' unless $loaded->{status} eq 'loaded';\n die 'panes missing' unless $server->snapshot->panes->count == 2;\n die 'repeat did not skip'\n unless $workspace->load(server => $server, existing => 'skip')\n ->{skipped}->@* == 1;\n say 'workspace load and repeat: ok';\n }\n);\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/d9fa7c5278d243c671a29cdb00e3a911ac651bfa/examples/workspace.pl"}]},"id":"LibTmux::Workspace::load","kind":"method","modifiers":[],"name":"load","package":"LibTmux-Workspace","parent":"LibTmux::Workspace","product":"workspace","publicId":"LibTmux::Workspace::load","qualifiedName":"LibTmux::Workspace::load","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub load($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":179,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-load"},{"apiScope":"exported","doc":{"summary":"`new(config => $hashref)` validates and copies a `libtmux.workspace/v1` configuration. No I/O occurs. Sessions contain named windows with nonempty pane arrays. Each pane requires literal `command` arguments or an explicit `shell_command`. Environment values inherit from workspace, session, and window, with pane values taking precedence. All configuration errors throw :obj:`Config `."},"id":"LibTmux::Workspace::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Workspace","parent":"LibTmux::Workspace","product":"workspace","publicId":"LibTmux::Workspace::new","qualifiedName":"LibTmux::Workspace::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":47,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-new"},{"apiScope":"exported","doc":{"summary":"`plan(existing => 'error'|'skip')` returns a fresh data plan in input order. It performs no tmux I/O or mutations. A dry-run does not prove live availability or command success. Exports share no mutable arrays with the loader. No context-dependent return values are used."},"id":"LibTmux::Workspace::plan","kind":"method","modifiers":[],"name":"plan","package":"LibTmux-Workspace","parent":"LibTmux::Workspace","product":"workspace","publicId":"LibTmux::Workspace::plan","qualifiedName":"LibTmux::Workspace::plan","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub plan($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":165,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-workspace-plan"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nErrors stringify with class, path, and message. :obj:`\"Creation\" ` retains its original acquisition exception separately through `cause`. `details` returns diagnostic fields. Acquisition failures never represent an empty selection.\n\n\n## CARDINALITY AND DATA FAILURES\n\n\n## DIAGNOSTICS\n\n`message`, `path`, `entity`, `expected`, `received`, `matched_ids`, `count`, `result`, `dispatched`, and `details` expose applicable fields. See :obj:`\"one\" in LibTmux::Selection `, :obj:`\"new\" in LibTmux::Filter `, and :obj:`LibTmux::Server ` for failure boundaries.\n\n","summary":"Typed failures with readable diagnostics"},"id":"LibTmux::X","kind":"class","modifiers":[],"name":"X","package":"LibTmux","product":"core","publicId":"LibTmux::X","qualifiedName":"LibTmux::X","signatures":[{"params":[],"raw":"package LibTmux::X;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x"},{"apiScope":"exported","doc":{"summary":"Observed generations or topology changed during capture."},"extends":["LibTmux::X"],"id":"LibTmux::X::AcquisitionRace","kind":"exception","modifiers":[],"name":"AcquisitionRace","package":"LibTmux","product":"core","publicId":"LibTmux::X::AcquisitionRace","qualifiedName":"LibTmux::X::AcquisitionRace","signatures":[{"params":[],"raw":"package LibTmux::X::AcquisitionRace;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":55,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::AcquisitionRace::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::count","qualifiedName":"LibTmux::X::AcquisitionRace::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::AcquisitionRace::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::details","qualifiedName":"LibTmux::X::AcquisitionRace::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::AcquisitionRace::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::dispatched","qualifiedName":"LibTmux::X::AcquisitionRace::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::AcquisitionRace::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::entity","qualifiedName":"LibTmux::X::AcquisitionRace::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::AcquisitionRace::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::expected","qualifiedName":"LibTmux::X::AcquisitionRace::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::AcquisitionRace::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::matched_ids","qualifiedName":"LibTmux::X::AcquisitionRace::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::AcquisitionRace::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::message","qualifiedName":"LibTmux::X::AcquisitionRace::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::AcquisitionRace::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::new","qualifiedName":"LibTmux::X::AcquisitionRace::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::AcquisitionRace::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::path","qualifiedName":"LibTmux::X::AcquisitionRace::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::AcquisitionRace::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::received","qualifiedName":"LibTmux::X::AcquisitionRace::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::AcquisitionRace::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::result","qualifiedName":"LibTmux::X::AcquisitionRace::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::AcquisitionRace::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::throw","qualifiedName":"LibTmux::X::AcquisitionRace::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-acquisitionrace-throw"},{"apiScope":"exported","doc":{"summary":"Execution was cancelled; cancellation does not roll back effects."},"extends":["LibTmux::X"],"id":"LibTmux::X::Cancelled","kind":"exception","modifiers":[],"name":"Cancelled","package":"LibTmux","product":"core","publicId":"LibTmux::X::Cancelled","qualifiedName":"LibTmux::X::Cancelled","signatures":[{"params":[],"raw":"package LibTmux::X::Cancelled;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":41,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Cancelled::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::count","qualifiedName":"LibTmux::X::Cancelled::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Cancelled::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::details","qualifiedName":"LibTmux::X::Cancelled::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Cancelled::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::dispatched","qualifiedName":"LibTmux::X::Cancelled::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Cancelled::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::entity","qualifiedName":"LibTmux::X::Cancelled::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Cancelled::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::expected","qualifiedName":"LibTmux::X::Cancelled::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Cancelled::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::matched_ids","qualifiedName":"LibTmux::X::Cancelled::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Cancelled::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::message","qualifiedName":"LibTmux::X::Cancelled::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Cancelled::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::new","qualifiedName":"LibTmux::X::Cancelled::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Cancelled::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::path","qualifiedName":"LibTmux::X::Cancelled::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Cancelled::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::received","qualifiedName":"LibTmux::X::Cancelled::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Cancelled::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::result","qualifiedName":"LibTmux::X::Cancelled::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Cancelled::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::throw","qualifiedName":"LibTmux::X::Cancelled::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-cancelled-throw"},{"apiScope":"exported","doc":{"summary":"A tmux record or field could not be decoded."},"extends":["LibTmux::X"],"id":"LibTmux::X::Codec","kind":"exception","modifiers":[],"name":"Codec","package":"LibTmux","product":"core","publicId":"LibTmux::X::Codec","qualifiedName":"LibTmux::X::Codec","signatures":[{"params":[],"raw":"package LibTmux::X::Codec;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":47,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Codec::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::count","qualifiedName":"LibTmux::X::Codec::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Codec::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::details","qualifiedName":"LibTmux::X::Codec::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Codec::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::dispatched","qualifiedName":"LibTmux::X::Codec::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Codec::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::entity","qualifiedName":"LibTmux::X::Codec::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Codec::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::expected","qualifiedName":"LibTmux::X::Codec::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Codec::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::matched_ids","qualifiedName":"LibTmux::X::Codec::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Codec::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::message","qualifiedName":"LibTmux::X::Codec::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Codec::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::new","qualifiedName":"LibTmux::X::Codec::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Codec::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::path","qualifiedName":"LibTmux::X::Codec::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Codec::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::received","qualifiedName":"LibTmux::X::Codec::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Codec::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::result","qualifiedName":"LibTmux::X::Codec::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Codec::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::throw","qualifiedName":"LibTmux::X::Codec::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-codec-throw"},{"apiScope":"exported","doc":{"summary":"tmux reported nonzero status; result retains stdout/stderr/status."},"extends":["LibTmux::X"],"id":"LibTmux::X::Command","kind":"exception","modifiers":[],"name":"Command","package":"LibTmux","product":"core","publicId":"LibTmux::X::Command","qualifiedName":"LibTmux::X::Command","signatures":[{"params":[],"raw":"package LibTmux::X::Command;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":49,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Command::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::count","qualifiedName":"LibTmux::X::Command::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Command::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::details","qualifiedName":"LibTmux::X::Command::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Command::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::dispatched","qualifiedName":"LibTmux::X::Command::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Command::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::entity","qualifiedName":"LibTmux::X::Command::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Command::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::expected","qualifiedName":"LibTmux::X::Command::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Command::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::matched_ids","qualifiedName":"LibTmux::X::Command::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Command::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::message","qualifiedName":"LibTmux::X::Command::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Command::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::new","qualifiedName":"LibTmux::X::Command::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Command::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::path","qualifiedName":"LibTmux::X::Command::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Command::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::received","qualifiedName":"LibTmux::X::Command::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Command::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::result","qualifiedName":"LibTmux::X::Command::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Command::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::throw","qualifiedName":"LibTmux::X::Command::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-command-throw"},{"apiScope":"exported","doc":{"summary":"A creation command succeeded but subsequent receipt decoding or capture failed. `created` returns a minimal generation-scoped entity handle when the command's receipt was decoded; other fields remain unloaded. `cause` preserves the original acquisition failure. `dispatched` is true. The returned handle permits explicit, generation-checked cleanup; absent receipts leave effects uncertain. See :obj:`\"new_session\" in LibTmux::Server `."},"extends":["LibTmux::X"],"id":"LibTmux::X::Creation","kind":"exception","modifiers":[],"name":"Creation","package":"LibTmux","product":"core","publicId":"LibTmux::X::Creation","qualifiedName":"LibTmux::X::Creation","signatures":[{"params":[],"raw":"package LibTmux::X::Creation;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":59,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation"},{"apiScope":"exported","doc":{"summary":"Return the original acquisition exception for :obj:`\"Creation\" in LibTmux::X `."},"id":"LibTmux::X::Creation::cause","kind":"method","modifiers":[],"name":"cause","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::cause","qualifiedName":"LibTmux::X::Creation::cause","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub cause($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":62,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-cause"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Creation::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::count","qualifiedName":"LibTmux::X::Creation::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-count"},{"apiScope":"exported","doc":{"summary":"Creation failures expose a minimal generation-scoped entity receipt, or undef. Only :obj:`\"Creation\" in LibTmux::X ` provides this method."},"id":"LibTmux::X::Creation::created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::created","qualifiedName":"LibTmux::X::Creation::created","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub created($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":61,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-created"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Creation::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::details","qualifiedName":"LibTmux::X::Creation::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Creation::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::dispatched","qualifiedName":"LibTmux::X::Creation::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Creation::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::entity","qualifiedName":"LibTmux::X::Creation::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Creation::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::expected","qualifiedName":"LibTmux::X::Creation::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Creation::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::matched_ids","qualifiedName":"LibTmux::X::Creation::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Creation::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::message","qualifiedName":"LibTmux::X::Creation::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Creation::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::new","qualifiedName":"LibTmux::X::Creation::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Creation::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::path","qualifiedName":"LibTmux::X::Creation::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Creation::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::received","qualifiedName":"LibTmux::X::Creation::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Creation::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::result","qualifiedName":"LibTmux::X::Creation::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Creation::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::throw","qualifiedName":"LibTmux::X::Creation::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-creation-throw"},{"apiScope":"exported","doc":{"summary":"Invalid operation or transport argument before dispatch."},"extends":["LibTmux::X"],"id":"LibTmux::X::InvalidArgument","kind":"exception","modifiers":[],"name":"InvalidArgument","package":"LibTmux","product":"core","publicId":"LibTmux::X::InvalidArgument","qualifiedName":"LibTmux::X::InvalidArgument","signatures":[{"params":[],"raw":"package LibTmux::X::InvalidArgument;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::InvalidArgument::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::count","qualifiedName":"LibTmux::X::InvalidArgument::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::InvalidArgument::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::details","qualifiedName":"LibTmux::X::InvalidArgument::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::InvalidArgument::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::dispatched","qualifiedName":"LibTmux::X::InvalidArgument::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::InvalidArgument::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::entity","qualifiedName":"LibTmux::X::InvalidArgument::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::InvalidArgument::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::expected","qualifiedName":"LibTmux::X::InvalidArgument::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::InvalidArgument::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::matched_ids","qualifiedName":"LibTmux::X::InvalidArgument::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::InvalidArgument::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::message","qualifiedName":"LibTmux::X::InvalidArgument::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::InvalidArgument::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::new","qualifiedName":"LibTmux::X::InvalidArgument::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::InvalidArgument::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::path","qualifiedName":"LibTmux::X::InvalidArgument::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::InvalidArgument::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::received","qualifiedName":"LibTmux::X::InvalidArgument::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::InvalidArgument::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::result","qualifiedName":"LibTmux::X::InvalidArgument::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::InvalidArgument::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::throw","qualifiedName":"LibTmux::X::InvalidArgument::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidargument-throw"},{"apiScope":"exported","doc":{"summary":"Invalid criteria data; path, expected, and received describe the boundary."},"extends":["LibTmux::X"],"id":"LibTmux::X::InvalidFilter","kind":"exception","modifiers":[],"name":"InvalidFilter","package":"LibTmux","product":"core","publicId":"LibTmux::X::InvalidFilter","qualifiedName":"LibTmux::X::InvalidFilter","signatures":[{"params":[],"raw":"package LibTmux::X::InvalidFilter;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":25,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::InvalidFilter::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::count","qualifiedName":"LibTmux::X::InvalidFilter::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::InvalidFilter::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::details","qualifiedName":"LibTmux::X::InvalidFilter::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::InvalidFilter::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::dispatched","qualifiedName":"LibTmux::X::InvalidFilter::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::InvalidFilter::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::entity","qualifiedName":"LibTmux::X::InvalidFilter::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::InvalidFilter::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::expected","qualifiedName":"LibTmux::X::InvalidFilter::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::InvalidFilter::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::matched_ids","qualifiedName":"LibTmux::X::InvalidFilter::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::InvalidFilter::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::message","qualifiedName":"LibTmux::X::InvalidFilter::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::InvalidFilter::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::new","qualifiedName":"LibTmux::X::InvalidFilter::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::InvalidFilter::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::path","qualifiedName":"LibTmux::X::InvalidFilter::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::InvalidFilter::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::received","qualifiedName":"LibTmux::X::InvalidFilter::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::InvalidFilter::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::result","qualifiedName":"LibTmux::X::InvalidFilter::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::InvalidFilter::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::throw","qualifiedName":"LibTmux::X::InvalidFilter::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidfilter-throw"},{"apiScope":"exported","doc":{"summary":"Undefined, hole, wrong-kind, or incompatible-generation membership."},"extends":["LibTmux::X"],"id":"LibTmux::X::InvalidSelection","kind":"exception","modifiers":[],"name":"InvalidSelection","package":"LibTmux","product":"core","publicId":"LibTmux::X::InvalidSelection","qualifiedName":"LibTmux::X::InvalidSelection","signatures":[{"params":[],"raw":"package LibTmux::X::InvalidSelection;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":23,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::InvalidSelection::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::count","qualifiedName":"LibTmux::X::InvalidSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::InvalidSelection::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::details","qualifiedName":"LibTmux::X::InvalidSelection::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::InvalidSelection::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::dispatched","qualifiedName":"LibTmux::X::InvalidSelection::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::InvalidSelection::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::entity","qualifiedName":"LibTmux::X::InvalidSelection::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::InvalidSelection::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::expected","qualifiedName":"LibTmux::X::InvalidSelection::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::InvalidSelection::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::matched_ids","qualifiedName":"LibTmux::X::InvalidSelection::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::InvalidSelection::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::message","qualifiedName":"LibTmux::X::InvalidSelection::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::InvalidSelection::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::new","qualifiedName":"LibTmux::X::InvalidSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::InvalidSelection::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::path","qualifiedName":"LibTmux::X::InvalidSelection::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::InvalidSelection::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::received","qualifiedName":"LibTmux::X::InvalidSelection::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::InvalidSelection::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::result","qualifiedName":"LibTmux::X::InvalidSelection::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::InvalidSelection::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::throw","qualifiedName":"LibTmux::X::InvalidSelection::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-invalidselection-throw"},{"apiScope":"exported","doc":{"summary":"At least two occurrences matched. matched_ids preserves occurrence diagnostics."},"extends":["LibTmux::X"],"id":"LibTmux::X::MultipleMatches","kind":"exception","modifiers":[],"name":"MultipleMatches","package":"LibTmux","product":"core","publicId":"LibTmux::X::MultipleMatches","qualifiedName":"LibTmux::X::MultipleMatches","signatures":[{"params":[],"raw":"package LibTmux::X::MultipleMatches;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":29,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::MultipleMatches::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::count","qualifiedName":"LibTmux::X::MultipleMatches::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::MultipleMatches::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::details","qualifiedName":"LibTmux::X::MultipleMatches::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::MultipleMatches::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::dispatched","qualifiedName":"LibTmux::X::MultipleMatches::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::MultipleMatches::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::entity","qualifiedName":"LibTmux::X::MultipleMatches::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::MultipleMatches::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::expected","qualifiedName":"LibTmux::X::MultipleMatches::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::MultipleMatches::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::matched_ids","qualifiedName":"LibTmux::X::MultipleMatches::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::MultipleMatches::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::message","qualifiedName":"LibTmux::X::MultipleMatches::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::MultipleMatches::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::new","qualifiedName":"LibTmux::X::MultipleMatches::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::MultipleMatches::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::path","qualifiedName":"LibTmux::X::MultipleMatches::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::MultipleMatches::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::received","qualifiedName":"LibTmux::X::MultipleMatches::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::MultipleMatches::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::result","qualifiedName":"LibTmux::X::MultipleMatches::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::MultipleMatches::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::throw","qualifiedName":"LibTmux::X::MultipleMatches::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-multiplematches-throw"},{"apiScope":"exported","doc":{"summary":"No occurrence matched one()."},"extends":["LibTmux::X"],"id":"LibTmux::X::NoMatch","kind":"exception","modifiers":[],"name":"NoMatch","package":"LibTmux","product":"core","publicId":"LibTmux::X::NoMatch","qualifiedName":"LibTmux::X::NoMatch","signatures":[{"params":[],"raw":"package LibTmux::X::NoMatch;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":27,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::NoMatch::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::count","qualifiedName":"LibTmux::X::NoMatch::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::NoMatch::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::details","qualifiedName":"LibTmux::X::NoMatch::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::NoMatch::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::dispatched","qualifiedName":"LibTmux::X::NoMatch::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::NoMatch::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::entity","qualifiedName":"LibTmux::X::NoMatch::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::NoMatch::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::expected","qualifiedName":"LibTmux::X::NoMatch::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::NoMatch::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::matched_ids","qualifiedName":"LibTmux::X::NoMatch::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::NoMatch::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::message","qualifiedName":"LibTmux::X::NoMatch::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::NoMatch::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::new","qualifiedName":"LibTmux::X::NoMatch::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::NoMatch::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::path","qualifiedName":"LibTmux::X::NoMatch::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::NoMatch::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::received","qualifiedName":"LibTmux::X::NoMatch::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::NoMatch::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::result","qualifiedName":"LibTmux::X::NoMatch::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::NoMatch::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::throw","qualifiedName":"LibTmux::X::NoMatch::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nomatch-throw"},{"apiScope":"exported","doc":{"summary":"The selected server cannot be reached."},"extends":["LibTmux::X"],"id":"LibTmux::X::NoServer","kind":"exception","modifiers":[],"name":"NoServer","package":"LibTmux","product":"core","publicId":"LibTmux::X::NoServer","qualifiedName":"LibTmux::X::NoServer","signatures":[{"params":[],"raw":"package LibTmux::X::NoServer;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":51,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::NoServer::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::count","qualifiedName":"LibTmux::X::NoServer::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::NoServer::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::details","qualifiedName":"LibTmux::X::NoServer::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::NoServer::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::dispatched","qualifiedName":"LibTmux::X::NoServer::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::NoServer::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::entity","qualifiedName":"LibTmux::X::NoServer::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::NoServer::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::expected","qualifiedName":"LibTmux::X::NoServer::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::NoServer::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::matched_ids","qualifiedName":"LibTmux::X::NoServer::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::NoServer::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::message","qualifiedName":"LibTmux::X::NoServer::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::NoServer::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::new","qualifiedName":"LibTmux::X::NoServer::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::NoServer::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::path","qualifiedName":"LibTmux::X::NoServer::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::NoServer::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::received","qualifiedName":"LibTmux::X::NoServer::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::NoServer::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::result","qualifiedName":"LibTmux::X::NoServer::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::NoServer::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::throw","qualifiedName":"LibTmux::X::NoServer::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-noserver-throw"},{"apiScope":"exported","doc":{"summary":"The selected stable target no longer exists. Native result diagnostics are retained. This differs from a stale generation and from an arbitrary command failure; acquire a new snapshot before choosing recovery."},"extends":["LibTmux::X"],"id":"LibTmux::X::NoSuchTarget","kind":"exception","modifiers":[],"name":"NoSuchTarget","package":"LibTmux","product":"core","publicId":"LibTmux::X::NoSuchTarget","qualifiedName":"LibTmux::X::NoSuchTarget","signatures":[{"params":[],"raw":"package LibTmux::X::NoSuchTarget;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":65,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::NoSuchTarget::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::count","qualifiedName":"LibTmux::X::NoSuchTarget::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::NoSuchTarget::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::details","qualifiedName":"LibTmux::X::NoSuchTarget::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::NoSuchTarget::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::dispatched","qualifiedName":"LibTmux::X::NoSuchTarget::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::NoSuchTarget::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::entity","qualifiedName":"LibTmux::X::NoSuchTarget::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::NoSuchTarget::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::expected","qualifiedName":"LibTmux::X::NoSuchTarget::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::NoSuchTarget::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::matched_ids","qualifiedName":"LibTmux::X::NoSuchTarget::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::NoSuchTarget::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::message","qualifiedName":"LibTmux::X::NoSuchTarget::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::NoSuchTarget::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::new","qualifiedName":"LibTmux::X::NoSuchTarget::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::NoSuchTarget::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::path","qualifiedName":"LibTmux::X::NoSuchTarget::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::NoSuchTarget::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::received","qualifiedName":"LibTmux::X::NoSuchTarget::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::NoSuchTarget::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::result","qualifiedName":"LibTmux::X::NoSuchTarget::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::NoSuchTarget::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::throw","qualifiedName":"LibTmux::X::NoSuchTarget::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-nosuchtarget-throw"},{"apiScope":"exported","doc":{"summary":"Retained process output exceeded the configured bound."},"extends":["LibTmux::X"],"id":"LibTmux::X::OutputLimit","kind":"exception","modifiers":[],"name":"OutputLimit","package":"LibTmux","product":"core","publicId":"LibTmux::X::OutputLimit","qualifiedName":"LibTmux::X::OutputLimit","signatures":[{"params":[],"raw":"package LibTmux::X::OutputLimit;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":43,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::OutputLimit::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::count","qualifiedName":"LibTmux::X::OutputLimit::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::OutputLimit::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::details","qualifiedName":"LibTmux::X::OutputLimit::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::OutputLimit::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::dispatched","qualifiedName":"LibTmux::X::OutputLimit::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::OutputLimit::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::entity","qualifiedName":"LibTmux::X::OutputLimit::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::OutputLimit::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::expected","qualifiedName":"LibTmux::X::OutputLimit::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::OutputLimit::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::matched_ids","qualifiedName":"LibTmux::X::OutputLimit::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::OutputLimit::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::message","qualifiedName":"LibTmux::X::OutputLimit::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::OutputLimit::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::new","qualifiedName":"LibTmux::X::OutputLimit::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::OutputLimit::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::path","qualifiedName":"LibTmux::X::OutputLimit::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::OutputLimit::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::received","qualifiedName":"LibTmux::X::OutputLimit::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::OutputLimit::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::result","qualifiedName":"LibTmux::X::OutputLimit::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::OutputLimit::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::throw","qualifiedName":"LibTmux::X::OutputLimit::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-outputlimit-throw"},{"apiScope":"exported","doc":{"summary":"Native candidates disagree with captured local matches, or an expert native query returned an uncaptured ID. `details->{verification}` contains the detached :obj:`\"VERIFICATION REPORT\" in LibTmux::Server `. The cause may be concurrent change, a translation defect or backend semantics; the comparison does not identify it. :obj:`\"query_panes\" in LibTmux::Server ` throws this for require or expert queries, while auto reports fallback through its optional observer."},"extends":["LibTmux::X"],"id":"LibTmux::X::QueryMismatch","kind":"exception","modifiers":[],"name":"QueryMismatch","package":"LibTmux","product":"core","publicId":"LibTmux::X::QueryMismatch","qualifiedName":"LibTmux::X::QueryMismatch","signatures":[{"params":[],"raw":"package LibTmux::X::QueryMismatch;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":57,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::QueryMismatch::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::count","qualifiedName":"LibTmux::X::QueryMismatch::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::QueryMismatch::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::details","qualifiedName":"LibTmux::X::QueryMismatch::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::QueryMismatch::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::dispatched","qualifiedName":"LibTmux::X::QueryMismatch::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::QueryMismatch::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::entity","qualifiedName":"LibTmux::X::QueryMismatch::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::QueryMismatch::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::expected","qualifiedName":"LibTmux::X::QueryMismatch::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::QueryMismatch::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::matched_ids","qualifiedName":"LibTmux::X::QueryMismatch::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::QueryMismatch::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::message","qualifiedName":"LibTmux::X::QueryMismatch::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::QueryMismatch::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::new","qualifiedName":"LibTmux::X::QueryMismatch::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::QueryMismatch::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::path","qualifiedName":"LibTmux::X::QueryMismatch::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::QueryMismatch::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::received","qualifiedName":"LibTmux::X::QueryMismatch::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::QueryMismatch::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::result","qualifiedName":"LibTmux::X::QueryMismatch::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::QueryMismatch::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::throw","qualifiedName":"LibTmux::X::QueryMismatch::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-querymismatch-throw"},{"apiScope":"exported","doc":{"summary":"The executable could not start; dispatch is distinguished from command failure."},"extends":["LibTmux::X"],"id":"LibTmux::X::Spawn","kind":"exception","modifiers":[],"name":"Spawn","package":"LibTmux","product":"core","publicId":"LibTmux::X::Spawn","qualifiedName":"LibTmux::X::Spawn","signatures":[{"params":[],"raw":"package LibTmux::X::Spawn;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":37,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Spawn::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::count","qualifiedName":"LibTmux::X::Spawn::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Spawn::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::details","qualifiedName":"LibTmux::X::Spawn::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Spawn::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::dispatched","qualifiedName":"LibTmux::X::Spawn::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Spawn::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::entity","qualifiedName":"LibTmux::X::Spawn::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Spawn::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::expected","qualifiedName":"LibTmux::X::Spawn::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Spawn::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::matched_ids","qualifiedName":"LibTmux::X::Spawn::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Spawn::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::message","qualifiedName":"LibTmux::X::Spawn::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Spawn::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::new","qualifiedName":"LibTmux::X::Spawn::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Spawn::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::path","qualifiedName":"LibTmux::X::Spawn::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Spawn::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::received","qualifiedName":"LibTmux::X::Spawn::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Spawn::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::result","qualifiedName":"LibTmux::X::Spawn::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Spawn::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::throw","qualifiedName":"LibTmux::X::Spawn::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-spawn-throw"},{"apiScope":"exported","doc":{"summary":"A captured generation or contextual target no longer identifies the same resource."},"extends":["LibTmux::X"],"id":"LibTmux::X::StaleReference","kind":"exception","modifiers":[],"name":"StaleReference","package":"LibTmux","product":"core","publicId":"LibTmux::X::StaleReference","qualifiedName":"LibTmux::X::StaleReference","signatures":[{"params":[],"raw":"package LibTmux::X::StaleReference;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":53,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::StaleReference::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::count","qualifiedName":"LibTmux::X::StaleReference::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::StaleReference::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::details","qualifiedName":"LibTmux::X::StaleReference::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::StaleReference::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::dispatched","qualifiedName":"LibTmux::X::StaleReference::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::StaleReference::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::entity","qualifiedName":"LibTmux::X::StaleReference::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::StaleReference::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::expected","qualifiedName":"LibTmux::X::StaleReference::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::StaleReference::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::matched_ids","qualifiedName":"LibTmux::X::StaleReference::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::StaleReference::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::message","qualifiedName":"LibTmux::X::StaleReference::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::StaleReference::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::new","qualifiedName":"LibTmux::X::StaleReference::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::StaleReference::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::path","qualifiedName":"LibTmux::X::StaleReference::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::StaleReference::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::received","qualifiedName":"LibTmux::X::StaleReference::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::StaleReference::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::result","qualifiedName":"LibTmux::X::StaleReference::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::StaleReference::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::throw","qualifiedName":"LibTmux::X::StaleReference::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-stalereference-throw"},{"apiScope":"exported","doc":{"summary":"Execution exceeded its deadline; effects may already have occurred."},"extends":["LibTmux::X"],"id":"LibTmux::X::Timeout","kind":"exception","modifiers":[],"name":"Timeout","package":"LibTmux","product":"core","publicId":"LibTmux::X::Timeout","qualifiedName":"LibTmux::X::Timeout","signatures":[{"params":[],"raw":"package LibTmux::X::Timeout;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":39,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Timeout::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::count","qualifiedName":"LibTmux::X::Timeout::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Timeout::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::details","qualifiedName":"LibTmux::X::Timeout::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Timeout::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::dispatched","qualifiedName":"LibTmux::X::Timeout::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Timeout::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::entity","qualifiedName":"LibTmux::X::Timeout::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Timeout::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::expected","qualifiedName":"LibTmux::X::Timeout::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Timeout::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::matched_ids","qualifiedName":"LibTmux::X::Timeout::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Timeout::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::message","qualifiedName":"LibTmux::X::Timeout::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Timeout::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::new","qualifiedName":"LibTmux::X::Timeout::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Timeout::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::path","qualifiedName":"LibTmux::X::Timeout::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Timeout::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::received","qualifiedName":"LibTmux::X::Timeout::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Timeout::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::result","qualifiedName":"LibTmux::X::Timeout::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Timeout::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::throw","qualifiedName":"LibTmux::X::Timeout::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-timeout-throw"},{"apiScope":"exported","doc":{"summary":"Process supervision or result framing failed."},"extends":["LibTmux::X"],"id":"LibTmux::X::Transport","kind":"exception","modifiers":[],"name":"Transport","package":"LibTmux","product":"core","publicId":"LibTmux::X::Transport","qualifiedName":"LibTmux::X::Transport","signatures":[{"params":[],"raw":"package LibTmux::X::Transport;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":45,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Transport::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::count","qualifiedName":"LibTmux::X::Transport::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Transport::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::details","qualifiedName":"LibTmux::X::Transport::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Transport::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::dispatched","qualifiedName":"LibTmux::X::Transport::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Transport::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::entity","qualifiedName":"LibTmux::X::Transport::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Transport::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::expected","qualifiedName":"LibTmux::X::Transport::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Transport::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::matched_ids","qualifiedName":"LibTmux::X::Transport::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Transport::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::message","qualifiedName":"LibTmux::X::Transport::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Transport::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::new","qualifiedName":"LibTmux::X::Transport::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Transport::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::path","qualifiedName":"LibTmux::X::Transport::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Transport::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::received","qualifiedName":"LibTmux::X::Transport::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Transport::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::result","qualifiedName":"LibTmux::X::Transport::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Transport::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::throw","qualifiedName":"LibTmux::X::Transport::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-transport-throw"},{"apiScope":"exported","doc":{"summary":"A required field or relation is not available in captured data."},"extends":["LibTmux::X"],"id":"LibTmux::X::Unloaded","kind":"exception","modifiers":[],"name":"Unloaded","package":"LibTmux","product":"core","publicId":"LibTmux::X::Unloaded","qualifiedName":"LibTmux::X::Unloaded","signatures":[{"params":[],"raw":"package LibTmux::X::Unloaded;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":31,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Unloaded::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::count","qualifiedName":"LibTmux::X::Unloaded::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Unloaded::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::details","qualifiedName":"LibTmux::X::Unloaded::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Unloaded::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::dispatched","qualifiedName":"LibTmux::X::Unloaded::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Unloaded::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::entity","qualifiedName":"LibTmux::X::Unloaded::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Unloaded::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::expected","qualifiedName":"LibTmux::X::Unloaded::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Unloaded::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::matched_ids","qualifiedName":"LibTmux::X::Unloaded::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Unloaded::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::message","qualifiedName":"LibTmux::X::Unloaded::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Unloaded::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::new","qualifiedName":"LibTmux::X::Unloaded::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Unloaded::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::path","qualifiedName":"LibTmux::X::Unloaded::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Unloaded::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::received","qualifiedName":"LibTmux::X::Unloaded::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Unloaded::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::result","qualifiedName":"LibTmux::X::Unloaded::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Unloaded::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::throw","qualifiedName":"LibTmux::X::Unloaded::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unloaded-throw"},{"apiScope":"exported","doc":{"summary":"A daemon or execution capability is unavailable."},"extends":["LibTmux::X"],"id":"LibTmux::X::Unsupported","kind":"exception","modifiers":[],"name":"Unsupported","package":"LibTmux","product":"core","publicId":"LibTmux::X::Unsupported","qualifiedName":"LibTmux::X::Unsupported","signatures":[{"params":[],"raw":"package LibTmux::X::Unsupported;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":35,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Unsupported::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::count","qualifiedName":"LibTmux::X::Unsupported::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Unsupported::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::details","qualifiedName":"LibTmux::X::Unsupported::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Unsupported::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::dispatched","qualifiedName":"LibTmux::X::Unsupported::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Unsupported::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::entity","qualifiedName":"LibTmux::X::Unsupported::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Unsupported::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::expected","qualifiedName":"LibTmux::X::Unsupported::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Unsupported::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::matched_ids","qualifiedName":"LibTmux::X::Unsupported::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Unsupported::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::message","qualifiedName":"LibTmux::X::Unsupported::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Unsupported::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::new","qualifiedName":"LibTmux::X::Unsupported::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Unsupported::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::path","qualifiedName":"LibTmux::X::Unsupported::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Unsupported::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::received","qualifiedName":"LibTmux::X::Unsupported::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Unsupported::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::result","qualifiedName":"LibTmux::X::Unsupported::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Unsupported::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::throw","qualifiedName":"LibTmux::X::Unsupported::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupported-throw"},{"apiScope":"exported","doc":{"summary":"A local value has no supported portable wire representation."},"extends":["LibTmux::X"],"id":"LibTmux::X::UnsupportedValue","kind":"exception","modifiers":[],"name":"UnsupportedValue","package":"LibTmux","product":"core","publicId":"LibTmux::X::UnsupportedValue","qualifiedName":"LibTmux::X::UnsupportedValue","signatures":[{"params":[],"raw":"package LibTmux::X::UnsupportedValue;"}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":33,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::UnsupportedValue::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::count","qualifiedName":"LibTmux::X::UnsupportedValue::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::UnsupportedValue::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::details","qualifiedName":"LibTmux::X::UnsupportedValue::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::UnsupportedValue::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::dispatched","qualifiedName":"LibTmux::X::UnsupportedValue::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::UnsupportedValue::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::entity","qualifiedName":"LibTmux::X::UnsupportedValue::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::UnsupportedValue::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::expected","qualifiedName":"LibTmux::X::UnsupportedValue::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::UnsupportedValue::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::matched_ids","qualifiedName":"LibTmux::X::UnsupportedValue::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::UnsupportedValue::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::message","qualifiedName":"LibTmux::X::UnsupportedValue::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::UnsupportedValue::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::new","qualifiedName":"LibTmux::X::UnsupportedValue::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::UnsupportedValue::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::path","qualifiedName":"LibTmux::X::UnsupportedValue::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::UnsupportedValue::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::received","qualifiedName":"LibTmux::X::UnsupportedValue::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::UnsupportedValue::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::result","qualifiedName":"LibTmux::X::UnsupportedValue::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::UnsupportedValue::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::throw","qualifiedName":"LibTmux::X::UnsupportedValue::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-unsupportedvalue-throw"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::count","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::count","qualifiedName":"LibTmux::X::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::details","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::details","qualifiedName":"LibTmux::X::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::dispatched","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::dispatched","qualifiedName":"LibTmux::X::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::entity","qualifiedName":"LibTmux::X::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::expected","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::expected","qualifiedName":"LibTmux::X::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::matched_ids","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::matched_ids","qualifiedName":"LibTmux::X::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::message","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::message","qualifiedName":"LibTmux::X::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::new","qualifiedName":"LibTmux::X::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::path","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::path","qualifiedName":"LibTmux::X::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::received","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::received","qualifiedName":"LibTmux::X::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::result","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::result","qualifiedName":"LibTmux::X::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::throw","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::throw","qualifiedName":"LibTmux::X::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa"},"slug":"libtmux-x-throw"}]} +{"port":"perl","repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","sources":[{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","package":"LibTmux","product":"core","repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","version":"0.003"},{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","package":"LibTmux-Async","product":"core","repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","version":"0.003"},{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","package":"LibTmux-Workspace","product":"workspace","repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","version":"0.003"}],"extractor":"Perl PPI 1.291 + Pod::Simple native POD v1","nativeProvenance":{"exporter":{"file":"scripts/export-api.pl","perl":"v5.44.0","ppi":"1.291","repository":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","sha256":"650c06a72047602f3108ae5720d21752dffa03d9aeebd8adf4a851d40ba81321","working_tree":false},"files":[{"path":"packages/core/LICENSE","sha256":"e32e2d62046374e7f08a57882699e3f37920edf6b770f817e5b67eb625e2eb4f"},{"path":"packages/core/Makefile.PL","sha256":"dfe94f878c5940a67e8df65811a39b093ba42b9516d4a57dad3dc898b05cd523"},{"path":"packages/core/README.md","sha256":"70e80768bc35239291616ff7a1f027326346f742f360168611c59f6c4da22b78"},{"path":"packages/core/cpanfile","sha256":"c3872a5a5b6b7f367534376cd4db51f7ebf4a1ee31a4560c0de2661c9b25bdf7"},{"path":"packages/core/lib/LibTmux.pm","sha256":"da7690215acae3f9a4f2d5aeb6ef1785d2b5f0f84718fd130bca4666c8e908c9"},{"path":"packages/core/lib/LibTmux/Client.pm","sha256":"1d6a7fe38802d134215f476727e014cceb7f189d608a45e907aa74a9b33377a3"},{"path":"packages/core/lib/LibTmux/ClientSelection.pm","sha256":"24c200afefcb28a5df984b99db8df4253986176b005daf175ecd3f45ebc50aab"},{"path":"packages/core/lib/LibTmux/Codec.pm","sha256":"c3517cd3542e7622b575ddf3a8274841e43df843d4b9b4739d79268ed047a327"},{"path":"packages/core/lib/LibTmux/CommandResult.pm","sha256":"c05fee72a809d924d96908eeb5c9d4c328b088d5e4f9692f292f9c96b13fdbd9"},{"path":"packages/core/lib/LibTmux/Entity.pm","sha256":"46fbe507850d5880f59d78a732270e2554d5e4fe112d8a8013e60a9fca0d5c20"},{"path":"packages/core/lib/LibTmux/Filter.pm","sha256":"fa3b65a22515a6086d06f044e06eeb454575b926e41216419f445d084c8cd8bc"},{"path":"packages/core/lib/LibTmux/Operation.pm","sha256":"dc63406ae06d858fad89347a146cb7ba8496e6db9ee5eaf1ab278e2a67d250e3"},{"path":"packages/core/lib/LibTmux/Pane.pm","sha256":"1d34d763df3256c8645b91395788d0e863e1bff80115a473494b23c4525f3040"},{"path":"packages/core/lib/LibTmux/PaneSelection.pm","sha256":"6edb85943a642e56afcc5185b905c4fc82fcb9c3ca35d013aa61627421354fc5"},{"path":"packages/core/lib/LibTmux/Platform/Linux.pm","sha256":"15d720b545a11c3835e94b672bab6719fbc7dc6b9645ad5edb90207cb12a8968"},{"path":"packages/core/lib/LibTmux/ProcessJob.pm","sha256":"fd46908c18f4b034cd74b1c8e10b1525d7270e60159e32e6c45b0778425be642"},{"path":"packages/core/lib/LibTmux/QueryPlan.pm","sha256":"3f18a903100e46dcb58c32b7ad6a4853df8094f8932a56644b33d6e4dd5668fa"},{"path":"packages/core/lib/LibTmux/Schema.pm","sha256":"69290dbf72abe7cb27d9364b519f261281088d59abd4c17af33026adf4d7a52f"},{"path":"packages/core/lib/LibTmux/Selection.pm","sha256":"12565d289dcb00e13852d297cbd843a65a9bab43c0e6cab6392bc6fdf8749c99"},{"path":"packages/core/lib/LibTmux/Selection/Iterator.pm","sha256":"755aaf2aa31e3302422d00573bd4ce4d26be8017f1d008b12be1f64708496d40"},{"path":"packages/core/lib/LibTmux/Server.pm","sha256":"2ee3f86b2a377d31692321c19928845f49463a6faa1e231bf4fadb5825be23ef"},{"path":"packages/core/lib/LibTmux/Session.pm","sha256":"937f4399513d814108380b75beb1c8824960593354f3955559439e2bc999da83"},{"path":"packages/core/lib/LibTmux/SessionSelection.pm","sha256":"8ba23cdcf527ceb555ce392857c2b43b86b1b55ab4e881e5dc733ced99e95f4c"},{"path":"packages/core/lib/LibTmux/Snapshot.pm","sha256":"d25f65b94405c1d9cb3ff3f0e268de567d79d4aca178efa66c14db8bd040df5d"},{"path":"packages/core/lib/LibTmux/Transport.pm","sha256":"57dcb66db1c204f7fe6bcfee6623742dcfe425d8f9f0220e126d8e7c0a6535dc"},{"path":"packages/core/lib/LibTmux/Window.pm","sha256":"df01e902cc513dee0e7458c2499078ca9141446066a822525a2e45864942e06e"},{"path":"packages/core/lib/LibTmux/WindowLink.pm","sha256":"30c8937a5806bb2996af3b21c3a6936a383a3e34ead6d591748a077b7b6adebf"},{"path":"packages/core/lib/LibTmux/WindowLinkSelection.pm","sha256":"8301d518b97d620f76c7d1c7927c14809962a48b9ae5027768ea2163395550f1"},{"path":"packages/core/lib/LibTmux/WindowSelection.pm","sha256":"8b7956f6360344d3c3f8c7b1759f2e53e0acbbc98e81d2f3f864c339b8fcf8c2"},{"path":"packages/core/lib/LibTmux/X.pm","sha256":"83438781e81322c06006dd84fe7bf357472a34c1e3e3a502babdc5b040036195"},{"path":"packages/core/lib/LibTmux/schema.json","sha256":"5f132d204d5c919cdab5083233da5a1c0aedf4690f72fe430c1c8b1b271cb1e9"},{"path":"packages/async/LICENSE","sha256":"e32e2d62046374e7f08a57882699e3f37920edf6b770f817e5b67eb625e2eb4f"},{"path":"packages/async/Makefile.PL","sha256":"4b547f9c20d8c96d8ad7837a76f7ac63547714179ae988288762c268da9d169d"},{"path":"packages/async/README.md","sha256":"b3b9871187d30a2df31153dd8b906bffbd877bd5598b28c6445a0c998bd8aedb"},{"path":"packages/async/cpanfile","sha256":"9a4b450d72ad956fc35f73147fe7a003913f54143c88e8c52d2fab7230821555"},{"path":"packages/async/lib/LibTmux/Async.pm","sha256":"a17ae3cb757850a86ec7b40ddc59902fa74df36241066b63b2d38f2f2f161d84"},{"path":"packages/async/lib/LibTmux/Async/Server.pm","sha256":"65af3416d55200c0d10d4a2a8982280254ee28b5d06b15222a1da7da6beeea11"},{"path":"packages/async/lib/LibTmux/Async/Transport.pm","sha256":"67c30dd33016be2f7161aeaa4aab0ff3a153b06c8739a32fc9a8786642dc9375"},{"path":"packages/async/lib/LibTmux/Async/X.pm","sha256":"c1f342b52f45de5eee2c1970e806049a373f0f88d1c579ae4c157ed40756d272"},{"path":"packages/workspace/LICENSE","sha256":"e32e2d62046374e7f08a57882699e3f37920edf6b770f817e5b67eb625e2eb4f"},{"path":"packages/workspace/Makefile.PL","sha256":"36b4d47face444caff12f89598db6a70f66874237062305fb4fb2bfc11a39932"},{"path":"packages/workspace/README.md","sha256":"0c91daae67f82f31629102776e8e65b3634f29d5345c136825e4dfcb00915b19"},{"path":"packages/workspace/cpanfile","sha256":"0b5cd38aa2f1bd590cf8b00428c09adf8246f66ff66d861abd619648a8a9c8f3"},{"path":"packages/workspace/lib/LibTmux/Workspace.pm","sha256":"5201a40ede160f6f4931b475f753de3329280cc4c49469fab7242c7943f77aee"},{"path":"packages/workspace/lib/LibTmux/Workspace/X.pm","sha256":"10c8aeefee1eff75d303559f1a30d4a71705ba638fa95e630fad0b4df04c0220"},{"path":"examples/quickstart.pl","sha256":"ba9f650b81972f6b11556c4babd22b19d868335d9701980069e5d37748ce3cf2"},{"path":"examples/selection.pl","sha256":"2f558f90969300ba7d2b86dac55a07a23b140ea60c921a282ddf231e9dd98093"},{"path":"examples/workspace.pl","sha256":"6f0b49432880a956960fcc19c02fe1ed0c7eeb4f57f2131e17162c4ecb65fbf3"},{"path":"examples/async.pl","sha256":"f194d964b977c4249b06e6927cd2533a7725675cf4534377baa2d3e5ef1d9d9b"},{"path":"examples/await.pl","sha256":"4ba75608ce524ae2b0212c029bbdcb9d4d96c8aebfac5d96a227c48a28ef2294"}]},"symbols":[{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nUse :obj:`LibTmux::Server ` for acquisition and commands. Captured entities and :obj:`LibTmux::Selection ` queries perform no tmux I/O.\n\n\n## DOCUMENTATION\n\n[Perl documentation](https://libtmux.org/en/perl/) provides installation, guides, and runnable examples. Read the [API reference](https://libtmux.org/en/perl/latest/reference/) or start with [Server](https://libtmux.org/en/perl/latest/reference/libtmux-server/). The [CPAN distribution](https://metacpan.org/dist/LibTmux) contains this POD and the consumer examples. The `0.x` API can change between releases.\n\n","summary":"Explicit tmux commands and captured graph queries"},"id":"LibTmux","kind":"module","modifiers":[],"name":"LibTmux","package":"LibTmux","product":"core","publicId":"LibTmux","qualifiedName":"LibTmux","signatures":[{"params":[],"raw":"package LibTmux;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nThe async distribution depends on :obj:`LibTmux `, [IO::Async](https://metacpan.org/pod/IO::Async), [Future](https://metacpan.org/pod/Future), [IO::Async::Loop::Ppoll](https://metacpan.org/pod/IO::Async::Loop::Ppoll), and [IO::Ppoll](https://metacpan.org/pod/IO::Ppoll). Use :obj:`LibTmux::Async::Server ` or :obj:`LibTmux::Async::Transport ` with an explicitly supplied Ppoll loop. Core snapshot filtering remains local and synchronous. Async dependencies are not required by the core or workspace distributions.\n\n\n## DOCUMENTATION\n\nRead the [Perl documentation](https://libtmux.org/en/perl/) and [async guide](https://libtmux.org/en/perl/latest/guides/async/) for setup, concurrency, cancellation, and executor cleanup. The [API reference](https://libtmux.org/en/perl/latest/reference/libtmux-async-server/) documents Future-returning operations. The [CPAN distribution](https://metacpan.org/dist/LibTmux-Async) includes runnable consumer examples. The `0.x` API can change between releases.\n\n","summary":"Optional Future-based libtmux execution"},"id":"LibTmux::Async","kind":"module","modifiers":[],"name":"Async","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async","qualifiedName":"LibTmux::Async","signatures":[{"params":[],"raw":"package LibTmux::Async;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async"},{"apiScope":"exported","doc":{"body":"\n## SYNOPSIS\n\n\n```perl\n use v5.44;\n use IO::Async::Loop::Ppoll;\n use LibTmux::Async::Server;\n my $loop = IO::Async::Loop::Ppoll->new;\n my $server = LibTmux::Async::Server->new(loop => $loop, socket_name => 'owned');\n my $capture = $server->snapshot;\n $loop->await($capture);\n my $panes = $capture->get->panes->where({ active => true });\n $loop->await($server->close);\n```\n\n","summary":"Optional Future facade over the core protocol","examples":[{"lang":"perl","code":"use v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse IO::Async::Loop::Ppoll;\nuse Future::AsyncAwait;\nuse LibTmux::Async::Server;\nuse LibTmuxFixture;\nasync sub capture_count ($server) {\n my $snapshot = await $server->snapshot;\n my $count = $snapshot->panes->count;\n await $server->close;\n return $count;\n}\nLibTmuxFixture->run(\n sub ($sync, $root) {\n $sync->new_session(\n name => 'await-example',\n command => ['/bin/sleep', '120']\n );\n my $loop = IO::Async::Loop::Ppoll->new;\n my $server = LibTmux::Async::Server->new(\n loop => $loop,\n socket_path => \"$root/s\",\n executable => $ENV{LIBTMUX_TEST_TMUX} // 'tmux'\n );\n my $work = capture_count($server);\n $loop->await($work);\n die 'await result differs' unless $work->get == 1;\n say 'optional caller await syntax: ok';\n }\n);\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/a1cab0324b600a5df6e34b92590b5c3bd8f79c69/examples/await.pl"}]},"id":"LibTmux::Async::Server","kind":"class","modifiers":[],"name":"Server","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::Server","qualifiedName":"LibTmux::Async::Server","signatures":[{"params":[],"raw":"package LibTmux::Async::Server;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"attach_argv\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::attach_argv","kind":"method","modifiers":["async"],"name":"attach_argv","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::attach_argv","qualifiedName":"LibTmux::Async::Server::attach_argv","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub attach_argv($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":88,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-attach_argv"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"batch\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::batch","kind":"method","modifiers":["async"],"name":"batch","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::batch","qualifiedName":"LibTmux::Async::Server::batch","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"requests"}],"raw":"sub batch($self, $requests)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":62,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-batch"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"capture_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::capture_pane","kind":"method","modifiers":["async"],"name":"capture_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::capture_pane","qualifiedName":"LibTmux::Async::Server::capture_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub capture_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":82,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-capture_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"clients\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::clients","kind":"method","modifiers":["async"],"name":"clients","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::clients","qualifiedName":"LibTmux::Async::Server::clients","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub clients($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":87,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-clients"},{"apiScope":"exported","doc":{"summary":"Cancel active operations, suppress subsequent command continuations, reject new operations, and return a fresh cleanup observer [Future](https://metacpan.org/pod/Future). Only successful `is_done` completion proves owned processes and pipes finished. Cancellation of an observer does not cancel cleanup. The caller must drive its borrowed loop through shutdown. No tmux server is destroyed by closing this facade."},"id":"LibTmux::Async::Server::close","kind":"method","modifiers":["async"],"name":"close","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::close","qualifiedName":"LibTmux::Async::Server::close","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub close($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":55,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-close"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"cmd\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::cmd","kind":"method","modifiers":["async"],"name":"cmd","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::cmd","qualifiedName":"LibTmux::Async::Server::cmd","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":20,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"argv","variadic":"positional"}],"raw":"sub cmd($self, @argv)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":60,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-cmd"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"delete_buffer\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::delete_buffer","kind":"method","modifiers":["async"],"name":"delete_buffer","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::delete_buffer","qualifiedName":"LibTmux::Async::Server::delete_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub delete_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":103,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-delete_buffer"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"detach_client\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::detach_client","kind":"method","modifiers":["async"],"name":"detach_client","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::detach_client","qualifiedName":"LibTmux::Async::Server::detach_client","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub detach_client($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-detach_client"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"execute\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::execute","kind":"method","modifiers":["async"],"name":"execute","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::execute","qualifiedName":"LibTmux::Async::Server::execute","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub execute($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":63,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-execute"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"explain_panes\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::explain_panes","kind":"method","modifiers":["async"],"name":"explain_panes","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::explain_panes","qualifiedName":"LibTmux::Async::Server::explain_panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub explain_panes($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":69,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-explain_panes"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"get_environment\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::get_environment","kind":"method","modifiers":["async"],"name":"get_environment","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::get_environment","qualifiedName":"LibTmux::Async::Server::get_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":27}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub get_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":96,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-get_environment"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"get_option\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::get_option","kind":"method","modifiers":["async"],"name":"get_option","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::get_option","qualifiedName":"LibTmux::Async::Server::get_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub get_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":91,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-get_option"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"kill_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::kill_pane","kind":"method","modifiers":["async"],"name":"kill_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::kill_pane","qualifiedName":"LibTmux::Async::Server::kill_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":83,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-kill_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"kill_server\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::kill_server","kind":"method","modifiers":["async"],"name":"kill_server","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::kill_server","qualifiedName":"LibTmux::Async::Server::kill_server","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_server($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":86,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-kill_server"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"kill_session\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::kill_session","kind":"method","modifiers":["async"],"name":"kill_session","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::kill_session","qualifiedName":"LibTmux::Async::Server::kill_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-kill_session"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"kill_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::kill_window","kind":"method","modifiers":["async"],"name":"kill_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::kill_window","qualifiedName":"LibTmux::Async::Server::kill_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":84,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-kill_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"link_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::link_window","kind":"method","modifiers":["async"],"name":"link_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::link_window","qualifiedName":"LibTmux::Async::Server::link_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub link_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":72,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-link_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"listings\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::listings","kind":"method","modifiers":["async"],"name":"listings","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::listings","qualifiedName":"LibTmux::Async::Server::listings","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"kind"}],"raw":"sub listings($self, $kind)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":61,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-listings"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"move_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::move_window","kind":"method","modifiers":["async"],"name":"move_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::move_window","qualifiedName":"LibTmux::Async::Server::move_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub move_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":74,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-move_window"},{"apiScope":"exported","doc":{"summary":"`new(loop => $loop, %connection_options)` constructs without I/O. Borrow an [IO::Async::Loop::Ppoll](https://metacpan.org/pod/IO::Async::Loop::Ppoll); connection options belong to :obj:`\"new\" in LibTmux::Server `. `max_concurrent` and `max_queue` configure the owned :obj:`LibTmux::Async::Transport `. Its :obj:`backend and signal contract ` applies to this facade. No event loop is run implicitly."},"id":"LibTmux::Async::Server::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::new","qualifiedName":"LibTmux::Async::Server::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-new"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"new_session\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::new_session","kind":"method","modifiers":["async"],"name":"new_session","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::new_session","qualifiedName":"LibTmux::Async::Server::new_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":64,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-new_session"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"new_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::new_window","kind":"method","modifiers":["async"],"name":"new_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::new_window","qualifiedName":"LibTmux::Async::Server::new_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":65,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-new_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"query_panes\" in LibTmux::Server ` for arguments, returned value, and completion. Its observer runs inline in void context; a returned [Future](https://metacpan.org/pod/Future) is ignored. Cancellation before the decision suppresses it. If the observer cancels its query or calls :obj:`\"close\" `, cancellation takes precedence over subsequent return or exception delivery. Continue driving the loop until close cleanup completes."},"id":"LibTmux::Async::Server::query_panes","kind":"method","modifiers":["async"],"name":"query_panes","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::query_panes","qualifiedName":"LibTmux::Async::Server::query_panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub query_panes($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":68,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-query_panes"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"rename_session\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::rename_session","kind":"method","modifiers":["async"],"name":"rename_session","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::rename_session","qualifiedName":"LibTmux::Async::Server::rename_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":18,"kind":"name","start":4},{"end":31,"kind":"parameter","parameter":0,"start":26}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub rename_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":70,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-rename_session"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"rename_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::rename_window","kind":"method","modifiers":["async"],"name":"rename_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::rename_window","qualifiedName":"LibTmux::Async::Server::rename_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub rename_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":71,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-rename_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"resize_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::resize_pane","kind":"method","modifiers":["async"],"name":"resize_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::resize_pane","qualifiedName":"LibTmux::Async::Server::resize_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub resize_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":78,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-resize_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"select_layout\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::select_layout","kind":"method","modifiers":["async"],"name":"select_layout","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::select_layout","qualifiedName":"LibTmux::Async::Server::select_layout","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_layout($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-select_layout"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"select_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::select_pane","kind":"method","modifiers":["async"],"name":"select_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::select_pane","qualifiedName":"LibTmux::Async::Server::select_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":76,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-select_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"select_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::select_window","kind":"method","modifiers":["async"],"name":"select_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::select_window","qualifiedName":"LibTmux::Async::Server::select_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":75,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-select_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"send_keys\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::send_keys","kind":"method","modifiers":["async"],"name":"send_keys","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::send_keys","qualifiedName":"LibTmux::Async::Server::send_keys","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub send_keys($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":80,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-send_keys"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"send_text\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::send_text","kind":"method","modifiers":["async"],"name":"send_text","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::send_text","qualifiedName":"LibTmux::Async::Server::send_text","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub send_text($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":81,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-send_text"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_buffer\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_buffer","kind":"method","modifiers":["async"],"name":"set_buffer","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_buffer","qualifiedName":"LibTmux::Async::Server::set_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":101,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-set_buffer"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_environment\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_environment","kind":"method","modifiers":["async"],"name":"set_environment","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_environment","qualifiedName":"LibTmux::Async::Server::set_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":27}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":95,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-set_environment"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_hook\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_hook","kind":"method","modifiers":["async"],"name":"set_hook","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_hook","qualifiedName":"LibTmux::Async::Server::set_hook","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_hook($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":93,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-set_hook"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_option\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_option","kind":"method","modifiers":["async"],"name":"set_option","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_option","qualifiedName":"LibTmux::Async::Server::set_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":90,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-set_option"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"set_title\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::set_title","kind":"method","modifiers":["async"],"name":"set_title","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::set_title","qualifiedName":"LibTmux::Async::Server::set_title","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_title($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":79,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-set_title"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"show_buffer\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::show_buffer","kind":"method","modifiers":["async"],"name":"show_buffer","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::show_buffer","qualifiedName":"LibTmux::Async::Server::show_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub show_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":102,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-show_buffer"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"show_hooks\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::show_hooks","kind":"method","modifiers":["async"],"name":"show_hooks","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::show_hooks","qualifiedName":"LibTmux::Async::Server::show_hooks","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub show_hooks($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":94,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-show_hooks"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"snapshot\" in LibTmux::Server ` for arguments, returned value, and completion.","examples":[{"lang":"perl","code":"use v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse IO::Async::Loop::Ppoll;\nuse LibTmux::Async::Server;\nuse LibTmuxFixture;\nLibTmuxFixture->run(\n sub ($sync, $root) {\n $sync->new_session(\n name => 'async-example',\n command => ['/bin/sleep', '120']\n );\n my $loop = IO::Async::Loop::Ppoll->new;\n my $server = LibTmux::Async::Server->new(\n loop => $loop,\n socket_path => \"$root/s\",\n executable => $ENV{LIBTMUX_TEST_TMUX} // 'tmux',\n max_concurrent => 2\n );\n my $snapshot = $server->snapshot;\n $loop->await($snapshot);\n die 'async snapshot missing pane'\n unless $snapshot->get->panes->count == 1;\n my $closed = $server->close;\n $loop->await($closed);\n die 'cleanup failed' unless $closed->is_done;\n say 'async capture and cleanup: ok';\n }\n);\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/a1cab0324b600a5df6e34b92590b5c3bd8f79c69/examples/async.pl"}]},"id":"LibTmux::Async::Server::snapshot","kind":"method","modifiers":["async"],"name":"snapshot","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::snapshot","qualifiedName":"LibTmux::Async::Server::snapshot","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub snapshot($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":67,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-snapshot"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"split_pane\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::split_pane","kind":"method","modifiers":["async"],"name":"split_pane","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::split_pane","qualifiedName":"LibTmux::Async::Server::split_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub split_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-split_pane"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"unlink_window\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::unlink_window","kind":"method","modifiers":["async"],"name":"unlink_window","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::unlink_window","qualifiedName":"LibTmux::Async::Server::unlink_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unlink_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":73,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-unlink_window"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"unset_environment\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::unset_environment","kind":"method","modifiers":["async"],"name":"unset_environment","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::unset_environment","qualifiedName":"LibTmux::Async::Server::unset_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":21,"kind":"name","start":4},{"end":34,"kind":"parameter","parameter":0,"start":29}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unset_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":98,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-unset_environment"},{"apiScope":"exported","doc":{"summary":"See :obj:`\"unset_option\" in LibTmux::Server ` for arguments, returned value, and completion."},"id":"LibTmux::Async::Server::unset_option","kind":"method","modifiers":["async"],"name":"unset_option","package":"LibTmux-Async","parent":"LibTmux::Async::Server","product":"core","publicId":"LibTmux::Async::Server::unset_option","qualifiedName":"LibTmux::Async::Server::unset_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unset_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Server.pm","line":92,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-server-unset_option"},{"apiScope":"exported","doc":{"body":"","summary":"Bounded asynchronous process execution"},"id":"LibTmux::Async::Transport","kind":"class","modifiers":[],"name":"Transport","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::Transport","qualifiedName":"LibTmux::Async::Transport","signatures":[{"params":[],"raw":"package LibTmux::Async::Transport;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Transport.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-transport"},{"apiScope":"exported","doc":{"summary":"Begin idempotent shutdown and return a fresh observer Future. New admissions fail with :obj:`Closed `; queued requests are cancelled without dispatch and running jobs are cancelled. Cancelling an observer never cancels private cleanup. Only successful `is_done` completion proves all owned jobs, pipes, and watchers have completed cleanup. The borrowed loop remains usable. Callers must keep driving it through shutdown."},"id":"LibTmux::Async::Transport::close","kind":"method","modifiers":[],"name":"close","package":"LibTmux-Async","parent":"LibTmux::Async::Transport","product":"core","publicId":"LibTmux::Async::Transport::close","qualifiedName":"LibTmux::Async::Transport::close","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub close($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Transport.pm","line":218,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-transport-close"},{"apiScope":"exported","doc":{"body":"The shared :obj:`LibTmux::ProcessJob ` owns supervision. Cancelling the Future requests cleanup; it does not prove exit or reverse command effects.","summary":"Accepts the same literal process arguments as :obj:`\"run\" in LibTmux::Transport `. Returns a [Future](https://metacpan.org/pod/Future) yielding one :obj:`command result `. Typed core exceptions remain the failure value. Queue overflow fails with :obj:`QueueFull ` before dispatch. The backend is checked again at admission and launch. Child preparation failures retain a typed diagnostic and `dispatched` false, with supervisor exit still required before cleanup completes."},"id":"LibTmux::Async::Transport::execute","kind":"method","modifiers":[],"name":"execute","package":"LibTmux-Async","parent":"LibTmux::Async::Transport","product":"core","publicId":"LibTmux::Async::Transport::execute","qualifiedName":"LibTmux::Async::Transport::execute","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"request","variadic":"keyword"}],"raw":"sub execute($self, %request)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Transport.pm","line":60,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-transport-execute"},{"apiScope":"exported","doc":{"body":"Ppoll blocks watched signals outside its atomic wait. Its shared SIGCHLD watch can outlive this transport. `close` leaves the caller-selected loop and its signal policy intact. Do not change the backend or its wait mask while jobs or cleanup remain active. Async children unblock only SIGCHLD before process supervision; other mask bits remain unchanged in the child. This lets a new tmux daemon observe pane exits without changing synchronous core's mask policy.","summary":"`new(loop => $loop, max_concurrent => 4, max_queue => 64)` borrows an [IO::Async::Loop::Ppoll](https://metacpan.org/pod/IO::Async::Loop::Ppoll) backed by [IO::Ppoll](https://metacpan.org/pod/IO::Ppoll). Construct that class explicitly; automatic loop selection can choose an unsupported backend. Other classes, a substituted poll implementation, or a wait mask blocking SIGCHLD throw :obj:`Unsupported ` before dispatch. The loop owns supervisor reaping; competing external all-child reapers are unsupported. The library never runs, stops, or replaces it."},"id":"LibTmux::Async::Transport::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Async","parent":"LibTmux::Async::Transport","product":"core","publicId":"LibTmux::Async::Transport::new","qualifiedName":"LibTmux::Async::Transport::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/Transport.pm","line":35,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-transport-new"},{"apiScope":"exported","doc":{"body":"","summary":"Shutdown has started and new work is refused. Callers may still observe cleanup through \"close\" in LibTmux::Async::Transport."},"id":"LibTmux::Async::X","kind":"class","modifiers":[],"name":"X","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::X","qualifiedName":"LibTmux::Async::X","signatures":[{"params":[],"raw":"package LibTmux::Async::X;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/X.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-x"},{"apiScope":"exported","doc":{"summary":"Shutdown has started and new work is refused. Callers may still observe cleanup through :obj:`\"close\" in LibTmux::Async::Transport `."},"id":"LibTmux::Async::X::Closed","kind":"exception","modifiers":[],"name":"Closed","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::X::Closed","qualifiedName":"LibTmux::Async::X::Closed","signatures":[{"params":[],"raw":"package LibTmux::Async::X::Closed;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-x-closed"},{"apiScope":"exported","doc":{"summary":"The configured running and pending limits are occupied. No command was submitted for this request. Returned through a failed [Future](https://metacpan.org/pod/Future)."},"id":"LibTmux::Async::X::QueueFull","kind":"exception","modifiers":[],"name":"QueueFull","package":"LibTmux-Async","product":"core","publicId":"LibTmux::Async::X::QueueFull","qualifiedName":"LibTmux::Async::X::QueueFull","signatures":[{"params":[],"raw":"package LibTmux::Async::X::QueueFull;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/async/lib/LibTmux/Async/X.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-async-x-queuefull"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured client entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::Client","kind":"class","modifiers":[],"name":"Client","package":"LibTmux","product":"core","publicId":"LibTmux::Client","qualifiedName":"LibTmux::Client","signatures":[{"params":[],"raw":"package LibTmux::Client;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Client.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Client::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::generation","qualifiedName":"LibTmux::Client::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-generation"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Client::height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::height","qualifiedName":"LibTmux::Client::height","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub height($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Client.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-height"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Client::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::id","qualifiedName":"LibTmux::Client::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Client.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Client::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::identity","qualifiedName":"LibTmux::Client::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-identity"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Client::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::kind","qualifiedName":"LibTmux::Client::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-kind"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Client::name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::name","qualifiedName":"LibTmux::Client::name","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub name($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Client.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-name"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Client::pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::pid","qualifiedName":"LibTmux::Client::pid","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4}],"params":[],"raw":"sub pid($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Client.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-pid"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Client::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::server_id","qualifiedName":"LibTmux::Client::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-server_id"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Session ` entity or undef. Local captured data; no I/O."},"id":"LibTmux::Client::session","kind":"method","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::session","qualifiedName":"LibTmux::Client::session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub session($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Client.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-session"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Client::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::to_record","qualifiedName":"LibTmux::Client::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-to_record"},{"apiScope":"exported","doc":{"summary":"bytes. Local captured data; no I/O."},"id":"LibTmux::Client::tty","kind":"method","modifiers":[],"name":"tty","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::tty","qualifiedName":"LibTmux::Client::tty","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4}],"params":[],"raw":"sub tty($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Client.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-tty"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Client::width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::width","qualifiedName":"LibTmux::Client::width","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub width($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Client.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-client-width"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::Client ` handles from one server generation. Empty instances still validate against the client schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured client entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::ClientSelection","kind":"class","modifiers":[],"name":"ClientSelection","package":"LibTmux","product":"core","publicId":"LibTmux::ClientSelection","qualifiedName":"LibTmux::ClientSelection","signatures":[{"params":[],"raw":"package LibTmux::ClientSelection;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ClientSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::ClientSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::count","qualifiedName":"LibTmux::ClientSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::ClientSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::exists","qualifiedName":"LibTmux::ClientSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::ClientSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::first","qualifiedName":"LibTmux::ClientSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::ClientSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::grep","qualifiedName":"LibTmux::ClientSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::ClientSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::iterator","qualifiedName":"LibTmux::ClientSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::ClientSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::new","qualifiedName":"LibTmux::ClientSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::ClientSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::one","qualifiedName":"LibTmux::ClientSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::ClientSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::one_or_undef","qualifiedName":"LibTmux::ClientSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::ClientSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::to_array","qualifiedName":"LibTmux::ClientSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::ClientSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::ClientSelection","product":"core","publicId":"LibTmux::ClientSelection::where","qualifiedName":"LibTmux::ClientSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-clientselection-where"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders are local and do not mutate the result or perform I/O. A lifecycle exception may expose a bounded partial result; it does not imply rollback or command completion. See :obj:`\"run\" in LibTmux::Transport ` and :obj:`LibTmux::X `.\n\n","summary":"Completed or partial subprocess outcome"},"id":"LibTmux::CommandResult","kind":"class","modifiers":[],"name":"CommandResult","package":"LibTmux","product":"core","publicId":"LibTmux::CommandResult","qualifiedName":"LibTmux::CommandResult","signatures":[{"params":[],"raw":"package LibTmux::CommandResult;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/CommandResult.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-commandresult"},{"apiScope":"exported","doc":{"summary":"Return an exit code or undef when no child status is known."},"id":"LibTmux::CommandResult::exit_code","kind":"method","modifiers":[],"name":"exit_code","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::exit_code","qualifiedName":"LibTmux::CommandResult::exit_code","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub exit_code($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/CommandResult.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-commandresult-exit_code"},{"apiScope":"exported","doc":{"summary":"Return the POSIX wait status or undef when unavailable."},"id":"LibTmux::CommandResult::raw_status","kind":"method","modifiers":[],"name":"raw_status","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::raw_status","qualifiedName":"LibTmux::CommandResult::raw_status","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub raw_status($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/CommandResult.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-commandresult-raw_status"},{"apiScope":"exported","doc":{"summary":"Return a terminating signal number, zero for ordinary exit, or undef for unknown status."},"id":"LibTmux::CommandResult::signal","kind":"method","modifiers":[],"name":"signal","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::signal","qualifiedName":"LibTmux::CommandResult::signal","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub signal($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/CommandResult.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-commandresult-signal"},{"apiScope":"exported","doc":{"summary":"Return separately retained stderr octets, possibly empty."},"id":"LibTmux::CommandResult::stderr","kind":"method","modifiers":[],"name":"stderr","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::stderr","qualifiedName":"LibTmux::CommandResult::stderr","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub stderr($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/CommandResult.pm","line":4,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-commandresult-stderr"},{"apiScope":"exported","doc":{"summary":"Return retained stdout octets, possibly empty. No text decoding occurs."},"id":"LibTmux::CommandResult::stdout","kind":"method","modifiers":[],"name":"stdout","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::stdout","qualifiedName":"LibTmux::CommandResult::stdout","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub stdout($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/CommandResult.pm","line":3,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-commandresult-stdout"},{"apiScope":"exported","doc":{"summary":"Return true only when known status proves ordinary exit zero. Unknown status is never success."},"id":"LibTmux::CommandResult::success","kind":"method","modifiers":[],"name":"success","package":"LibTmux","parent":"LibTmux::CommandResult","product":"core","publicId":"LibTmux::CommandResult::success","qualifiedName":"LibTmux::CommandResult::success","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub success($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/CommandResult.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-commandresult-success"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nField readers and relationships resolve locally in the retained graph. :obj:`\"to_record\" ` returns detached scalar record data. Handles retain no transport.\n\n\n## EXECUTION\n\nAll methods in this module operate on local captured data and perform no tmux I/O. Ordering is deterministic; public query methods do not mutate membership. Typed validation/evaluation errors propagate. See :obj:`\"snapshot\" in LibTmux::Server ` for explicit acquisition and :obj:`LibTmux::X ` for machine-readable failures.\n\n","summary":"Read-only handle retaining a captured graph"},"id":"LibTmux::Entity","kind":"class","modifiers":[],"name":"Entity","package":"LibTmux","product":"core","publicId":"LibTmux::Entity","qualifiedName":"LibTmux::Entity","signatures":[{"params":[],"raw":"package LibTmux::Entity;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-entity"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Entity::generation","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::generation","qualifiedName":"LibTmux::Entity::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-entity-generation"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Entity::identity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::identity","qualifiedName":"LibTmux::Entity::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-entity-identity"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Entity::kind","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::kind","qualifiedName":"LibTmux::Entity::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-entity-kind"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Entity::server_id","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::server_id","qualifiedName":"LibTmux::Entity::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-entity-server_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Entity::to_record","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Entity","product":"core","publicId":"LibTmux::Entity::to_record","qualifiedName":"LibTmux::Entity::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-entity-to_record"},{"apiScope":"exported","doc":{"body":"\n## SYNOPSIS\n\n\n```perl\n use v5.44;\n use LibTmux::Filter;\n my $filter = LibTmux::Filter->new(\n entity => 'pane', where => {width => {-gte => 120}},\n );\n my $matches = $snapshot->panes->where($filter);\n```\n\n\n## CONTRACT\n\nCompilation validates the entire tree and copies operands. Hash keys evaluate lexically; logical arrays retain input order. Missing reads throw; known-null ordering is false. String operators are literal. Relations use some/every/none and is/is_not with explicit dash prefixes in Perl data.\n\n`matches` accepts entities, plain records, and registered adapters. `to_data`/`to_json` export copies in libtmux.where/v1; `from_data`/`from_json` validate input. Regex/coderefs/cycles and non-UTF-8 byte-path wire operands are refused. Perl regex remains available through Selection `grep`.\n\n\n## EXECUTION\n\nAll methods in this module operate on local captured data and perform no tmux I/O. Ordering is deterministic; public query methods do not mutate membership. Typed validation/evaluation errors propagate. See :obj:`\"snapshot\" in LibTmux::Server ` for explicit acquisition and :obj:`LibTmux::X ` for machine-readable failures.\n\n","summary":"Validated, reusable local criteria and explicit wire data"},"id":"LibTmux::Filter","kind":"class","modifiers":[],"name":"Filter","package":"LibTmux","product":"core","publicId":"LibTmux::Filter","qualifiedName":"LibTmux::Filter","signatures":[{"params":[],"raw":"package LibTmux::Filter;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter"},{"apiScope":"exported","doc":{"summary":"Return the declared entity-kind string. It remains known for an empty :obj:`LibTmux::Selection `."},"id":"LibTmux::Filter::entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::entity","qualifiedName":"LibTmux::Filter::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter-entity"},{"apiScope":"exported","doc":{"summary":"`from_data($envelope)` validates the version, entity, fields, operators, and operands, then returns a compiled filter. Reject executable values, unknown versions, cycles, and unsupported regex nodes."},"id":"LibTmux::Filter::from_data","kind":"method","modifiers":[],"name":"from_data","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::from_data","qualifiedName":"LibTmux::Filter::from_data","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"data"}],"raw":"sub from_data($class, $data)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":315,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter-from_data"},{"apiScope":"exported","doc":{"summary":"`from_json($json_octets)` decodes bounded JSON using core booleans and calls :obj:`\"from_data\" `. Invalid JSON throws :obj:`InvalidFilter `."},"id":"LibTmux::Filter::from_json","kind":"method","modifiers":[],"name":"from_json","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::from_json","qualifiedName":"LibTmux::Filter::from_json","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"bytes"}],"raw":"sub from_json($class, $bytes)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":331,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter-from_json"},{"apiScope":"exported","doc":{"summary":"`matches($entity_or_record)` returns a native Boolean. Accept captured entities, plain hash records, or registered adapters of the declared kind. Missing required reads throw :obj:`Unloaded `; they never become null or false through negation. Evaluation performs no I/O."},"id":"LibTmux::Filter::matches","kind":"method","modifiers":[],"name":"matches","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::matches","qualifiedName":"LibTmux::Filter::matches","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"record"}],"raw":"sub matches($self, $record)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":136,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter-matches"},{"apiScope":"exported","doc":{"summary":"`new(entity => kind, where => $hashref)` validates the complete criteria tree and owns a normalized copy. Schemas choose comparison types; no scalar-history coercion or arbitrary method dispatch occurs. Errors throw :obj:`InvalidFilter ` with precise paths, even for unreachable branches."},"id":"LibTmux::Filter::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::new","qualifiedName":"LibTmux::Filter::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter-new"},{"apiScope":"exported","doc":{"summary":"Return an independent copy of normalized Perl criteria. Editing it does not change the compiled filter."},"id":"LibTmux::Filter::normalized_where","kind":"method","modifiers":[],"name":"normalized_where","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::normalized_where","qualifiedName":"LibTmux::Filter::normalized_where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":20,"kind":"name","start":4}],"params":[],"raw":"sub normalized_where($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter-normalized_where"},{"apiScope":"exported","doc":{"summary":"`register_adapter(class => name, entity => kind, readers => { field => coderef })` registers trusted field readers without inheritance. Only declared fields are accepted. Readers are executable local code; they never enter portable criteria. See :obj:`LibTmux::Schema `."},"id":"LibTmux::Filter::register_adapter","kind":"method","modifiers":[],"name":"register_adapter","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::register_adapter","qualifiedName":"LibTmux::Filter::register_adapter","signatures":[{"methodKind":"call","nativeSyntax":[{"end":20,"kind":"name","start":4},{"end":34,"kind":"parameter","parameter":0,"start":29}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub register_adapter($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":20,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter-register_adapter"},{"apiScope":"exported","doc":{"summary":"Return a fresh `libtmux.where/v1` envelope using canonical wire field/operator names. Normalize strings, numbers, native booleans, null, objects, and arrays by schema. Aliases are currently absent; one canonical name is encoded."},"id":"LibTmux::Filter::to_data","kind":"method","modifiers":[],"name":"to_data","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::to_data","qualifiedName":"LibTmux::Filter::to_data","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub to_data($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":301,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter-to_data"},{"apiScope":"exported","doc":{"summary":"Return canonical-key UTF-8 JSON octets using [JSON::PP](https://perldoc.perl.org/5.44.0/JSON::PP). Non-UTF-8 opaque path bytes throw :obj:`UnsupportedValue `. This is reproducible key order, not semantic canonicalization of arbitrary Boolean trees."},"id":"LibTmux::Filter::to_json","kind":"method","modifiers":[],"name":"to_json","package":"LibTmux","parent":"LibTmux::Filter","product":"core","publicId":"LibTmux::Filter::to_json","qualifiedName":"LibTmux::Filter::to_json","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub to_json($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Filter.pm","line":311,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-filter-to_json"},{"apiScope":"exported","doc":{"body":"","summary":"Executor-independent prepared command continuations"},"id":"LibTmux::Operation","kind":"class","modifiers":[],"name":"Operation","package":"LibTmux","product":"core","publicId":"LibTmux::Operation","qualifiedName":"LibTmux::Operation","signatures":[{"params":[],"raw":"package LibTmux::Operation;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Operation.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-operation"},{"apiScope":"exported","doc":{"summary":"Recover a failure with one value or another Operation."},"id":"LibTmux::Operation::catch","kind":"method","modifiers":[],"name":"catch","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::catch","qualifiedName":"LibTmux::Operation::catch","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"callback"}],"raw":"sub catch($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Operation.pm","line":33,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-operation-catch"},{"apiScope":"exported","doc":{"summary":"`request(argv => [...], stdin => $octets, ...)` owns its input arguments. Execution is explicit through :obj:`\"run\" `; preparation performs no I/O."},"id":"LibTmux::Operation::request","kind":"method","modifiers":[],"name":"request","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::request","qualifiedName":"LibTmux::Operation::request","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"request","variadic":"keyword"}],"raw":"sub request($class, %request)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Operation.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-operation-request"},{"apiScope":"exported","doc":{"body":"The synchronous :obj:`LibTmux::Server ` and optional async distribution use the same preparation, codecs, and graph semantics. Core has no Future dependency.","summary":"`run($executor, $on_done, $on_fail)` supplies requests and two one-argument completion callbacks to the executor. The executor returns a cancellation hook. `run` returns a cancellation coderef suppressing further submissions. Each request settles once; the complete operation yields one value or error."},"id":"LibTmux::Operation::run","kind":"method","modifiers":[],"name":"run","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::run","qualifiedName":"LibTmux::Operation::run","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15},{"end":31,"kind":"parameter","parameter":1,"start":26},{"end":38,"kind":"parameter","parameter":2,"start":33}],"params":[{"name":"executor"},{"name":"done"},{"name":"fail"}],"raw":"sub run($self, $executor, $done, $fail)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Operation.pm","line":51,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-operation-run"},{"apiScope":"exported","doc":{"summary":"Execute an array of Operations in order, returning one arrayref of results."},"id":"LibTmux::Operation::sequence","kind":"method","modifiers":[],"name":"sequence","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::sequence","qualifiedName":"LibTmux::Operation::sequence","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"operations"}],"raw":"sub sequence($class, $operations)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Operation.pm","line":39,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-operation-sequence"},{"apiScope":"exported","doc":{"summary":"Compose a local transformation returning one value or another Operation. Exceptions retain their original identity."},"id":"LibTmux::Operation::then","kind":"method","modifiers":[],"name":"then","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::then","qualifiedName":"LibTmux::Operation::then","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub then($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Operation.pm","line":27,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-operation-then"},{"apiScope":"exported","doc":{"summary":"Wrap one local value, including undef for a documented void operation."},"id":"LibTmux::Operation::value","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Operation","product":"core","publicId":"LibTmux::Operation::value","qualifiedName":"LibTmux::Operation::value","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"value"}],"raw":"sub value($class, $value)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Operation.pm","line":25,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-operation-value"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured pane entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::Pane","kind":"class","modifiers":[],"name":"Pane","package":"LibTmux","product":"core","publicId":"LibTmux::Pane","qualifiedName":"LibTmux::Pane","signatures":[{"params":[],"raw":"package LibTmux::Pane;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane"},{"apiScope":"exported","doc":{"summary":"boolean. Local captured data; no I/O."},"id":"LibTmux::Pane::active","kind":"method","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::active","qualifiedName":"LibTmux::Pane::active","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub active($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-active"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Pane::current_command","kind":"method","modifiers":[],"name":"current_command","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::current_command","qualifiedName":"LibTmux::Pane::current_command","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4}],"params":[],"raw":"sub current_command($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-current_command"},{"apiScope":"exported","doc":{"summary":"bytes. Local captured data; no I/O."},"id":"LibTmux::Pane::current_path","kind":"method","modifiers":[],"name":"current_path","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::current_path","qualifiedName":"LibTmux::Pane::current_path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4}],"params":[],"raw":"sub current_path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-current_path"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Pane::cursor_shape","kind":"method","modifiers":[],"name":"cursor_shape","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::cursor_shape","qualifiedName":"LibTmux::Pane::cursor_shape","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4}],"params":[],"raw":"sub cursor_shape($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-cursor_shape"},{"apiScope":"exported","doc":{"summary":"boolean. Local captured data; no I/O."},"id":"LibTmux::Pane::dead","kind":"method","modifiers":[],"name":"dead","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::dead","qualifiedName":"LibTmux::Pane::dead","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub dead($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-dead"},{"apiScope":"exported","doc":{"summary":"integer or undef. Local captured data; no I/O."},"id":"LibTmux::Pane::exit_status","kind":"method","modifiers":[],"name":"exit_status","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::exit_status","qualifiedName":"LibTmux::Pane::exit_status","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub exit_status($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-exit_status"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Pane::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::generation","qualifiedName":"LibTmux::Pane::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-generation"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Pane::height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::height","qualifiedName":"LibTmux::Pane::height","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub height($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-height"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Pane::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::id","qualifiedName":"LibTmux::Pane::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Pane::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::identity","qualifiedName":"LibTmux::Pane::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-identity"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Pane::index","kind":"method","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::index","qualifiedName":"LibTmux::Pane::index","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub index($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-index"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Pane::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::kind","qualifiedName":"LibTmux::Pane::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-kind"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Pane::pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::pid","qualifiedName":"LibTmux::Pane::pid","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4}],"params":[],"raw":"sub pid($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-pid"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Pane::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::server_id","qualifiedName":"LibTmux::Pane::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-server_id"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Pane::title","kind":"method","modifiers":[],"name":"title","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::title","qualifiedName":"LibTmux::Pane::title","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub title($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-title"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Pane::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::to_record","qualifiedName":"LibTmux::Pane::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-to_record"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Pane::width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::width","qualifiedName":"LibTmux::Pane::width","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub width($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-width"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Window ` entity. Local captured data; no I/O."},"id":"LibTmux::Pane::window","kind":"method","modifiers":[],"name":"window","package":"LibTmux","parent":"LibTmux::Pane","product":"core","publicId":"LibTmux::Pane::window","qualifiedName":"LibTmux::Pane::window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub window($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Pane.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-pane-window"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::Pane ` handles from one server generation. Empty instances still validate against the pane schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured pane entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::PaneSelection","kind":"class","modifiers":[],"name":"PaneSelection","package":"LibTmux","product":"core","publicId":"LibTmux::PaneSelection","qualifiedName":"LibTmux::PaneSelection","signatures":[{"params":[],"raw":"package LibTmux::PaneSelection;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/PaneSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::PaneSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::count","qualifiedName":"LibTmux::PaneSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::PaneSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::exists","qualifiedName":"LibTmux::PaneSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::PaneSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::first","qualifiedName":"LibTmux::PaneSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::PaneSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::grep","qualifiedName":"LibTmux::PaneSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::PaneSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::iterator","qualifiedName":"LibTmux::PaneSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::PaneSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::new","qualifiedName":"LibTmux::PaneSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::PaneSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::one","qualifiedName":"LibTmux::PaneSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::PaneSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::one_or_undef","qualifiedName":"LibTmux::PaneSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::PaneSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::to_array","qualifiedName":"LibTmux::PaneSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::PaneSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::PaneSelection","product":"core","publicId":"LibTmux::PaneSelection::where","qualifiedName":"LibTmux::PaneSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-paneselection-where"},{"apiScope":"exported","doc":{"body":"","summary":"Shared owned process-supervision boundary"},"id":"LibTmux::ProcessJob","kind":"class","modifiers":[],"name":"ProcessJob","package":"LibTmux","product":"core","publicId":"LibTmux::ProcessJob","qualifiedName":"LibTmux::ProcessJob","signatures":[{"params":[],"raw":"package LibTmux::ProcessJob;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-processjob"},{"apiScope":"exported","doc":{"summary":"Request cleanup without blocking. Cancellation can follow dispatch and does not imply rollback or completed reaping."},"id":"LibTmux::ProcessJob::cancel","kind":"method","modifiers":[],"name":"cancel","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::cancel","qualifiedName":"LibTmux::ProcessJob::cancel","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub cancel($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":108,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-processjob-cancel"},{"apiScope":"exported","doc":{"summary":"True only after a valid supervisor result proves owned program cleanup."},"id":"LibTmux::ProcessJob::cleanup_complete","kind":"method","modifiers":[],"name":"cleanup_complete","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::cleanup_complete","qualifiedName":"LibTmux::ProcessJob::cleanup_complete","signatures":[{"methodKind":"call","nativeSyntax":[{"end":20,"kind":"name","start":4}],"params":[],"raw":"sub cleanup_complete($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":99,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-processjob-cleanup_complete"},{"apiScope":"exported","doc":{"summary":"Accumulate bounded result octets. Malformed or excessive data is a failure."},"id":"LibTmux::ProcessJob::consume","kind":"method","modifiers":[],"name":"consume","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::consume","qualifiedName":"LibTmux::ProcessJob::consume","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"bytes"}],"raw":"sub consume($self, $bytes)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-processjob-consume"},{"apiScope":"exported","doc":{"summary":"Decode the complete result after EOF and supervisor exit. Return one :obj:`LibTmux::CommandResult ` or throw a typed error."},"id":"LibTmux::ProcessJob::finish","kind":"method","modifiers":[],"name":"finish","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::finish","qualifiedName":"LibTmux::ProcessJob::finish","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub finish($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":128,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-processjob-finish"},{"apiScope":"exported","doc":{"summary":"Return the supervisor PID. It differs from the program PID."},"id":"LibTmux::ProcessJob::pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::pid","qualifiedName":"LibTmux::ProcessJob::pid","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4}],"params":[],"raw":"sub pid($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":98,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-processjob-pid"},{"apiScope":"exported","doc":{"summary":"Start a supervised literal command using the same arguments as :obj:`\"run\" in LibTmux::Transport `. This explicit operation performs I/O."},"id":"LibTmux::ProcessJob::start","kind":"method","modifiers":[],"name":"start","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::start","qualifiedName":"LibTmux::ProcessJob::start","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"input","variadic":"keyword"}],"raw":"sub start($class, %input)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-processjob-start"},{"apiScope":"exported","doc":{"summary":"Transfer the result pipe exactly once. Its reader owns closing that handle."},"id":"LibTmux::ProcessJob::take_result_handle","kind":"method","modifiers":[],"name":"take_result_handle","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::take_result_handle","qualifiedName":"LibTmux::ProcessJob::take_result_handle","signatures":[{"methodKind":"call","nativeSyntax":[{"end":22,"kind":"name","start":4}],"params":[],"raw":"sub take_result_handle($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":101,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-processjob-take_result_handle"},{"apiScope":"exported","doc":{"summary":"The synchronous reader/reaper. A loop-owned job refuses blocking wait. Async adapters supply a spawn/reap callback and retain jobs through EOF plus the matching exit notification. Dropping a job closes its parent guard but does not synchronously wait; owners must complete their cleanup protocol."},"id":"LibTmux::ProcessJob::wait","kind":"method","modifiers":[],"name":"wait","package":"LibTmux","parent":"LibTmux::ProcessJob","product":"core","publicId":"LibTmux::ProcessJob::wait","qualifiedName":"LibTmux::ProcessJob::wait","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub wait($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/ProcessJob.pm","line":200,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-processjob-wait"},{"apiScope":"exported","doc":{"body":"","summary":"Explainable explicit pane acquisition"},"id":"LibTmux::QueryPlan","kind":"class","modifiers":[],"name":"QueryPlan","package":"LibTmux","product":"core","publicId":"LibTmux::QueryPlan","qualifiedName":"LibTmux::QueryPlan","signatures":[{"params":[],"raw":"package LibTmux::QueryPlan;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-queryplan"},{"apiScope":"exported","doc":{"summary":"Return the compiled :obj:`LibTmux::Filter `. Its matching remains local."},"id":"LibTmux::QueryPlan::filter","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::QueryPlan","product":"core","publicId":"LibTmux::QueryPlan::filter","qualifiedName":"LibTmux::QueryPlan::filter","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub filter($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":31,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-queryplan-filter"},{"apiScope":"exported","doc":{"summary":"Return auto, never, or require. :obj:`\"query_panes\" in LibTmux::Server ` executes the plan with complete captured local evaluation. Native candidates cannot hide errors or discard matches from that captured result. Only verified complete translation qualifies for require; runtime disagreement throws :obj:`\"QueryMismatch\" in LibTmux::X ` without assigning a cause. The optional :obj:`\"query_panes\" in LibTmux::Server ` observer exposes completed comparisons."},"id":"LibTmux::QueryPlan::policy","kind":"method","modifiers":[],"name":"policy","package":"LibTmux","parent":"LibTmux::QueryPlan","product":"core","publicId":"LibTmux::QueryPlan::policy","qualifiedName":"LibTmux::QueryPlan::policy","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub policy($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":32,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-queryplan-policy"},{"apiScope":"exported","doc":{"summary":"Describe native lowering and local residual reasons. Explanation performs no I/O and uses the support floor until connected capabilities are available."},"id":"LibTmux::QueryPlan::summary","kind":"method","modifiers":[],"name":"summary","package":"LibTmux","parent":"LibTmux::QueryPlan","product":"core","publicId":"LibTmux::QueryPlan::summary","qualifiedName":"LibTmux::QueryPlan::summary","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub summary($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":191,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-queryplan-summary"},{"apiScope":"exported","doc":{"summary":"Return an inspectable plan with source commands, filter, policy, and reasons. The :obj:`LibTmux::Schema ` catalog identifies required fields and relations."},"id":"LibTmux::QueryPlan::to_data","kind":"method","modifiers":[],"name":"to_data","package":"LibTmux","parent":"LibTmux::QueryPlan","product":"core","publicId":"LibTmux::QueryPlan::to_data","qualifiedName":"LibTmux::QueryPlan::to_data","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub to_data($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/QueryPlan.pm","line":235,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-queryplan-to_data"},{"apiScope":"exported","doc":{"body":"","summary":"Catalog and explicit record adapters"},"id":"LibTmux::Schema","kind":"class","modifiers":[],"name":"Schema","package":"LibTmux","product":"core","publicId":"LibTmux::Schema","qualifiedName":"LibTmux::Schema","signatures":[{"params":[],"raw":"package LibTmux::Schema;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Schema.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-schema"},{"apiScope":"exported","doc":{"summary":"`register_adapter(class => ..., entity => ..., readers => {...})` registers trusted callbacks for declared fields. Unknown criteria keys never become method names. Missing fields throw; nullable undef is known null."},"id":"LibTmux::Schema::register_adapter","kind":"method","modifiers":[],"name":"register_adapter","package":"LibTmux","parent":"LibTmux::Schema","product":"core","publicId":"LibTmux::Schema::register_adapter","qualifiedName":"LibTmux::Schema::register_adapter","signatures":[{"methodKind":"call","nativeSyntax":[{"end":20,"kind":"name","start":4},{"end":34,"kind":"parameter","parameter":0,"start":29}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub register_adapter($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Schema.pm","line":121,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-schema-register_adapter"},{"apiScope":"exported","doc":{"body":"\n## EXECUTION\n\nAll methods in this module operate on local captured data and perform no tmux I/O. Ordering is deterministic; public query methods do not mutate membership. Typed validation/evaluation errors propagate. See :obj:`\"snapshot\" in LibTmux::Server ` for explicit acquisition and :obj:`LibTmux::X ` for machine-readable failures.\n\n","summary":"Native array selections with fixed query returns","examples":[{"lang":"perl","code":"use v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse LibTmuxFixture;\nuse LibTmux::Filter;\nuse List::Util qw(any first);\nLibTmuxFixture->run(\n sub ($server, $root) {\n my $session = $server->new_session(\n name => 'example',\n command => ['/bin/sleep', '120']\n );\n my $initial = $session->window_links->one->window->panes->one;\n $server->split_pane(\n pane => $initial,\n horizontal => true,\n command => ['/bin/sleep', '120']\n );\n my $snapshot = $server->snapshot;\n my $panes = $snapshot->panes->where({current_command => 'sleep'})\n ->grep(sub ($pane) { $pane->width >= 1 });\n die 'expected two panes' unless $panes->count == 2;\n for my $pane ($panes->@*) {\n say $pane->id . ' ' . $pane->current_command;\n }\n my $only_active = $panes->one({active => true});\n die 'active pane unavailable' unless defined $only_active;\n my $has_active = any { $_->active } $panes->@*;\n my $first_active = first { $_->active } $panes->@*;\n die 'List::Util alternatives differ'\n unless $has_active && $first_active->id eq $only_active->id;\n my @ids = map { $_->id } $panes->@*;\n my @positive = grep { $_->width > 0 } $panes->@*;\n die 'ordinary Perl arrays differ' unless @ids == 2 && @positive == 2;\n my $filter =\n LibTmux::Filter->new(entity => 'pane', where => {active => true});\n my $decoded = LibTmux::Filter->from_json($filter->to_json);\n die 'wire filter changed meaning'\n unless $panes->where($decoded)->one->id eq $only_active->id;\n my $retained = do {\n my $observed = $server->snapshot;\n $observed->pane_by_id($only_active->id);\n };\n die 'retained graph lost a relationship'\n unless $retained->window->panes->count == 2;\n my $same_child = $snapshot->windows->where(\n {panes => {-some => {-and => [{index => 0}, {index => 1}]}}});\n my $different_children = $snapshot->windows->where(\n {\n -and => [\n {panes => {-some => {index => 0}}},\n {panes => {-some => {index => 1}}}\n ]\n }\n );\n die 'quantifiers conflated children'\n unless $same_child->count == 0 && $different_children->count == 1;\n my $where = {active => true, width => {-gte => 1}};\n my $local = $server->query_panes(where => $where, pushdown => 'never');\n my $verification;\n my $native = $server->query_panes(\n where => $where,\n pushdown => 'require',\n on_verification => sub ($report) { $verification = $report },\n );\n die 'native verification was not observed'\n unless $verification->{status} eq 'agreed'\n && $verification->{comparison} eq 'exact_ids';\n die 'native/local disagreement'\n unless join(',', map { $_->id } @$local) eq\n join(',', map { $_->id } @$native);\n say 'selection, wire, graph lifetime, quantifiers, and query: ok';\n }\n);\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/a1cab0324b600a5df6e34b92590b5c3bd8f79c69/examples/selection.pl"}]},"id":"LibTmux::Selection","kind":"class","modifiers":[],"name":"Selection","package":"LibTmux","product":"core","publicId":"LibTmux::Selection","qualifiedName":"LibTmux::Selection","signatures":[{"params":[],"raw":"package LibTmux::Selection;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection"},{"apiScope":"exported","doc":{"body":"","summary":"Local cursor over frozen membership"},"id":"LibTmux::Selection::Iterator","kind":"class","modifiers":[],"name":"Iterator","package":"LibTmux","product":"core","publicId":"LibTmux::Selection::Iterator","qualifiedName":"LibTmux::Selection::Iterator","signatures":[{"params":[],"raw":"package LibTmux::Selection::Iterator;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection/Iterator.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-iterator-cvun"},{"apiScope":"exported","doc":{"summary":"Return the next captured entity or undef only at exhaustion. Order and multiplicity match creation-time membership. Later native selection edits do not change this traversal. A cursor is consumable; create a fresh cursor with :obj:`\"iterator\" in LibTmux::Selection ` to traverse again. No tmux I/O occurs."},"id":"LibTmux::Selection::Iterator::next","kind":"method","modifiers":[],"name":"next","package":"LibTmux","parent":"LibTmux::Selection::Iterator","product":"core","publicId":"LibTmux::Selection::Iterator::next","qualifiedName":"LibTmux::Selection::Iterator::next","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub next($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection/Iterator.pm","line":4,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-iterator-next"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::Selection::count","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::count","qualifiedName":"LibTmux::Selection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::Selection::exists","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::exists","qualifiedName":"LibTmux::Selection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::Selection::first","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::first","qualifiedName":"LibTmux::Selection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::Selection::grep","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::grep","qualifiedName":"LibTmux::Selection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::Selection::iterator","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::iterator","qualifiedName":"LibTmux::Selection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-iterator-2bn1"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::Selection::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::new","qualifiedName":"LibTmux::Selection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::Selection::one","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::one","qualifiedName":"LibTmux::Selection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::Selection::one_or_undef","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::one_or_undef","qualifiedName":"LibTmux::Selection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::Selection::to_array","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::to_array","qualifiedName":"LibTmux::Selection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::Selection::where","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::where","qualifiedName":"LibTmux::Selection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-selection-where"},{"apiScope":"exported","doc":{"body":"\n## SYNOPSIS\n\n\n```perl\n use v5.44;\n use LibTmux::Server;\n my $server = LibTmux::Server->new(socket_name => 'application');\n my $snapshot = $server->snapshot;\n my $pane = $snapshot->panes->first;\n say $server->capture_pane(pane => $pane) if defined $pane;\n```\n\n\n## CONTRACT\n\nConstruction and planning perform no I/O. Acquisition and mutation are explicit, bounded operations. Captured :obj:`LibTmux::Snapshot ` entities retain their observed graph; mutations do not refresh them. Acquire another snapshot to observe changes. Connection settings remain owned by the server wrapper; destroying it never kills a tmux daemon. See the [orchestration guide](https://github.com/libtmux/libtmux-perl/blob/master/docs/orchestration.md).\n\nPhysical entity targets accept stable ID strings or generation-checked handles. Session-relative window operations require :obj:`LibTmux::WindowLink `. Checks across subprocesses are optimistic rather than transactional. Single-quote session IDs such as `'$1'` to avoid interpolating a Perl capture variable.\n\n\n## ERRORS\n\nInvalid arguments throw :obj:`\"InvalidArgument\" in LibTmux::X ` before dispatch. Acquisition and checked commands propagate typed :obj:`LibTmux::X ` failures, including missing executables, absent daemons, vanished targets, stale handles, codec errors, timeouts, and output limits. Failures never become empty selections. Cancellation or a timeout after dispatch does not prove nonexecution or roll back effects.\n\n\n## VERIFICATION REPORT\n\n:obj:`\"query_panes\" ` supplies a fresh, detached hashref to `on_verification`. It contains no entity handles. Every ID array retains stable order; editing the report cannot mutate captured data or the query result.\n\n`policy`, `status`, `comparison`Policy is auto, never, require, or native for the expert escape hatch. Status is disabled (never), local (no safe lowering), agreed, disagreed, or native. Comparison is none, exact_ids, candidate_superset, or captured_membership. Partial lowering checks inclusion of local matches; expert queries check only membership in the captured graph. Neither establishes full filter equivalence.`native_checked`, `translation_exact`, `native_filter`, `reasons`native_checked is Boolean. translation_exact is Boolean, or undef for never and expert queries. native_filter is the executed expression, or undef when no native check ran. reasons is a fresh arrayref of lowering limitations. Exact translation and agreement between two observations are separate facts.`server_id`, `generation`, `daemon_version`, `capture_start`, `capture_end`Identity strings and the captured interval in wall-clock seconds since the epoch, from :obj:`\"metadata\" in LibTmux::Snapshot `. This is not an atomic observation.`captured_ids`, `local_ids`, `native_ids`captured_ids and local_ids follow physical capture order; local_ids is undef for expert queries. native_ids holds unique IDs in native first-occurrence order, or undef when no check ran. An empty array is an observed empty set.`missing_ids`, `unexpected_ids`, `uncaptured_ids`missing_ids lists local matches absent natively, in local order. For exact lowering, unexpected_ids lists native matches absent locally. uncaptured_ids lists native IDs absent from the graph. The latter two follow native order; inapplicable lists are empty. Any applicable mismatch produces disagreed. :obj:`\"QueryMismatch\" in LibTmux::X ` carries this report for require or expert failures; the observer is not called for a failed query. A discrepancy has no inferred cause: concurrent changes, compiler defects and backend differences all need investigation.\n\n","summary":"Explicit tmux acquisition and commands","examples":[{"lang":"perl","code":"use v5.44;\nuse Config;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse LibTmuxFixture;\n\n# This complete demo owns a Linux child-reaping scope, including tmux panes.\nBEGIN {\n die 'Requires Linux x86_64 LP64'\n unless $^O eq 'linux'\n && $Config::Config{archname} =~ /x86_64/\n && $Config::Config{ptrsize} == 8\n && $Config::Config{ivsize} == 8;\n syscall(157, 36, 1, 0, 0, 0) == 0 or die \"subreaper: $!\";\n}\n\ntry {\n LibTmuxFixture->run(\n sub ($server, $root) {\n my $session = $server->new_session(\n name => 'demo',\n command => ['/bin/cat']\n );\n my $failure;\n try {\n my $editor = $session->window_links->one->window;\n $server->rename_window(window => $editor, name => 'editor');\n my $right = $server->split_pane(\n pane => $editor->panes->one,\n horizontal => true,\n command => ['/bin/cat']\n );\n my $logs = $server->new_window(\n session => $session,\n name => 'logs',\n command => ['/bin/cat']\n );\n $server->select_pane(pane => $right);\n my $snapshot = $server->snapshot;\n my $link = $snapshot->window_links->one(\n {\n window => {-is => {id => $logs->id}}\n }\n );\n $server->select_window(link => $link);\n $snapshot = $server->snapshot;\n\n for my $entry ($snapshot->sessions->@*) {\n say 'session ', $entry->name;\n for my $link ($entry->window_links->@*) {\n my $window = $link->window;\n my $ids = join ' ', map { $_->id } $window->panes->@*;\n my $label = $link->index . ':' . $window->name;\n say ' window ', $label, ': ', $ids;\n }\n }\n my $panes =\n $snapshot->windows->one({name => 'editor'})\n ->panes->where({width => {-gte => 1}})\n ->grep(sub ($pane) { $pane->height >= 1 });\n my $selected = $panes->one({active => true});\n die 'unexpected pane membership' unless $panes->count == 2;\n my $name = $selected->window->name;\n say $selected->id, ' is in window ', $name;\n }\n catch ($error) { $failure = $error }\n $server->kill_session(session => $session);\n die $failure if defined $failure;\n }\n );\n}\ncatch ($error) {\n warn \"tmux quickstart failed: $error\\n\";\n die $error;\n}\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/a1cab0324b600a5df6e34b92590b5c3bd8f79c69/examples/quickstart.pl"}]},"id":"LibTmux::Server","kind":"class","modifiers":[],"name":"Server","package":"LibTmux","product":"core","publicId":"LibTmux::Server","qualifiedName":"LibTmux::Server","signatures":[{"params":[],"raw":"package LibTmux::Server;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server"},{"apiScope":"exported","doc":{"body":"Return a fresh literal argument array for a caller-owned interactive terminal without I/O. The session target is a stable ID string; obtain it through :obj:`\"id\" in LibTmux::Session `. The caller owns terminal/process setup and exit observation; the bounded capture transport does not allocate a TTY. Invalid inputs throw :obj:`\"InvalidArgument\" in LibTmux::X `.\n\n\n```perl\n my $argv = $server->attach_argv(session => '$1');\n```","summary":"`attach_argv(session => session_id)`."},"id":"LibTmux::Server::attach_argv","kind":"method","modifiers":[],"name":"attach_argv","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::attach_argv","qualifiedName":"LibTmux::Server::attach_argv","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub attach_argv($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":978,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-attach_argv"},{"apiScope":"exported","doc":{"body":"Perform ordered independent literal requests and return a fresh array reference of {result, error} records in input order. Each result is :obj:`LibTmux::CommandResult ` or undef; each dispatch error is the original typed :obj:`LibTmux::X ` or undef. Nonzero command exits stay raw results. An empty input returns an empty array without command I/O. Requests are attempted in order, without rollback or tmux command-list attribution.\n\n\n```perl\n my $results = $server->batch([['display-message', '-p', '#{version}']]);\n```","summary":"`batch(arrayref_of_argv)`."},"id":"LibTmux::Server::batch","kind":"method","modifiers":[],"name":"batch","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::batch","qualifiedName":"LibTmux::Server::batch","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"requests"}],"raw":"sub batch($self, $requests)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":974,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-batch"},{"apiScope":"exported","doc":{"body":"Read a :obj:`LibTmux::Pane ` and return raw terminal octets, including tmux's final newline. Optional start/end select native history rows; no UTF-8 replacement is performed. This I/O reads current observed content without waiting for application work. Command/transport failures propagate through :obj:`LibTmux::X `.\n\n\n```perl\n my $bytes = $server->capture_pane(pane => $pane, start => -20);\n```","summary":"`capture_pane(pane => Pane|pane_id, start => integer?, end => integer?)`."},"id":"LibTmux::Server::capture_pane","kind":"method","modifiers":[],"name":"capture_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::capture_pane","qualifiedName":"LibTmux::Server::capture_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub capture_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1058,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-capture_pane"},{"apiScope":"exported","doc":{"body":"Acquire a graph and return its :obj:`LibTmux::ClientSelection `. A daemon without attached clients produces an empty selection. Membership is copied away from graph storage. Acquisition failures propagate through :obj:`LibTmux::X `; :obj:`\"detach_client\" ` changes client state explicitly.\n\n\n```perl\n my $clients = $server->clients;\n```","summary":"`clients()`."},"id":"LibTmux::Server::clients","kind":"method","modifiers":[],"name":"clients","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::clients","qualifiedName":"LibTmux::Server::clients","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub clients($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1077,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-clients"},{"apiScope":"exported","doc":{"body":"Perform one checked literal tmux command and return :obj:`LibTmux::CommandResult `. No shell wrapper or implicit tmux command list is used. Nonzero exits throw :obj:`\"Command\" in LibTmux::X ` or a more specific target/server error; transport failures propagate.\n\n\n```perl\n my $result = $server->cmd('display-message', '-p', '#{version}');\n```","summary":"`cmd(@literal_arguments)`."},"id":"LibTmux::Server::cmd","kind":"method","modifiers":[],"name":"cmd","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::cmd","qualifiedName":"LibTmux::Server::cmd","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":20,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"argv","variadic":"positional"}],"raw":"sub cmd($self, @argv)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":968,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-cmd"},{"apiScope":"exported","doc":{"body":"Delete the named daemon buffer loaded through :obj:`\"set_buffer\" `. Other daemon buffers remain untouched; later :obj:`\"show_buffer\" ` calls report absence as a command failure.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->delete_buffer(name => 'application');\n```","summary":"`delete_buffer(name => string)`."},"id":"LibTmux::Server::delete_buffer","kind":"method","modifiers":[],"name":"delete_buffer","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::delete_buffer","qualifiedName":"LibTmux::Server::delete_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub delete_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1120,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-delete_buffer"},{"apiScope":"exported","doc":{"body":"Request detachment of a captured :obj:`LibTmux::Client ` or explicit native client name. Command acceptance can precede client-process exit; callers owning an attached process must observe its exit separately.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->detach_client(client => $client);\n```","summary":"`detach_client(client => Client|client_name)`."},"id":"LibTmux::Server::detach_client","kind":"method","modifiers":[],"name":"detach_client","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::detach_client","qualifiedName":"LibTmux::Server::detach_client","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub detach_client($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1079,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-detach_client"},{"apiScope":"exported","doc":{"body":"Perform one raw command and return :obj:`LibTmux::CommandResult `, including nonzero exits. stdout and stderr remain separate octet strings. stdin is optional bytes; cancel_fh is borrowed and remains open. Transport failures throw typed :obj:`LibTmux::X ` with bounded partial output when available.\n\n\n```perl\n my $result = $server->execute(argv => ['list-sessions']);\n```","summary":"`execute(argv => arrayref, stdin => bytes?, timeout => seconds?, cancel_fh => handle?)`."},"id":"LibTmux::Server::execute","kind":"method","modifiers":[],"name":"execute","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::execute","qualifiedName":"LibTmux::Server::execute","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":19}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub execute($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":987,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-execute"},{"apiScope":"exported","doc":{"body":"Validate criteria and return an inspectable :obj:`LibTmux::QueryPlan ` without I/O or mutation. The plan records required fields/relations, source commands, residuals, and conditional daemon capability needs. Invalid criteria throw :obj:`\"InvalidFilter\" in LibTmux::X `. Executing :obj:`\"query_panes\" ` discovers the connected generation and capabilities.\n\n\n```perl\n my $plan = $server->explain_panes(where => {width => {-gte => 120}});\n```","summary":"`explain_panes(where => criteria|Filter, pushdown => policy?)`."},"id":"LibTmux::Server::explain_panes","kind":"method","modifiers":[],"name":"explain_panes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::explain_panes","qualifiedName":"LibTmux::Server::explain_panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub explain_panes($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1006,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-explain_panes"},{"apiScope":"exported","doc":{"body":"Read a session/global variable and return its octets. The native quoted representation is parsed as data; no shell evaluates it. Literal backslashes, newlines and non-UTF-8 bytes remain distinct. Empty text and '0' remain values. Performs I/O without mutation; missing or explicitly unset variables throw :obj:`\"Command\" in LibTmux::X `, and malformed output throws :obj:`\"Codec\" in LibTmux::X `. Captured targets follow :obj:`\"set_environment\" `'s generation checks.\n\n\n```perl\n my $value = $server->get_environment(session => $session, name => 'BUILD');\n```","summary":"`get_environment(name => env_name, session => session_target?)`."},"id":"LibTmux::Server::get_environment","kind":"method","modifiers":[],"name":"get_environment","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::get_environment","qualifiedName":"LibTmux::Server::get_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":27}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub get_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1104,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-get_environment"},{"apiScope":"exported","doc":{"body":"Read an option and return its octets, decoding tmux's quoted string values. Literal backslashes and non-UTF-8 bytes remain distinct on older daemons. Key, numeric and command options retain native printed syntax. Array values are joined with newlines in native index order; an empty array returns `''`. Empty text and '0' remain values. `inherited => true` requests tmux's `-A` behavior; otherwise only the selected local level is queried. Performs I/O without mutation. Native missing-option errors throw :obj:`\"Command\" in LibTmux::X `; malformed output throws :obj:`\"Codec\" in LibTmux::X `. A built-in option without a local override may produce empty output. See :obj:`\"set_option\" ` and :obj:`\"unset_option\" `.\n\n\n```perl\n my $value = $server->get_option(scope => 'window', target => $window->id, name => '@build');\n```","summary":"`get_option(name => string, scope => scope, target => id?, global => boolean?, inherited => boolean?)`."},"id":"LibTmux::Server::get_option","kind":"method","modifiers":[],"name":"get_option","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::get_option","qualifiedName":"LibTmux::Server::get_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub get_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1087,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-get_option"},{"apiScope":"exported","doc":{"body":"Destroy the selected :obj:`LibTmux::Pane `. Killing a window's final pane may destroy the physical window and its :obj:`LibTmux::WindowLink ` associations. Previously captured records remain readable observations.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->kill_pane(pane => $pane);\n```","summary":"`kill_pane(pane => Pane|pane_id)`."},"id":"LibTmux::Server::kill_pane","kind":"method","modifiers":[],"name":"kill_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::kill_pane","qualifiedName":"LibTmux::Server::kill_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1062,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-kill_pane"},{"apiScope":"exported","doc":{"body":"Explicitly request destruction of the connected tmux daemon. This method can affect a borrowed server and must be called intentionally; wrapper destruction never calls it. Successful command acceptance alone does not prove every daemon/client process exited.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->kill_server;\n```","summary":"`kill_server()`."},"id":"LibTmux::Server::kill_server","kind":"method","modifiers":[],"name":"kill_server","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::kill_server","qualifiedName":"LibTmux::Server::kill_server","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_server($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1074,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-kill_server"},{"apiScope":"exported","doc":{"body":"Destroy the selected :obj:`LibTmux::Session ` and its links. Windows linked elsewhere can survive. Captured data remains local; later mutations through stale generation handles are checked.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->kill_session(session => $session);\n```","summary":"`kill_session(session => Session|session_id)`."},"id":"LibTmux::Server::kill_session","kind":"method","modifiers":[],"name":"kill_session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::kill_session","qualifiedName":"LibTmux::Server::kill_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1070,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-kill_session"},{"apiScope":"exported","doc":{"body":"Destroy the physical :obj:`LibTmux::Window ` and every :obj:`LibTmux::WindowLink ` referring to it. Use :obj:`\"unlink_window\" ` when removing one association is the intended effect.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->kill_window(window => $window);\n```","summary":"`kill_window(window => Window|window_id)`."},"id":"LibTmux::Server::kill_window","kind":"method","modifiers":[],"name":"kill_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::kill_window","qualifiedName":"LibTmux::Server::kill_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub kill_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1066,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-kill_window"},{"apiScope":"exported","doc":{"body":"Add an association from a physical :obj:`LibTmux::Window ` to a :obj:`LibTmux::Session `. index is optional; conflicts remain command failures. Existing associations are preserved. Inspect new :obj:`LibTmux::WindowLink ` records through :obj:`\"snapshot\" `.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->link_window(window => $window, session => $session, index => 4);\n```","summary":"`link_window(window => Window|window_id, session => Session|session_id, index => integer?)`."},"id":"LibTmux::Server::link_window","kind":"method","modifiers":[],"name":"link_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::link_window","qualifiedName":"LibTmux::Server::link_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub link_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1018,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-link_window"},{"apiScope":"exported","doc":{"body":"Perform acquisition and return a fresh unblessed array reference of contextual hash records in tmux order, preserving duplicate physical identities. kind is session, window, pane, or client. An attached-client listing can be empty. Records are detached values; :obj:`\"snapshot\" ` normalizes the graph. Acquisition/codec failures propagate through :obj:`LibTmux::X `.\n\n\n```perl\n my $rows = $server->listings('window');\n```","summary":"`listings(kind)`."},"id":"LibTmux::Server::listings","kind":"method","modifiers":[],"name":"listings","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::listings","qualifiedName":"LibTmux::Server::listings","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"kind"}],"raw":"sub listings($self, $kind)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":970,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-listings"},{"apiScope":"exported","doc":{"body":"Move one contextual :obj:`LibTmux::WindowLink ` into the destination session/index. Other links of the physical window keep their own associations. Use :obj:`\"link_window\" ` to add an association without moving one.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->move_window(link => $link, session => $session, index => 4);\n```","summary":"`move_window(link => WindowLink|session_id:index, session => Session|session_id, index => integer?)`."},"id":"LibTmux::Server::move_window","kind":"method","modifiers":[],"name":"move_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::move_window","qualifiedName":"LibTmux::Server::move_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub move_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1026,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-move_window"},{"apiScope":"exported","doc":{"body":"Return a new server wrapper without I/O. Select socket_name or socket_path, never both. Defaults are executable tmux, timeout 5 seconds, and an 8 MiB combined retained-output limit. env is copied; child processes clear ambient TMUX and TMUX_PANE. Invalid configuration throws :obj:`\"InvalidArgument\" in LibTmux::X `.\n\n\n```perl\n my $server = LibTmux::Server->new(socket_name => 'application');\n```","summary":"`new(executable => tmux, socket_name|socket_path => string, timeout => seconds, max_output => bytes, config_file => path, env => hashref)`."},"id":"LibTmux::Server::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::new","qualifiedName":"LibTmux::Server::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-new"},{"apiScope":"exported","doc":{"body":"Create a detached session and return its captured :obj:`LibTmux::Session `. command is a literal argument vector; shell_command explicitly requests a shell and is mutually exclusive. Omitting both uses tmux's default command. cwd is path octets; environment supplies NAME/value pairs to the first process. Performs I/O. If creation succeeds but acquisition fails, :obj:`\"Creation\" in LibTmux::X ` retains the known generation-scoped creation receipt and cause.\n\n\n```perl\n my $session = $server->new_session(name => 'application', command => ['/bin/cat']);\n```","summary":"`new_session(name => string, command => arrayref?, shell_command => string?, width => integer?, height => integer?, cwd => bytes?, environment => hashref?)`."},"id":"LibTmux::Server::new_session","kind":"method","modifiers":[],"name":"new_session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::new_session","qualifiedName":"LibTmux::Server::new_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":989,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-new_session"},{"apiScope":"exported","doc":{"body":"Create a detached physical window in the selected session and return its captured :obj:`LibTmux::Window `. command, shell_command, cwd, and environment follow :obj:`\"new_session\" `. The new link uses tmux's next available index. Performs I/O; :obj:`\"Creation\" in LibTmux::X ` preserves known effects if subsequent acquisition fails.\n\n\n```perl\n my $window = $server->new_window(session => $session, name => 'logs', command => ['/bin/cat']);\n```","summary":"`new_window(session => Session|session_id, name => string?, command => arrayref?, shell_command => string?, cwd => bytes?, environment => hashref?)`."},"id":"LibTmux::Server::new_window","kind":"method","modifiers":[],"name":"new_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::new_window","qualifiedName":"LibTmux::Server::new_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":993,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-new_window"},{"apiScope":"exported","doc":{"body":"```perl\n my $operation = $server->operation('snapshot');\n```","summary":"`operation($name, %arguments)` validates and copies arguments, returning one :obj:`LibTmux::Operation ` without I/O. The optional Future facade shares this preparation and parsing boundary. Use the named methods above for synchronous execution. Invalid arguments or criteria throw :obj:`\"InvalidArgument\" in LibTmux::X ` or :obj:`\"InvalidFilter\" in LibTmux::X ` before submission."},"id":"LibTmux::Server::operation","kind":"method","modifiers":[],"name":"operation","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::operation","qualifiedName":"LibTmux::Server::operation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21},{"end":33,"kind":"parameter","parameter":1,"start":28}],"params":[{"name":"name"},{"name":"args","variadic":"keyword"}],"raw":"sub operation($self, $name, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":854,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-operation"},{"apiScope":"exported","doc":{"body":"Acquire and return a new :obj:`LibTmux::PaneSelection ` in captured physical-pane order. where accepts a hash reference or :obj:`LibTmux::Filter `. auto verifies safe scalar candidates after complete local evaluation; never disables the native comparison. The default auto costs one extra command and supervisor when lowering is available; it does not reduce acquisition. Select never when only the captured answer is needed. require throws :obj:`\"Unsupported\" in LibTmux::X ` unless lowering is exact, or :obj:`\"QueryMismatch\" in LibTmux::X ` on disagreement. native_filter is an exclusive expert escape hatch. Empty successful matches remain a typed selection; acquisition/evaluation failures propagate.\n\n`on_verification` receives one detached report hashref in void context after a successful decision, including auto fallback. It runs inline once; its return is ignored and exceptions propagate unchanged unless the operation has already been cancelled. Cancellation suppresses subsequent result/error delivery. Failed queries do not invoke it. Report edits cannot change the returned selection. See :obj:`\"VERIFICATION REPORT\" ` and :obj:`\"explain_panes\" `.\n\n\n```perl\n my $panes = $server->query_panes(where => {active => true}, pushdown => 'auto');\n```","summary":"`query_panes(where => criteria|Filter?, pushdown => auto|never|require?, native_filter => string?, on_verification => coderef?)`."},"id":"LibTmux::Server::query_panes","kind":"method","modifiers":[],"name":"query_panes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::query_panes","qualifiedName":"LibTmux::Server::query_panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub query_panes($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1002,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-query_panes"},{"apiScope":"exported","doc":{"body":"Rename the selected :obj:`LibTmux::Session ` using a literal name. Existing captured handles keep the old observed name; use :obj:`\"snapshot\" ` to observe the change.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->rename_session(session => $session, name => 'application');\n```","summary":"`rename_session(session => Session|session_id, name => string)`."},"id":"LibTmux::Server::rename_session","kind":"method","modifiers":[],"name":"rename_session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::rename_session","qualifiedName":"LibTmux::Server::rename_session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":18,"kind":"name","start":4},{"end":31,"kind":"parameter","parameter":0,"start":26}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub rename_session($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1010,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-rename_session"},{"apiScope":"exported","doc":{"body":"Rename the physical :obj:`LibTmux::Window ` across all its links. Names remain literal rather than expanding tmux formats. Captured handles keep their observed name.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->rename_window(window => $window, name => 'logs');\n```","summary":"`rename_window(window => Window|window_id, name => string)`."},"id":"LibTmux::Server::rename_window","kind":"method","modifiers":[],"name":"rename_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::rename_window","qualifiedName":"LibTmux::Server::rename_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub rename_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1014,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-rename_window"},{"apiScope":"exported","doc":{"body":"Resize a :obj:`LibTmux::Pane ` to the supplied positive width and/or height. tmux's layout constraints may affect the resulting dimensions; inspect another :obj:`LibTmux::Snapshot ` for observed values.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->resize_pane(pane => $pane, width => 100);\n```","summary":"`resize_pane(pane => Pane|pane_id, width => positive_integer?, height => positive_integer?)`."},"id":"LibTmux::Server::resize_pane","kind":"method","modifiers":[],"name":"resize_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::resize_pane","qualifiedName":"LibTmux::Server::resize_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub resize_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1042,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-resize_pane"},{"apiScope":"exported","doc":{"body":"Apply an unambiguous predefined layout name or a checksum-prefixed native layout to a :obj:`LibTmux::Window `. Unknown or ambiguous predefined names throw :obj:`\"InvalidArgument\" in LibTmux::X ` before dispatch, including on tmux 3.3a. Native custom-layout validation remains tmux's responsibility.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->select_layout(window => $window, layout => 'tiled');\n```","summary":"`select_layout(window => Window|window_id, layout => string)`."},"id":"LibTmux::Server::select_layout","kind":"method","modifiers":[],"name":"select_layout","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::select_layout","qualifiedName":"LibTmux::Server::select_layout","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_layout($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1038,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-select_layout"},{"apiScope":"exported","doc":{"body":"Change the active :obj:`LibTmux::Pane ` of its physical window. This differs from selecting a session's :obj:`LibTmux::WindowLink `.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->select_pane(pane => $pane);\n```","summary":"`select_pane(pane => Pane|pane_id)`."},"id":"LibTmux::Server::select_pane","kind":"method","modifiers":[],"name":"select_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::select_pane","qualifiedName":"LibTmux::Server::select_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1034,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-select_pane"},{"apiScope":"exported","doc":{"body":"Select a :obj:`LibTmux::WindowLink ` within its session. A physical window alone cannot identify session-relative active state. Capture again through :obj:`\"snapshot\" ` to observe the selected link.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->select_window(link => $link);\n```","summary":"`select_window(link => WindowLink|session_id:index)`."},"id":"LibTmux::Server::select_window","kind":"method","modifiers":[],"name":"select_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::select_window","qualifiedName":"LibTmux::Server::select_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub select_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1030,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-select_window"},{"apiScope":"exported","doc":{"body":"Send the array's named keys in order to a :obj:`LibTmux::Pane `. tmux interprets key names; arguments beginning with a dash remain key operands. An empty array sends no keys. Acceptance does not prove the pane application consumed input. Use :obj:`\"send_text\" ` for literal text.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->send_keys(pane => $pane, keys => ['Enter']);\n```","summary":"`send_keys(pane => Pane|pane_id, keys => arrayref)`."},"id":"LibTmux::Server::send_keys","kind":"method","modifiers":[],"name":"send_keys","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::send_keys","qualifiedName":"LibTmux::Server::send_keys","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub send_keys($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1050,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-send_keys"},{"apiScope":"exported","doc":{"body":"Send literal text/bytes to a :obj:`LibTmux::Pane `, then optionally send Enter. Empty text is permitted. Acceptance does not prove application completion. Use an application-specific observable handshake before relying on output; :obj:`\"capture_pane\" ` reads observed terminal content.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->send_text(pane => $pane, text => 'hello', enter => true);\n```","summary":"`send_text(pane => Pane|pane_id, text => string|bytes, enter => boolean?)`."},"id":"LibTmux::Server::send_text","kind":"method","modifiers":[],"name":"send_text","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::send_text","qualifiedName":"LibTmux::Server::send_text","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub send_text($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1054,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-send_text"},{"apiScope":"exported","doc":{"body":"Load a named tmux buffer through stdin bytes rather than interpolating data into a command. Empty data is permitted. :obj:`\"show_buffer\" ` retrieves bytes; buffer ownership remains in the daemon until :obj:`\"delete_buffer\" ` or an external change.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_buffer(name => 'application', data => \"a\\0b\");\n```","summary":"`set_buffer(name => string, data => bytes)`."},"id":"LibTmux::Server::set_buffer","kind":"method","modifiers":[],"name":"set_buffer","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_buffer","qualifiedName":"LibTmux::Server::set_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1112,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-set_buffer"},{"apiScope":"exported","doc":{"body":"Set a literal environment value for a :obj:`LibTmux::Session ` handle or explicit session ID, or globally when session is omitted. Empty text and '0' remain values. Existing pane processes are unaffected; creation-time environment belongs to :obj:`\"new_session\" `, :obj:`\"new_window\" `, and :obj:`\"split_pane\" `. Captured handles are checked against the connected daemon generation before dispatch; stale handles throw :obj:`\"StaleReference\" in LibTmux::X `. Raw IDs target the current session. The probe and mutation remain separate operations.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_environment(session => $session, name => 'BUILD', value => '0');\n```","summary":"`set_environment(name => env_name, value => bytes, session => session_target?)`."},"id":"LibTmux::Server::set_environment","kind":"method","modifiers":[],"name":"set_environment","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_environment","qualifiedName":"LibTmux::Server::set_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":19,"kind":"name","start":4},{"end":32,"kind":"parameter","parameter":0,"start":27}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1100,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-set_environment"},{"apiScope":"exported","doc":{"body":"Set a native hook or sparse hook[index] entry for an explicit session target or global scope. command is deliberately a tmux command string, unlike literal process argv. :obj:`\"show_hooks\" ` preserves native indexes/quoting rather than inventing a flattened hook list.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_hook(target => $session->id, name => 'after-select-window[3]', command => 'display-message hook');\n```","summary":"`set_hook(name => hook_or_hook[index], command => explicit_tmux_command_string, target => session_id?, global => boolean?)`."},"id":"LibTmux::Server::set_hook","kind":"method","modifiers":[],"name":"set_hook","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_hook","qualifiedName":"LibTmux::Server::set_hook","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_hook($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1094,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-set_hook"},{"apiScope":"exported","doc":{"body":"Set an option at explicit session/window/pane/server scope. Supply an exact target ID for local settings or global => true for the global level. Empty and zero values are preserved. :obj:`\"get_option\" ` controls whether inherited values participate.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_option(scope => 'window', target => $window->id, name => '@build', value => '0');\n```","summary":"`set_option(name => string, value => string|integer, scope => session|window|pane|server, target => id?, global => boolean?)`."},"id":"LibTmux::Server::set_option","kind":"method","modifiers":[],"name":"set_option","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_option","qualifiedName":"LibTmux::Server::set_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1083,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-set_option"},{"apiScope":"exported","doc":{"body":"Set a :obj:`LibTmux::Pane ` title. Literal input is protected from format expansion; tmux's own title sanitization remains observable in a new :obj:`LibTmux::Snapshot `.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->set_title(pane => $pane, title => 'build.v2');\n```","summary":"`set_title(pane => Pane|pane_id, title => string)`."},"id":"LibTmux::Server::set_title","kind":"method","modifiers":[],"name":"set_title","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::set_title","qualifiedName":"LibTmux::Server::set_title","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":21}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub set_title($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1046,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-set_title"},{"apiScope":"exported","doc":{"body":"Read a named tmux buffer and return raw octets, including embedded NUL bytes. Empty data remains an empty string. Performs I/O; a missing buffer throws :obj:`\"Command\" in LibTmux::X `. See :obj:`\"set_buffer\" `.\n\n\n```perl\n my $bytes = $server->show_buffer(name => 'application');\n```","summary":"`show_buffer(name => string)`."},"id":"LibTmux::Server::show_buffer","kind":"method","modifiers":[],"name":"show_buffer","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::show_buffer","qualifiedName":"LibTmux::Server::show_buffer","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":23}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub show_buffer($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1116,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-show_buffer"},{"apiScope":"exported","doc":{"body":"Read hooks and return raw octets preserving sparse indexes and tmux quoting. No hooks produce empty text. Performs I/O; failures propagate through :obj:`LibTmux::X `. See :obj:`\"set_hook\" ` for explicit command-string semantics.\n\n\n```perl\n my $hooks = $server->show_hooks(target => $session->id);\n```","summary":"`show_hooks(target => session_id?, global => boolean?)`."},"id":"LibTmux::Server::show_hooks","kind":"method","modifiers":[],"name":"show_hooks","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::show_hooks","qualifiedName":"LibTmux::Server::show_hooks","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub show_hooks($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1096,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-show_hooks"},{"apiScope":"exported","doc":{"body":"Perform strict graph acquisition and return :obj:`LibTmux::Snapshot `. Physical windows/panes appear once; :obj:`LibTmux::WindowLink ` retains each contextual association. Capture start/end describe an observation interval, not an atomic transaction. Acquisition, unsupported capabilities, and incomplete topology throw typed :obj:`LibTmux::X `; no partial snapshot is returned.\n\n\n```perl\n my $snapshot = $server->snapshot;\n```","summary":"`snapshot()`."},"id":"LibTmux::Server::snapshot","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::snapshot","qualifiedName":"LibTmux::Server::snapshot","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":20}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub snapshot($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1000,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-snapshot"},{"apiScope":"exported","doc":{"body":"Split the targeted pane and return the new captured :obj:`LibTmux::Pane `. horizontal selects side-by-side placement; false uses tmux's vertical split. command, shell_command, cwd, and environment follow :obj:`\"new_session\" `. Performs I/O; creation/acquisition failures follow :obj:`\"Creation\" in LibTmux::X `.\n\n\n```perl\n my $other = $server->split_pane(pane => $pane, horizontal => true, command => ['/bin/cat']);\n```","summary":"`split_pane(pane => Pane|pane_id, horizontal => boolean?, command => arrayref?, cwd => bytes?, environment => hashref?)`."},"id":"LibTmux::Server::split_pane","kind":"method","modifiers":[],"name":"split_pane","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::split_pane","qualifiedName":"LibTmux::Server::split_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub split_pane($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":997,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-split_pane"},{"apiScope":"exported","doc":{"body":"Remove exactly one :obj:`LibTmux::WindowLink `, given a captured link or session_id:index string. Removing the final link can destroy its physical window; other linked associations retain their context.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->unlink_window(link => $link);\n```","summary":"`unlink_window(link => WindowLink|session_id:index)`."},"id":"LibTmux::Server::unlink_window","kind":"method","modifiers":[],"name":"unlink_window","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::unlink_window","qualifiedName":"LibTmux::Server::unlink_window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unlink_window($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1022,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-unlink_window"},{"apiScope":"exported","doc":{"body":"Unset the named session/global variable. This differs from setting an empty value; :obj:`\"get_environment\" ` reports the unset state as a command error.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->unset_environment(session => $session, name => 'BUILD');\n```","summary":"`unset_environment(name => env_name, session => session_target?)`."},"id":"LibTmux::Server::unset_environment","kind":"method","modifiers":[],"name":"unset_environment","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::unset_environment","qualifiedName":"LibTmux::Server::unset_environment","signatures":[{"methodKind":"call","nativeSyntax":[{"end":21,"kind":"name","start":4},{"end":34,"kind":"parameter","parameter":0,"start":29}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unset_environment($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1108,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-unset_environment"},{"apiScope":"exported","doc":{"body":"Remove the selected local/global option so inheritance can take effect. Scope and target follow :obj:`\"set_option\" `; removing an override differs from assigning empty text.\n\nReturns `undef` after command acceptance. Performs I/O; failures propagate through :obj:`LibTmux::X `. Captured objects are not modified.\n\n\n```perl\n $server->unset_option(scope => 'window', target => $window->id, name => '@build');\n```","summary":"`unset_option(name => string, scope => scope, target => id?, global => boolean?)`."},"id":"LibTmux::Server::unset_option","kind":"method","modifiers":[],"name":"unset_option","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server::unset_option","qualifiedName":"LibTmux::Server::unset_option","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":29,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub unset_option($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Server.pm","line":1091,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-server-unset_option"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured session entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::Session","kind":"class","modifiers":[],"name":"Session","package":"LibTmux","product":"core","publicId":"LibTmux::Session","qualifiedName":"LibTmux::Session","signatures":[{"params":[],"raw":"package LibTmux::Session;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Session.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Session::attached","kind":"method","modifiers":[],"name":"attached","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::attached","qualifiedName":"LibTmux::Session::attached","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub attached($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Session.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-attached"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Session::created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::created","qualifiedName":"LibTmux::Session::created","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub created($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Session.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-created"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Session::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::generation","qualifiedName":"LibTmux::Session::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-generation"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Session::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::id","qualifiedName":"LibTmux::Session::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Session.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Session::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::identity","qualifiedName":"LibTmux::Session::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-identity"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Session::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::kind","qualifiedName":"LibTmux::Session::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-kind"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Session::name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::name","qualifiedName":"LibTmux::Session::name","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub name($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Session.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-name"},{"apiScope":"exported","doc":{"summary":"bytes. Local captured data; no I/O."},"id":"LibTmux::Session::path","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::path","qualifiedName":"LibTmux::Session::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Session.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-path"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Session::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::server_id","qualifiedName":"LibTmux::Session::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-server_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Session::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::to_record","qualifiedName":"LibTmux::Session::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-to_record"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Selection ` of :obj:`LibTmux::WindowLink ` entities. Local captured data; no I/O."},"id":"LibTmux::Session::window_links","kind":"method","modifiers":[],"name":"window_links","package":"LibTmux","parent":"LibTmux::Session","product":"core","publicId":"LibTmux::Session::window_links","qualifiedName":"LibTmux::Session::window_links","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4}],"params":[],"raw":"sub window_links($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Session.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-session-window_links"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::Session ` handles from one server generation. Empty instances still validate against the session schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured session entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::SessionSelection","kind":"class","modifiers":[],"name":"SessionSelection","package":"LibTmux","product":"core","publicId":"LibTmux::SessionSelection","qualifiedName":"LibTmux::SessionSelection","signatures":[{"params":[],"raw":"package LibTmux::SessionSelection;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/SessionSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::SessionSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::count","qualifiedName":"LibTmux::SessionSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::SessionSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::exists","qualifiedName":"LibTmux::SessionSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::SessionSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::first","qualifiedName":"LibTmux::SessionSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::SessionSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::grep","qualifiedName":"LibTmux::SessionSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::SessionSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::iterator","qualifiedName":"LibTmux::SessionSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::SessionSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::new","qualifiedName":"LibTmux::SessionSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::SessionSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::one","qualifiedName":"LibTmux::SessionSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::SessionSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::one_or_undef","qualifiedName":"LibTmux::SessionSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::SessionSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::to_array","qualifiedName":"LibTmux::SessionSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::SessionSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::SessionSelection","product":"core","publicId":"LibTmux::SessionSelection::where","qualifiedName":"LibTmux::SessionSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-sessionselection-where"},{"apiScope":"exported","doc":{"body":"\n## EXECUTION\n\nAll methods in this module operate on local captured data and perform no tmux I/O. Ordering is deterministic; public query methods do not mutate membership. Typed validation/evaluation errors propagate. See :obj:`\"snapshot\" in LibTmux::Server ` for explicit acquisition and :obj:`LibTmux::X ` for machine-readable failures.\n\n","summary":"Captured graph with explicit completeness"},"id":"LibTmux::Snapshot","kind":"class","modifiers":[],"name":"Snapshot","package":"LibTmux","product":"core","publicId":"LibTmux::Snapshot","qualifiedName":"LibTmux::Snapshot","signatures":[{"params":[],"raw":"package LibTmux::Snapshot;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::ClientSelection ` in captured order. A loaded empty client set is valid."},"id":"LibTmux::Snapshot::clients","kind":"method","modifiers":[],"name":"clients","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::clients","qualifiedName":"LibTmux::Snapshot::clients","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub clients($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":209,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-clients"},{"apiScope":"exported","doc":{"summary":"Return the capture completeness Boolean. The strict live acquisition path fails on incomplete topology; it does not synthesize empty relations."},"id":"LibTmux::Snapshot::complete","kind":"method","modifiers":[],"name":"complete","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::complete","qualifiedName":"LibTmux::Snapshot::complete","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub complete($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":104,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-complete"},{"apiScope":"exported","doc":{"summary":"`from_records(server_id => ..., generation => ..., sessions => [...], windows => [...], window_links => [...], panes => [...], clients => [...])` constructs a detached graph. Scalar records and relation IDs are copied. Omitted fields/collections remain unloaded; null is explicit. Invalid identities or inconsistent complete topology throw typed acquisition errors."},"id":"LibTmux::Snapshot::from_records","kind":"method","modifiers":[],"name":"from_records","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::from_records","qualifiedName":"LibTmux::Snapshot::from_records","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":30,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub from_records($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":25,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-from_records"},{"apiScope":"exported","doc":{"summary":"Return the captured daemon generation. :obj:`LibTmux::Server ` checks it before mutations through captured handles; retained snapshots never silently refresh."},"id":"LibTmux::Snapshot::generation","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::generation","qualifiedName":"LibTmux::Snapshot::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":103,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-generation"},{"apiScope":"exported","doc":{"summary":"Return a fresh metadata hash with capture start/end, daemon version, and PID where acquired. Several commands observe an interval; the snapshot is not an atomic tmux transaction."},"id":"LibTmux::Snapshot::metadata","kind":"method","modifiers":[],"name":"metadata","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::metadata","qualifiedName":"LibTmux::Snapshot::metadata","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub metadata($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":105,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-metadata"},{"apiScope":"exported","doc":{"summary":"`pane_by_id('%3')` returns a :obj:`LibTmux::Pane ` or undef. The returned handle retains the captured graph after this wrapper goes out of scope."},"id":"LibTmux::Snapshot::pane_by_id","kind":"method","modifiers":[],"name":"pane_by_id","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::pane_by_id","qualifiedName":"LibTmux::Snapshot::pane_by_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"id"}],"raw":"sub pane_by_id($self, $id)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":212,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-pane_by_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::PaneSelection ` containing each physical pane identity once. Membership edits cannot change the graph store."},"id":"LibTmux::Snapshot::panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::panes","qualifiedName":"LibTmux::Snapshot::panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub panes($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":208,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-panes"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. Entity IDs are meaningful only within this scope and :obj:`\"generation\" `."},"id":"LibTmux::Snapshot::server_id","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::server_id","qualifiedName":"LibTmux::Snapshot::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":102,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-server_id"},{"apiScope":"exported","doc":{"summary":"`session_by_id('$1')` returns a :obj:`LibTmux::Session ` or undef. Single quotes preserve the dollar-prefixed ID instead of interpolating a regex capture."},"id":"LibTmux::Snapshot::session_by_id","kind":"method","modifiers":[],"name":"session_by_id","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::session_by_id","qualifiedName":"LibTmux::Snapshot::session_by_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":17,"kind":"name","start":4},{"end":28,"kind":"parameter","parameter":0,"start":25}],"params":[{"name":"id"}],"raw":"sub session_by_id($self, $id)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":210,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-session_by_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::SessionSelection ` in captured order. Empty loaded collections yield empty selections; unloaded collections throw."},"id":"LibTmux::Snapshot::sessions","kind":"method","modifiers":[],"name":"sessions","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::sessions","qualifiedName":"LibTmux::Snapshot::sessions","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub sessions($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":205,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-sessions"},{"apiScope":"exported","doc":{"summary":"Return independent scalar records and adjacency IDs for detached use. No handles or live transport are serialized."},"id":"LibTmux::Snapshot::to_records","kind":"method","modifiers":[],"name":"to_records","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::to_records","qualifiedName":"LibTmux::Snapshot::to_records","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub to_records($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":214,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-to_records"},{"apiScope":"exported","doc":{"summary":"`window_by_id('@3')` returns one physical :obj:`LibTmux::Window ` or undef, independent of session link context."},"id":"LibTmux::Snapshot::window_by_id","kind":"method","modifiers":[],"name":"window_by_id","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::window_by_id","qualifiedName":"LibTmux::Snapshot::window_by_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"id"}],"raw":"sub window_by_id($self, $id)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":211,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-window_by_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::WindowLinkSelection ` retaining every session/index association, including repeated links of one physical window."},"id":"LibTmux::Snapshot::window_links","kind":"method","modifiers":[],"name":"window_links","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::window_links","qualifiedName":"LibTmux::Snapshot::window_links","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4}],"params":[],"raw":"sub window_links($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":207,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-window_links"},{"apiScope":"exported","doc":{"summary":"Return a fresh :obj:`LibTmux::WindowSelection ` containing each physical window identity once. Context lives in :obj:`\"window_links\" `."},"id":"LibTmux::Snapshot::windows","kind":"method","modifiers":[],"name":"windows","package":"LibTmux","parent":"LibTmux::Snapshot","product":"core","publicId":"LibTmux::Snapshot::windows","qualifiedName":"LibTmux::Snapshot::windows","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub windows($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Snapshot.pm","line":206,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-snapshot-windows"},{"apiScope":"exported","doc":{"body":"\n## RESULTS\n\n:obj:`LibTmux::CommandResult ` exposes stdout, stderr, exit_code, signal, raw_status, and success. Output remains octets.\n\nThe private supervisor owns program signals/groups and reaps the program. It receives CHLD, INT and TERM through a Linux signal descriptor, so child exit cannot wait for a deferred Perl handler. This mask belongs only to the supervisor; the command restores its inherited mask before execution. Application SIGCHLD handlers remain intact; SIGCHLD=IGNORE is refused. Cancellation handles are borrowed and remain open. Cancellation after release can have effects and never implies rollback. Parent death triggers cleanup.\n\nOwned supervisor and command branches close unrelated inherited descriptors through Linux `/proc/self/fd`, preserving the caller's handles. Native descriptors without close-on-exec cannot leak into a newly started tmux daemon. Only standard streams and each branch's required protocol/cancellation pipes remain open. Enumeration or closure failures prevent execution and throw :obj:`\"Transport\" in LibTmux::X ` or :obj:`\"Spawn\" in LibTmux::X `. No arbitrary descriptor-passing API is selected. Forking hosts with native threads remains unqualified.\n\n","summary":"Supervised literal process execution"},"id":"LibTmux::Transport","kind":"class","modifiers":[],"name":"Transport","package":"LibTmux","product":"core","publicId":"LibTmux::Transport","qualifiedName":"LibTmux::Transport","signatures":[{"params":[],"raw":"package LibTmux::Transport;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Transport.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-transport"},{"apiScope":"exported","doc":{"summary":"`run(argv => [...], stdin => $octets, timeout => $seconds, max_output => $bytes, cancel_fh => $handle)` returns a :obj:`LibTmux::CommandResult `. Stdout/stderr are separate octet strings. Nonzero exits are results; spawn, timeout, cancellation, output limits, and supervision failures throw :obj:`LibTmux::X ` exceptions. `timeout` bounds one command's execution loop, excluding supervisor setup, async queue waiting, and separate cleanup time."},"id":"LibTmux::Transport::run","kind":"method","modifiers":[],"name":"run","package":"LibTmux","parent":"LibTmux::Transport","product":"core","publicId":"LibTmux::Transport::run","qualifiedName":"LibTmux::Transport::run","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub run($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Transport.pm","line":100,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-transport-run"},{"apiScope":"exported","doc":{"summary":"Return a :obj:`LibTmux::ProcessJob ` for an executor adapter."},"id":"LibTmux::Transport::start","kind":"method","modifiers":[],"name":"start","package":"LibTmux","parent":"LibTmux::Transport","product":"core","publicId":"LibTmux::Transport::start","qualifiedName":"LibTmux::Transport::start","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":23,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub start($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Transport.pm","line":96,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-transport-start"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured window entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::Window","kind":"class","modifiers":[],"name":"Window","package":"LibTmux","product":"core","publicId":"LibTmux::Window","qualifiedName":"LibTmux::Window","signatures":[{"params":[],"raw":"package LibTmux::Window;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Window.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Pane ` entity or undef. Local captured data; no I/O."},"id":"LibTmux::Window::active_pane","kind":"method","modifiers":[],"name":"active_pane","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::active_pane","qualifiedName":"LibTmux::Window::active_pane","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub active_pane($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Window.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-active_pane"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::Window::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::generation","qualifiedName":"LibTmux::Window::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-generation"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Window::height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::height","qualifiedName":"LibTmux::Window::height","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub height($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Window.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-height"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Window::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::id","qualifiedName":"LibTmux::Window::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Window.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::Window::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::identity","qualifiedName":"LibTmux::Window::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-identity"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::Window::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::kind","qualifiedName":"LibTmux::Window::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-kind"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Window::layout","kind":"method","modifiers":[],"name":"layout","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::layout","qualifiedName":"LibTmux::Window::layout","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub layout($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Window.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-layout"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Selection ` of :obj:`LibTmux::WindowLink ` entities. Local captured data; no I/O."},"id":"LibTmux::Window::links","kind":"method","modifiers":[],"name":"links","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::links","qualifiedName":"LibTmux::Window::links","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub links($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Window.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-links"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::Window::name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::name","qualifiedName":"LibTmux::Window::name","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub name($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Window.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-name"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Selection ` of :obj:`LibTmux::Pane ` entities. Local captured data; no I/O."},"id":"LibTmux::Window::panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::panes","qualifiedName":"LibTmux::Window::panes","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub panes($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Window.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-panes"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::Window::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::server_id","qualifiedName":"LibTmux::Window::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-server_id"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::Window::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::to_record","qualifiedName":"LibTmux::Window::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-to_record"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::Window::width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Window","product":"core","publicId":"LibTmux::Window::width","qualifiedName":"LibTmux::Window::width","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub width($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Window.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-window-width"},{"apiScope":"exported","doc":{"body":"\n## OWNERSHIP\n\nReaders use the retained graph and never refresh it. Acquire a new snapshot for new state. Inherited :obj:`to_record ` exports a detached scalar record.\n\n","summary":"Captured window_link entity"},"extends":["LibTmux::Entity"],"id":"LibTmux::WindowLink","kind":"class","modifiers":[],"name":"WindowLink","package":"LibTmux","product":"core","publicId":"LibTmux::WindowLink","qualifiedName":"LibTmux::WindowLink","signatures":[{"params":[],"raw":"package LibTmux::WindowLink;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/WindowLink.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink"},{"apiScope":"exported","doc":{"summary":"boolean. Local captured data; no I/O."},"id":"LibTmux::WindowLink::active","kind":"method","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::active","qualifiedName":"LibTmux::WindowLink::active","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub active($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/WindowLink.pm","line":5,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-active"},{"apiScope":"exported","doc":{"summary":"Return the captured generation. Restarted daemons cannot silently reuse this handle."},"id":"LibTmux::WindowLink::generation","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"generation","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::generation","qualifiedName":"LibTmux::WindowLink::generation","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub generation($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-generation"},{"apiScope":"exported","doc":{"summary":"string. Local captured data; no I/O."},"id":"LibTmux::WindowLink::id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::id","qualifiedName":"LibTmux::WindowLink::id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":6,"kind":"name","start":4}],"params":[],"raw":"sub id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/WindowLink.pm","line":6,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-id"},{"apiScope":"exported","doc":{"summary":"Return an opaque identity key scoped by server, generation, kind, and string ID. It is suitable for local equality; duplicate selection occurrences remain separate occurrences."},"id":"LibTmux::WindowLink::identity","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"identity","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::identity","qualifiedName":"LibTmux::WindowLink::identity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub identity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-identity"},{"apiScope":"exported","doc":{"summary":"integer. Local captured data; no I/O."},"id":"LibTmux::WindowLink::index","kind":"method","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::index","qualifiedName":"LibTmux::WindowLink::index","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub index($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/WindowLink.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-index"},{"apiScope":"exported","doc":{"summary":"Return the schema entity-kind string. Concrete public field readers belong to :obj:`LibTmux::Pane `, :obj:`LibTmux::Window `, :obj:`LibTmux::WindowLink `, :obj:`LibTmux::Session `, and :obj:`LibTmux::Client `."},"id":"LibTmux::WindowLink::kind","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::kind","qualifiedName":"LibTmux::WindowLink::kind","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub kind($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-kind"},{"apiScope":"exported","doc":{"summary":"Return the captured server scope. No daemon discovery or refresh occurs."},"id":"LibTmux::WindowLink::server_id","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"server_id","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::server_id","qualifiedName":"LibTmux::WindowLink::server_id","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub server_id($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-server_id"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Session ` entity. Local captured data; no I/O."},"id":"LibTmux::WindowLink::session","kind":"method","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::session","qualifiedName":"LibTmux::WindowLink::session","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub session($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/WindowLink.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-session"},{"apiScope":"exported","doc":{"summary":"Return a fresh hash reference of captured scalar fields and adjacency IDs. Editing it does not change the retained graph. Retaining the entity retains its captured graph, with no transport ownership or reference cycle."},"id":"LibTmux::WindowLink::to_record","inheritedFrom":"LibTmux::Entity","kind":"method","modifiers":[],"name":"to_record","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::to_record","qualifiedName":"LibTmux::WindowLink::to_record","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4}],"params":[],"raw":"sub to_record($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Entity.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-to_record"},{"apiScope":"exported","doc":{"summary":":obj:`LibTmux::Window ` entity. Local captured data; no I/O."},"id":"LibTmux::WindowLink::window","kind":"method","modifiers":[],"name":"window","package":"LibTmux","parent":"LibTmux::WindowLink","product":"core","publicId":"LibTmux::WindowLink::window","qualifiedName":"LibTmux::WindowLink::window","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub window($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/WindowLink.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlink-window"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::WindowLink ` handles from one server generation. Empty instances still validate against the window_link schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured window_link entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::WindowLinkSelection","kind":"class","modifiers":[],"name":"WindowLinkSelection","package":"LibTmux","product":"core","publicId":"LibTmux::WindowLinkSelection","qualifiedName":"LibTmux::WindowLinkSelection","signatures":[{"params":[],"raw":"package LibTmux::WindowLinkSelection;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/WindowLinkSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::WindowLinkSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::count","qualifiedName":"LibTmux::WindowLinkSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::WindowLinkSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::exists","qualifiedName":"LibTmux::WindowLinkSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::WindowLinkSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::first","qualifiedName":"LibTmux::WindowLinkSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::WindowLinkSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::grep","qualifiedName":"LibTmux::WindowLinkSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::WindowLinkSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::iterator","qualifiedName":"LibTmux::WindowLinkSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::WindowLinkSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::new","qualifiedName":"LibTmux::WindowLinkSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::WindowLinkSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::one","qualifiedName":"LibTmux::WindowLinkSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::WindowLinkSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::one_or_undef","qualifiedName":"LibTmux::WindowLinkSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::WindowLinkSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::to_array","qualifiedName":"LibTmux::WindowLinkSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::WindowLinkSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::WindowLinkSelection","product":"core","publicId":"LibTmux::WindowLinkSelection::where","qualifiedName":"LibTmux::WindowLinkSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowlinkselection-where"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nInherits the fixed-return local query API of :obj:`LibTmux::Selection `. Members must be defined :obj:`LibTmux::Window ` handles from one server generation. Empty instances still validate against the window schema. Native array edits are possible; query methods validate membership and never perform tmux I/O.\n\n","summary":"Native array selection of captured window entities"},"extends":["LibTmux::Selection"],"id":"LibTmux::WindowSelection","kind":"class","modifiers":[],"name":"WindowSelection","package":"LibTmux","product":"core","publicId":"LibTmux::WindowSelection","qualifiedName":"LibTmux::WindowSelection","signatures":[{"params":[],"raw":"package LibTmux::WindowSelection;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/WindowSelection.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection"},{"apiScope":"exported","doc":{"summary":"`count($criteria?)` returns an integer. Empty input returns zero. Validate all members before evaluating the optional criterion; count every matching occurrence, including duplicates."},"id":"LibTmux::WindowSelection::count","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::count","qualifiedName":"LibTmux::WindowSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub count($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":77,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-count"},{"apiScope":"exported","doc":{"summary":"`exists($criteria?)` returns a native Boolean. Empty input returns false. After validating the entire membership, stop at the first matching entity. A reference itself remains true even when empty."},"id":"LibTmux::WindowSelection::exists","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"exists","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::exists","qualifiedName":"LibTmux::WindowSelection::exists","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub exists($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":85,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-exists"},{"apiScope":"exported","doc":{"summary":"`first($criteria?)` returns the first matching entity or undef. Input order determines first; after membership validation, later field reads may be skipped."},"id":"LibTmux::WindowSelection::first","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::first","qualifiedName":"LibTmux::WindowSelection::first","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub first($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":89,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-first"},{"apiScope":"exported","doc":{"summary":"`grep($callback)` returns a new same-class selection. Invoke the callback in scalar context with exactly one entity argument and a localized `$_`. Both bindings hold copies of the reference: assignment cannot replace a source slot. Restore `$_` and propagate the original thrown value even on failure. Predicates must not edit the traversed sequence."},"id":"LibTmux::WindowSelection::grep","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::grep","qualifiedName":"LibTmux::WindowSelection::grep","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":25,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"callback"}],"raw":"sub grep($self, $callback)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":54,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-grep"},{"apiScope":"exported","doc":{"summary":"Return a fresh local cursor with a copy of current membership. Its `next` returns an entity or undef only at exhaustion. Later native array edits do not alter this traversal; the selection remains replayable."},"id":"LibTmux::WindowSelection::iterator","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::iterator","qualifiedName":"LibTmux::WindowSelection::iterator","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub iterator($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":122,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-iterator"},{"apiScope":"exported","doc":{"body":"Members may come from separate captures of the same server generation; each retains its own observation. Mixing servers or daemon generations throws :obj:`\"InvalidSelection\" in LibTmux::X `. Combining captures does not reconcile their times.","summary":"`new(@entities)` creates a concrete blessed array reference and validates every member. Construct an entity-specific selection such as :obj:`LibTmux::PaneSelection `; an empty instance retains that schema."},"id":"LibTmux::WindowSelection::new","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::new","qualifiedName":"LibTmux::WindowSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":22,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"items","variadic":"positional"}],"raw":"sub new($class, @items)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":7,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-new"},{"apiScope":"exported","doc":{"summary":"`one($criteria?)` returns one entity. Zero throws :obj:`NoMatch `; a second occurrence throws :obj:`MultipleMatches `, reporting at least two and their IDs. Two occurrences of one identity are still ambiguous."},"id":"LibTmux::WindowSelection::one","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::one","qualifiedName":"LibTmux::WindowSelection::one","signatures":[{"methodKind":"call","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":15}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":119,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-one"},{"apiScope":"exported","doc":{"summary":"`one_or_undef($criteria?)` returns an entity or undef for absence. A second matching occurrence still throws :obj:`MultipleMatches `."},"id":"LibTmux::WindowSelection::one_or_undef","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"one_or_undef","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::one_or_undef","qualifiedName":"LibTmux::WindowSelection::one_or_undef","signatures":[{"methodKind":"call","nativeSyntax":[{"end":16,"kind":"name","start":4},{"end":33,"kind":"parameter","parameter":0,"start":24}],"params":[{"name":"criteria","variadic":"positional"}],"raw":"sub one_or_undef($self, @criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":120,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-one_or_undef"},{"apiScope":"exported","doc":{"summary":"Return a fresh, unblessed array reference containing the same entity references. Editing its membership cannot corrupt graph adjacency or this selection. Captured entity values remain read-only through public readers."},"id":"LibTmux::WindowSelection::to_array","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"to_array","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::to_array","qualifiedName":"LibTmux::WindowSelection::to_array","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub to_array($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":66,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-to_array"},{"apiScope":"exported","doc":{"summary":"`where($criteria_or_filter)` eagerly returns a new selection of the same concrete class in scalar, list, or void context. Complete validation precedes evaluation, including on empty input. See :obj:`\"new\" in LibTmux::Filter `. Order and duplicate occurrences are preserved."},"id":"LibTmux::WindowSelection::where","inheritedFrom":"LibTmux::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::WindowSelection","product":"core","publicId":"LibTmux::WindowSelection::where","qualifiedName":"LibTmux::WindowSelection::where","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":17}],"params":[{"name":"criteria"}],"raw":"sub where($self, $criteria)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/Selection.pm","line":48,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-windowselection-where"},{"apiScope":"exported","doc":{"body":"\n## SYNOPSIS\n\n\n```perl\n use LibTmux::Workspace;\n my $workspace = LibTmux::Workspace->from_json($json_octets);\n my $plan = $workspace->plan(existing => 'error');\n my $report = $workspace->load(server => $server);\n```\n\n\n## COMMAND LINE\n\nThe packaged `libtmux-workspace` executable exposes `validate`, `plan`, and `load`. `--dry-run` selects planning without tmux I/O. See the installed executable's help for socket and repeat-application options.\n\n\n## DOCUMENTATION\n\nRead the [Perl documentation](https://libtmux.org/en/perl/) and [workspace guide](https://libtmux.org/en/perl/latest/workspace/source-guide/) for complete configuration and CLI examples. The [API reference](https://libtmux.org/en/perl/latest/workspace/reference/libtmux-workspace/) documents validation, planning, loading, and failure reports. The [CPAN distribution](https://metacpan.org/dist/LibTmux-Workspace) includes runnable consumer examples. The `0.x` API can change between releases.\n\n","summary":"Versioned JSON configuration and owned orchestration"},"id":"LibTmux::Workspace","kind":"class","modifiers":[],"name":"Workspace","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace","qualifiedName":"LibTmux::Workspace","signatures":[{"params":[],"raw":"package LibTmux::Workspace;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace"},{"apiScope":"exported","doc":{"body":"\n## EXCEPTIONS\n\n","summary":"Workspace configuration and partial-load failures"},"id":"LibTmux::Workspace::X","kind":"class","modifiers":[],"name":"X","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace::X","qualifiedName":"LibTmux::Workspace::X","signatures":[{"params":[],"raw":"package LibTmux::Workspace::X;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x"},{"apiScope":"exported","doc":{"summary":"Invalid versioned configuration. `path` identifies the rejected input."},"extends":["LibTmux::X"],"id":"LibTmux::Workspace::X::Config","kind":"exception","modifiers":[],"name":"Config","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace::X::Config","qualifiedName":"LibTmux::Workspace::X::Config","signatures":[{"params":[],"raw":"package LibTmux::Workspace::X::Config;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":35,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::Workspace::X::Config::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::count","qualifiedName":"LibTmux::Workspace::X::Config::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::Workspace::X::Config::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::details","qualifiedName":"LibTmux::Workspace::X::Config::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::Workspace::X::Config::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::dispatched","qualifiedName":"LibTmux::Workspace::X::Config::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Config::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::entity","qualifiedName":"LibTmux::Workspace::X::Config::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::Workspace::X::Config::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::expected","qualifiedName":"LibTmux::Workspace::X::Config::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::Workspace::X::Config::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::matched_ids","qualifiedName":"LibTmux::Workspace::X::Config::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::Workspace::X::Config::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::message","qualifiedName":"LibTmux::Workspace::X::Config::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::Workspace::X::Config::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::new","qualifiedName":"LibTmux::Workspace::X::Config::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Config::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::path","qualifiedName":"LibTmux::Workspace::X::Config::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::Workspace::X::Config::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::received","qualifiedName":"LibTmux::Workspace::X::Config::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::Workspace::X::Config::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::result","qualifiedName":"LibTmux::Workspace::X::Config::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::Workspace::X::Config::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Config","product":"workspace","publicId":"LibTmux::Workspace::X::Config::throw","qualifiedName":"LibTmux::Workspace::X::Config::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-config-throw"},{"apiScope":"exported","doc":{"summary":"An existing session conflicts with the selected repeat-application policy. No session is created until all names pass the conflict check."},"extends":["LibTmux::X"],"id":"LibTmux::Workspace::X::Conflict","kind":"exception","modifiers":[],"name":"Conflict","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict","qualifiedName":"LibTmux::Workspace::X::Conflict","signatures":[{"params":[],"raw":"package LibTmux::Workspace::X::Conflict;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":37,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::Workspace::X::Conflict::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::count","qualifiedName":"LibTmux::Workspace::X::Conflict::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::Workspace::X::Conflict::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::details","qualifiedName":"LibTmux::Workspace::X::Conflict::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::Workspace::X::Conflict::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::dispatched","qualifiedName":"LibTmux::Workspace::X::Conflict::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Conflict::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::entity","qualifiedName":"LibTmux::Workspace::X::Conflict::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::Workspace::X::Conflict::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::expected","qualifiedName":"LibTmux::Workspace::X::Conflict::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::Workspace::X::Conflict::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::matched_ids","qualifiedName":"LibTmux::Workspace::X::Conflict::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::Workspace::X::Conflict::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::message","qualifiedName":"LibTmux::Workspace::X::Conflict::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::Workspace::X::Conflict::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::new","qualifiedName":"LibTmux::Workspace::X::Conflict::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Conflict::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::path","qualifiedName":"LibTmux::Workspace::X::Conflict::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::Workspace::X::Conflict::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::received","qualifiedName":"LibTmux::Workspace::X::Conflict::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::Workspace::X::Conflict::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::result","qualifiedName":"LibTmux::Workspace::X::Conflict::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::Workspace::X::Conflict::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Conflict","product":"workspace","publicId":"LibTmux::Workspace::X::Conflict::throw","qualifiedName":"LibTmux::Workspace::X::Conflict::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-conflict-throw"},{"apiScope":"exported","doc":{"summary":"`cause` retains the original exception. `report` records completed steps, the failed step, dispatch uncertainty, and typed cleanup outcomes. Rollback affects only sessions whose creation was proven by returned core handles. See :obj:`\"load\" in LibTmux::Workspace ` and :obj:`LibTmux::X `."},"extends":["LibTmux::X"],"id":"LibTmux::Workspace::X::Load","kind":"exception","modifiers":[],"name":"Load","package":"LibTmux-Workspace","product":"workspace","publicId":"LibTmux::Workspace::X::Load","qualifiedName":"LibTmux::Workspace::X::Load","signatures":[{"params":[],"raw":"package LibTmux::Workspace::X::Load;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":39,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load"},{"apiScope":"exported","doc":{"summary":"For Load exceptions, return the original core or orchestration failure object."},"id":"LibTmux::Workspace::X::Load::cause","kind":"method","modifiers":[],"name":"cause","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::cause","qualifiedName":"LibTmux::Workspace::X::Load::cause","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub cause($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":42,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-cause"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::Workspace::X::Load::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::count","qualifiedName":"LibTmux::Workspace::X::Load::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::Workspace::X::Load::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::details","qualifiedName":"LibTmux::Workspace::X::Load::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::Workspace::X::Load::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::dispatched","qualifiedName":"LibTmux::Workspace::X::Load::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Load::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::entity","qualifiedName":"LibTmux::Workspace::X::Load::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::Workspace::X::Load::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::expected","qualifiedName":"LibTmux::Workspace::X::Load::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::Workspace::X::Load::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::matched_ids","qualifiedName":"LibTmux::Workspace::X::Load::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::Workspace::X::Load::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::message","qualifiedName":"LibTmux::Workspace::X::Load::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::Workspace::X::Load::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::new","qualifiedName":"LibTmux::Workspace::X::Load::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::Workspace::X::Load::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::path","qualifiedName":"LibTmux::Workspace::X::Load::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::Workspace::X::Load::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::received","qualifiedName":"LibTmux::Workspace::X::Load::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-received"},{"apiScope":"exported","doc":{"summary":"For Load exceptions, return the partial-load report. It contains created IDs, completed and failed steps, dispatch uncertainty, and cleanup failures. Each `cleanup_errors` entry contains `target` (the captured :obj:`identity `), `action` (`kill_session`), and `error` (the original exception). Entries follow rollback attempt order, reversing creation order. An empty array means no cleanup failure was observed. The primary :obj:`\"cause\" ` and secondary exception objects retain their identity. Inspect their :obj:`dispatched ` and :obj:`result ` fields without parsing prose. No I/O occurs."},"id":"LibTmux::Workspace::X::Load::report","kind":"method","modifiers":[],"name":"report","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::report","qualifiedName":"LibTmux::Workspace::X::Load::report","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub report($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":41,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-report"},{"apiScope":"exported","doc":{"body":"```perl\n use JSON::PP ();\n my $data = $error->report_data;\n say JSON::PP->new->canonical->encode($data);\n```\n\nThe packaged `libtmux-workspace` CLI uses this export. Use :obj:`\"report\" ` when recovery needs the original typed exceptions rather than diagnostic data.","summary":"For Load exceptions, return a detached, JSON-safe report hashref. The primary cause and each cleanup error become records with `class`, `message`, known `path`, and `dispatched` (null means unknown). Core creation/load causes retain their cause chain; a repeated exception is marked `cycle`. Process results retain exit code, signal, raw wait status, and bounded stdout and stderr as `stdout_base64` and `stderr_base64` using [MIME::Base64](https://metacpan.org/pod/MIME::Base64). This diagnostic encoding does not serialize entity graphs or arbitrary exception internals. Other exceptions retain their class and string message. No I/O occurs; editing the export cannot change :obj:`\"report\" ` or :obj:`\"cause\" `."},"id":"LibTmux::Workspace::X::Load::report_data","kind":"method","modifiers":[],"name":"report_data","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::report_data","qualifiedName":"LibTmux::Workspace::X::Load::report_data","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub report_data($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace/X.pm","line":44,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-report_data"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::Workspace::X::Load::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::result","qualifiedName":"LibTmux::Workspace::X::Load::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::Workspace::X::Load::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux-Workspace","parent":"LibTmux::Workspace::X::Load","product":"workspace","publicId":"LibTmux::Workspace::X::Load::throw","qualifiedName":"LibTmux::Workspace::X::Load::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-x-load-throw"},{"apiScope":"exported","doc":{"summary":"Decode bounded UTF-8 JSON octets with core [JSON::PP](https://perldoc.perl.org/5.44.0/JSON::PP) and call :obj:`\"new\" `. Reject unsupported versions, unknown keys, invalid commands, and duplicate names. YAML is not part of this distribution."},"id":"LibTmux::Workspace::from_json","kind":"method","modifiers":[],"name":"from_json","package":"LibTmux-Workspace","parent":"LibTmux::Workspace","product":"workspace","publicId":"LibTmux::Workspace::from_json","qualifiedName":"LibTmux::Workspace::from_json","signatures":[{"methodKind":"call","nativeSyntax":[{"end":13,"kind":"name","start":4},{"end":27,"kind":"parameter","parameter":0,"start":22}],"params":[{"name":"json"}],"raw":"sub from_json($class, $json)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":146,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-from_json"},{"apiScope":"exported","doc":{"body":"Return one report containing created IDs, skipped names, and completed steps. On failure, rollback only sessions returned by successful creation, then throw :obj:`Load ` with original cause and partial-effect report. An uncertain creation without a returned ID cannot be rolled back safely. Existing resources are never rollback targets. Layouts apply after splitting; working directories and environments reach every initial process. Completion means command acceptance and captured state, not application readiness.","summary":"`load(server => $server, existing => 'error'|'skip')` uses public :obj:`LibTmux::Server ` operations. It checks all session-name conflicts before creation. `error` rejects any existing target with :obj:`Conflict `; `skip` leaves that entire session alone, so repeated application creates only absent sessions. A missing server permits explicit creation; other acquisition failures propagate.","examples":[{"lang":"perl","code":"use v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse LibTmuxFixture;\nuse LibTmux::Workspace;\nLibTmuxFixture->run(\n sub ($server, $root) {\n my $workspace = LibTmux::Workspace->new(\n config => {\n schema => 'libtmux.workspace/v1',\n sessions => [\n {\n name => 'workspace-example',\n windows => [\n {\n name => 'api',\n cwd => $root,\n layout => 'even-horizontal',\n panes => [\n {command => ['/bin/sleep', '120']},\n {\n command => ['/bin/sleep', '120'],\n horizontal => true\n },\n ],\n }\n ],\n }\n ],\n }\n );\n die 'plan mutated state' if $workspace->plan->{mutates};\n my $loaded = $workspace->load(server => $server);\n die 'load failed' unless $loaded->{status} eq 'loaded';\n die 'panes missing' unless $server->snapshot->panes->count == 2;\n die 'repeat did not skip'\n unless $workspace->load(server => $server, existing => 'skip')\n ->{skipped}->@* == 1;\n say 'workspace load and repeat: ok';\n }\n);\n","intro":"Complete installed-package program with an owned tmux fixture and result/cleanup assertions.","sourceUrl":"https://github.com/libtmux/libtmux-perl/blob/a1cab0324b600a5df6e34b92590b5c3bd8f79c69/examples/workspace.pl"}]},"id":"LibTmux::Workspace::load","kind":"method","modifiers":[],"name":"load","package":"LibTmux-Workspace","parent":"LibTmux::Workspace","product":"workspace","publicId":"LibTmux::Workspace::load","qualifiedName":"LibTmux::Workspace::load","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub load($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":179,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-load"},{"apiScope":"exported","doc":{"summary":"`new(config => $hashref)` validates and copies a `libtmux.workspace/v1` configuration. No I/O occurs. Sessions contain named windows with nonempty pane arrays. Each pane requires literal `command` arguments or an explicit `shell_command`. Environment values inherit from workspace, session, and window, with pane values taking precedence. All configuration errors throw :obj:`Config `."},"id":"LibTmux::Workspace::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux-Workspace","parent":"LibTmux::Workspace","product":"workspace","publicId":"LibTmux::Workspace::new","qualifiedName":"LibTmux::Workspace::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub new($class, %args)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":47,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-new"},{"apiScope":"exported","doc":{"summary":"`plan(existing => 'error'|'skip')` returns a fresh data plan in input order. It performs no tmux I/O or mutations. A dry-run does not prove live availability or command success. Exports share no mutable arrays with the loader. No context-dependent return values are used."},"id":"LibTmux::Workspace::plan","kind":"method","modifiers":[],"name":"plan","package":"LibTmux-Workspace","parent":"LibTmux::Workspace","product":"workspace","publicId":"LibTmux::Workspace::plan","qualifiedName":"LibTmux::Workspace::plan","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4},{"end":21,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"args","variadic":"keyword"}],"raw":"sub plan($self, %args)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/workspace/lib/LibTmux/Workspace.pm","line":165,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-workspace-plan"},{"apiScope":"exported","doc":{"body":"\n## DESCRIPTION\n\nErrors stringify with class, path, and message. :obj:`\"Creation\" ` retains its original acquisition exception separately through `cause`. `details` returns diagnostic fields. Acquisition failures never represent an empty selection.\n\n\n## CARDINALITY AND DATA FAILURES\n\n\n## DIAGNOSTICS\n\n`message`, `path`, `entity`, `expected`, `received`, `matched_ids`, `count`, `result`, `dispatched`, and `details` expose applicable fields. See :obj:`\"one\" in LibTmux::Selection `, :obj:`\"new\" in LibTmux::Filter `, and :obj:`LibTmux::Server ` for failure boundaries.\n\n","summary":"Typed failures with readable diagnostics"},"id":"LibTmux::X","kind":"class","modifiers":[],"name":"X","package":"LibTmux","product":"core","publicId":"LibTmux::X","qualifiedName":"LibTmux::X","signatures":[{"params":[],"raw":"package LibTmux::X;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":1,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x"},{"apiScope":"exported","doc":{"summary":"Observed generations or topology changed during capture."},"extends":["LibTmux::X"],"id":"LibTmux::X::AcquisitionRace","kind":"exception","modifiers":[],"name":"AcquisitionRace","package":"LibTmux","product":"core","publicId":"LibTmux::X::AcquisitionRace","qualifiedName":"LibTmux::X::AcquisitionRace","signatures":[{"params":[],"raw":"package LibTmux::X::AcquisitionRace;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":55,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::AcquisitionRace::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::count","qualifiedName":"LibTmux::X::AcquisitionRace::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::AcquisitionRace::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::details","qualifiedName":"LibTmux::X::AcquisitionRace::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::AcquisitionRace::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::dispatched","qualifiedName":"LibTmux::X::AcquisitionRace::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::AcquisitionRace::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::entity","qualifiedName":"LibTmux::X::AcquisitionRace::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::AcquisitionRace::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::expected","qualifiedName":"LibTmux::X::AcquisitionRace::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::AcquisitionRace::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::matched_ids","qualifiedName":"LibTmux::X::AcquisitionRace::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::AcquisitionRace::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::message","qualifiedName":"LibTmux::X::AcquisitionRace::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::AcquisitionRace::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::new","qualifiedName":"LibTmux::X::AcquisitionRace::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::AcquisitionRace::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::path","qualifiedName":"LibTmux::X::AcquisitionRace::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::AcquisitionRace::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::received","qualifiedName":"LibTmux::X::AcquisitionRace::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::AcquisitionRace::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::result","qualifiedName":"LibTmux::X::AcquisitionRace::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::AcquisitionRace::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::AcquisitionRace","product":"core","publicId":"LibTmux::X::AcquisitionRace::throw","qualifiedName":"LibTmux::X::AcquisitionRace::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-acquisitionrace-throw"},{"apiScope":"exported","doc":{"summary":"Execution was cancelled; cancellation does not roll back effects."},"extends":["LibTmux::X"],"id":"LibTmux::X::Cancelled","kind":"exception","modifiers":[],"name":"Cancelled","package":"LibTmux","product":"core","publicId":"LibTmux::X::Cancelled","qualifiedName":"LibTmux::X::Cancelled","signatures":[{"params":[],"raw":"package LibTmux::X::Cancelled;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":41,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Cancelled::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::count","qualifiedName":"LibTmux::X::Cancelled::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Cancelled::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::details","qualifiedName":"LibTmux::X::Cancelled::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Cancelled::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::dispatched","qualifiedName":"LibTmux::X::Cancelled::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Cancelled::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::entity","qualifiedName":"LibTmux::X::Cancelled::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Cancelled::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::expected","qualifiedName":"LibTmux::X::Cancelled::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Cancelled::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::matched_ids","qualifiedName":"LibTmux::X::Cancelled::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Cancelled::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::message","qualifiedName":"LibTmux::X::Cancelled::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Cancelled::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::new","qualifiedName":"LibTmux::X::Cancelled::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Cancelled::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::path","qualifiedName":"LibTmux::X::Cancelled::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Cancelled::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::received","qualifiedName":"LibTmux::X::Cancelled::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Cancelled::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::result","qualifiedName":"LibTmux::X::Cancelled::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Cancelled::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Cancelled","product":"core","publicId":"LibTmux::X::Cancelled::throw","qualifiedName":"LibTmux::X::Cancelled::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-cancelled-throw"},{"apiScope":"exported","doc":{"summary":"A tmux record or field could not be decoded."},"extends":["LibTmux::X"],"id":"LibTmux::X::Codec","kind":"exception","modifiers":[],"name":"Codec","package":"LibTmux","product":"core","publicId":"LibTmux::X::Codec","qualifiedName":"LibTmux::X::Codec","signatures":[{"params":[],"raw":"package LibTmux::X::Codec;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":47,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Codec::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::count","qualifiedName":"LibTmux::X::Codec::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Codec::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::details","qualifiedName":"LibTmux::X::Codec::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Codec::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::dispatched","qualifiedName":"LibTmux::X::Codec::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Codec::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::entity","qualifiedName":"LibTmux::X::Codec::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Codec::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::expected","qualifiedName":"LibTmux::X::Codec::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Codec::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::matched_ids","qualifiedName":"LibTmux::X::Codec::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Codec::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::message","qualifiedName":"LibTmux::X::Codec::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Codec::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::new","qualifiedName":"LibTmux::X::Codec::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Codec::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::path","qualifiedName":"LibTmux::X::Codec::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Codec::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::received","qualifiedName":"LibTmux::X::Codec::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Codec::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::result","qualifiedName":"LibTmux::X::Codec::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Codec::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Codec","product":"core","publicId":"LibTmux::X::Codec::throw","qualifiedName":"LibTmux::X::Codec::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-codec-throw"},{"apiScope":"exported","doc":{"summary":"tmux reported nonzero status; result retains stdout/stderr/status."},"extends":["LibTmux::X"],"id":"LibTmux::X::Command","kind":"exception","modifiers":[],"name":"Command","package":"LibTmux","product":"core","publicId":"LibTmux::X::Command","qualifiedName":"LibTmux::X::Command","signatures":[{"params":[],"raw":"package LibTmux::X::Command;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":49,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Command::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::count","qualifiedName":"LibTmux::X::Command::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Command::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::details","qualifiedName":"LibTmux::X::Command::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Command::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::dispatched","qualifiedName":"LibTmux::X::Command::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Command::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::entity","qualifiedName":"LibTmux::X::Command::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Command::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::expected","qualifiedName":"LibTmux::X::Command::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Command::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::matched_ids","qualifiedName":"LibTmux::X::Command::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Command::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::message","qualifiedName":"LibTmux::X::Command::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Command::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::new","qualifiedName":"LibTmux::X::Command::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Command::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::path","qualifiedName":"LibTmux::X::Command::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Command::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::received","qualifiedName":"LibTmux::X::Command::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Command::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::result","qualifiedName":"LibTmux::X::Command::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Command::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Command","product":"core","publicId":"LibTmux::X::Command::throw","qualifiedName":"LibTmux::X::Command::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-command-throw"},{"apiScope":"exported","doc":{"summary":"A creation command succeeded but subsequent receipt decoding or capture failed. `created` returns a minimal generation-scoped entity handle when the command's receipt was decoded; other fields remain unloaded. `cause` preserves the original acquisition failure. `dispatched` is true. The returned handle permits explicit, generation-checked cleanup; absent receipts leave effects uncertain. See :obj:`\"new_session\" in LibTmux::Server `."},"extends":["LibTmux::X"],"id":"LibTmux::X::Creation","kind":"exception","modifiers":[],"name":"Creation","package":"LibTmux","product":"core","publicId":"LibTmux::X::Creation","qualifiedName":"LibTmux::X::Creation","signatures":[{"params":[],"raw":"package LibTmux::X::Creation;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":59,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation"},{"apiScope":"exported","doc":{"summary":"Return the original acquisition exception for :obj:`\"Creation\" in LibTmux::X `."},"id":"LibTmux::X::Creation::cause","kind":"method","modifiers":[],"name":"cause","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::cause","qualifiedName":"LibTmux::X::Creation::cause","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub cause($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":62,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-cause"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Creation::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::count","qualifiedName":"LibTmux::X::Creation::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-count"},{"apiScope":"exported","doc":{"summary":"Creation failures expose a minimal generation-scoped entity receipt, or undef. Only :obj:`\"Creation\" in LibTmux::X ` provides this method."},"id":"LibTmux::X::Creation::created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::created","qualifiedName":"LibTmux::X::Creation::created","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub created($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":61,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-created"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Creation::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::details","qualifiedName":"LibTmux::X::Creation::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Creation::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::dispatched","qualifiedName":"LibTmux::X::Creation::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Creation::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::entity","qualifiedName":"LibTmux::X::Creation::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Creation::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::expected","qualifiedName":"LibTmux::X::Creation::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Creation::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::matched_ids","qualifiedName":"LibTmux::X::Creation::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Creation::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::message","qualifiedName":"LibTmux::X::Creation::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Creation::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::new","qualifiedName":"LibTmux::X::Creation::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Creation::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::path","qualifiedName":"LibTmux::X::Creation::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Creation::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::received","qualifiedName":"LibTmux::X::Creation::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Creation::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::result","qualifiedName":"LibTmux::X::Creation::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Creation::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Creation","product":"core","publicId":"LibTmux::X::Creation::throw","qualifiedName":"LibTmux::X::Creation::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-creation-throw"},{"apiScope":"exported","doc":{"summary":"Invalid operation or transport argument before dispatch."},"extends":["LibTmux::X"],"id":"LibTmux::X::InvalidArgument","kind":"exception","modifiers":[],"name":"InvalidArgument","package":"LibTmux","product":"core","publicId":"LibTmux::X::InvalidArgument","qualifiedName":"LibTmux::X::InvalidArgument","signatures":[{"params":[],"raw":"package LibTmux::X::InvalidArgument;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":21,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::InvalidArgument::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::count","qualifiedName":"LibTmux::X::InvalidArgument::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::InvalidArgument::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::details","qualifiedName":"LibTmux::X::InvalidArgument::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::InvalidArgument::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::dispatched","qualifiedName":"LibTmux::X::InvalidArgument::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::InvalidArgument::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::entity","qualifiedName":"LibTmux::X::InvalidArgument::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::InvalidArgument::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::expected","qualifiedName":"LibTmux::X::InvalidArgument::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::InvalidArgument::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::matched_ids","qualifiedName":"LibTmux::X::InvalidArgument::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::InvalidArgument::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::message","qualifiedName":"LibTmux::X::InvalidArgument::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::InvalidArgument::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::new","qualifiedName":"LibTmux::X::InvalidArgument::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::InvalidArgument::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::path","qualifiedName":"LibTmux::X::InvalidArgument::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::InvalidArgument::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::received","qualifiedName":"LibTmux::X::InvalidArgument::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::InvalidArgument::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::result","qualifiedName":"LibTmux::X::InvalidArgument::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::InvalidArgument::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::InvalidArgument","product":"core","publicId":"LibTmux::X::InvalidArgument::throw","qualifiedName":"LibTmux::X::InvalidArgument::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidargument-throw"},{"apiScope":"exported","doc":{"summary":"Invalid criteria data; path, expected, and received describe the boundary."},"extends":["LibTmux::X"],"id":"LibTmux::X::InvalidFilter","kind":"exception","modifiers":[],"name":"InvalidFilter","package":"LibTmux","product":"core","publicId":"LibTmux::X::InvalidFilter","qualifiedName":"LibTmux::X::InvalidFilter","signatures":[{"params":[],"raw":"package LibTmux::X::InvalidFilter;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":25,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::InvalidFilter::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::count","qualifiedName":"LibTmux::X::InvalidFilter::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::InvalidFilter::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::details","qualifiedName":"LibTmux::X::InvalidFilter::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::InvalidFilter::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::dispatched","qualifiedName":"LibTmux::X::InvalidFilter::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::InvalidFilter::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::entity","qualifiedName":"LibTmux::X::InvalidFilter::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::InvalidFilter::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::expected","qualifiedName":"LibTmux::X::InvalidFilter::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::InvalidFilter::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::matched_ids","qualifiedName":"LibTmux::X::InvalidFilter::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::InvalidFilter::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::message","qualifiedName":"LibTmux::X::InvalidFilter::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::InvalidFilter::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::new","qualifiedName":"LibTmux::X::InvalidFilter::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::InvalidFilter::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::path","qualifiedName":"LibTmux::X::InvalidFilter::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::InvalidFilter::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::received","qualifiedName":"LibTmux::X::InvalidFilter::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::InvalidFilter::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::result","qualifiedName":"LibTmux::X::InvalidFilter::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::InvalidFilter::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::InvalidFilter","product":"core","publicId":"LibTmux::X::InvalidFilter::throw","qualifiedName":"LibTmux::X::InvalidFilter::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidfilter-throw"},{"apiScope":"exported","doc":{"summary":"Undefined, hole, wrong-kind, or incompatible-generation membership."},"extends":["LibTmux::X"],"id":"LibTmux::X::InvalidSelection","kind":"exception","modifiers":[],"name":"InvalidSelection","package":"LibTmux","product":"core","publicId":"LibTmux::X::InvalidSelection","qualifiedName":"LibTmux::X::InvalidSelection","signatures":[{"params":[],"raw":"package LibTmux::X::InvalidSelection;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":23,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::InvalidSelection::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::count","qualifiedName":"LibTmux::X::InvalidSelection::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::InvalidSelection::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::details","qualifiedName":"LibTmux::X::InvalidSelection::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::InvalidSelection::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::dispatched","qualifiedName":"LibTmux::X::InvalidSelection::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::InvalidSelection::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::entity","qualifiedName":"LibTmux::X::InvalidSelection::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::InvalidSelection::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::expected","qualifiedName":"LibTmux::X::InvalidSelection::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::InvalidSelection::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::matched_ids","qualifiedName":"LibTmux::X::InvalidSelection::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::InvalidSelection::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::message","qualifiedName":"LibTmux::X::InvalidSelection::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::InvalidSelection::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::new","qualifiedName":"LibTmux::X::InvalidSelection::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::InvalidSelection::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::path","qualifiedName":"LibTmux::X::InvalidSelection::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::InvalidSelection::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::received","qualifiedName":"LibTmux::X::InvalidSelection::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::InvalidSelection::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::result","qualifiedName":"LibTmux::X::InvalidSelection::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::InvalidSelection::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::InvalidSelection","product":"core","publicId":"LibTmux::X::InvalidSelection::throw","qualifiedName":"LibTmux::X::InvalidSelection::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-invalidselection-throw"},{"apiScope":"exported","doc":{"summary":"At least two occurrences matched. matched_ids preserves occurrence diagnostics."},"extends":["LibTmux::X"],"id":"LibTmux::X::MultipleMatches","kind":"exception","modifiers":[],"name":"MultipleMatches","package":"LibTmux","product":"core","publicId":"LibTmux::X::MultipleMatches","qualifiedName":"LibTmux::X::MultipleMatches","signatures":[{"params":[],"raw":"package LibTmux::X::MultipleMatches;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":29,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::MultipleMatches::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::count","qualifiedName":"LibTmux::X::MultipleMatches::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::MultipleMatches::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::details","qualifiedName":"LibTmux::X::MultipleMatches::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::MultipleMatches::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::dispatched","qualifiedName":"LibTmux::X::MultipleMatches::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::MultipleMatches::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::entity","qualifiedName":"LibTmux::X::MultipleMatches::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::MultipleMatches::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::expected","qualifiedName":"LibTmux::X::MultipleMatches::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::MultipleMatches::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::matched_ids","qualifiedName":"LibTmux::X::MultipleMatches::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::MultipleMatches::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::message","qualifiedName":"LibTmux::X::MultipleMatches::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::MultipleMatches::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::new","qualifiedName":"LibTmux::X::MultipleMatches::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::MultipleMatches::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::path","qualifiedName":"LibTmux::X::MultipleMatches::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::MultipleMatches::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::received","qualifiedName":"LibTmux::X::MultipleMatches::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::MultipleMatches::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::result","qualifiedName":"LibTmux::X::MultipleMatches::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::MultipleMatches::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::MultipleMatches","product":"core","publicId":"LibTmux::X::MultipleMatches::throw","qualifiedName":"LibTmux::X::MultipleMatches::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-multiplematches-throw"},{"apiScope":"exported","doc":{"summary":"No occurrence matched one()."},"extends":["LibTmux::X"],"id":"LibTmux::X::NoMatch","kind":"exception","modifiers":[],"name":"NoMatch","package":"LibTmux","product":"core","publicId":"LibTmux::X::NoMatch","qualifiedName":"LibTmux::X::NoMatch","signatures":[{"params":[],"raw":"package LibTmux::X::NoMatch;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":27,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::NoMatch::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::count","qualifiedName":"LibTmux::X::NoMatch::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::NoMatch::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::details","qualifiedName":"LibTmux::X::NoMatch::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::NoMatch::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::dispatched","qualifiedName":"LibTmux::X::NoMatch::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::NoMatch::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::entity","qualifiedName":"LibTmux::X::NoMatch::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::NoMatch::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::expected","qualifiedName":"LibTmux::X::NoMatch::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::NoMatch::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::matched_ids","qualifiedName":"LibTmux::X::NoMatch::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::NoMatch::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::message","qualifiedName":"LibTmux::X::NoMatch::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::NoMatch::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::new","qualifiedName":"LibTmux::X::NoMatch::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::NoMatch::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::path","qualifiedName":"LibTmux::X::NoMatch::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::NoMatch::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::received","qualifiedName":"LibTmux::X::NoMatch::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::NoMatch::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::result","qualifiedName":"LibTmux::X::NoMatch::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::NoMatch::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::NoMatch","product":"core","publicId":"LibTmux::X::NoMatch::throw","qualifiedName":"LibTmux::X::NoMatch::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nomatch-throw"},{"apiScope":"exported","doc":{"summary":"The selected server cannot be reached."},"extends":["LibTmux::X"],"id":"LibTmux::X::NoServer","kind":"exception","modifiers":[],"name":"NoServer","package":"LibTmux","product":"core","publicId":"LibTmux::X::NoServer","qualifiedName":"LibTmux::X::NoServer","signatures":[{"params":[],"raw":"package LibTmux::X::NoServer;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":51,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::NoServer::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::count","qualifiedName":"LibTmux::X::NoServer::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::NoServer::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::details","qualifiedName":"LibTmux::X::NoServer::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::NoServer::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::dispatched","qualifiedName":"LibTmux::X::NoServer::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::NoServer::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::entity","qualifiedName":"LibTmux::X::NoServer::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::NoServer::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::expected","qualifiedName":"LibTmux::X::NoServer::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::NoServer::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::matched_ids","qualifiedName":"LibTmux::X::NoServer::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::NoServer::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::message","qualifiedName":"LibTmux::X::NoServer::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::NoServer::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::new","qualifiedName":"LibTmux::X::NoServer::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::NoServer::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::path","qualifiedName":"LibTmux::X::NoServer::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::NoServer::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::received","qualifiedName":"LibTmux::X::NoServer::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::NoServer::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::result","qualifiedName":"LibTmux::X::NoServer::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::NoServer::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::NoServer","product":"core","publicId":"LibTmux::X::NoServer::throw","qualifiedName":"LibTmux::X::NoServer::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-noserver-throw"},{"apiScope":"exported","doc":{"summary":"The selected stable target no longer exists. Native result diagnostics are retained. This differs from a stale generation and from an arbitrary command failure; acquire a new snapshot before choosing recovery."},"extends":["LibTmux::X"],"id":"LibTmux::X::NoSuchTarget","kind":"exception","modifiers":[],"name":"NoSuchTarget","package":"LibTmux","product":"core","publicId":"LibTmux::X::NoSuchTarget","qualifiedName":"LibTmux::X::NoSuchTarget","signatures":[{"params":[],"raw":"package LibTmux::X::NoSuchTarget;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":65,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::NoSuchTarget::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::count","qualifiedName":"LibTmux::X::NoSuchTarget::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::NoSuchTarget::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::details","qualifiedName":"LibTmux::X::NoSuchTarget::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::NoSuchTarget::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::dispatched","qualifiedName":"LibTmux::X::NoSuchTarget::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::NoSuchTarget::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::entity","qualifiedName":"LibTmux::X::NoSuchTarget::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::NoSuchTarget::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::expected","qualifiedName":"LibTmux::X::NoSuchTarget::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::NoSuchTarget::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::matched_ids","qualifiedName":"LibTmux::X::NoSuchTarget::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::NoSuchTarget::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::message","qualifiedName":"LibTmux::X::NoSuchTarget::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::NoSuchTarget::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::new","qualifiedName":"LibTmux::X::NoSuchTarget::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::NoSuchTarget::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::path","qualifiedName":"LibTmux::X::NoSuchTarget::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::NoSuchTarget::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::received","qualifiedName":"LibTmux::X::NoSuchTarget::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::NoSuchTarget::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::result","qualifiedName":"LibTmux::X::NoSuchTarget::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::NoSuchTarget::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::NoSuchTarget","product":"core","publicId":"LibTmux::X::NoSuchTarget::throw","qualifiedName":"LibTmux::X::NoSuchTarget::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-nosuchtarget-throw"},{"apiScope":"exported","doc":{"summary":"Retained process output exceeded the configured bound."},"extends":["LibTmux::X"],"id":"LibTmux::X::OutputLimit","kind":"exception","modifiers":[],"name":"OutputLimit","package":"LibTmux","product":"core","publicId":"LibTmux::X::OutputLimit","qualifiedName":"LibTmux::X::OutputLimit","signatures":[{"params":[],"raw":"package LibTmux::X::OutputLimit;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":43,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::OutputLimit::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::count","qualifiedName":"LibTmux::X::OutputLimit::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::OutputLimit::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::details","qualifiedName":"LibTmux::X::OutputLimit::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::OutputLimit::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::dispatched","qualifiedName":"LibTmux::X::OutputLimit::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::OutputLimit::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::entity","qualifiedName":"LibTmux::X::OutputLimit::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::OutputLimit::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::expected","qualifiedName":"LibTmux::X::OutputLimit::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::OutputLimit::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::matched_ids","qualifiedName":"LibTmux::X::OutputLimit::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::OutputLimit::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::message","qualifiedName":"LibTmux::X::OutputLimit::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::OutputLimit::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::new","qualifiedName":"LibTmux::X::OutputLimit::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::OutputLimit::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::path","qualifiedName":"LibTmux::X::OutputLimit::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::OutputLimit::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::received","qualifiedName":"LibTmux::X::OutputLimit::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::OutputLimit::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::result","qualifiedName":"LibTmux::X::OutputLimit::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::OutputLimit::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::OutputLimit","product":"core","publicId":"LibTmux::X::OutputLimit::throw","qualifiedName":"LibTmux::X::OutputLimit::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-outputlimit-throw"},{"apiScope":"exported","doc":{"summary":"Native candidates disagree with captured local matches, or an expert native query returned an uncaptured ID. `details->{verification}` contains the detached :obj:`\"VERIFICATION REPORT\" in LibTmux::Server `. The cause may be concurrent change, a translation defect or backend semantics; the comparison does not identify it. :obj:`\"query_panes\" in LibTmux::Server ` throws this for require or expert queries, while auto reports fallback through its optional observer."},"extends":["LibTmux::X"],"id":"LibTmux::X::QueryMismatch","kind":"exception","modifiers":[],"name":"QueryMismatch","package":"LibTmux","product":"core","publicId":"LibTmux::X::QueryMismatch","qualifiedName":"LibTmux::X::QueryMismatch","signatures":[{"params":[],"raw":"package LibTmux::X::QueryMismatch;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":57,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::QueryMismatch::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::count","qualifiedName":"LibTmux::X::QueryMismatch::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::QueryMismatch::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::details","qualifiedName":"LibTmux::X::QueryMismatch::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::QueryMismatch::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::dispatched","qualifiedName":"LibTmux::X::QueryMismatch::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::QueryMismatch::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::entity","qualifiedName":"LibTmux::X::QueryMismatch::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::QueryMismatch::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::expected","qualifiedName":"LibTmux::X::QueryMismatch::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::QueryMismatch::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::matched_ids","qualifiedName":"LibTmux::X::QueryMismatch::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::QueryMismatch::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::message","qualifiedName":"LibTmux::X::QueryMismatch::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::QueryMismatch::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::new","qualifiedName":"LibTmux::X::QueryMismatch::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::QueryMismatch::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::path","qualifiedName":"LibTmux::X::QueryMismatch::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::QueryMismatch::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::received","qualifiedName":"LibTmux::X::QueryMismatch::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::QueryMismatch::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::result","qualifiedName":"LibTmux::X::QueryMismatch::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::QueryMismatch::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::QueryMismatch","product":"core","publicId":"LibTmux::X::QueryMismatch::throw","qualifiedName":"LibTmux::X::QueryMismatch::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-querymismatch-throw"},{"apiScope":"exported","doc":{"summary":"The executable could not start; dispatch is distinguished from command failure."},"extends":["LibTmux::X"],"id":"LibTmux::X::Spawn","kind":"exception","modifiers":[],"name":"Spawn","package":"LibTmux","product":"core","publicId":"LibTmux::X::Spawn","qualifiedName":"LibTmux::X::Spawn","signatures":[{"params":[],"raw":"package LibTmux::X::Spawn;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":37,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Spawn::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::count","qualifiedName":"LibTmux::X::Spawn::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Spawn::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::details","qualifiedName":"LibTmux::X::Spawn::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Spawn::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::dispatched","qualifiedName":"LibTmux::X::Spawn::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Spawn::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::entity","qualifiedName":"LibTmux::X::Spawn::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Spawn::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::expected","qualifiedName":"LibTmux::X::Spawn::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Spawn::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::matched_ids","qualifiedName":"LibTmux::X::Spawn::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Spawn::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::message","qualifiedName":"LibTmux::X::Spawn::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Spawn::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::new","qualifiedName":"LibTmux::X::Spawn::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Spawn::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::path","qualifiedName":"LibTmux::X::Spawn::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Spawn::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::received","qualifiedName":"LibTmux::X::Spawn::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Spawn::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::result","qualifiedName":"LibTmux::X::Spawn::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Spawn::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Spawn","product":"core","publicId":"LibTmux::X::Spawn::throw","qualifiedName":"LibTmux::X::Spawn::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-spawn-throw"},{"apiScope":"exported","doc":{"summary":"A captured generation or contextual target no longer identifies the same resource."},"extends":["LibTmux::X"],"id":"LibTmux::X::StaleReference","kind":"exception","modifiers":[],"name":"StaleReference","package":"LibTmux","product":"core","publicId":"LibTmux::X::StaleReference","qualifiedName":"LibTmux::X::StaleReference","signatures":[{"params":[],"raw":"package LibTmux::X::StaleReference;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":53,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::StaleReference::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::count","qualifiedName":"LibTmux::X::StaleReference::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::StaleReference::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::details","qualifiedName":"LibTmux::X::StaleReference::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::StaleReference::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::dispatched","qualifiedName":"LibTmux::X::StaleReference::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::StaleReference::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::entity","qualifiedName":"LibTmux::X::StaleReference::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::StaleReference::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::expected","qualifiedName":"LibTmux::X::StaleReference::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::StaleReference::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::matched_ids","qualifiedName":"LibTmux::X::StaleReference::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::StaleReference::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::message","qualifiedName":"LibTmux::X::StaleReference::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::StaleReference::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::new","qualifiedName":"LibTmux::X::StaleReference::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::StaleReference::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::path","qualifiedName":"LibTmux::X::StaleReference::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::StaleReference::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::received","qualifiedName":"LibTmux::X::StaleReference::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::StaleReference::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::result","qualifiedName":"LibTmux::X::StaleReference::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::StaleReference::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::StaleReference","product":"core","publicId":"LibTmux::X::StaleReference::throw","qualifiedName":"LibTmux::X::StaleReference::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-stalereference-throw"},{"apiScope":"exported","doc":{"summary":"Execution exceeded its deadline; effects may already have occurred."},"extends":["LibTmux::X"],"id":"LibTmux::X::Timeout","kind":"exception","modifiers":[],"name":"Timeout","package":"LibTmux","product":"core","publicId":"LibTmux::X::Timeout","qualifiedName":"LibTmux::X::Timeout","signatures":[{"params":[],"raw":"package LibTmux::X::Timeout;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":39,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Timeout::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::count","qualifiedName":"LibTmux::X::Timeout::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Timeout::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::details","qualifiedName":"LibTmux::X::Timeout::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Timeout::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::dispatched","qualifiedName":"LibTmux::X::Timeout::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Timeout::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::entity","qualifiedName":"LibTmux::X::Timeout::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Timeout::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::expected","qualifiedName":"LibTmux::X::Timeout::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Timeout::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::matched_ids","qualifiedName":"LibTmux::X::Timeout::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Timeout::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::message","qualifiedName":"LibTmux::X::Timeout::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Timeout::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::new","qualifiedName":"LibTmux::X::Timeout::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Timeout::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::path","qualifiedName":"LibTmux::X::Timeout::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Timeout::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::received","qualifiedName":"LibTmux::X::Timeout::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Timeout::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::result","qualifiedName":"LibTmux::X::Timeout::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Timeout::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Timeout","product":"core","publicId":"LibTmux::X::Timeout::throw","qualifiedName":"LibTmux::X::Timeout::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-timeout-throw"},{"apiScope":"exported","doc":{"summary":"Process supervision or result framing failed."},"extends":["LibTmux::X"],"id":"LibTmux::X::Transport","kind":"exception","modifiers":[],"name":"Transport","package":"LibTmux","product":"core","publicId":"LibTmux::X::Transport","qualifiedName":"LibTmux::X::Transport","signatures":[{"params":[],"raw":"package LibTmux::X::Transport;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":45,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Transport::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::count","qualifiedName":"LibTmux::X::Transport::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Transport::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::details","qualifiedName":"LibTmux::X::Transport::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Transport::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::dispatched","qualifiedName":"LibTmux::X::Transport::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Transport::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::entity","qualifiedName":"LibTmux::X::Transport::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Transport::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::expected","qualifiedName":"LibTmux::X::Transport::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Transport::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::matched_ids","qualifiedName":"LibTmux::X::Transport::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Transport::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::message","qualifiedName":"LibTmux::X::Transport::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Transport::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::new","qualifiedName":"LibTmux::X::Transport::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Transport::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::path","qualifiedName":"LibTmux::X::Transport::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Transport::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::received","qualifiedName":"LibTmux::X::Transport::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Transport::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::result","qualifiedName":"LibTmux::X::Transport::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Transport::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Transport","product":"core","publicId":"LibTmux::X::Transport::throw","qualifiedName":"LibTmux::X::Transport::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-transport-throw"},{"apiScope":"exported","doc":{"summary":"A required field or relation is not available in captured data."},"extends":["LibTmux::X"],"id":"LibTmux::X::Unloaded","kind":"exception","modifiers":[],"name":"Unloaded","package":"LibTmux","product":"core","publicId":"LibTmux::X::Unloaded","qualifiedName":"LibTmux::X::Unloaded","signatures":[{"params":[],"raw":"package LibTmux::X::Unloaded;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":31,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Unloaded::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::count","qualifiedName":"LibTmux::X::Unloaded::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Unloaded::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::details","qualifiedName":"LibTmux::X::Unloaded::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Unloaded::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::dispatched","qualifiedName":"LibTmux::X::Unloaded::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Unloaded::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::entity","qualifiedName":"LibTmux::X::Unloaded::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Unloaded::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::expected","qualifiedName":"LibTmux::X::Unloaded::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Unloaded::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::matched_ids","qualifiedName":"LibTmux::X::Unloaded::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Unloaded::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::message","qualifiedName":"LibTmux::X::Unloaded::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Unloaded::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::new","qualifiedName":"LibTmux::X::Unloaded::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Unloaded::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::path","qualifiedName":"LibTmux::X::Unloaded::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Unloaded::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::received","qualifiedName":"LibTmux::X::Unloaded::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Unloaded::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::result","qualifiedName":"LibTmux::X::Unloaded::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Unloaded::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Unloaded","product":"core","publicId":"LibTmux::X::Unloaded::throw","qualifiedName":"LibTmux::X::Unloaded::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unloaded-throw"},{"apiScope":"exported","doc":{"summary":"A daemon or execution capability is unavailable."},"extends":["LibTmux::X"],"id":"LibTmux::X::Unsupported","kind":"exception","modifiers":[],"name":"Unsupported","package":"LibTmux","product":"core","publicId":"LibTmux::X::Unsupported","qualifiedName":"LibTmux::X::Unsupported","signatures":[{"params":[],"raw":"package LibTmux::X::Unsupported;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":35,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::Unsupported::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::count","qualifiedName":"LibTmux::X::Unsupported::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::Unsupported::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::details","qualifiedName":"LibTmux::X::Unsupported::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::Unsupported::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::dispatched","qualifiedName":"LibTmux::X::Unsupported::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::Unsupported::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::entity","qualifiedName":"LibTmux::X::Unsupported::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::Unsupported::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::expected","qualifiedName":"LibTmux::X::Unsupported::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::Unsupported::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::matched_ids","qualifiedName":"LibTmux::X::Unsupported::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::Unsupported::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::message","qualifiedName":"LibTmux::X::Unsupported::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::Unsupported::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::new","qualifiedName":"LibTmux::X::Unsupported::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::Unsupported::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::path","qualifiedName":"LibTmux::X::Unsupported::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::Unsupported::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::received","qualifiedName":"LibTmux::X::Unsupported::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::Unsupported::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::result","qualifiedName":"LibTmux::X::Unsupported::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::Unsupported::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::Unsupported","product":"core","publicId":"LibTmux::X::Unsupported::throw","qualifiedName":"LibTmux::X::Unsupported::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupported-throw"},{"apiScope":"exported","doc":{"summary":"A local value has no supported portable wire representation."},"extends":["LibTmux::X"],"id":"LibTmux::X::UnsupportedValue","kind":"exception","modifiers":[],"name":"UnsupportedValue","package":"LibTmux","product":"core","publicId":"LibTmux::X::UnsupportedValue","qualifiedName":"LibTmux::X::UnsupportedValue","signatures":[{"params":[],"raw":"package LibTmux::X::UnsupportedValue;"}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":33,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::UnsupportedValue::count","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::count","qualifiedName":"LibTmux::X::UnsupportedValue::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::UnsupportedValue::details","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::details","qualifiedName":"LibTmux::X::UnsupportedValue::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::UnsupportedValue::dispatched","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::dispatched","qualifiedName":"LibTmux::X::UnsupportedValue::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::UnsupportedValue::entity","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::entity","qualifiedName":"LibTmux::X::UnsupportedValue::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::UnsupportedValue::expected","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::expected","qualifiedName":"LibTmux::X::UnsupportedValue::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::UnsupportedValue::matched_ids","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::matched_ids","qualifiedName":"LibTmux::X::UnsupportedValue::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::UnsupportedValue::message","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::message","qualifiedName":"LibTmux::X::UnsupportedValue::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::UnsupportedValue::new","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::new","qualifiedName":"LibTmux::X::UnsupportedValue::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::UnsupportedValue::path","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::path","qualifiedName":"LibTmux::X::UnsupportedValue::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::UnsupportedValue::received","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::received","qualifiedName":"LibTmux::X::UnsupportedValue::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::UnsupportedValue::result","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::result","qualifiedName":"LibTmux::X::UnsupportedValue::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::UnsupportedValue::throw","inheritedFrom":"LibTmux::X","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X::UnsupportedValue","product":"core","publicId":"LibTmux::X::UnsupportedValue::throw","qualifiedName":"LibTmux::X::UnsupportedValue::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-unsupportedvalue-throw"},{"apiScope":"exported","doc":{"summary":"Return the observed cardinality lower bound where applicable."},"id":"LibTmux::X::count","kind":"method","modifiers":[],"name":"count","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::count","qualifiedName":"LibTmux::X::count","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4}],"params":[],"raw":"sub count($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":16,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-count"},{"apiScope":"exported","doc":{"summary":"Return a fresh shallow hashref of diagnostic fields. Causes and entity handles retain their identity."},"id":"LibTmux::X::details","kind":"method","modifiers":[],"name":"details","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::details","qualifiedName":"LibTmux::X::details","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub details($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":19,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-details"},{"apiScope":"exported","doc":{"summary":"Return whether the request was submitted where known; undef means no dispatch evidence was recorded. This never proves rollback."},"id":"LibTmux::X::dispatched","kind":"method","modifiers":[],"name":"dispatched","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::dispatched","qualifiedName":"LibTmux::X::dispatched","signatures":[{"methodKind":"call","nativeSyntax":[{"end":14,"kind":"name","start":4}],"params":[],"raw":"sub dispatched($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":18,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-dispatched"},{"apiScope":"exported","doc":{"summary":"Return the entity kind, or undef when inapplicable."},"id":"LibTmux::X::entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::entity","qualifiedName":"LibTmux::X::entity","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub entity($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":12,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-entity"},{"apiScope":"exported","doc":{"summary":"Return the expected operand description, or undef."},"id":"LibTmux::X::expected","kind":"method","modifiers":[],"name":"expected","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::expected","qualifiedName":"LibTmux::X::expected","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub expected($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":13,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-expected"},{"apiScope":"exported","doc":{"summary":"Return a fresh arrayref of observed matching IDs, including duplicate occurrences."},"id":"LibTmux::X::matched_ids","kind":"method","modifiers":[],"name":"matched_ids","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::matched_ids","qualifiedName":"LibTmux::X::matched_ids","signatures":[{"methodKind":"call","nativeSyntax":[{"end":15,"kind":"name","start":4}],"params":[],"raw":"sub matched_ids($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":15,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-matched_ids"},{"apiScope":"exported","doc":{"summary":"Return the human-readable failure description."},"id":"LibTmux::X::message","kind":"method","modifiers":[],"name":"message","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::message","qualifiedName":"LibTmux::X::message","signatures":[{"methodKind":"call","nativeSyntax":[{"end":11,"kind":"name","start":4}],"params":[],"raw":"sub message($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":10,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-message"},{"apiScope":"exported","doc":{"summary":"`new(%details)` constructs an exception object without throwing or I/O."},"id":"LibTmux::X::new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::new","qualifiedName":"LibTmux::X::new","signatures":[{"methodKind":"constructor","nativeSyntax":[{"end":7,"kind":"name","start":4},{"end":24,"kind":"parameter","parameter":0,"start":16}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub new($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":8,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-new"},{"apiScope":"exported","doc":{"summary":"Return the criterion or argument path, or undef when inapplicable."},"id":"LibTmux::X::path","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::path","qualifiedName":"LibTmux::X::path","signatures":[{"methodKind":"call","nativeSyntax":[{"end":8,"kind":"name","start":4}],"params":[],"raw":"sub path($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":11,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-path"},{"apiScope":"exported","doc":{"summary":"Return the received operand description, or undef."},"id":"LibTmux::X::received","kind":"method","modifiers":[],"name":"received","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::received","qualifiedName":"LibTmux::X::received","signatures":[{"methodKind":"call","nativeSyntax":[{"end":12,"kind":"name","start":4}],"params":[],"raw":"sub received($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":14,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-received"},{"apiScope":"exported","doc":{"summary":"Return a completed or bounded partial :obj:`LibTmux::CommandResult `, or undef before process dispatch."},"id":"LibTmux::X::result","kind":"method","modifiers":[],"name":"result","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::result","qualifiedName":"LibTmux::X::result","signatures":[{"methodKind":"call","nativeSyntax":[{"end":10,"kind":"name","start":4}],"params":[],"raw":"sub result($self)","receiver":{"name":"self"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":17,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-result"},{"apiScope":"exported","doc":{"summary":"`throw(%details)` throws one exception object of the receiving class."},"id":"LibTmux::X::throw","kind":"method","modifiers":[],"name":"throw","package":"LibTmux","parent":"LibTmux::X","product":"core","publicId":"LibTmux::X::throw","qualifiedName":"LibTmux::X::throw","signatures":[{"methodKind":"call","nativeSyntax":[{"end":9,"kind":"name","start":4},{"end":26,"kind":"parameter","parameter":0,"start":18}],"params":[{"name":"details","variadic":"keyword"}],"raw":"sub throw($class, %details)","receiver":{"name":"class"}}],"source":{"extractedRevision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","file":"packages/core/lib/LibTmux/X.pm","line":9,"repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69"},"slug":"libtmux-x-throw"}]} diff --git a/site/src/data/api/perl.paths.json b/site/src/data/api/perl.paths.json index 714182aa9..cea623b95 100644 --- a/site/src/data/api/perl.paths.json +++ b/site/src/data/api/perl.paths.json @@ -1 +1 @@ -{"port":"perl","repo":"libtmux/libtmux-perl","revision":"d9fa7c5278d243c671a29cdb00e3a911ac651bfa","paths":[".github/CONTRIBUTING.md",".github/PERL.md",".github/WRITING.md",".github/dependabot.yml",".github/repository.json",".github/social-preview.png",".github/workflows/docs.yml",".github/workflows/scaffold.yml",".gitignore",".perltidyrc",".tool-versions","AGENTS.md","CLAUDE.md","LICENSE","Makefile","README.md","conformance/where-v1.json","cpanfile","docs/architecture.md","docs/assets/app-icon-1024-dark.png","docs/assets/app-icon-1024-light.png","docs/assets/apple-touch-icon-dark.png","docs/assets/apple-touch-icon-light.png","docs/assets/browserconfig-dark.xml","docs/assets/browserconfig.xml","docs/assets/favicon.ico","docs/assets/logo-1024.png","docs/assets/logo-128.png","docs/assets/logo-144.png","docs/assets/logo-152.png","docs/assets/logo-16.png","docs/assets/logo-167.png","docs/assets/logo-180.png","docs/assets/logo-192.png","docs/assets/logo-24.png","docs/assets/logo-256.png","docs/assets/logo-32.png","docs/assets/logo-384.png","docs/assets/logo-48.png","docs/assets/logo-512.png","docs/assets/logo-64.png","docs/assets/logo-96.png","docs/assets/logo.svg","docs/assets/maskable-192-dark.png","docs/assets/maskable-192-light.png","docs/assets/maskable-512-dark.png","docs/assets/maskable-512-light.png","docs/assets/mstile-150-dark.png","docs/assets/mstile-150-light.png","docs/assets/mstile-310-dark.png","docs/assets/mstile-310-light.png","docs/assets/opengraph-dark.jpg","docs/assets/opengraph-dark.png","docs/assets/opengraph-light.jpg","docs/assets/opengraph-light.png","docs/assets/safari-pinned-tab.svg","docs/assets/site-dark.webmanifest","docs/assets/site.webmanifest","docs/assets/social-square-dark.png","docs/assets/social-square-light.png","docs/assets/source.json","docs/assets/twitter-dark.png","docs/assets/twitter-light.png","docs/async.md","docs/behavior-inventory.json","docs/branding.md","docs/compatibility.md","docs/dev/adr/0001-core-async-workspace-architecture.md","docs/dev/adr/0002-reversible-native-getters.md","docs/dev/adr/0003-query-verification-diagnostics.md","docs/dev/adr/0004-atomic-async-child-exit.md","docs/dev/adr/0005-supervisor-signal-readiness.md","docs/dev/adr/index.md","docs/errors.md","docs/fields.md","docs/filtering.md","docs/graph.md","docs/installation.md","docs/orchestration.md","docs/python-behavior-inventory.json","docs/query-planning.md","docs/workspace.md","examples/README.md","examples/async-lifecycle.pl","examples/async.pl","examples/await.pl","examples/quickstart.pl","examples/selection.pl","examples/workspace.pl","packages/async/LICENSE","packages/async/MANIFEST.SKIP","packages/async/Makefile.PL","packages/async/README.md","packages/async/assets/logo.png","packages/async/assets/logo.svg","packages/async/assets/source.json","packages/async/cpanfile","packages/async/lib/LibTmux/Async.pm","packages/async/lib/LibTmux/Async/Server.pm","packages/async/lib/LibTmux/Async/Transport.pm","packages/async/lib/LibTmux/Async/X.pm","packages/async/t/integration/daemon-exit.t","packages/async/t/integration/parent-loss.t","packages/async/t/integration/tmux.t","packages/async/t/unit/server.t","packages/async/t/unit/signals.t","packages/async/t/unit/transport.t","packages/core/LICENSE","packages/core/MANIFEST.SKIP","packages/core/Makefile.PL","packages/core/README.md","packages/core/assets/logo.png","packages/core/assets/logo.svg","packages/core/assets/source.json","packages/core/cpanfile","packages/core/lib/LibTmux.pm","packages/core/lib/LibTmux/Client.pm","packages/core/lib/LibTmux/ClientSelection.pm","packages/core/lib/LibTmux/Codec.pm","packages/core/lib/LibTmux/CommandResult.pm","packages/core/lib/LibTmux/Entity.pm","packages/core/lib/LibTmux/Filter.pm","packages/core/lib/LibTmux/Operation.pm","packages/core/lib/LibTmux/Pane.pm","packages/core/lib/LibTmux/PaneSelection.pm","packages/core/lib/LibTmux/Platform/Linux.pm","packages/core/lib/LibTmux/ProcessJob.pm","packages/core/lib/LibTmux/QueryPlan.pm","packages/core/lib/LibTmux/Schema.pm","packages/core/lib/LibTmux/Selection.pm","packages/core/lib/LibTmux/Selection/Iterator.pm","packages/core/lib/LibTmux/Server.pm","packages/core/lib/LibTmux/Session.pm","packages/core/lib/LibTmux/SessionSelection.pm","packages/core/lib/LibTmux/Snapshot.pm","packages/core/lib/LibTmux/Transport.pm","packages/core/lib/LibTmux/Window.pm","packages/core/lib/LibTmux/WindowLink.pm","packages/core/lib/LibTmux/WindowLinkSelection.pm","packages/core/lib/LibTmux/WindowSelection.pm","packages/core/lib/LibTmux/X.pm","packages/core/lib/LibTmux/schema.json","packages/core/t/integration/codec.t","packages/core/t/integration/descriptors.t","packages/core/t/integration/fixture.t","packages/core/t/integration/getters.t","packages/core/t/integration/input-client.t","packages/core/t/integration/lifecycle.t","packages/core/t/integration/operands.t","packages/core/t/integration/operations.t","packages/core/t/integration/query-planning.t","packages/core/t/integration/tmux.t","packages/core/t/unit/availability.t","packages/core/t/unit/codec.t","packages/core/t/unit/descriptors.t","packages/core/t/unit/operation.t","packages/core/t/unit/query-verification.t","packages/core/t/unit/selection.t","packages/core/t/unit/server.t","packages/core/t/unit/transport.t","packages/workspace/LICENSE","packages/workspace/MANIFEST.SKIP","packages/workspace/Makefile.PL","packages/workspace/README.md","packages/workspace/assets/logo.png","packages/workspace/assets/logo.svg","packages/workspace/assets/source.json","packages/workspace/bin/libtmux-workspace","packages/workspace/cpanfile","packages/workspace/lib/LibTmux/Workspace.pm","packages/workspace/lib/LibTmux/Workspace/X.pm","packages/workspace/t/integration/creation-failure.t","packages/workspace/t/integration/generation.t","packages/workspace/t/integration/load.t","packages/workspace/t/unit/cleanup.t","packages/workspace/t/unit/config.t","scripts/async-wakeup/inject.c","scripts/async-wakeup/observe.pl","scripts/benchmark.pl","scripts/check-artifacts.pl","scripts/check-async-wakeup.py","scripts/check-pod.pl","scripts/check-snippets.pl","scripts/check-supervisor-wakeup.py","scripts/compatibility.py","scripts/conformance-reference.json","scripts/conformance.py","scripts/count-tmux-process.py","scripts/dependency-profile.pl","scripts/evidence.py","scripts/export-api.pl","scripts/filter-fixtures.pl","scripts/format.pl","scripts/generate.pl","scripts/installed-consumer.pl","scripts/inventory.py","scripts/lib/LibTmuxDev.pm","scripts/lib/LibTmuxFixture.pm","scripts/provision-consumer.py","scripts/pty-client.py","scripts/run-examples.pl","scripts/supervisor-wakeup/inject.c","scripts/supervisor-wakeup/observe.pl","scripts/tmux-lock.json","scripts/with-subreaper.py"]} +{"port":"perl","repo":"libtmux/libtmux-perl","revision":"a1cab0324b600a5df6e34b92590b5c3bd8f79c69","paths":[".github/CONTRIBUTING.md",".github/PERL.md",".github/RELEASE.md",".github/WRITING.md",".github/dependabot.yml",".github/repository.json",".github/social-preview.png",".github/workflows/docs.yml",".github/workflows/release.yml",".github/workflows/scaffold.yml",".gitignore",".perltidyrc",".tool-versions","AGENTS.md","CLAUDE.md","LICENSE","Makefile","README.md","conformance/where-v1.json","cpanfile","docs/architecture.md","docs/assets/app-icon-1024-dark.png","docs/assets/app-icon-1024-light.png","docs/assets/apple-touch-icon-dark.png","docs/assets/apple-touch-icon-light.png","docs/assets/browserconfig-dark.xml","docs/assets/browserconfig.xml","docs/assets/favicon.ico","docs/assets/logo-1024.png","docs/assets/logo-128.png","docs/assets/logo-144.png","docs/assets/logo-152.png","docs/assets/logo-16.png","docs/assets/logo-167.png","docs/assets/logo-180.png","docs/assets/logo-192.png","docs/assets/logo-24.png","docs/assets/logo-256.png","docs/assets/logo-32.png","docs/assets/logo-384.png","docs/assets/logo-48.png","docs/assets/logo-512.png","docs/assets/logo-64.png","docs/assets/logo-96.png","docs/assets/logo.svg","docs/assets/maskable-192-dark.png","docs/assets/maskable-192-light.png","docs/assets/maskable-512-dark.png","docs/assets/maskable-512-light.png","docs/assets/mstile-150-dark.png","docs/assets/mstile-150-light.png","docs/assets/mstile-310-dark.png","docs/assets/mstile-310-light.png","docs/assets/opengraph-dark.jpg","docs/assets/opengraph-dark.png","docs/assets/opengraph-light.jpg","docs/assets/opengraph-light.png","docs/assets/safari-pinned-tab.svg","docs/assets/site-dark.webmanifest","docs/assets/site.webmanifest","docs/assets/social-square-dark.png","docs/assets/social-square-light.png","docs/assets/source.json","docs/assets/twitter-dark.png","docs/assets/twitter-light.png","docs/async.md","docs/behavior-inventory.json","docs/branding.md","docs/compatibility.md","docs/dev/adr/0001-core-async-workspace-architecture.md","docs/dev/adr/0002-reversible-native-getters.md","docs/dev/adr/0003-query-verification-diagnostics.md","docs/dev/adr/0004-atomic-async-child-exit.md","docs/dev/adr/0005-supervisor-signal-readiness.md","docs/dev/adr/index.md","docs/errors.md","docs/fields.md","docs/filtering.md","docs/graph.md","docs/installation.md","docs/orchestration.md","docs/python-behavior-inventory.json","docs/query-planning.md","docs/workspace.md","examples/README.md","examples/async-lifecycle.pl","examples/async.pl","examples/await.pl","examples/quickstart.pl","examples/selection.pl","examples/workspace.pl","packages/async/Changes","packages/async/LICENSE","packages/async/MANIFEST.SKIP","packages/async/Makefile.PL","packages/async/README.md","packages/async/assets/logo.png","packages/async/assets/logo.svg","packages/async/assets/source.json","packages/async/cpanfile","packages/async/examples/concurrent.pl","packages/async/lib/LibTmux/Async.pm","packages/async/lib/LibTmux/Async/Server.pm","packages/async/lib/LibTmux/Async/Transport.pm","packages/async/lib/LibTmux/Async/X.pm","packages/async/t/integration/daemon-exit.t","packages/async/t/integration/parent-loss.t","packages/async/t/integration/tmux.t","packages/async/t/unit/server.t","packages/async/t/unit/signals.t","packages/async/t/unit/transport.t","packages/core/Changes","packages/core/LICENSE","packages/core/MANIFEST.SKIP","packages/core/Makefile.PL","packages/core/README.md","packages/core/assets/logo.png","packages/core/assets/logo.svg","packages/core/assets/source.json","packages/core/cpanfile","packages/core/examples/filters.pl","packages/core/examples/quickstart.pl","packages/core/examples/workflow.pl","packages/core/lib/LibTmux.pm","packages/core/lib/LibTmux/Client.pm","packages/core/lib/LibTmux/ClientSelection.pm","packages/core/lib/LibTmux/Codec.pm","packages/core/lib/LibTmux/CommandResult.pm","packages/core/lib/LibTmux/Entity.pm","packages/core/lib/LibTmux/Filter.pm","packages/core/lib/LibTmux/Operation.pm","packages/core/lib/LibTmux/Pane.pm","packages/core/lib/LibTmux/PaneSelection.pm","packages/core/lib/LibTmux/Platform/Linux.pm","packages/core/lib/LibTmux/ProcessJob.pm","packages/core/lib/LibTmux/QueryPlan.pm","packages/core/lib/LibTmux/Schema.pm","packages/core/lib/LibTmux/Selection.pm","packages/core/lib/LibTmux/Selection/Iterator.pm","packages/core/lib/LibTmux/Server.pm","packages/core/lib/LibTmux/Session.pm","packages/core/lib/LibTmux/SessionSelection.pm","packages/core/lib/LibTmux/Snapshot.pm","packages/core/lib/LibTmux/Transport.pm","packages/core/lib/LibTmux/Window.pm","packages/core/lib/LibTmux/WindowLink.pm","packages/core/lib/LibTmux/WindowLinkSelection.pm","packages/core/lib/LibTmux/WindowSelection.pm","packages/core/lib/LibTmux/X.pm","packages/core/lib/LibTmux/schema.json","packages/core/t/integration/codec.t","packages/core/t/integration/descriptors.t","packages/core/t/integration/fixture.t","packages/core/t/integration/getters.t","packages/core/t/integration/input-client.t","packages/core/t/integration/lifecycle.t","packages/core/t/integration/operands.t","packages/core/t/integration/operations.t","packages/core/t/integration/query-planning.t","packages/core/t/integration/tmux.t","packages/core/t/unit/availability.t","packages/core/t/unit/codec.t","packages/core/t/unit/descriptors.t","packages/core/t/unit/operation.t","packages/core/t/unit/query-verification.t","packages/core/t/unit/selection.t","packages/core/t/unit/server.t","packages/core/t/unit/transport.t","packages/workspace/Changes","packages/workspace/LICENSE","packages/workspace/MANIFEST.SKIP","packages/workspace/Makefile.PL","packages/workspace/README.md","packages/workspace/assets/logo.png","packages/workspace/assets/logo.svg","packages/workspace/assets/source.json","packages/workspace/bin/libtmux-workspace","packages/workspace/cpanfile","packages/workspace/examples/load.pl","packages/workspace/examples/workspace.json","packages/workspace/lib/LibTmux/Workspace.pm","packages/workspace/lib/LibTmux/Workspace/X.pm","packages/workspace/t/integration/creation-failure.t","packages/workspace/t/integration/generation.t","packages/workspace/t/integration/load.t","packages/workspace/t/unit/cleanup.t","packages/workspace/t/unit/config.t","scripts/async-wakeup/inject.c","scripts/async-wakeup/observe.pl","scripts/benchmark.pl","scripts/check-artifacts.pl","scripts/check-async-wakeup.py","scripts/check-pod.pl","scripts/check-snippets.pl","scripts/check-supervisor-wakeup.py","scripts/compatibility.py","scripts/conformance-reference.json","scripts/conformance.py","scripts/count-tmux-process.py","scripts/dependency-profile.pl","scripts/evidence.py","scripts/export-api.pl","scripts/filter-fixtures.pl","scripts/format.pl","scripts/generate.pl","scripts/installed-consumer.pl","scripts/inventory.py","scripts/lib/LibTmuxDev.pm","scripts/lib/LibTmuxFixture.pm","scripts/lib/LibTmuxRelease.pm","scripts/provision-consumer.py","scripts/pty-client.py","scripts/release.pl","scripts/release/t/upload.t","scripts/run-examples.pl","scripts/supervisor-wakeup/inject.c","scripts/supervisor-wakeup/observe.pl","scripts/t/release.t","scripts/tmux-lock.json","scripts/with-subreaper.py"]} diff --git a/site/src/data/example-sources.json b/site/src/data/example-sources.json index a3193d6c4..8954bcd88 100644 --- a/site/src/data/example-sources.json +++ b/site/src/data/example-sources.json @@ -217,7 +217,7 @@ }, "perl/workspace:examples/workspace.pl": { "repository": "libtmux/libtmux-perl", - "revision": "d9fa7c5278d243c671a29cdb00e3a911ac651bfa", + "revision": "a1cab0324b600a5df6e34b92590b5c3bd8f79c69", "sha256": "6f0b49432880a956960fcc19c02fe1ed0c7eeb4f57f2131e17162c4ecb65fbf3", "content": "use v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse LibTmuxFixture;\nuse LibTmux::Workspace;\nLibTmuxFixture->run(\n sub ($server, $root) {\n my $workspace = LibTmux::Workspace->new(\n config => {\n schema => 'libtmux.workspace/v1',\n sessions => [\n {\n name => 'workspace-example',\n windows => [\n {\n name => 'api',\n cwd => $root,\n layout => 'even-horizontal',\n panes => [\n {command => ['/bin/sleep', '120']},\n {\n command => ['/bin/sleep', '120'],\n horizontal => true\n },\n ],\n }\n ],\n }\n ],\n }\n );\n die 'plan mutated state' if $workspace->plan->{mutates};\n my $loaded = $workspace->load(server => $server);\n die 'load failed' unless $loaded->{status} eq 'loaded';\n die 'panes missing' unless $server->snapshot->panes->count == 2;\n die 'repeat did not skip'\n unless $workspace->load(server => $server, existing => 'skip')\n ->{skipped}->@* == 1;\n say 'workspace load and repeat: ok';\n }\n);\n" }, diff --git a/site/src/data/home-examples.json b/site/src/data/home-examples.json index a1dab6c90..766fc1b56 100644 --- a/site/src/data/home-examples.json +++ b/site/src/data/home-examples.json @@ -711,7 +711,7 @@ "code": "package LibTmuxFixture;\nuse v5.44;\nuse File::Temp qw(tempdir);\nuse File::Path qw(remove_tree);\nuse LibTmux::Server;\nuse Errno qw(ECHILD EINTR);\n\nsub _children ($pid) {\n open my $in, '<', \"/proc/$pid/task/$pid/children\" or return ();\n my $line = do { local $/; <$in> };\n close $in;\n return grep { length } split /\\s+/, $line;\n}\n\nsub _stamp ($pid) {\n open my $in, '<', \"/proc/$pid/stat\" or return undef;\n my $line = do { local $/; <$in> };\n close $in;\n return undef unless $line =~ /\\A[0-9]+ \\(.*\\) (.*)\\z/s;\n my @fields = split /\\s+/, $1;\n return $fields[19];\n}\n\nsub _tree ($pid, $owned, $order) {\n return if exists $owned->{$pid};\n my $stamp = _stamp($pid);\n return unless defined $stamp;\n $owned->{$pid} = $stamp;\n push @$order, $pid;\n _tree($_, $owned, $order) for _children($pid);\n}\n\nsub run ($class, $code, %args) {\n my %allowed = map { $_ => true } qw(executable timeout max_output env);\n die 'fixture selectors/configuration cannot be overridden'\n if grep { !$allowed{$_} } keys %args;\n my %baseline = map { $_ => true } _children($$);\n my $root = tempdir('libtmux-perl-fixture-XXXX', TMPDIR => 1, CLEANUP => 0);\n my $server = LibTmuxFixture::Server->new(\n socket_path => \"$root/s\",\n config_file => '/dev/null',\n executable => $ENV{LIBTMUX_TEST_TMUX} // 'tmux',\n timeout => 0.8,\n %args\n );\n my ($result, $failure);\n local $SIG{TERM} = sub { die 'fixture interrupted by TERM' };\n local $SIG{INT} = sub { die 'fixture interrupted by INT' };\n try { $result = $code->($server, $root) } catch ($error) {\n $failure = $error\n }\n my $cleanup_error;\n {\n local $SIG{TERM} = 'IGNORE';\n local $SIG{INT} = 'IGNORE';\n try {\n my (%owned, @order);\n my $pid = $server->{fixture_pid};\n if (!$pid && -S \"$root/s\") {\n try {\n $pid = 0 +\n $server->cmd('display-message', '-p', '#{pid}')->stdout\n }\n catch ($error) {\n die $error\n unless ref($error)\n && $error->isa('LibTmux::X::NoServer')\n }\n }\n _tree($pid, \\%owned, \\@order) if $pid;\n if (-S \"$root/s\") {\n try { $server->kill_server }\n catch ($error) {\n die $error\n unless ref($error)\n && $error->isa('LibTmux::X::NoServer')\n }\n }\n\n # This author fixture runs in an isolated test process. Preserve children\n # that existed before its scope, including nested/borrowed fixtures.\n _tree($_, \\%owned, \\@order)\n for grep { !$baseline{$_} } _children($$);\n for my $child (@order) {\n my $stamp = _stamp($child);\n kill 'KILL', $child\n if defined($stamp) && $stamp eq $owned{$child};\n }\n local $SIG{ALRM} = sub { die 'owned fixture child did not exit' };\n alarm 1;\n for my $child (@order) {\n my $waited;\n do { $waited = waitpid($child, 0) }\n while ($waited < 0 && $! == EINTR);\n my $wait_error = 0 + $!;\n my $stamp = _stamp($child);\n die 'owned fixture process remained after teardown'\n if defined($stamp) && $stamp eq $owned{$child};\n die 'fixture child exit was not observed'\n if $waited < 0 && $wait_error != ECHILD;\n }\n alarm 0;\n }\n catch ($error) { alarm 0; $cleanup_error = $error }\n }\n remove_tree($root);\n if (defined $failure) {\n if (ref($failure) && $failure isa LibTmux::X::Creation) {\n my $cause = $failure->cause;\n warn \"fixture acquisition cause: $cause\\n\" if defined $cause;\n }\n warn \"fixture cleanup also failed: $cleanup_error\"\n if defined $cleanup_error;\n die $failure;\n }\n die $cleanup_error if defined $cleanup_error;\n return $result;\n}\n\npackage LibTmuxFixture::Server;\nuse parent 'LibTmux::Server';\n\nsub new_session ($self, %args) {\n my $session = $self->SUPER::new_session(%args);\n $self->{fixture_pid} =\n 0 + $self->cmd('display-message', '-p', '#{pid}')->stdout\n unless $self->{fixture_pid};\n return $session;\n}\n1;\n" } ], - "prerequisites": "Linux x86_64 LP64, Perl 5.44.0, tmux 3.3a or newer, and the LibTmux core distribution installed from source. Save both files with the displayed directories. No CPAN release is claimed.", + "prerequisites": "Linux x86_64 LP64, Perl 5.44.0, tmux 3.3a or newer, and the LibTmux core distribution installed from source. Save both files with the displayed directories.", "commands": [ "perl examples/quickstart.pl" ], diff --git a/site/src/data/manifest-packages.json b/site/src/data/manifest-packages.json index 51e755cbe..31d352134 100644 --- a/site/src/data/manifest-packages.json +++ b/site/src/data/manifest-packages.json @@ -951,28 +951,28 @@ }, "perl": { "repo": "libtmux/libtmux-perl", - "revision": "d9fa7c5278d243c671a29cdb00e3a911ac651bfa", + "revision": "a1cab0324b600a5df6e34b92590b5c3bd8f79c69", "distributions": [ { "name": "LibTmux", - "version": "0.001_001", + "version": "0.003", "manifest": "packages/core/Makefile.PL", "repo": "libtmux/libtmux-perl", - "revision": "d9fa7c5278d243c671a29cdb00e3a911ac651bfa" + "revision": "a1cab0324b600a5df6e34b92590b5c3bd8f79c69" }, { "name": "LibTmux-Async", - "version": "0.001_001", + "version": "0.003", "manifest": "packages/async/Makefile.PL", "repo": "libtmux/libtmux-perl", - "revision": "d9fa7c5278d243c671a29cdb00e3a911ac651bfa" + "revision": "a1cab0324b600a5df6e34b92590b5c3bd8f79c69" }, { "name": "LibTmux-Workspace", - "version": "0.001_001", + "version": "0.003", "manifest": "packages/workspace/Makefile.PL", "repo": "libtmux/libtmux-perl", - "revision": "d9fa7c5278d243c671a29cdb00e3a911ac651bfa" + "revision": "a1cab0324b600a5df6e34b92590b5c3bd8f79c69" } ], "units": [ diff --git a/site/src/data/mentions.json b/site/src/data/mentions.json index 90f676595..67ccf9c14 100644 --- a/site/src/data/mentions.json +++ b/site/src/data/mentions.json @@ -12481,6 +12481,13 @@ "title": "Filtering", "section": "guides" }, + { + "port": "perl", + "symbol": "LibTmux::Filter", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Pane::cursor_shape", @@ -12490,25 +12497,32 @@ }, { "port": "perl", - "symbol": "LibTmux::Selection::exists", - "page": "/perl/latest/guides/filtering/", - "title": "Filtering", + "symbol": "LibTmux::Selection", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", "section": "guides" }, { "port": "perl", - "symbol": "LibTmux::Selection::first", + "symbol": "LibTmux::Selection::exists", "page": "/perl/latest/guides/filtering/", "title": "Filtering", "section": "guides" }, { "port": "perl", - "symbol": "LibTmux::Selection::grep", + "symbol": "LibTmux::Selection::first", "page": "/perl/latest/examples/programs/", "title": "Runnable programs", "section": "examples" }, + { + "port": "perl", + "symbol": "LibTmux::Selection::first", + "page": "/perl/latest/guides/filtering/", + "title": "Filtering", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Selection::grep", @@ -12516,6 +12530,13 @@ "title": "Filtering", "section": "guides" }, + { + "port": "perl", + "symbol": "LibTmux::Selection::grep", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Selection::iterator", @@ -12530,6 +12551,20 @@ "title": "Snapshot graph and identity", "section": "concepts" }, + { + "port": "perl", + "symbol": "LibTmux::Selection::one", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, + { + "port": "perl", + "symbol": "LibTmux::Selection::one_or_undef", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Selection::one_or_undef", @@ -12546,10 +12581,10 @@ }, { "port": "perl", - "symbol": "LibTmux::Selection::where", - "page": "/perl/latest/examples/programs/", - "title": "Runnable programs", - "section": "examples" + "symbol": "LibTmux::Selection::to_array", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" }, { "port": "perl", @@ -12558,12 +12593,19 @@ "title": "Filtering", "section": "guides" }, + { + "port": "perl", + "symbol": "LibTmux::Selection::where", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Server", - "page": "/perl/latest/examples/orchestration/", - "title": "Create sessions, windows, and panes", - "section": "examples" + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" }, { "port": "perl", @@ -12586,6 +12628,13 @@ "title": "Create sessions, windows, and panes", "section": "examples" }, + { + "port": "perl", + "symbol": "LibTmux::Server::capture_pane", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Server::cmd", @@ -12621,6 +12670,27 @@ "title": "Snapshot graph and identity", "section": "concepts" }, + { + "port": "perl", + "symbol": "LibTmux::Server::new_session", + "page": "/perl/latest/examples/orchestration/", + "title": "Create sessions, windows, and panes", + "section": "examples" + }, + { + "port": "perl", + "symbol": "LibTmux::Server::new_session", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, + { + "port": "perl", + "symbol": "LibTmux::Server::new_session", + "page": "/perl/latest/guides/installation/", + "title": "Installation", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Server::query_panes", @@ -12635,6 +12705,13 @@ "title": "Create sessions, windows, and panes", "section": "examples" }, + { + "port": "perl", + "symbol": "LibTmux::Server::send_keys", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Server::send_text", @@ -12642,6 +12719,13 @@ "title": "Create sessions, windows, and panes", "section": "examples" }, + { + "port": "perl", + "symbol": "LibTmux::Server::send_text", + "page": "/perl/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Server::set_option", @@ -12649,6 +12733,20 @@ "title": "Create sessions, windows, and panes", "section": "examples" }, + { + "port": "perl", + "symbol": "LibTmux::Server::snapshot", + "page": "/perl/latest/examples/orchestration/", + "title": "Create sessions, windows, and panes", + "section": "examples" + }, + { + "port": "perl", + "symbol": "LibTmux::Server::snapshot", + "page": "/perl/latest/guides/installation/", + "title": "Installation", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::Server::unset_option", @@ -12719,6 +12817,13 @@ "title": "Live query planning", "section": "topics" }, + { + "port": "perl", + "symbol": "LibTmux::X::expected", + "page": "/perl/latest/topics/errors/", + "title": "Errors and recovery", + "section": "topics" + }, { "port": "perl", "symbol": "LibTmux::X::InvalidSelection", @@ -12726,6 +12831,13 @@ "title": "Snapshot graph and identity", "section": "concepts" }, + { + "port": "perl", + "symbol": "LibTmux::X::NoServer", + "page": "/perl/latest/guides/installation/", + "title": "Installation", + "section": "guides" + }, { "port": "perl", "symbol": "LibTmux::X::QueryMismatch", @@ -19371,6 +19483,34 @@ "line": 33, "why": "not defined in the stated port" }, + { + "port": "perl", + "text": "libtmux.where/v1", + "page": "/perl/latest/guides/getting-started/", + "line": 187, + "why": "not defined in the stated port" + }, + { + "port": "perl", + "text": "Changes", + "page": "/perl/latest/guides/getting-started/", + "line": 218, + "why": "not defined in the stated port" + }, + { + "port": "perl", + "text": "Changes", + "page": "/perl/latest/guides/installation/", + "line": 59, + "why": "not defined in the stated port" + }, + { + "port": "perl", + "text": "pane.where.width.-gte", + "page": "/perl/latest/topics/errors/", + "line": 84, + "why": "not defined in the stated port" + }, { "port": "ruby", "text": "Enumerable", diff --git a/site/src/data/port-guides/perl.json b/site/src/data/port-guides/perl.json index 3a9d31f42..7ad21520b 100644 --- a/site/src/data/port-guides/perl.json +++ b/site/src/data/port-guides/perl.json @@ -1,32 +1,32 @@ { "source": { "repository": "libtmux/libtmux-perl", - "revision": "d9fa7c5278d243c671a29cdb00e3a911ac651bfa" + "revision": "a1cab0324b600a5df6e34b92590b5c3bd8f79c69" }, "guides": [ { "path": "README.md", - "content": "\n
\n \n \n \"libtmux\n \n
\n\n\n
\n\n# libtmux for Perl\n\n
\n\nControl tmux with explicit commands, captured graphs, and ordinary Perl arrays.\nTargets stable Perl 5.44.0 and Linux x86_64 LP64, including WSL. These development\ndistributions are not published on CPAN.\n\n[Documentation](https://libtmux.org/en/perl/latest/) ·\n[API reference](https://libtmux.org/en/perl/latest/reference/) ·\n[Run the examples](examples/README.md)\n\n```perl\nuse v5.44;\nuse LibTmux::Server;\n\nmy $server = LibTmux::Server->new(socket_name => 'example');\nmy $snapshot = $server->snapshot; # Explicit I/O; server must already exist.\nmy $active = $snapshot->panes\n ->where({ active => true, width => { -gte => 80 } })\n ->grep(sub ($pane) { $pane->current_command eq 'sleep' });\n\nfor my $pane ($active->@*) {\n say $pane->id, ' ', $pane->window->name;\n}\n```\n\n| Distribution | Location | Runtime dependencies |\n| --- | --- | --- |\n| [`LibTmux`](packages/core/README.md) | [packages/core](packages/core) | Perl standard library. |\n| [`LibTmux-Async`](packages/async/README.md) | [packages/async](packages/async) | Versioned core, Future, IO::Async, IO::Async::Loop::Ppoll and IO::Ppoll; caller-owned Ppoll loop. |\n| [`LibTmux-Workspace`](packages/workspace/README.md) | [packages/workspace](packages/workspace) | Versioned core; packaged JSON loader CLI. |\n\nStart with [installation](docs/installation.md),\n[basic orchestration](docs/orchestration.md), and\n[filtering](docs/filtering.md). Read [graph identity](docs/graph.md) before\nworking with linked windows, [query planning](docs/query-planning.md) for\nexplicit native filters, [errors and recovery](docs/errors.md),\n[async execution](docs/async.md), and [workspace loading](docs/workspace.md).\nThe [architecture decisions](docs/dev/adr/index.md) explain these contracts,\ntheir alternatives, and the upstream source models behind them.\nInstalled API documentation uses native POD; for example `perldoc\nLibTmux::Server` and `perldoc LibTmux::Selection`.\n\n[Complete examples](examples/README.md) run against uniquely owned tmux sockets and\nassert results and cleanup. [Compatibility](docs/compatibility.md) records\nsupport for tmux 3.3a–3.8 and CI coverage of the range endpoints. Captured\nselections perform no tmux I/O; their methods preserve order and duplicates\nand return one fixed type in every calling context. Native array access\nremains available.\n\nMCP is excluded. Persistent control mode, streaming APIs, tmux command lists,\nserialized regexes, and relation pushdown are deferred.\n\nSee [contributing](.github/CONTRIBUTING.md) for exact checks and tool setup,\n[Perl choices](.github/PERL.md) for source-backed decisions, and\n[branding assets](docs/branding.md) for logos and social cards.\n" + "content": "\n
\n \n \n \"libtmux\n \n
\n\n\n
\n\n# libtmux for Perl\n\n
\n\nlibtmux for Perl is a tmux client library for creating sessions, arranging\nwindows, sending input, and querying captured state with ordinary Perl arrays.\nCore and workspace use the Perl standard library at runtime; the optional\nasync distribution adds Futures and a caller-owned event loop.\n\n[Quick start](#server-new_session-create-a-session-and-arrange-its-windows) ·\n[Filter panes](#selection-where-filter-with-criteria-and-perl-callbacks) ·\n[Packages](#choose-a-package) ·\n[Documentation](https://libtmux.org/en/perl/) ·\n[Guides](https://libtmux.org/en/perl/latest/guides/) ·\n[API reference](https://libtmux.org/en/perl/latest/reference/) ·\n[CPAN](https://metacpan.org/dist/LibTmux)\n\n## [`Server->new_session`][server-new-session]: create a session and arrange its windows\n\nUse Perl 5.44 and tmux 3.3a–3.8 on Linux x86_64 LP64, including WSL. With\nPerl and cpm on `PATH`, install the published core distribution from CPAN:\n\n```console\n$ cpm install \\\n --global \\\n LibTmux\n```\n\nRun the [complete program](packages/core/examples/quickstart.pl) with an explicit\nsocket path. It creates a session, splits its editor window, adds a logs\nwindow, and retains a snapshot. It removes only the session it created,\nincluding on failure; it preserves any other sessions on the selected server.\nSave the program below as `quickstart.pl`, or run the linked file from a checkout:\n\n```console\n$ perl quickstart.pl \"${TMPDIR:-/tmp}/libtmux-perl-$$.sock\"\n```\n\n\n```perl\nuse v5.44;\nuse LibTmux::Server;\n\nmy $socket = shift @ARGV // die \"Usage: $0 SOCKET_PATH [TMUX]\\n\";\nmy $server = LibTmux::Server->new(\n socket_path => $socket,\n executable => shift(@ARGV) // 'tmux',\n config_file => '/dev/null',\n);\nmy ($session, $snapshot, $failure);\ntry {\n $session = $server->new_session(\n name => 'perl-quickstart',\n command => [$^X, '-e', 'while () { print }'],\n );\n my $editor = $session->window_links->one->window;\n $server->rename_window(window => $editor, name => 'editor');\n $server->split_pane(\n pane => $editor->panes->one,\n horizontal => true,\n command => [$^X, '-e', 'while () { print }'],\n );\n $server->new_window(\n session => $session,\n name => 'logs',\n command => [$^X, '-e', 'while () { print }'],\n );\n $snapshot = $server->snapshot;\n}\ncatch ($error) {\n $failure = $error;\n $session //= $error->created if $error isa LibTmux::X::Creation;\n}\nif ($session) {\n try { $server->kill_session(session => $session) }\n catch ($cleanup) {\n warn \"session cleanup failed: $cleanup\\n\";\n $failure //= $cleanup;\n }\n}\ndie $failure if defined $failure;\n\n# The captured graph remains readable after its live session has gone.\nfor my $link ($snapshot->session_by_id($session->id)->window_links->@*) {\n my $count = $link->window->panes->count;\n say $link->window->name, ': ', $count, $count == 1 ? ' pane' : ' panes';\n}\n```\n\nThe captured graph remains readable after the live session is removed:\n\n```text\neditor: 2 panes\nlogs: 1 pane\n```\n\n[`Server`](https://libtmux.org/en/perl/latest/reference/libtmux-server/) owns\nexplicit commands. Its\n[`new_session`](https://libtmux.org/en/perl/latest/reference/libtmux-server-new_session/)\nstarts tmux when the selected socket has no server. Construction alone does no\nI/O. The example uses an empty tmux configuration and literal Perl command\narrays; it needs no editor, shell wrapper, Python, or repository fixture.\nAn existing session with the example's name is a conflict, not a cleanup target.\n\n## [`Selection->where`][selection-where]: filter with criteria and Perl callbacks\n\nContinue with the retained `$snapshot` above. A\n[`Selection`](https://libtmux.org/en/perl/latest/reference/libtmux-selection/)\nis a blessed array reference: declarative `where`, one-argument `grep`, and\nordinary `map` work together without another tmux call.\n\n\n```perl\nmy $snapshot = $server->snapshot;\nmy $panes =\n $snapshot->windows->one({name => 'editor'})\n ->panes->where({width => {-gte => 1}})\n ->grep(sub ($pane) { $pane->height > 0 });\nmy @ids = map { $_->id } $panes->@*;\nmy $active = $panes->one({active => true});\nsay 'editor panes: ', scalar @ids;\nsay 'active pane belongs to ', $active->window->name;\n\n```\n\n`one` throws on zero or multiple occurrences. `one_or_undef` represents absence\nand still rejects ambiguity. `to_array` makes a fresh unblessed arrayref.\nNative array access stays mutable; library methods validate all members.\nThe [filtering guide](docs/filtering.md) covers nulls, numeric comparisons,\nsame-child quantifiers, and invalid-filter diagnostics.\n\n## [`Server->send_text`][server-send-text]: send text, capture output, and set environment\n\nThe [live workflow](packages/core/examples/workflow.pl) performs this section\nwhile its session is still open:\n\n\n```perl\n$server->send_text(\n pane => $right,\n text => 'hello from Perl',\n enter => true\n);\nmy $screen = $server->capture_pane(pane => $right, start => -100);\nsay 'captured bytes: ', length $screen;\n$server->set_environment(\n session => $session,\n name => 'PROJECT',\n value => 'api',\n);\nsay 'PROJECT=',\n $server->get_environment(session => $session, name => 'PROJECT');\n\n```\n\n[`send_text`](https://libtmux.org/en/perl/latest/reference/libtmux-server-send_text/)\nsends literal text; `send_keys` accepts tmux key names.\n[`capture_pane`](https://libtmux.org/en/perl/latest/reference/libtmux-server-capture_pane/)\nreturns current screen/history bytes. Command acceptance does not prove that a\npane application finished its work. Use an application-specific observable\ncompletion condition when that matters. See [orchestration](docs/orchestration.md).\n\n## [`LibTmux::Filter`][filter]: save a reusable filter\n\n[`Filter`](https://libtmux.org/en/perl/latest/reference/libtmux-filter/) compiles\ncriteria once and owns its normalized data. In the same workflow:\n\n\n```perl\nmy $filter = LibTmux::Filter->new(\n entity => 'pane',\n where => {active => true, width => {-gte => 1}},\n);\nmy $restored = LibTmux::Filter->from_json($filter->to_json);\nmy $selected = $panes->where($restored);\nsay 'restored filter matches: ', $selected->count;\n\n```\n\nThe `libtmux.where/v1` wire format preserves schema-selected text, numbers,\nbooleans, and nulls. Native `qr//` remains available in callbacks; serialized\nregex dialects are deferred. [Query plans](docs/query-planning.md) explain\nwhich scalar predicates can be verified by tmux.\n\n## Choose a package\n\n| Distribution | Use it for | Package and API |\n| --- | --- | --- |\n| [LibTmux](packages/core/README.md) | Commands, snapshots, graph navigation, filtering, options and environment. Perl standard library at runtime. | [CPAN](https://metacpan.org/dist/LibTmux) · [API](https://libtmux.org/en/perl/latest/reference/) · [POD](https://metacpan.org/pod/LibTmux) |\n| [LibTmux-Async](packages/async/README.md) | Concurrent Future-returning operations and explicit executor cleanup. Adds Future, IO::Async, IO::Async::Loop::Ppoll and IO::Ppoll. | [CPAN](https://metacpan.org/dist/LibTmux-Async) · [API](https://libtmux.org/en/perl/latest/reference/libtmux-async-server/) · [POD](https://metacpan.org/pod/LibTmux::Async) |\n| [LibTmux-Workspace](packages/workspace/README.md) | Validate, plan, and load JSON workspaces with a library or CLI. Uses core and the Perl standard library. | [CPAN](https://metacpan.org/dist/LibTmux-Workspace) · [API](https://libtmux.org/en/perl/latest/workspace/reference/libtmux-workspace/) · [POD](https://metacpan.org/pod/LibTmux::Workspace) |\n\nEach package has its own README, license, metadata, and runnable consumer\nexamples. Async closes its executor without destroying a borrowed tmux server.\nWorkspace uses public synchronous core APIs and does not require async.\nInstall either companion by module name; its declared core dependency is\ninstalled automatically:\n\n```console\n$ cpm install \\\n --global \\\n LibTmux::Async\n```\n\n```console\n$ cpm install \\\n --global \\\n LibTmux::Workspace\n```\n\nThe `0.x` API can change between releases. Read each distribution's `Changes`\nfile before upgrading and pin versions in applications that need a fixed API.\n\n## Run the examples and read the guides\n\n[The examples index](examples/README.md) separates standalone installed-package\nprograms from repository qualification demos. The runner checks output,\ncleanup, and preservation of borrowed sessions:\n\n```console\n$ mise exec -- make examples\n```\n\nRead [installation](docs/installation.md), [orchestration](docs/orchestration.md),\n[filtering](docs/filtering.md), [graph identity](docs/graph.md),\n[query planning](docs/query-planning.md), [async execution](docs/async.md),\n[workspace loading](docs/workspace.md), and [errors and recovery](docs/errors.md).\nInstalled API documentation uses POD: `perldoc LibTmux::Server`.\n\n[Compatibility](docs/compatibility.md) covers tmux 3.3a–3.8 inclusive; CI tests\nonly Perl 5.44 and the two tmux endpoints. Persistent control,\nstreaming subscriptions, tmux command chaining, serialized regexes, and relation\npushdown are deferred. [Architecture decisions](docs/dev/adr/index.md) explain\nthe contracts and costs.\n\n[Contributing](.github/CONTRIBUTING.md) covers author setup and checks.\n[Perl choices](.github/PERL.md) records dependency decisions;\n[branding](docs/branding.md) describes the logos and social cards.\n\n[server-new-session]: https://libtmux.org/en/perl/latest/reference/libtmux-server-new_session/\n[selection-where]: https://libtmux.org/en/perl/latest/reference/libtmux-selection-where/\n[server-send-text]: https://libtmux.org/en/perl/latest/reference/libtmux-server-send_text/\n[filter]: https://libtmux.org/en/perl/latest/reference/libtmux-filter/\n" }, { "path": "docs/installation.md", - "content": "---\ntitle: Install from source\ndescription: Install from source with the Perl libtmux distributions.\n---\n\nThese distributions are unpublished. Use Perl 5.44.0 and install core before\nworkspace or optional async. Use the repository's pinned cpm author setup,\nor an existing cpm installation. From the repository root:\n\n```console\n$ cpm install \\\n --global \\\n ./packages/core\n```\n\n```console\n$ cpm install \\\n --global \\\n ./packages/workspace\n```\n\n```console\n$ cpm install \\\n --global \\\n ./packages/async\n```\n\nCore and workspace need only the Perl standard library at runtime. Async adds\nFuture, IO::Async, IO::Async::Loop::Ppoll and IO::Ppoll. Its caller supplies a\nPpoll loop; IO::Ppoll includes an XS extension. See the\n[async guide](async.md) for construction and cleanup.\nConfigure/test/develop requirements remain separate.\nTo inspect installed documentation:\n\n```console\n$ perldoc LibTmux::Server\n```\n\nThe [contributor guide](../.github/CONTRIBUTING.md) documents pinned local\nprovisioning, archive builds, and isolated installed-consumer verification.\nNo PAUSE upload, tag, or release is implied by source installation.\n" + "content": "---\ntitle: Install Perl packages\ndescription: Install the independent Perl core, async, and workspace distributions.\n---\n\nUse Perl 5.44 and tmux 3.3a–3.8 on Linux x86_64 LP64, including WSL. Install\nthe packages you need from CPAN, or use a source checkout for development.\nThe [documentation homepage](https://libtmux.org/en/perl/) links the guides\nand [API reference](https://libtmux.org/en/perl/latest/reference/).\n\n## Install from CPAN\n\nInstall [Perl](https://www.perl.org/get.html) and\n[cpm](https://github.com/skaji/cpm#installation), then keep the same interpreter\nand installation prefix for all selected packages.\n\nInstall [LibTmux](https://metacpan.org/dist/LibTmux) for commands, snapshots,\nand filtering:\n\n```console\n$ cpm install \\\n --global \\\n LibTmux\n```\n\nAdd [LibTmux-Workspace](https://metacpan.org/dist/LibTmux-Workspace) for the\nJSON library and packaged `libtmux-workspace` CLI:\n\n```console\n$ cpm install \\\n --global \\\n LibTmux::Workspace\n```\n\nAdd [LibTmux-Async](https://metacpan.org/dist/LibTmux-Async) for Future-returning\noperations:\n\n```console\n$ cpm install \\\n --global \\\n LibTmux::Async\n```\n\nThe companions declare their core dependency; the installer resolves it\nautomatically. Core and workspace use the Perl standard library at runtime.\nAsync adds Future, IO::Async, IO::Async::Loop::Ppoll, and IO::Ppoll; the latter\nincludes an XS extension and requires a C compiler. Configure and test\ndependencies are declared separately and resolved by the installer. Consumer\nprograms do not require the repository's author tools or Python. Other loop\nbackends and Linux ABIs are unsupported.\n\nThe `0.x` API can change between releases. Consult each distribution's\n`Changes` file before upgrading and pin versions in applications that need a\nfixed API.\n\n## Prepare a source checkout\n\nInstall [Perl](https://www.perl.org/get.html) and\n[cpm](https://github.com/skaji/cpm#installation). With mise installed, this\ncheckout's `.tool-versions` selects Perl 5.44.0. Clone the repository:\n\n```console\n$ git clone https://github.com/libtmux/libtmux-perl.git\n```\n\n```console\n$ cd libtmux-perl\n```\n\nIf the pinned interpreter is not installed:\n\n```console\n$ mise install\n```\n\nCheck the interpreter selected for installation and execution:\n\n```console\n$ mise exec -- perl -v\n```\n\nThe [contributor setup](../.github/CONTRIBUTING.md#environment) supplies a\nhash-verified standalone cpm installer and an isolated author environment.\nConsumer programs do not require those author tools or Python. Keep the same\nPerl interpreter and installation prefix for all selected distributions.\n\n## Install from the source checkout\n\nWith Perl 5.44 and cpm on `PATH`, install core from the repository root:\n\n```console\n$ cpm install \\\n --global \\\n ./packages/core\n```\n\nAdd workspace for the JSON library and packaged `libtmux-workspace` command:\n\n```console\n$ cpm install \\\n --global \\\n ./packages/workspace\n```\n\nAdd async for Future-returning operations:\n\n```console\n$ cpm install \\\n --global \\\n ./packages/async\n```\n\n## Run a first program\n\nThe [core quick start](../packages/core/examples/quickstart.pl) creates its own\nsession, splits a pane, adds a window, captures the graph, and removes that\nsession. It starts tmux if the explicit socket is unused:\n\n```console\n$ perl packages/core/examples/quickstart.pl \"${TMPDIR:-/tmp}/libtmux-perl-$$.sock\"\n```\n\n```text\neditor: 2 panes\nlogs: 1 pane\n```\n\nAll package examples import installed public modules. No source-tree\n`PERL5LIB`, repository fixture, Python, or syscall boilerplate is required.\nUse [the examples index](../examples/README.md) to choose filtering, concurrent\noperations, workspace loading, or the author qualification programs.\n\nInstalled API documentation uses POD:\n\n```console\n$ perldoc LibTmux::Server\n```\n\nFor a missing executable, install tmux or pass its path as the example's second\nargument. `NoServer` on `snapshot` means the selected socket has no daemon;\ncreate a session with `new_session` first. A conflicting example session name\nis an error and never grants permission to delete that existing session.\n" }, { "path": "docs/filtering.md", - "content": "---\ntitle: Filter captured selections\ndescription: Native Perl arrays, strict criteria, graph quantifiers, and wire filters.\n---\n\nUse `where({...})` for query data and `grep(sub ($pane) {...})` for arbitrary\nPerl behavior. Native `->@*`, indexing, `grep`, `map`, `sort`, and List::Util\nremain available. `to_array` returns a fresh unblessed array reference.\n\nFields select comparison semantics: text, safe decimal integers, booleans,\nnullability, allowed operators, and relation cardinality come from one catalog.\nFalse, zero, \"0\", empty text, and undef remain distinct. Integer operands are\nbounded to +/-9007199254740991; invalid numeric text never becomes zero.\n\n| Grammar | Meaning |\n| --- | --- |\n| scalar or `-eq`, `-ne` | Schema-directed equality and complement. |\n| `-in`, `-not_in` arrays | Explicit membership; empty arrays mean false/true. |\n| `-lt`, `-lte`, `-gt`, `-gte` | Authorized numeric ordering. |\n| `-contains`, `-starts_with`, `-ends_with` | Literal, case-sensitive text. |\n| `-and`, `-or` arrays; `-not` node | Complete criteria nodes. |\n| `-some`, `-every`, `-none` | To-many quantifiers over the complete captured domain. |\n| `-is`, `-is_not` | To-one criteria or explicit nullable absence. |\n\nFields/operators in a hash are conjoined. Duplicate Perl hash keys overwrite;\nuse multiple operators or explicit `-and`. Empty criteria and empty AND are\ntrue; empty OR is false. On a loaded empty relation, some is false and\nevery/none true. Conditions inside one some apply to the same child; separate\nexistentials may match different children. Unloaded relations never prove empty.\n\nFull compilation precedes evaluation, even on empty selections. Hash keys\ntraverse lexically; logical arrays preserve their order. Short-circuiting may\navoid unavailable reads once a result is known. Known-null ordering/text is\nfalse; negation reverses known results, never missing-data failures.\n\nEvaluation order affects failures as well as matches. For an inactive record\nwith unloaded width, an AND array testing `active` before `width` can return\nfalse; reversing those nodes reads width first and throws. Flattening them into\na hash instead selects lexical order. Wire serialization retains logical-array\norder; optimizers must preserve availability and error behavior. The depth-64\nand 10,000-node compilation limits do not cap membership operands or string bytes.\n\nNative arrays remain mutable. Every library method validates all N occurrences\nbefore returning even `first`, `count` or `exists`; that validation is O(N).\nPredicates may then stop early. `where` evaluates and validates its output;\n`iterator` also copies membership. Raw indexing and dereferencing retain normal\nPerl behavior. A mutable selection cannot safely cache a prior validation.\n\n`LibTmux::Filter` owns normalized criteria, supports plain records and explicit\nregistered readers, and exports JSON with schema `\"libtmux.where/v1\"`.\nWire names use camelCase and dash-free operators. Regex/coderefs/cycles/blessed\nvalues are refused at that data boundary. Native Perl `qr//` remains available\nin callbacks.\n\nThe complete example below is copied from an executed program. The fixture\nhelper uses an owned socket, observes process exit, and cleans up on failures.\n\n\n```perl\nuse v5.44;\nuse FindBin;\nuse lib \"$FindBin::Bin/../scripts/lib\";\nuse LibTmuxFixture;\nuse LibTmux::Filter;\nuse List::Util qw(any first);\nLibTmuxFixture->run(\n sub ($server, $root) {\n my $session = $server->new_session(\n name => 'example',\n command => ['/bin/sleep', '120']\n );\n my $initial = $session->window_links->one->window->panes->one;\n $server->split_pane(\n pane => $initial,\n horizontal => true,\n command => ['/bin/sleep', '120']\n );\n my $snapshot = $server->snapshot;\n my $panes = $snapshot->panes->where({current_command => 'sleep'})\n ->grep(sub ($pane) { $pane->width >= 1 });\n die 'expected two panes' unless $panes->count == 2;\n for my $pane ($panes->@*) {\n say $pane->id . ' ' . $pane->current_command;\n }\n my $only_active = $panes->one({active => true});\n die 'active pane unavailable' unless defined $only_active;\n my $has_active = any { $_->active } $panes->@*;\n my $first_active = first { $_->active } $panes->@*;\n die 'List::Util alternatives differ'\n unless $has_active && $first_active->id eq $only_active->id;\n my @ids = map { $_->id } $panes->@*;\n my @positive = grep { $_->width > 0 } $panes->@*;\n die 'ordinary Perl arrays differ' unless @ids == 2 && @positive == 2;\n my $filter =\n LibTmux::Filter->new(entity => 'pane', where => {active => true});\n my $decoded = LibTmux::Filter->from_json($filter->to_json);\n die 'wire filter changed meaning'\n unless $panes->where($decoded)->one->id eq $only_active->id;\n my $retained = do {\n my $observed = $server->snapshot;\n $observed->pane_by_id($only_active->id);\n };\n die 'retained graph lost a relationship'\n unless $retained->window->panes->count == 2;\n my $same_child = $snapshot->windows->where(\n {panes => {-some => {-and => [{index => 0}, {index => 1}]}}});\n my $different_children = $snapshot->windows->where(\n {\n -and => [\n {panes => {-some => {index => 0}}},\n {panes => {-some => {index => 1}}}\n ]\n }\n );\n die 'quantifiers conflated children'\n unless $same_child->count == 0 && $different_children->count == 1;\n my $where = {active => true, width => {-gte => 1}};\n my $local = $server->query_panes(where => $where, pushdown => 'never');\n my $verification;\n my $native = $server->query_panes(\n where => $where,\n pushdown => 'require',\n on_verification => sub ($report) { $verification = $report },\n );\n die 'native verification was not observed'\n unless $verification->{status} eq 'agreed'\n && $verification->{comparison} eq 'exact_ids';\n die 'native/local disagreement'\n unless join(',', map { $_->id } @$local) eq\n join(',', map { $_->id } @$native);\n say 'selection, wire, graph lifetime, quantifiers, and query: ok';\n }\n);\n```\n\n## Independent-port subset\n\nThe shared fixture vocabulary is proposed for this port. A source-pinned Python\nQueryList evaluator agrees on the advertised subset: Boolean/integer/text\nequality, literal contains/prefix/suffix, membership, and empty membership.\nThe adaptation maps wire field names to record keys and operators to native\nQueryList lookup keywords. It does not claim that Python accepts this wire API.\n\nKnown-null equality initially disagreed: the pinned Python filter rejects None\nfields before its equality lookup. That difference remains recorded. Numeric\nordering, availability errors, graph quantifiers, validation on empty data,\nand canonical-name enforcement have no equivalent declared Python contract\nand are marked unsupported, not passed. Perl fixtures cover those semantics.\nSee [the fixtures](../conformance/where-v1.json) and\n[the independent source pin](../scripts/conformance-reference.json).\n" + "content": "---\ntitle: Filter captured selections\ndescription: Native Perl arrays, strict criteria, graph quantifiers, and wire filters.\n---\n\nUse `where({...})` for query data and `grep(sub ($pane) {...})` for arbitrary\nPerl behavior. Native `->@*`, indexing, `grep`, `map`, `sort`, and List::Util\nremain available. `to_array` returns a fresh unblessed array reference.\n\nFields select comparison semantics: text, safe decimal integers, booleans,\nnullability, allowed operators, and relation cardinality come from one catalog.\nFalse, zero, \"0\", empty text, and undef remain distinct. Integer operands are\nbounded to +/-9007199254740991; invalid numeric text never becomes zero.\n\n| Grammar | Meaning |\n| --- | --- |\n| scalar or `-eq`, `-ne` | Schema-directed equality and complement. |\n| `-in`, `-not_in` arrays | Explicit membership; empty arrays mean false/true. |\n| `-lt`, `-lte`, `-gt`, `-gte` | Authorized numeric ordering. |\n| `-contains`, `-starts_with`, `-ends_with` | Literal, case-sensitive text. |\n| `-and`, `-or` arrays; `-not` node | Complete criteria nodes. |\n| `-some`, `-every`, `-none` | To-many quantifiers over the complete captured domain. |\n| `-is`, `-is_not` | To-one criteria or explicit nullable absence. |\n\nFields/operators in a hash are conjoined. Duplicate Perl hash keys overwrite;\nuse multiple operators or explicit `-and`. Empty criteria and empty AND are\ntrue; empty OR is false. On a loaded empty relation, some is false and\nevery/none true. Conditions inside one some apply to the same child; separate\nexistentials may match different children. Unloaded relations never prove empty.\n\nFull compilation precedes evaluation, even on empty selections. Hash keys\ntraverse lexically; logical arrays preserve their order. Short-circuiting may\navoid unavailable reads once a result is known. Known-null ordering/text is\nfalse; negation reverses known results, never missing-data failures.\n\nEvaluation order affects failures as well as matches. For an inactive record\nwith unloaded width, an AND array testing `active` before `width` can return\nfalse; reversing those nodes reads width first and throws. Flattening them into\na hash instead selects lexical order. Wire serialization retains logical-array\norder; optimizers must preserve availability and error behavior. The depth-64\nand 10,000-node compilation limits do not cap membership operands or string bytes.\n\nNative arrays remain mutable. Every library method validates all N occurrences\nbefore returning even `first`, `count` or `exists`; that validation is O(N).\nPredicates may then stop early. `where` evaluates and validates its output;\n`iterator` also copies membership. Raw indexing and dereferencing retain normal\nPerl behavior. A mutable selection cannot safely cache a prior validation.\n\n`LibTmux::Filter` owns normalized criteria, supports plain records and explicit\nregistered readers, and exports JSON with schema `\"libtmux.where/v1\"`.\nWire names use camelCase and dash-free operators. Regex/coderefs/cycles/blessed\nvalues are refused at that data boundary. Native Perl `qr//` remains available\nin callbacks.\n\n## Query installed objects and ordinary records\n\nThe [live workflow](../packages/core/examples/workflow.pl) creates two editor\npanes before running these local queries:\n\n\n```perl\nmy $snapshot = $server->snapshot;\nmy $panes =\n $snapshot->windows->one({name => 'editor'})\n ->panes->where({width => {-gte => 1}})\n ->grep(sub ($pane) { $pane->height > 0 });\nmy @ids = map { $_->id } $panes->@*;\nmy $active = $panes->one({active => true});\nsay 'editor panes: ', scalar @ids;\nsay 'active pane belongs to ', $active->window->name;\n\n```\n\nThe [record-only program](../packages/core/examples/filters.pl) runs with the\ninstalled core and no tmux server:\n\n```console\n$ perl packages/core/examples/filters.pl\n```\n\n\n```perl\nmy $filter = LibTmux::Filter->new(\n entity => 'pane',\n where => {\n active => true,\n current_command => {-in => [qw(perl vim)]},\n width => {-gte => 80},\n },\n);\nmy @records = (\n {id => '%1', active => true, current_command => 'perl', width => 120},\n {id => '%2', active => false, current_command => 'perl', width => 120},\n {id => '%3', active => true, current_command => 'vim', width => 40},\n);\nmy @matches = grep { $filter->matches($_) } @records;\nsay 'matching records: ', join ', ', map { $_->{id} } @matches;\n\n```\n\nIt prints `matching records: %1`. Its complete source also checks a JSON\nround trip. No author fixture, Python evaluator, or object framework is needed\nby either consumer program.\n\n## Save criteria for reuse\n\nIn the live workflow, the compiled filter can be stored as versioned JSON and\nreused on a captured selection:\n\n\n```perl\nmy $filter = LibTmux::Filter->new(\n entity => 'pane',\n where => {active => true, width => {-gte => 1}},\n);\nmy $restored = LibTmux::Filter->from_json($filter->to_json);\nmy $selected = $panes->where($restored);\nsay 'restored filter matches: ', $selected->count;\n\n```\n\nChanging the original criteria hash does not change a compiled filter. Schema\nvalidation still applies after decoding; executable callbacks belong in `grep`,\nnot in the wire data.\n\n## Distinguish one child from two children\n\nOne `-some` subtree applies every condition to the same child. Two existential\nsubtrees can match different children. The workflow limits the domain to its\nown editor window and checks both cases:\n\n\n```perl\nmy $windows = $snapshot->windows->where({id => $editor->id});\nmy $same_child = $windows->where(\n {\n panes => {-some => {-and => [{index => 0}, {index => 1}]}},\n }\n);\nmy $different_children = $windows->where(\n {\n -and => [\n {panes => {-some => {index => 0}}},\n {panes => {-some => {index => 1}}},\n ],\n }\n);\nsay 'same child: ', $same_child->count;\nsay 'different children: ', $different_children->count;\n\n```\n\nAn individual pane cannot have both index 0 and index 1, so `same child` is 0.\nThe window has both panes, so `different children` is 1. Loaded empty relations\nmake `-some` false and `-every`/`-none` true. Unloaded relations remain errors\nwhen evaluation needs them. See [graph identity](graph.md).\n\n## Independent-port subset\n\nThe shared fixture vocabulary is proposed for this port. A source-pinned Python\nQueryList evaluator agrees on the advertised subset: Boolean/integer/text\nequality, literal contains/prefix/suffix, membership, and empty membership.\nThe adaptation maps wire field names to record keys and operators to native\nQueryList lookup keywords. It does not claim that Python accepts this wire API.\n\nKnown-null equality initially disagreed: the pinned Python filter rejects None\nfields before its equality lookup. That difference remains recorded. Numeric\nordering, availability errors, graph quantifiers, validation on empty data,\nand canonical-name enforcement have no equivalent declared Python contract\nand are marked unsupported, not passed. Perl fixtures cover those semantics.\nSee [the fixtures](../conformance/where-v1.json) and\n[the independent source pin](../scripts/conformance-reference.json).\n" }, { "path": "examples/README.md", - "content": "# Examples\n\nRun these programs from a provisioned checkout of [libtmux for Perl](../README.md).\nThey use Perl 5.44.0, Linux x86_64 LP64, and tmux 3.3a–3.8. The async programs\nalso use the dependencies in the [author setup](../.github/CONTRIBUTING.md#environment).\n`Future::AsyncAwait` is needed only for `await.pl`.\n\n## Run the examples\n\n```console\n$ mise exec -- make examples\n```\n\nThe [runner](../scripts/run-examples.pl) rejects unsuccessful programs and\nmissing expected output. The installed-artifact CI job runs these same\nprograms against an isolated installation prefix. The two tmux CI cells run\nthem against the oldest supported and newest stable releases.\n\n| Program | What it demonstrates | Expected result |\n| --- | --- | --- |\n| [quickstart.pl](quickstart.pl) | Create a session, rename and split a window, add a window, and traverse a snapshot. | Two windows named `editor` and `logs`; the selected pane belongs to `editor`. |\n| [selection.pl](selection.pl) | `where`, `grep`, native arrays, cardinality, compiled filters, relations, retained graphs, and native query verification. | `selection, wire, graph lifetime, quantifiers, and query: ok` |\n| [workspace.pl](workspace.pl) | Plan and load a JSON workspace, then repeat it with `existing => 'skip'`. | `workspace load and repeat: ok` |\n| [async.pl](async.pl) | Capture through a caller-owned Ppoll loop and wait for executor cleanup. | `async capture and cleanup: ok` |\n| [await.pl](await.pl) | Use optional caller-side `async`/`await` syntax with the same core result objects. | `optional caller await syntax: ok` |\n| [async-lifecycle.pl](async-lifecycle.pl) | Preserve operation failures, handle cancellation, and observe cleanup without destroying a borrowed server. | Capture, failure, and cancellation scenarios all report completed executor cleanup. |\n\n## Server ownership\n\nThe checkout demos use the repository's fixture to create a unique socket,\nignore user tmux configuration, and verify owned process exit during cleanup.\nThe fixture is author tooling, not an installed package API. The runner supplies\nlibrary paths and the child-reaping scope needed by these programs.\n\nAfter installing core and async, `async-lifecycle.pl` also works as a standalone\nconsumer program. It takes an explicit socket path for an existing server and\ncloses only its executor:\n\n```console\n$ perl examples/async-lifecycle.pl --help\n```\n\nRead the [async guide](../docs/async.md) before using its failure or cancellation\noptions. Cancellation does not prove cleanup has finished; keep driving the\nloop until `close` completes successfully.\n\n## Quote tested source\n\nThe complete programs embedded in the reader guides use `example` markers.\n[The snippet check](../scripts/check-snippets.pl) compares each marked block\nwith its source file:\n\n```console\n$ mise exec -- make check-snippets\n```\n\nKeep the program, its expected output in the runner, and its documentation\nconsistent. State fixture or existing-server prerequisites next to an excerpt.\nOffer a capability only after its example runs and checks the claimed result;\nthe [shared showcase standard](https://github.com/libtmux/docs/issues/243)\ndescribes the evidence required by libtmux.org.\n" + "content": "# Examples\n\nStart with the standalone programs in each native distribution. They use\ninstalled public modules and ordinary Perl; no Python, author fixture, or\nsource-tree library path is required. The baseline is Perl 5.44 and Linux\nx86_64 LP64 with tmux 3.3a–3.8.\n\n## Run an installed-package example\n\n[Install core](../docs/installation.md), then run the quick start from a\ncheckout with an explicit socket path:\n\n```console\n$ perl packages/core/examples/quickstart.pl \"${TMPDIR:-/tmp}/libtmux-perl-$$.sock\"\n```\n\nThe example starts tmux if necessary, creates and removes its own session,\nand preserves other sessions on that socket. Each live program accepts an\noptional second argument naming the tmux executable. A conflicting example\nsession name is an error; existing sessions are never cleanup targets.\n\n| Program | Task | Expected result |\n| --- | --- | --- |\n| [Core quick start](../packages/core/examples/quickstart.pl) | Create, split, rename, capture, clean up, and retain the graph. | `editor: 2 panes` and `logs: 1 pane`. |\n| [Core workflow](../packages/core/examples/workflow.pl) | Arrange windows, send text, capture output, set environment, filter, compare quantifiers, and verify native queries. | `core workflow: ok`. |\n| [Filter records](../packages/core/examples/filters.pl) | Match ordinary hash records, round-trip JSON, and inspect typed validation errors without tmux. | `%1` matches; the invalid numeric operand reports its criterion path. |\n| [Async operations](../packages/async/examples/concurrent.pl) | Run concurrent Futures and ordered batches, remove the created session, and await close. | `first` before `second`; `async operations and cleanup: ok`. |\n| [Workspace loading](../packages/workspace/examples/load.pl) | Read the adjacent JSON, plan, load, inspect two windows and three panes, repeat with skip, and clean up. | `workspace plan, load, repeat: ok`. |\n\nAsync requires the separate distribution and its Ppoll dependencies. Workspace\nrequires core and the workspace distribution. The packaged JSON uses literal\nPerl commands. All examples ship alongside their own distribution's README\nand logo assets.\n\n## Run repository qualification programs\n\nThe programs in this directory exercise additional contracts through the\nrepository's fixture. Provision the [author environment](../.github/CONTRIBUTING.md#environment)\nfirst. `Future::AsyncAwait` is needed only for `await.pl`.\n\n```console\n$ mise exec -- make examples\n```\n\n| Program | Contract |\n| --- | --- |\n| [quickstart.pl](quickstart.pl) | Select contextual window links, filter captured panes, and verify fixture cleanup. |\n| [selection.pl](selection.pl) | Arrays, callbacks, cardinality, wire filters, relations, retained graphs, and native verification. |\n| [workspace.pl](workspace.pl) | Plan, load, inspect panes, and repeat with `existing => 'skip'`. |\n| [async.pl](async.pl) | Capture through a caller-owned Ppoll loop and await cleanup. |\n| [await.pl](await.pl) | Use optional caller-side `async`/`await` syntax with core result objects. |\n| [async-lifecycle.pl](async-lifecycle.pl) | Preserve failures, handle cancellation, and observe cleanup without destroying a borrowed server. |\n\n`async-lifecycle.pl` also works with installed packages against an existing\nexplicit socket. Run its `--help` before using `--fail` or `--cancel`. A\ncancelled operation does not prove cleanup has finished; continue driving\nthe loop until close succeeds.\n\n## How the examples are checked\n\n[The runner](../scripts/run-examples.pl) rejects nonzero exits and missing\nexpected output. Each live consumer runs with an owned private socket and a\npre-existing sentinel session. After the program exits, the runner verifies\nthat its session is gone and the borrowed session remains. Fixture teardown\nchecks process exit and removes owned files.\n\nThe tmux endpoint CI cells run the same programs. The installed-artifact job\nextracts package examples from the exact native archives, verifies them against\nthe source, and runs them using only the external installation prefix. No\ncheckout module path supplies the consumer's imports.\n\nREADME and guide code blocks marked with `example` come from the complete\nprogram or a named region in it. Check for drift:\n\n```console\n$ mise exec -- make check-snippets\n```\n\nKeep expected output, source, and documentation consistent. The\n[shared capability showcase](https://github.com/libtmux/docs/issues/243)\nrequires executed examples, recorded CI evidence, and an accurate tmux floor.\n" }, { "path": "docs/orchestration.md", - "content": "---\ntitle: Create and observe tmux resources\ndescription: Create and observe tmux resources with the Perl libtmux distributions.\n---\n\nConstructing `LibTmux::Server` records connection settings without I/O. Pass a\nsocket name or socket path; the library clears inherited `TMUX` and\n`TMUX_PANE` in subprocess environments. Acquisition and mutations are explicit.\n\n```perl\nuse v5.44;\nuse LibTmux::Server;\nmy $server = LibTmux::Server->new(socket_name => 'example');\nmy $session = $server->new_session(\n name => 'main', command => ['/bin/sleep', '120'],\n);\nmy $window = $server->new_window(\n session => $session, name => 'api', command => ['/bin/sleep', '120'],\n);\nmy $pane = $window->panes->one;\nmy $split = $server->split_pane(\n pane => $pane, horizontal => true, command => ['/bin/sleep', '120'],\n);\n$server->select_layout(window => $window, layout => 'even-horizontal');\nmy $observed = $server->snapshot;\n$server->kill_session(session => $session);\n```\n\nThis example creates a session and explicitly removes it. Complete executed\nprograms in [examples](../examples) add exception-safe owned fixture cleanup.\nLiteral argv does not select a shell. `shell_command` explicitly requests\nshell interpretation; one-element literal commands use the core exec shim.\n\nAll mutations live on Server. Entity readers are captured and read-only;\nrenaming a window does not change an old Window handle. Use a new snapshot.\n`capture_pane` returns bytes including tmux's final newline. `send_text`\nsends literal text with optional Enter; `send_keys` accepts named tmux keys.\n\nUse `set_option`/`get_option`/`unset_option` for explicit scopes, including\ninherited reads, and environment methods for global or session values. Hooks\nretain sparse indexes in native output. Buffers use stdin for binary payloads.\n`cmd` is the checked literal command escape hatch; `execute` retains nonzero\ncommand results. Ordered `batch` returns one `{result, error}` record per\nindependent request, not per command inside a tmux command list.\n\nInteractive terminal ownership stays with the caller: `attach_argv` returns\nargv for a caller-owned terminal; `clients` captures client data and\n`detach_client` reports command acceptance. Observe client exit separately.\n\nThe complete [quickstart program](../examples/quickstart.pl) creates a session,\nsplits a pane, adds a window, selects a window link, and filters captured\npanes. Install core first, then run it from the source checkout:\n\n```console\n$ perl examples/quickstart.pl\n```\n\nThe included standard-library fixture owns its private socket and verifies\nchild exit. The standalone demo enables Linux x86_64 LP64 child reaping; the\nborrowed Server connection API does not change the application's reaper.\n" + "content": "---\ntitle: Create and observe tmux resources\ndescription: Create sessions, arrange windows, send input, and read captured state from Perl.\n---\n\n## Start with a complete program\n\nAfter [installing core](installation.md), run the\n[standalone quick start](../packages/core/examples/quickstart.pl):\n\n```console\n$ perl packages/core/examples/quickstart.pl \"${TMPDIR:-/tmp}/libtmux-perl-$$.sock\"\n```\n\n\n```perl\nuse v5.44;\nuse LibTmux::Server;\n\nmy $socket = shift @ARGV // die \"Usage: $0 SOCKET_PATH [TMUX]\\n\";\nmy $server = LibTmux::Server->new(\n socket_path => $socket,\n executable => shift(@ARGV) // 'tmux',\n config_file => '/dev/null',\n);\nmy ($session, $snapshot, $failure);\ntry {\n $session = $server->new_session(\n name => 'perl-quickstart',\n command => [$^X, '-e', 'while () { print }'],\n );\n my $editor = $session->window_links->one->window;\n $server->rename_window(window => $editor, name => 'editor');\n $server->split_pane(\n pane => $editor->panes->one,\n horizontal => true,\n command => [$^X, '-e', 'while () { print }'],\n );\n $server->new_window(\n session => $session,\n name => 'logs',\n command => [$^X, '-e', 'while () { print }'],\n );\n $snapshot = $server->snapshot;\n}\ncatch ($error) {\n $failure = $error;\n $session //= $error->created if $error isa LibTmux::X::Creation;\n}\nif ($session) {\n try { $server->kill_session(session => $session) }\n catch ($cleanup) {\n warn \"session cleanup failed: $cleanup\\n\";\n $failure //= $cleanup;\n }\n}\ndie $failure if defined $failure;\n\n# The captured graph remains readable after its live session has gone.\nfor my $link ($snapshot->session_by_id($session->id)->window_links->@*) {\n my $count = $link->window->panes->count;\n say $link->window->name, ': ', $count, $count == 1 ? ' pane' : ' panes';\n}\n```\n\nIt prints `editor: 2 panes` and `logs: 1 pane`. Only the session returned by\ncreation, or its generation-scoped creation receipt, is a cleanup target.\nThe original operation error remains primary if cleanup also fails. Existing\nsessions remain untouched. The captured graph stays readable after removal.\n\nConstructing [Server](https://libtmux.org/en/perl/latest/reference/libtmux-server/)\nrecords connection settings without I/O. `new_session` starts a daemon when\nneeded; `snapshot` requires one to exist. Pass an explicit socket path or name.\nThe core clears inherited `TMUX` and `TMUX_PANE` for subprocesses.\n\n## Arrange a live window\n\nThe [longer workflow](../packages/core/examples/workflow.pl) adds layout\nselection and a second window before capturing:\n\n\n```perl\n$session = $server->new_session(\n name => 'perl-workflow',\n command => [$^X, '-e', 'while () { print }'],\n);\nmy $editor = $session->window_links->one->window;\n$server->rename_window(window => $editor, name => 'editor');\nmy $right = $server->split_pane(\n pane => $editor->panes->one,\n horizontal => true,\n command => [$^X, '-e', 'while () { print }'],\n);\n$server->select_layout(window => $editor, layout => 'even-horizontal');\nmy $logs = $server->new_window(\n session => $session,\n name => 'logs',\n command => [$^X, '-e', 'while () { print }'],\n);\n\n```\n\nRun the complete program with an explicit socket:\n\n```console\n$ perl packages/core/examples/workflow.pl \"${TMPDIR:-/tmp}/libtmux-perl-$$.sock\"\n```\n\nLiteral command arrays do not select a shell. `shell_command` explicitly\nrequests shell interpretation; a one-element literal command uses the core\nexec shim. `even-horizontal` is supported throughout the declared tmux range.\n\n## Send literal text and capture the screen\n\nIn that same live workflow:\n\n\n```perl\n$server->send_text(\n pane => $right,\n text => 'hello from Perl',\n enter => true\n);\nmy $screen = $server->capture_pane(pane => $right, start => -100);\nsay 'captured bytes: ', length $screen;\n$server->set_environment(\n session => $session,\n name => 'PROJECT',\n value => 'api',\n);\nsay 'PROJECT=',\n $server->get_environment(session => $session, name => 'PROJECT');\n\n```\n\n`send_text` optionally appends Enter and does not interpret shell syntax.\n`send_keys` accepts tmux key names. `capture_pane` returns bytes including the\nfinal newline; negative `start` values request scrollback. Sending Enter or\naccepting a command does not establish application completion. A read returns\nthe observed screen; use the application's own observable handshake when a\nlater step depends on completed work.\n\n## Read options, environment, and native results\n\nUse `set_option`, `get_option`, and `unset_option` with explicit scope and\ntarget. Inherited option reads must be requested explicitly. Session-scoped\nenvironment operations accept captured handles and check their generation.\nHooks preserve sparse indexes. Buffer operations use stdin for binary payloads.\n\n`cmd` is a checked literal tmux argv escape hatch; `execute` returns nonzero\ncommand results for callers that inspect status themselves. `batch` returns\none `{result, error}` record per independent request, in input order. It does\nnot report individual outcomes inside an arbitrary tmux command list.\n\n## Capture again after a mutation\n\nEntity accessors read captured values; they never refresh or issue a command.\nThe workflow demonstrates a rename without rewriting its old observation:\n\n\n```perl\nmy $before = $snapshot->window_by_id($logs->id);\n$server->rename_window(window => $logs, name => 'build');\ndie 'captured name changed' unless $before->name eq 'logs';\ndie 'new name missing'\n unless $server->snapshot->window_by_id($logs->id)->name eq 'build';\nsay 'captured name: ', $before->name;\n\n```\n\nAll mutations live on Server and accept explicit targets. Context-sensitive\nwindow selection, movement, and unlinking use WindowLink targets. Interactive\nterminal ownership stays with the caller: `attach_argv` returns argv;\n`detach_client` reports command acceptance, not observed client exit.\nSee [graph identity](graph.md), [filtering](filtering.md), and\n[errors and recovery](errors.md).\n" }, { "path": "docs/graph.md", - "content": "---\ntitle: Snapshots and linked-window identity\ndescription: Snapshots and linked-window identity with the Perl libtmux distributions.\n---\n\nA physical window can appear at several indexes in one session and in several\nsessions. `WindowLink` owns session-relative index and active state. A Pane's\n`window` always returns the physical Window. Session changes use explicit links.\n\nSnapshot `windows` and `panes` contain each physical identity once. Raw\n`listings` retain contextual rows and multiplicity. Selection filters retain\ntheir own input order and duplicates. Two occurrences of one identity still\nmake `one` ambiguous.\n\nSelections may combine captures from the same server generation. Each handle\nretains its own observed graph; combining them does not reconcile capture times\nor create a new snapshot. Mixing server scopes or daemon generations is an\n`InvalidSelection` error. Use one snapshot when a query needs one capture interval.\nFor example, a retained pane captured before a rename and a fresh pane with\nthe same resource identity can expose different window names. Each traverses\nits own graph. Capture start/end metadata describes those observation intervals;\nresource identity alone does not identify an observation.\n\nIDs remain strings. Write session IDs as `'$1'` in Perl so regex captures do\nnot interpolate. Identity includes server, daemon generation, kind, and ID.\nCaptured handles prevent silent retargeting after a restart; probes and\ncommands remain separate observations, so they do not form a transaction.\nThe daemon's `socket_path` identifies the server and `pid/start_time` its\ngeneration. Raw ID strings deliberately target current resources and convey\nno historical generation protection.\n\nThe store owns scalar records and ID adjacency. Handles strongly retain that\nstore, which does not strongly own handles. A retained pane keeps its observed\nwindow even when the Snapshot wrapper leaves scope. Retaining one handle can\nretain the graph; `to_record` exports detached scalar data instead.\nCurrent to-many accessors scan related records; repeated relation traversal\ncan repeat that work. Retained-graph memory and indexing improvements require\nmeasurements rather than assumptions about typical tmux graph size.\n\nAcquisition records start/end and completeness. Strict live capture rejects\nmissing required topology. Unloaded fields and relations throw when needed;\nnull and loaded-empty relations remain distinct. Accessors return independent\nmembership arrays. Query methods are nonmutating, while native arrays remain\nmutable and every library query validates their members.\n" + "content": "---\ntitle: Snapshots and linked-window identity\ndescription: Snapshots and linked-window identity with the Perl libtmux distributions.\n---\n\nA physical window can appear at several indexes in one session and in several\nsessions. `WindowLink` owns session-relative index and active state. A Pane's\n`window` always returns the physical Window. Session changes use explicit links.\n\nSnapshot `windows` and `panes` contain each physical identity once. Raw\n`listings` retain contextual rows and multiplicity. Selection filters retain\ntheir own input order and duplicates. Two occurrences of one identity still\nmake `one` ambiguous.\n\nSelections may combine captures from the same server generation. Each handle\nretains its own observed graph; combining them does not reconcile capture times\nor create a new snapshot. Mixing server scopes or daemon generations is an\n`InvalidSelection` error. Use one snapshot when a query needs one capture interval.\nFor example, a retained pane captured before a rename and a fresh pane with\nthe same resource identity can expose different window names. Each traverses\nits own graph. Capture start/end metadata describes those observation intervals;\nresource identity alone does not identify an observation.\n\nIDs remain strings. Write session IDs as `'$1'` in Perl so regex captures do\nnot interpolate. Identity includes server, daemon generation, kind, and ID.\nCaptured handles prevent silent retargeting after a restart; probes and\ncommands remain separate observations, so they do not form a transaction.\nThe daemon's `socket_path` identifies the server and `pid/start_time` its\ngeneration. Raw ID strings deliberately target current resources and convey\nno historical generation protection.\n\nThe store owns scalar records and ID adjacency. Handles strongly retain that\nstore, which does not strongly own handles. A retained pane keeps its observed\nwindow even when the Snapshot wrapper leaves scope. Retaining one handle can\nretain the graph; `to_record` exports detached scalar data instead.\nCurrent to-many accessors scan related records; repeated relation traversal\ncan repeat that work. Retained-graph memory and indexing improvements require\nmeasurements rather than assumptions about typical tmux graph size.\n\nAcquisition records start/end and completeness. Strict live capture rejects\nmissing required topology. Unloaded fields and relations throw when needed;\nnull and loaded-empty relations remain distinct. Accessors return independent\nmembership arrays. Query methods are nonmutating, while native arrays remain\nmutable and every library query validates their members.\n\n## Observe a rename without rewriting history\n\nThe [standalone workflow](../packages/core/examples/workflow.pl) retains the\n`logs` window from one capture, renames its live counterpart, and checks both\nobservations:\n\n\n```perl\nmy $before = $snapshot->window_by_id($logs->id);\n$server->rename_window(window => $logs, name => 'build');\ndie 'captured name changed' unless $before->name eq 'logs';\ndie 'new name missing'\n unless $server->snapshot->window_by_id($logs->id)->name eq 'build';\nsay 'captured name: ', $before->name;\n\n```\n\nThe old handle still says `logs`; a new capture says `build`. The core quick\nstart also traverses its retained graph after removing its live session.\nBoth programs use only installed public modules and explicit sockets.\n" }, { "path": "docs/fields.md", @@ -34,11 +34,11 @@ }, { "path": "docs/query-planning.md", - "content": "---\ntitle: Explicit acquisition and native filters\ndescription: Explicit acquisition and native filters with the Perl libtmux distributions.\n---\n\n`$snapshot->panes->where($criteria)` and callbacks evaluate eagerly without\nI/O. `query_panes` explicitly acquires a graph and returns a PaneSelection.\n`explain_panes` creates a local plan using support-floor capabilities; it does\nnot connect. Execution binds capabilities to the captured daemon generation.\n\n| Policy | Behavior |\n| --- | --- |\n| `never` | Acquire and evaluate locally. |\n| `auto` | Verify safe scalar native candidates; fall back to captured local results on disagreement. |\n| `require` | Require complete exact lowering and native/captured agreement. |\n\nThe current implementation captures and evaluates the complete graph before\ncandidate verification, preserving local error behavior. It makes no I/O-saving\nclaim. Plans identify commands, lowered filters, residual reasons, and capability\nrequirements. Numeric lowering uses tmux numeric expressions. Literal operands\nare escaped for the tmux grammar independently of argument-vector safety.\n\n`auto` is the default. It costs an extra command and supervisor when lowering\nis available. Select `never` when only the captured answer is needed. To inspect\nthe comparison, supply `on_verification => sub ($report) { ... }`. The observer\nreceives one detached hashref in void context; its return is ignored. It runs\ninline once after a successful decision, including fallback. Exceptions\npropagate unchanged unless the operation has already been cancelled;\ncancellation suppresses subsequent result/error delivery.\nFailed acquisition, decoding or native commands do not\ninvoke it and remain failures.\n\nThe report identifies `status`, `comparison`, capture generation/interval,\nexecuted filter, residual reasons, and captured/local/native ID arrays.\n`disabled` means `never`, and `local` means no safe lowering was available.\n`agreed` distinguishes exact equality from partial candidate inclusion;\n`disagreed` lists missing, unexpected and uncaptured IDs. `native` reports only\ncaptured membership for the expert escape hatch. See\n[`Server`'s report contract](../packages/core/lib/LibTmux/Server.pm)\nand the [tested query example](../examples/selection.pl).\n\n`require` disagreement throws `LibTmux::X::QueryMismatch`, with the report under\nthe `verification` key returned by `LibTmux::X::details`. The observer does not\nrun before that failure.\nA mismatch can reflect a race, a compiler defect or a backend difference;\nit does not establish which occurred. Matching observations also do not prove\nan atomic capture. [ADR 0003](dev/adr/0003-query-verification-diagnostics.md)\nrecords the diagnostic and default-policy decision.\n\nA partial AND conjunct can prune candidates. Partial OR/NOT cannot. Relations,\nnull, bytes, and unsupported scalar operators remain local. Relation pushdown\nand serialized regex dialects are deferred. Complete relation domains are never\npruned before `every` or `none` evaluation.\n\n`native_filter` is an explicit expert escape hatch, exclusive with portable\ncriteria and pushdown policy. It selects captured root IDs and rejects new IDs\nthat appeared outside capture. It has native tmux semantics, not wire semantics.\n" + "content": "---\ntitle: Explicit acquisition and native filters\ndescription: Explicit acquisition and native filters with the Perl libtmux distributions.\n---\n\n`$snapshot->panes->where($criteria)` and callbacks evaluate eagerly without\nI/O. `query_panes` explicitly acquires a graph and returns a PaneSelection.\n`explain_panes` creates a local plan using support-floor capabilities; it does\nnot connect. Execution binds capabilities to the captured daemon generation.\n\nThe [installed-package workflow](../packages/core/examples/workflow.pl)\ncompares local evaluation and exact native verification on a controlled graph:\n\n\n```perl\nmy $where = {active => true, width => {-gte => 1}};\nmy $local = $server->query_panes(where => $where, pushdown => 'never');\nmy $verification;\nmy $verified = $server->query_panes(\n where => $where,\n pushdown => 'require',\n on_verification => sub ($report) { $verification = $report },\n);\nsay 'native verification: ', $verification->{status};\n\n```\n\n`never` still performs acquisition; it disables the extra native candidate\ncheck. The result of either call is a captured local selection. The example\nchecks identical IDs and observes `native verification: agreed`.\n\n| Policy | Behavior |\n| --- | --- |\n| `never` | Acquire and evaluate locally. |\n| `auto` | Verify safe scalar native candidates; fall back to captured local results on disagreement. |\n| `require` | Require complete exact lowering and native/captured agreement. |\n\nThe current implementation captures and evaluates the complete graph before\ncandidate verification, preserving local error behavior. It makes no I/O-saving\nclaim. Plans identify commands, lowered filters, residual reasons, and capability\nrequirements. Numeric lowering uses tmux numeric expressions. Literal operands\nare escaped for the tmux grammar independently of argument-vector safety.\n\n`auto` is the default. It costs an extra command and supervisor when lowering\nis available. Select `never` when only the captured answer is needed. To inspect\nthe comparison, supply `on_verification => sub ($report) { ... }`. The observer\nreceives one detached hashref in void context; its return is ignored. It runs\ninline once after a successful decision, including fallback. Exceptions\npropagate unchanged unless the operation has already been cancelled;\ncancellation suppresses subsequent result/error delivery.\nFailed acquisition, decoding or native commands do not\ninvoke it and remain failures.\n\nThe report identifies `status`, `comparison`, capture generation/interval,\nexecuted filter, residual reasons, and captured/local/native ID arrays.\n`disabled` means `never`, and `local` means no safe lowering was available.\n`agreed` distinguishes exact equality from partial candidate inclusion;\n`disagreed` lists missing, unexpected and uncaptured IDs. `native` reports only\ncaptured membership for the expert escape hatch. See\n[`Server`'s report contract](../packages/core/lib/LibTmux/Server.pm)\nand the [tested query example](../examples/selection.pl).\n\n`require` disagreement throws `LibTmux::X::QueryMismatch`, with the report under\nthe `verification` key returned by `LibTmux::X::details`. The observer does not\nrun before that failure.\nA mismatch can reflect a race, a compiler defect or a backend difference;\nit does not establish which occurred. Matching observations also do not prove\nan atomic capture. [ADR 0003](dev/adr/0003-query-verification-diagnostics.md)\nrecords the diagnostic and default-policy decision.\n\nA partial AND conjunct can prune candidates. Partial OR/NOT cannot. Relations,\nnull, bytes, and unsupported scalar operators remain local. Relation pushdown\nand serialized regex dialects are deferred. Complete relation domains are never\npruned before `every` or `none` evaluation.\n\n`native_filter` is an explicit expert escape hatch, exclusive with portable\ncriteria and pushdown policy. It selects captured root IDs and rejects new IDs\nthat appeared outside capture. It has native tmux semantics, not wire semantics.\n" }, { "path": "docs/errors.md", - "content": "---\ntitle: Recover from failures\ndescription: Recover from failures with the Perl libtmux distributions.\n---\n\nErrors are typed `LibTmux::X` objects with readable stringification and\napplicable fields such as path, expected/received types, IDs, dispatch state,\nand process result. Catch objects with stable Perl try/catch and isa:\n\n```perl\ntry {\n my $only = $snapshot->panes->one({ active => true });\n}\ncatch ($error) {\n if ($error isa LibTmux::X::NoMatch) {\n say 'No active pane in this captured selection';\n }\n else {\n die $error;\n }\n}\n```\n\n`one_or_undef` handles absence and still rejects ambiguity. Acquisition errors\nnever become empty selections. `Unloaded` differs from known null. Complete\ncriteria validation runs before matching, including on empty input and in\nbranches that later short-circuit.\n\nProcess results distinguish stdout, stderr, exit status, signal, timeout,\nspawn failure, output limit, cancellation, and dispatch uncertainty. Lifecycle\nerrors retain bounded partial results; unknown status remains undef.\nCancellation does not imply rollback or nonexecution. The isolated Linux\nsupervisor reaps its owned process group; intentionally detached daemons have\nseparate ownership. The current verified ABI is x86_64 LP64.\n\nOwned supervisor and command branches close unrelated inherited descriptors,\nincluding native descriptors without close-on-exec. The caller's handles stay\nopen. Only standard streams and the job's explicit protocol/cancellation pipes\nsurvive where needed; a newly started tmux daemon cannot retain an unrelated\ncaller file or socket. This requires the Linux `/proc/self/fd` interface.\nDescriptor enumeration/closure failure prevents dispatch and remains a typed\ntransport or spawn failure. Forking a host with native threads is unqualified.\n\nTransport `timeout` bounds one command's execution loop, excluding supervisor\nsetup and async queue waiting. A snapshot runs several commands, each with its\nown timeout; this setting is not a total snapshot deadline. Cleanup has a\nseparate allowance and continues after useful work expires. Async callers must\ndrive the borrowed loop until successful close-observer completion. Cancelling\nthe observer or stopping the loop does not prove that processes have exited.\n\n`Creation` preserves a generation-scoped minimal created handle when the\ncommand succeeded but subsequent capture failed. Inspect `created` and `cause`\nbefore deciding cleanup. Other fields on that handle are unloaded. Workspace\nuses this evidence for owned rollback and records cleanup failures separately.\n" + "content": "---\ntitle: Recover from failures\ndescription: Recover from failures with the Perl libtmux distributions.\n---\n\nErrors are typed `LibTmux::X` objects with readable stringification and\napplicable fields such as path, expected/received types, IDs, dispatch state,\nand process result. Catch objects with stable Perl try/catch and isa:\n\n```perl\ntry {\n my $only = $snapshot->panes->one({ active => true });\n}\ncatch ($error) {\n if ($error isa LibTmux::X::NoMatch) {\n say 'No active pane in this captured selection';\n }\n else {\n die $error;\n }\n}\n```\n\n`one_or_undef` handles absence and still rejects ambiguity. Acquisition errors\nnever become empty selections. `Unloaded` differs from known null. Complete\ncriteria validation runs before matching, including on empty input and in\nbranches that later short-circuit.\n\nProcess results distinguish stdout, stderr, exit status, signal, timeout,\nspawn failure, output limit, cancellation, and dispatch uncertainty. Lifecycle\nerrors retain bounded partial results; unknown status remains undef.\nCancellation does not imply rollback or nonexecution. The isolated Linux\nsupervisor reaps its owned process group; intentionally detached daemons have\nseparate ownership. The current verified ABI is x86_64 LP64.\n\nOwned supervisor and command branches close unrelated inherited descriptors,\nincluding native descriptors without close-on-exec. The caller's handles stay\nopen. Only standard streams and the job's explicit protocol/cancellation pipes\nsurvive where needed; a newly started tmux daemon cannot retain an unrelated\ncaller file or socket. This requires the Linux `/proc/self/fd` interface.\nDescriptor enumeration/closure failure prevents dispatch and remains a typed\ntransport or spawn failure. Forking a host with native threads is unqualified.\n\nTransport `timeout` bounds one command's execution loop, excluding supervisor\nsetup and async queue waiting. A snapshot runs several commands, each with its\nown timeout; this setting is not a total snapshot deadline. Cleanup has a\nseparate allowance and continues after useful work expires. Async callers must\ndrive the borrowed loop until successful close-observer completion. Cancelling\nthe observer or stopping the loop does not prove that processes have exited.\n\n`Creation` preserves a generation-scoped minimal created handle when the\ncommand succeeded but subsequent capture failed. Inspect `created` and `cause`\nbefore deciding cleanup. Other fields on that handle are unloaded. Workspace\nuses this evidence for owned rollback and records cleanup failures separately.\n\n## Report an invalid filter without losing its type\n\nThe [record-only example](../packages/core/examples/filters.pl) runs without a\ntmux server and rejects a text operand for an integer field:\n\n\n```perl\ntry {\n LibTmux::Filter->new(\n entity => 'pane',\n where => {width => {-gte => 'wide'}}\n );\n die 'invalid numeric operand was accepted';\n}\ncatch ($error) {\n die $error unless $error isa LibTmux::X::InvalidFilter;\n say 'invalid operand at ', $error->path;\n say 'expected: ', $error->expected;\n}\n\n```\n\nThe path is `pane.where.width.-gte`, and `expected` says `safe decimal integer`.\nUse the typed [InvalidFilter](https://libtmux.org/en/perl/latest/reference/libtmux-x/)\nexception and its fields to choose recovery; stringification is for a readable\ndiagnostic. Unknown fields and malformed filters fail before examining any\nselection members, including on an empty selection.\n\nThe [core quick start](../packages/core/examples/quickstart.pl) separately\nshows creation receipts and exception-safe session cleanup. The\n[async consumer](../packages/async/examples/concurrent.pl) awaits executor\ncleanup even after an operation fails. A cleanup failure never replaces the\noriginal operation failure in either example.\n" }, { "path": "docs/compatibility.md", @@ -46,11 +46,11 @@ }, { "path": "docs/async.md", - "content": "---\ntitle: Optional Future execution\ndescription: Optional Future execution with the Perl libtmux distributions.\n---\n\nInstall the separate LibTmux-Async distribution to use an injected\n[`IO::Async::Loop::Ppoll`](https://metacpan.org/pod/IO::Async::Loop::Ppoll) and a Future-returning\nServer facade. Core and workspace do not load this dependency. Caller-side\nFuture::AsyncAwait syntax is optional.\n\nConstruct `IO::Async::Loop::Ppoll->new` explicitly. Installing it does not\nforce `IO::Async::Loop->new` to select it. Other backends are rejected before\ndispatch. The async distribution requires Ppoll 0.10 and IO::Ppoll 0.14 or\nnewer; IO::Ppoll supplies the native atomic-wait extension. Core and workspace\nremain standard-library runtime distributions.\n\nThe caller owns and drives the loop. Each operation resolves to one value;\nvoid methods yield one undef. Command preparation, framing, identity, and\nparsing are shared with core. Captured selections stay synchronous and local.\n\nTransport bounds concurrent jobs and pending requests. Queue overflow fails\nbefore dispatch. Cancellation suppresses subsequent continuations and requests\ncleanup; it cannot undo accepted effects. Close cancels queued/running work,\nrejects new admissions, and returns a fresh cleanup observer. Only successful\n`is_done` proves cleanup. Cancelling that observer cannot cancel private cleanup.\nKeep driving the borrowed loop through shutdown; closing preserves the server.\n\nPpoll owns the host's signal-watching policy. It blocks watched signals outside\nits atomic wait and can retain its shared `SIGCHLD` watch after facade close.\nDo not change its backend or wait mask while requests or cleanup remain active.\nAsync children unblock only `SIGCHLD`, so a newly started tmux daemon can reap\nits panes; other mask bits remain unchanged in the child. Synchronous core\nexecution retains the caller's mask. Starting a daemon through synchronous\ncore while the host blocks `SIGCHLD` also passes that blocked mask to the daemon.\nSee [ADR 0004](dev/adr/0004-atomic-async-child-exit.md) for the failure evidence\nand the alternatives considered.\n\nThe default bounds are four active jobs and 64 queued requests. A command's\ntimeout starts in its execution loop, after queue waiting and supervisor setup.\nIt does not bound the total time of a multi-command operation. Cleanup has a\nseparate allowance; see [failure recovery](errors.md).\n\nPersistent control, streaming subscriptions, and tmux command lists are deferred.\nOrdered batch requests are independent submissions with individual attribution.\n\n## Failure and cancellation\n\n[async-lifecycle.pl](../examples/async-lifecycle.pl) is a standalone downstream\nprogram. It imports only installed distributions and Perl core modules; it\ndoes not use the repository fixture. Supply the socket path of an existing\ntmux server. The program observes that server and closes only its executor.\n`--fail` exercises a rejected native command; `--cancel` cancels the capture.\n\nThe program always drives cleanup to completion. An operation failure remains\nthe primary exception, while a secondary cleanup failure is reported\nseparately. Cancellation is checked before `get`; it is readiness without a\nresult and does not prove cleanup. A successful close observer supplies that\nproof. The repository example runner exercises all three paths against an\nowned server, including with an isolated installed package prefix.\n\n\n```perl\nuse v5.44;\nuse Getopt::Long qw(GetOptions);\nuse IO::Async::Loop::Ppoll;\nuse LibTmux::Async::Server;\n\nmy ($socket, $executable, $fail, $cancel, $help);\nGetOptions(\n 'socket=s' => \\$socket,\n 'tmux=s' => \\$executable,\n 'fail' => \\$fail,\n 'cancel' => \\$cancel,\n 'help' => \\$help,\n) or die \"Use --help for arguments\\n\";\nif ($help) {\n say\n'Usage: perl async-lifecycle.pl --socket PATH [--tmux EXE] [--fail | --cancel]';\n say\n'Observe an existing server and close the executor without destroying that server.';\n exit 0;\n}\ndie \"Supply --socket PATH; --fail and --cancel are mutually exclusive\\n\"\n if !defined($socket) || @ARGV || ($fail && $cancel);\n\nmy $loop = IO::Async::Loop::Ppoll->new;\nmy $server = LibTmux::Async::Server->new(\n loop => $loop,\n socket_path => $socket,\n defined($executable) ? (executable => $executable) : (),\n);\nmy ($operation_error, $cleanup_error);\ntry {\n my $operation =\n $fail\n ? $server->cmd('libtmux-example-invalid-command')\n : $server->snapshot;\n $operation->cancel if $cancel;\n $loop->await($operation);\n if ($operation->is_cancelled) { say 'capture cancelled' }\n else {\n my $snapshot = $operation->get;\n say 'captured panes: ' . $snapshot->panes->count;\n }\n}\ncatch ($error) { $operation_error = $error }\n\ntry {\n my $cleanup = $server->close;\n $loop->await($cleanup);\n $cleanup->get;\n say 'executor cleanup: complete';\n}\ncatch ($error) { $cleanup_error = $error }\n\nif (defined $operation_error) {\n warn \"executor cleanup also failed: $cleanup_error\\n\"\n if defined $cleanup_error;\n die $operation_error;\n}\ndie $cleanup_error if defined $cleanup_error;\n```\n" + "content": "---\ntitle: Optional Future execution\ndescription: Optional Future execution with the Perl libtmux distributions.\n---\n\nInstall the separate LibTmux-Async distribution to use an injected\n[`IO::Async::Loop::Ppoll`](https://metacpan.org/pod/IO::Async::Loop::Ppoll) and a Future-returning\nServer facade. Core and workspace do not load this dependency. Caller-side\nFuture::AsyncAwait syntax is optional.\n\nConstruct `IO::Async::Loop::Ppoll->new` explicitly. Installing it does not\nforce `IO::Async::Loop->new` to select it. Other backends are rejected before\ndispatch. The async distribution requires Ppoll 0.10 and IO::Ppoll 0.14 or\nnewer; IO::Ppoll supplies the native atomic-wait extension. Core and workspace\nremain standard-library runtime distributions.\n\nThe caller owns and drives the loop. Each operation resolves to one value;\nvoid methods yield one undef. Command preparation, framing, identity, and\nparsing are shared with core. Captured selections stay synchronous and local.\n\nTransport bounds concurrent jobs and pending requests. Queue overflow fails\nbefore dispatch. Cancellation suppresses subsequent continuations and requests\ncleanup; it cannot undo accepted effects. Close cancels queued/running work,\nrejects new admissions, and returns a fresh cleanup observer. Only successful\n`is_done` proves cleanup. Cancelling that observer cannot cancel private cleanup.\nKeep driving the borrowed loop through shutdown; closing preserves the server.\n\nPpoll owns the host's signal-watching policy. It blocks watched signals outside\nits atomic wait and can retain its shared `SIGCHLD` watch after facade close.\nDo not change its backend or wait mask while requests or cleanup remain active.\nAsync children unblock only `SIGCHLD`, so a newly started tmux daemon can reap\nits panes; other mask bits remain unchanged in the child. Synchronous core\nexecution retains the caller's mask. Starting a daemon through synchronous\ncore while the host blocks `SIGCHLD` also passes that blocked mask to the daemon.\nSee [ADR 0004](dev/adr/0004-atomic-async-child-exit.md) for the failure evidence\nand the alternatives considered.\n\nThe default bounds are four active jobs and 64 queued requests. A command's\ntimeout starts in its execution loop, after queue waiting and supervisor setup.\nIt does not bound the total time of a multi-command operation. Cleanup has a\nseparate allowance; see [failure recovery](errors.md).\n\nPersistent control, streaming subscriptions, and tmux command lists are deferred.\nOrdered batch requests are independent submissions with individual attribution.\n\n## Run concurrent operations\n\nAfter installing core and async, run the standalone packaged program:\n\n```console\n$ perl packages/async/examples/concurrent.pl \"${TMPDIR:-/tmp}/libtmux-perl-async-$$.sock\"\n```\n\nIt creates and removes its own session and preserves any other sessions on that\nsocket. During its live scope it starts independent operations before awaiting\nboth results:\n\n\n```perl\nmy $capture = $server->snapshot;\nmy $version = $server->cmd('display-message', '-p', '#{version}');\n$loop->await(Future->needs_all($capture, $version));\nmy $snapshot = $capture->get;\nmy $panes = $snapshot->sessions->one({name => 'perl-async'})\n ->window_links->one->window->panes->where({active => true});\nsay 'async active panes: ', $panes->count;\nsay 'tmux version: ', $version->get->stdout;\n\n```\n\nSelections returned by the capture are ordinary synchronous core objects.\nThe same program also checks ordered independent requests:\n\n\n```perl\nmy $batch = $server->batch(\n [\n ['display-message', '-p', 'first'],\n ['display-message', '-p', 'second'],\n ]\n);\n$loop->await($batch);\nmy $results = $batch->get;\nfor my $entry ($results->@*) {\n die $entry->{error} if defined $entry->{error};\n print $entry->{result}->stdout;\n}\n\n```\n\nThe [complete source](../packages/async/examples/concurrent.pl) owns session\ncleanup, preserves primary errors, and awaits executor close. It uses installed\npackages without Python or a repository fixture.\n\n## Failure and cancellation\n\n[async-lifecycle.pl](../examples/async-lifecycle.pl) is a standalone downstream\nprogram. It imports only installed distributions and Perl core modules; it\ndoes not use the repository fixture. Supply the socket path of an existing\ntmux server. The program observes that server and closes only its executor.\n`--fail` exercises a rejected native command; `--cancel` cancels the capture.\n\nThe program always drives cleanup to completion. An operation failure remains\nthe primary exception, while a secondary cleanup failure is reported\nseparately. Cancellation is checked before `get`; it is readiness without a\nresult and does not prove cleanup. A successful close observer supplies that\nproof. The repository example runner exercises all three paths against an\nowned server, including with an isolated installed package prefix.\n\n\n```perl\nuse v5.44;\nuse Getopt::Long qw(GetOptions);\nuse IO::Async::Loop::Ppoll;\nuse LibTmux::Async::Server;\n\nmy ($socket, $executable, $fail, $cancel, $help);\nGetOptions(\n 'socket=s' => \\$socket,\n 'tmux=s' => \\$executable,\n 'fail' => \\$fail,\n 'cancel' => \\$cancel,\n 'help' => \\$help,\n) or die \"Use --help for arguments\\n\";\nif ($help) {\n say\n'Usage: perl async-lifecycle.pl --socket PATH [--tmux EXE] [--fail | --cancel]';\n say\n'Observe an existing server and close the executor without destroying that server.';\n exit 0;\n}\ndie \"Supply --socket PATH; --fail and --cancel are mutually exclusive\\n\"\n if !defined($socket) || @ARGV || ($fail && $cancel);\n\nmy $loop = IO::Async::Loop::Ppoll->new;\nmy $server = LibTmux::Async::Server->new(\n loop => $loop,\n socket_path => $socket,\n defined($executable) ? (executable => $executable) : (),\n);\nmy ($operation_error, $cleanup_error);\ntry {\n my $operation =\n $fail\n ? $server->cmd('libtmux-example-invalid-command')\n : $server->snapshot;\n $operation->cancel if $cancel;\n $loop->await($operation);\n if ($operation->is_cancelled) { say 'capture cancelled' }\n else {\n my $snapshot = $operation->get;\n say 'captured panes: ' . $snapshot->panes->count;\n }\n}\ncatch ($error) { $operation_error = $error }\n\ntry {\n my $cleanup = $server->close;\n $loop->await($cleanup);\n $cleanup->get;\n say 'executor cleanup: complete';\n}\ncatch ($error) { $cleanup_error = $error }\n\nif (defined $operation_error) {\n warn \"executor cleanup also failed: $cleanup_error\\n\"\n if defined $cleanup_error;\n die $operation_error;\n}\ndie $cleanup_error if defined $cleanup_error;\n```\n" }, { "path": "docs/workspace.md", - "content": "---\ntitle: Load a JSON workspace\ndescription: Load a JSON workspace with the Perl libtmux distributions.\n---\n\nThe separate distribution packages the `libtmux-workspace` CLI. Validate and\nplan without tmux I/O; load explicitly through public core APIs.\n\n```json\n{\n \"schema\": \"libtmux.workspace/v1\",\n \"sessions\": [{\n \"name\": \"main\",\n \"windows\": [{\n \"name\": \"api\",\n \"layout\": \"even-horizontal\",\n \"panes\": [\n {\"command\": [\"/bin/sleep\", \"120\"]},\n {\"command\": [\"/bin/sleep\", \"120\"], \"horizontal\": true}\n ]\n }]\n }]\n}\n```\n\n```console\n$ libtmux-workspace validate workspace.json\n```\n\n```console\n$ libtmux-workspace plan workspace.json\n```\n\n```console\n$ libtmux-workspace load workspace.json \\\n --socket-name example \\\n --existing skip\n```\n\n`--dry-run` selects a nonmutating plan. Default `existing=error` checks all\nsession-name conflicts before creation. `skip` preserves the entire existing\nsession; repeated loads create only absent sessions. This is not convergence\nor reconciliation of an existing layout.\n\nEach pane requires literal `command` argv or explicit `shell_command`.\nEnvironment inherits workspace → session → window → pane; cwd inherits from\nwindow unless overridden. Layout applies after splitting. Configuration is\nversioned JSON; no YAML adapter or MCP consumer is selected.\n\nOn failure, inspect completed steps, failed step, created IDs, dispatch\nuncertainty, and cleanup errors. Rollback targets only sessions proven created\nby this invocation. Application readiness requires caller-specific assertions.\nCLI exit statuses: success 0; usage/configuration 2; loading 3; conflict 4.\n\n`LibTmux::Workspace::X::Load->report` retains each cleanup exception with its\ncaptured target identity and attempted action. These entries replace the\nearlier string-only `cleanup_errors` values. `cause` remains the original load\nfailure; a cleanup failure never replaces it. Catch and inspect the exception\nclass, dispatch evidence, and bounded native result when choosing recovery.\n\n`report_data` returns a detached diagnostic export for JSON, including the\nprimary cause and cleanup error classes. Native stdout/stderr use explicit\nbase64 fields to preserve arbitrary octets. The CLI prints this export on\nstandard error; the library report keeps the original exception objects.\n" + "content": "---\ntitle: Load a JSON workspace\ndescription: Load a JSON workspace with the Perl libtmux distributions.\n---\n\nThe separate distribution packages the `libtmux-workspace` CLI. Validate and\nplan without tmux I/O; load explicitly through public core APIs.\n\nSave [the packaged configuration](../packages/workspace/examples/workspace.json)\nas `workspace.json`, or use that file from the checkout. Its commands are Perl\nprograms, with two editor panes and a logs window:\n\n\n```json\n{\n \"schema\": \"libtmux.workspace/v1\",\n \"environment\": {\"PROJECT\": \"api\"},\n \"sessions\": [{\n \"name\": \"perl-workspace\",\n \"windows\": [{\n \"name\": \"editor\",\n \"layout\": \"even-horizontal\",\n \"panes\": [\n {\"command\": [\"perl\", \"-e\", \"while () { print }\"]},\n {\"command\": [\"perl\", \"-e\", \"while () { print }\"], \"horizontal\": true}\n ]\n }, {\n \"name\": \"logs\",\n \"panes\": [{\"command\": [\"perl\", \"-e\", \"while () { print }\" ]}]\n }]\n }]\n}\n```\n\nFrom the repository root:\n\n```console\n$ libtmux-workspace validate packages/workspace/examples/workspace.json\n```\n\n```console\n$ libtmux-workspace plan packages/workspace/examples/workspace.json\n```\n\n```console\n$ libtmux-workspace load packages/workspace/examples/workspace.json \\\n --socket-path \"${TMPDIR:-/tmp}/libtmux-perl-workspace-$$.sock\" \\\n --existing skip\n```\n\nLoading leaves the workspace running. The\n[standalone Perl example](../packages/workspace/examples/load.pl) additionally\nchecks the resulting graph, repeats with `skip`, and removes its own session:\n\n```console\n$ perl packages/workspace/examples/load.pl \"${TMPDIR:-/tmp}/libtmux-perl-workspace-$$.sock\"\n```\n\nIts plan is local and performs no tmux I/O:\n\n\n```perl\nopen my $in, '<:raw', \"$FindBin::Bin/workspace.json\" or die $!;\nmy $json = do { local $/; <$in> };\nclose $in or die $!;\nmy $workspace = LibTmux::Workspace->from_json($json);\nmy $plan = $workspace->plan;\nsay 'planned sessions: ', scalar $plan->{sessions}->@*;\ndie 'plan must not mutate' if $plan->{mutates};\n\n```\n\nIt then loads and inspects captured public core objects:\n\n\n```perl\nmy $report = $workspace->load(server => $server);\nmy $snapshot = $server->snapshot;\n$session = $snapshot->sessions->one({name => 'perl-workspace'});\nmy $windows = $session->window_links;\nsay 'loaded windows: ', $windows->count;\nmy $editor = $windows->one({window => {-is => {name => 'editor'}}})->window;\nsay 'editor panes: ', $editor->panes->count;\n\n```\n\nRepeating with `skip` preserves the whole existing session:\n\n\n```perl\nmy $again = $workspace->load(server => $server, existing => 'skip');\nsay 'skipped existing sessions: ', scalar $again->{skipped}->@*;\n\n```\n\nThe complete program imports installed modules and reads its adjacent JSON;\nit needs no author helper. Its output confirms one planned session, two loaded\nwindows, two editor panes, and one skipped session.\n\n`--dry-run` selects a nonmutating plan. Default `existing=error` checks all\nsession-name conflicts before creation. `skip` preserves the entire existing\nsession; repeated loads create only absent sessions. This is not convergence\nor reconciliation of an existing layout.\n\nEach pane requires literal `command` argv or explicit `shell_command`.\nEnvironment inherits workspace → session → window → pane; cwd inherits from\nwindow unless overridden. Layout applies after splitting. Configuration is\nversioned JSON; no YAML adapter is selected.\n\nOn failure, inspect completed steps, failed step, created IDs, dispatch\nuncertainty, and cleanup errors. Rollback targets only sessions proven created\nby this invocation. Application readiness requires caller-specific assertions.\nCLI exit statuses: success 0; usage/configuration 2; loading 3; conflict 4.\n\n`LibTmux::Workspace::X::Load->report` retains each cleanup exception with its\ncaptured target identity and attempted action. These entries replace the\nearlier string-only `cleanup_errors` values. `cause` remains the original load\nfailure; a cleanup failure never replaces it. Catch and inspect the exception\nclass, dispatch evidence, and bounded native result when choosing recovery.\n\n`report_data` returns a detached diagnostic export for JSON, including the\nprimary cause and cleanup error classes. Native stdout/stderr use explicit\nbase64 fields to preserve arbitrary octets. The CLI prints this export on\nstandard error; the library report keeps the original exception objects.\n" } ] } diff --git a/site/src/data/tmux-usage/perl.json b/site/src/data/tmux-usage/perl.json index aa4609bb0..31abde47e 100644 --- a/site/src/data/tmux-usage/perl.json +++ b/site/src/data/tmux-usage/perl.json @@ -94,7 +94,7 @@ ], "port": "perl", "repo": "libtmux/libtmux-perl", - "revision": "d9fa7c5278d243c671a29cdb00e3a911ac651bfa", + "revision": "a1cab0324b600a5df6e34b92590b5c3bd8f79c69", "schemaVersion": 1, "symbols": { "LibTmux::Async::Server::capture_pane": [ diff --git a/site/test/api-db-mentions.test.ts b/site/test/api-db-mentions.test.ts index 99cb98ebf..5fa134b7d 100644 --- a/site/test/api-db-mentions.test.ts +++ b/site/test/api-db-mentions.test.ts @@ -46,7 +46,10 @@ describe('prose mention index', () => { expect(mentionIndex.mentions.some((row) => row.port === 'csharp' && row.symbol === 'LibTmux.Workspace.WorkspaceActionKind.CaptureResult' && row.page === '/powershell/latest/workspace/source-guide/')).toBe(true) - expect(mentionIndex.dangling.filter((row) => ['powershell', 'julia', 'elixir', 'perl'].includes(row.port))).toEqual([]) + // Perl's guides name a CPAN changelog file, a wire-format identifier and a filter criterion path in code spans; none is API. + const notApi = new Set(['Changes', 'libtmux.where/v1', 'pane.where.width.-gte']) + expect(mentionIndex.dangling.filter((row) => ['powershell', 'julia', 'elixir', 'perl'].includes(row.port) + && !(row.port === 'perl' && notApi.has(row.text)))).toEqual([]) expect(mentionIndex.mentions.some((row) => row.port === 'perl' && row.symbol === 'LibTmux::Filter' && row.page === '/perl/latest/guides/filtering/')).toBe(true) diff --git a/site/test/stage-port-docs.test.ts b/site/test/stage-port-docs.test.ts index dda164d29..fe3638c8f 100644 --- a/site/test/stage-port-docs.test.ts +++ b/site/test/stage-port-docs.test.ts @@ -261,7 +261,7 @@ describe('staged port guide links', () => { if (port === 'perl') { const example = files.get('perl/examples/orchestration/index.md')! const body = /^---\n[\s\S]*?\n---\n\n([\s\S]*)$/.exec(example)![1] - expect(body).toMatch(/^Constructing `LibTmux::Server`/) + expect(body).toMatch(/^## Start with a complete program/) } for (const section of ['examples', 'topics']) { const page = files.get(`${port}/${section}/index.md`) From 0b2142e92f3edfaecb13d3fb036e9f4229104276 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:55:03 -0600 Subject: [PATCH 12/41] erlang(chore[pin]) Pin Erlang to the published libtmux_erlang 0.0.1 why: libtmux_erlang 0.0.1 is on Hex, but the committed model, guide cache and manifest packages described libtmux-erlang f1a2e66c0. Its installation guide offered only a Git dependency and its compatibility guide said no registry publication was claimed, so the live installation page told readers there was no published package. The manifest recorded 0.0.0+development, which a host answering for 0.0.1 contradicts. what: - Pin Erlang to libtmux/libtmux-erlang@539c7297c and regenerate its model and path data (exported with OTP 29.1.2 and the same exporter digest as before), tmux usage, guide cache, manifest packages and mention index with the repository's generators - Adopt the source change between the pins: the installation guide names the Hex package and keeps the Git subdirectory dependency as the source alternative, the compatibility guide says the core package is the only registry publication and HexDocs is not published, and the README documents the Hex install - No declaration changed; only the application file and Rebar config digests differ in the model's provenance, and the manifest package moves from 0.0.0+development to 0.0.1 - Keep every reviewed tmux usage claim: no source file under src/ changed, so only the usage file's revision binding moves - Link the fifteen example programs on the examples index at the new revision; the examples directory is unchanged, so the landing example and its recording stay at the revision where the program was recorded Source refs: libtmux/libtmux-erlang master 539c7297ceae65a1cf683e0836eae0a1ccd34d64, previous pin f1a2e66c0fa15d1e8d4efa2725a159121815293b. --- .../docs/ports/erlang/examples/index.md | 30 +++++++++---------- site/src/data/api/erlang.json | 2 +- site/src/data/api/erlang.paths.json | 2 +- site/src/data/manifest-packages.json | 6 ++-- site/src/data/mentions.json | 28 +++++++++++++++++ site/src/data/port-guides/erlang.json | 8 ++--- site/src/data/tmux-usage/erlang.json | 2 +- 7 files changed, 53 insertions(+), 25 deletions(-) diff --git a/site/src/content/docs/ports/erlang/examples/index.md b/site/src/content/docs/ports/erlang/examples/index.md index 7df2ac52b..b040b1c11 100644 --- a/site/src/content/docs/ports/erlang/examples/index.md +++ b/site/src/content/docs/ports/erlang/examples/index.md @@ -15,28 +15,28 @@ adapting a program to an existing server. | Program | What it demonstrates | Guide | | --- | --- | --- | -| [inspect_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/inspect_demo.erl) | Inspect an existing tmux socket without changing its sessions. | [Installation](../guides/installation/) | -| [readme_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/readme_demo.erl) | Create a workspace, query its graph and preserve captured values. | [Getting started](../guides/getting-started/) | -| [linked_graph.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/linked_graph.erl) | Distinguish physical windows from their session memberships. | [Object graph](../concepts/object-graph/) | -| [filter_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/filter_demo.erl) | Validate portable JSON and filter captured rows without tmux I/O. | [Selections and queries](../concepts/queries/) | -| [control_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/control_demo.erl) | Attach explicitly, inspect captured values and prove detachment. | [Control connections](../topics/control/) | -| [native_consumer.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/native_consumer.erl) | Construct native values and exercise a borrowed endpoint through public APIs. | Installed-consumer check | +| [inspect_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/inspect_demo.erl) | Inspect an existing tmux socket without changing its sessions. | [Installation](../guides/installation/) | +| [readme_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/readme_demo.erl) | Create a workspace, query its graph and preserve captured values. | [Getting started](../guides/getting-started/) | +| [linked_graph.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/linked_graph.erl) | Distinguish physical windows from their session memberships. | [Object graph](../concepts/object-graph/) | +| [filter_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/filter_demo.erl) | Validate portable JSON and filter captured rows without tmux I/O. | [Selections and queries](../concepts/queries/) | +| [control_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/control_demo.erl) | Attach explicitly, inspect captured values and prove detachment. | [Control connections](../topics/control/) | +| [native_consumer.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/native_consumer.erl) | Construct native values and exercise a borrowed endpoint through public APIs. | Installed-consumer check | ## Run, send and capture | Program | What it demonstrates | Guide | | --- | --- | --- | -| [job_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/job_demo.erl) | Capture a job that acknowledges terminal parsing before it exits. | [Owned operations](../guides/operations/) | -| [pipe_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/pipe_demo.erl) | Save terminal bytes after a consumer acknowledgement. | [Pipe pane output](../guides/piping/) | -| [pane_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/pane_demo.erl) | Isolate a running pane, then join it back without respawning. | [Panes](../guides/panes/) | -| [command_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/command_demo.erl) | Build captured-target commands, then execute and inspect them. | [Commands](../guides/commands/) | +| [job_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/job_demo.erl) | Capture a job that acknowledges terminal parsing before it exits. | [Owned operations](../guides/operations/) | +| [pipe_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/pipe_demo.erl) | Save terminal bytes after a consumer acknowledgement. | [Pipe pane output](../guides/piping/) | +| [pane_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/pane_demo.erl) | Isolate a running pane, then join it back without respawning. | [Panes](../guides/panes/) | +| [command_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/command_demo.erl) | Build captured-target commands, then execute and inspect them. | [Commands](../guides/commands/) | ## Options, hooks, keys and buffers | Program | What it demonstrates | Guide | | --- | --- | --- | -| [options_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/options_demo.erl) | Use local options to mark workspace ownership without inheritance. | [Options](../guides/options/) | -| [config_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/config_demo.erl) | Apply session configuration and wait for its explicit signal. | [Configuration](../guides/configuration/) | -| [hook_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/hook_demo.erl) | Acknowledge a registered split hook before reading its effect. | [Hooks](../guides/hooks/) | -| [key_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/key_demo.erl) | Install and remove an application-owned key table. | [Keys](../guides/keys/) | -| [buffer_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/f1a2e66c0fa15d1e8d4efa2725a159121815293b/examples/buffer_demo.erl) | Store a binary artifact without terminal or text conversion. | [Buffers](../guides/buffers/) | +| [options_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/options_demo.erl) | Use local options to mark workspace ownership without inheritance. | [Options](../guides/options/) | +| [config_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/config_demo.erl) | Apply session configuration and wait for its explicit signal. | [Configuration](../guides/configuration/) | +| [hook_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/hook_demo.erl) | Acknowledge a registered split hook before reading its effect. | [Hooks](../guides/hooks/) | +| [key_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/key_demo.erl) | Install and remove an application-owned key table. | [Keys](../guides/keys/) | +| [buffer_demo.erl](https://github.com/libtmux/libtmux-erlang/blob/539c7297ceae65a1cf683e0836eae0a1ccd34d64/examples/buffer_demo.erl) | Store a binary artifact without terminal or text conversion. | [Buffers](../guides/buffers/) | diff --git a/site/src/data/api/erlang.json b/site/src/data/api/erlang.json index c3c8cce57..fcfed5f2b 100644 --- a/site/src/data/api/erlang.json +++ b/site/src/data/api/erlang.json @@ -1 +1 @@ -{"port":"erlang","repo":"libtmux/libtmux-erlang","revision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b","extractor":"@libtmux/api-model@0.0.1 (Erlang EEP-48 and abstract code v3)","nativeProvenance":{"files":[{"path":".tool-versions","sha256":"73a9c039345d63a5316d1818639cabf8f563af4752b3d25168aff80beae90a68"},{"path":"apps/libtmux_erlang/rebar.config","sha256":"7dde37bc878d42712eb562a96f7b2bef0f717d552c1fe115c3224cf7a39c59a2"},{"path":"apps/libtmux_erlang/src/libtmux_erlang.app.src","sha256":"49ec4b3c4d58af70fc014ad893178bc739305489d89678a4636a567caf00c0a5"},{"path":"apps/libtmux_erlang/src/libtmux_erlang_app.erl","sha256":"b649483a5e0bf6cc3a377aa06a381e6afe2b316f0c64590d13dc650520040328"},{"path":"apps/libtmux_erlang/src/tmux_admission.erl","sha256":"78330dddda6ae5854d2e72585523c6664293167d4b25273015494f8877029b4f"},{"path":"apps/libtmux_erlang/src/tmux_args.erl","sha256":"f054894dfd02179f09fe153afacf29dd9e8494ec381abd07ab92b56300ca10cd"},{"path":"apps/libtmux_erlang/src/tmux_buffer.erl","sha256":"c05edba9f3cfde487d699b5ed7e83b8353f0d7419db309a22d8a0f938572f996"},{"path":"apps/libtmux_erlang/src/tmux_buffer_codec.erl","sha256":"872d28160204881f0b11de18ae99704ca17a1e5914819abd3c1c30298427121e"},{"path":"apps/libtmux_erlang/src/tmux_capability.erl","sha256":"1514ac1583f5f870c067585f4509a1304147b2e4527a7026dfdac367c54c72c1"},{"path":"apps/libtmux_erlang/src/tmux_capability_data.erl","sha256":"e5a6f66ded73cb16e53d9f6bbbc0d6066088e58598b8e970b37e6bb3ea142e1e"},{"path":"apps/libtmux_erlang/src/tmux_command.erl","sha256":"4ef3e833cd4beeb62f8dc34994fd4071a0df675c3e2304b3e80fcd6d9579153c"},{"path":"apps/libtmux_erlang/src/tmux_control.erl","sha256":"0a5412aa42a2616a12a07310facd5bd2a669e2753949c3dc4966fac7aaeb0bdf"},{"path":"apps/libtmux_erlang/src/tmux_control_codec.erl","sha256":"a3395198fe0ebba49dc598f0e2503a14f2b00b2ccb36982c90513f851a6a5b48"},{"path":"apps/libtmux_erlang/src/tmux_error.erl","sha256":"ccb10f5a434672a20068759ee1b54ba6c6c503f0f876247aad7125c6b4c5ad82"},{"path":"apps/libtmux_erlang/src/tmux_filter.erl","sha256":"b582961447a700c38d348230a016918cf07cec169ab46d11b4c9a925857a142b"},{"path":"apps/libtmux_erlang/src/tmux_filter_eval.erl","sha256":"5e715cfa4110951771cbd7fe13eb2797a2ff2dd2d38ed5838b500524a3f7fbc2"},{"path":"apps/libtmux_erlang/src/tmux_hook.erl","sha256":"723c166ff42524679066011916463761ad5d4e9ccc6e9c901beb3cca6df53a3d"},{"path":"apps/libtmux_erlang/src/tmux_identity.erl","sha256":"31ab809d3c407e0214f6b952e4e24cc5289f3d4ee305f6fe0b9b1520f4af9d7d"},{"path":"apps/libtmux_erlang/src/tmux_json.erl","sha256":"2dce31dd87dae4e32c314de5c1ddefcee077cfef09a78cbcf6f660748573ddfc"},{"path":"apps/libtmux_erlang/src/tmux_key.erl","sha256":"00c7d3a141d377c115cf2a6d010312aa4c006d34355111ff51424b3c2b2a3e23"},{"path":"apps/libtmux_erlang/src/tmux_log.erl","sha256":"885dcb198a82a0ed13f8c766e63e3953e4e9134f5d4bd2f86e79f0e0de65783a"},{"path":"apps/libtmux_erlang/src/tmux_matcher.erl","sha256":"b599f732e73ad9c7701df6c9c65c9524645c988bb5ba2d0729b9004136d29c16"},{"path":"apps/libtmux_erlang/src/tmux_model.erl","sha256":"519cfeb36fa0ea3df6d742edc87ded1f9d4800fc4fe7c662f2e676e29a4ce0a9"},{"path":"apps/libtmux_erlang/src/tmux_observe.erl","sha256":"4e726b823568a66cdf0f3c34aeb6c0b55651522da9a6263d077a2926cd699da0"},{"path":"apps/libtmux_erlang/src/tmux_operation.erl","sha256":"f5d34e31af1ac17e267bff6529a454d095ff3c7c238d64d6bbb0002e54285c47"},{"path":"apps/libtmux_erlang/src/tmux_option.erl","sha256":"c1872d0d9f74f136d0fbb1a2b28232d4245a197f8fd84d78ae6bf4200fd0088a"},{"path":"apps/libtmux_erlang/src/tmux_option_batch.erl","sha256":"16b90a2b4e8bf168dd3d5bd56bfbb4a561cfd9ff8f43054917ce9500488b195b"},{"path":"apps/libtmux_erlang/src/tmux_option_codec.erl","sha256":"cd3dc1cc2d457cd711247c539f0fc0e3498303180751724ebae77462cede9b6d"},{"path":"apps/libtmux_erlang/src/tmux_option_data.erl","sha256":"8fe72d14d2ec8d6a9aef7ac8a46923f3c70f47f45b5c6fcd0b1754eae8ca0ae4"},{"path":"apps/libtmux_erlang/src/tmux_option_scope.erl","sha256":"7f6227cd1808bf8b27df12fafc3c35c073797efee7a4ed9f89e19bc2b498ed11"},{"path":"apps/libtmux_erlang/src/tmux_owned_server.erl","sha256":"17521c819d7aea427429dc18aafee101544a6f85c0772857d540d1dd887a44f3"},{"path":"apps/libtmux_erlang/src/tmux_pane.erl","sha256":"e71ac56dab19886495cae801a1a83d85123e519de1c10ba8eb4128c8ff33db48"},{"path":"apps/libtmux_erlang/src/tmux_query.erl","sha256":"687cc6d89f68815662d8154ed3326ed69dd5b665c4cc1fec10036022c52cb641"},{"path":"apps/libtmux_erlang/src/tmux_query_plan.erl","sha256":"98299c186428ccc70588cee87b65e89d172045b89d01d0c88996834454238a93"},{"path":"apps/libtmux_erlang/src/tmux_regex.erl","sha256":"c97133a505dfbf7a54b0b59645429a3a512482bec99dfc5cc8da0ef27664af44"},{"path":"apps/libtmux_erlang/src/tmux_registry.erl","sha256":"e0370601b396566bb24323a65e0fc2e6a1930c6298cbd125590009a4855d0740"},{"path":"apps/libtmux_erlang/src/tmux_schema.erl","sha256":"85ebfc0c7f53cf4e7952f9ec440395646d48d9100ad2ea191d9c053759625a65"},{"path":"apps/libtmux_erlang/src/tmux_schema_data.erl","sha256":"4cd255118e2b207d40507fa2a5b91af7555e41134986eff7c58ce2349a96560d"},{"path":"apps/libtmux_erlang/src/tmux_scope.erl","sha256":"02c1624a9618fb24022b13263e6de0ca14ca60e5ff7b773e1ecfdd742b2ea03b"},{"path":"apps/libtmux_erlang/src/tmux_select.erl","sha256":"49f16937a1edf0057364f54718907d48fa2442a6410c38218f984c456874968c"},{"path":"apps/libtmux_erlang/src/tmux_server.erl","sha256":"e54e0940fb9c86985620e0c983538fbcf9e4e06b0c36b925dc7c46c21451d516"},{"path":"apps/libtmux_erlang/src/tmux_session.erl","sha256":"150217b8d739092eded788198c86e0d82d6e7e81453ab8c3423c53ea8d4280d0"},{"path":"apps/libtmux_erlang/src/tmux_snapshot.erl","sha256":"570e30612017e0a80be44fcae0ad5aaf44968588244916efc93516751dc58f81"},{"path":"apps/libtmux_erlang/src/tmux_sup.erl","sha256":"d0769251b68e8118e8cb58d2cd974cbf59e8c72b5713e738d6b82df14cd400ee"},{"path":"apps/libtmux_erlang/src/tmux_target.erl","sha256":"107de5ba111b6ff3641c3e1ba2197b6a66808a654e031b0837ff2befaad67d5d"},{"path":"apps/libtmux_erlang/src/tmux_text_codec.erl","sha256":"22b3823103dd84df3e21d6b9e2362da9f74c062731253fbac0b555868be758db"},{"path":"apps/libtmux_erlang/src/tmux_transport.erl","sha256":"1be3ba6148a39b041720b1123f42fd1d9142993dff39e8b655b24db245f25b82"},{"path":"apps/libtmux_erlang/src/tmux_transport_codec.erl","sha256":"516f5d3d79f31702a7b27b09945e1f5b8b9cfce613ede4ac9edc817f941686df"},{"path":"apps/libtmux_erlang/src/tmux_version.erl","sha256":"c09c120c90ec42a7cc55772b13823e3169259c68f2330537f1e5cb19e087d283"},{"path":"apps/libtmux_erlang/src/tmux_window.erl","sha256":"8fd8325549b1756f76c3fceb36ccfcf15068ec9c0cfa6a290da8ae3067817a4e"},{"path":"apps/libtmux_erlang/src/tmux_window_link.erl","sha256":"3584235656fc15976074e964f5ab2042e7dc83ed0fa3748a28059da32dd7550c"},{"path":"apps/libtmux_erlang/test/tmux_admission_tests.erl","sha256":"90cd16fd73aaaa9ac32ac1ac2b6ccf16d879b5dee88950d42d44455ac33c92a3"},{"path":"apps/libtmux_erlang/test/tmux_buffer_tests.erl","sha256":"0f117487e30b8edc908393ed85f3837d92c3f4309b0f5e7233c3926822bc8fee"},{"path":"apps/libtmux_erlang/test/tmux_capability_tests.erl","sha256":"7062a4401ae2f6d42389780c200957d85613eb635721c294bd8916d851f4bbec"},{"path":"apps/libtmux_erlang/test/tmux_command_tests.erl","sha256":"d0c8e817342d2d2000a097ef248557f3f22c02b149ac068d6da6faf2719f8dfe"},{"path":"apps/libtmux_erlang/test/tmux_domain_tests.erl","sha256":"8df9b7ab8fcf08838cb83bf814e610a8d2fe042abb8c5a7861700d5243b8cc9f"},{"path":"apps/libtmux_erlang/test/tmux_error_tests.erl","sha256":"9561f706fe80150aac64481762a7be1ecd28f26d7b643cf194774691a1eda6e2"},{"path":"apps/libtmux_erlang/test/tmux_filter_fixture_tests.erl","sha256":"2042d790c9a8db07d0260aeb18a1658f1715299a7493d80c95f9ab6667f60f9c"},{"path":"apps/libtmux_erlang/test/tmux_filter_tests.erl","sha256":"297207998c206b10f71799cb9b642fb435b397e8e076f9c5780f5bae4bc2d82e"},{"path":"apps/libtmux_erlang/test/tmux_hook_tests.erl","sha256":"4f9bbdc801ab3d6e14609be8c0f2477bc00d530d9c829b719a8c98a7e3160482"},{"path":"apps/libtmux_erlang/test/tmux_identity_tests.erl","sha256":"fcf254ed09fc1111b65eb4a5dab2304ee013d8eae937cf590b496c3955453945"},{"path":"apps/libtmux_erlang/test/tmux_json_tests.erl","sha256":"55d60e58bd058a1882c1288880cca60596397702594791a7f4907f6bccdd6408"},{"path":"apps/libtmux_erlang/test/tmux_key_tests.erl","sha256":"d39af985776d7ed68e4b39f535b0513f2cda3b95d27ee7f438c64d7490e5f8f8"},{"path":"apps/libtmux_erlang/test/tmux_model_tests.erl","sha256":"ed7b34128ff3c55020a8b430814cd21d7fbd0af49d645d1caf640c9b12a1bde5"},{"path":"apps/libtmux_erlang/test/tmux_option_tests.erl","sha256":"35a8b9a53fe2545095255c04ef0e5d92e21ff09405e6204a73b5bbbbdb25bc07"},{"path":"apps/libtmux_erlang/test/tmux_query_tests.erl","sha256":"3f6a7b2d3dfbcb252b62e2559e2318c976541b763e507ddbf57133582e121cb9"},{"path":"apps/libtmux_erlang/test/tmux_regex_tests.erl","sha256":"53f60668b1c3cf9449ab59b5576e5d367902f374aa6d5a99e50dfa5d0c96a05c"},{"path":"apps/libtmux_erlang/test/tmux_registry_tests.erl","sha256":"1564e63d63be02e2ddc13e58a67a003eb77e3129b4f6d6585d6cb2ef26d8fbc4"},{"path":"apps/libtmux_erlang/test/tmux_scope_tests.erl","sha256":"575a142cc074ffcd51784bfba68bd81b8ab1fb53684e2c47fa912cbf9ae38f19"},{"path":"apps/libtmux_erlang/test/tmux_select_tests.erl","sha256":"130475107a7ade6e18b98987ae222ff4ea12ee9bdb40cf90fd40d37b13292f74"},{"path":"apps/libtmux_erlang/test/tmux_snapshot_tests.erl","sha256":"641dd3e523efdd7a313d5bc8109d13419bedc50f1565a2abbdb4226594a51f60"},{"path":"apps/libtmux_erlang/test/tmux_text_codec_tests.erl","sha256":"fd089f5e50f509390051325c009eeb9abc3aca4a5c046c3562d64061f2c77bd0"},{"path":"apps/libtmux_erlang/test/tmux_transport_codec_tests.erl","sha256":"8769931bdc39f25e927ead06b17b985d192be54610b799ced428d4fab5d351cf"},{"path":"apps/libtmux_erlang/test/tmux_version_tests.erl","sha256":"3867637a0194ef1eee541ad311d3b296436c0220e2323b504b17243a8a588bd1"},{"path":"examples/buffer_demo.erl","sha256":"d4579d644f0d68f5b864036351ad538c7b18f73469d33fa933da248b72028f50"},{"path":"examples/command_demo.erl","sha256":"c9af9f446d73710ade39ee59a29494a9df5be076172a7efa977bc35034a33622"},{"path":"examples/config_demo.erl","sha256":"0d861a00b4f1025976a1c10e1e4873d08cedcf5f622d1d307420672f4caca3e4"},{"path":"examples/control_demo.erl","sha256":"3e407160772d5677ffb6983405bcf032d728e65e3c6eec9566445c41b2a49d7b"},{"path":"examples/filter_demo.erl","sha256":"9b3467b20497d568c0832685c790fcd0909133a15d5814282ccf55765771d321"},{"path":"examples/hook_demo.erl","sha256":"5c6c777bc6a2ab716a00bef55f44b4cf7fe43ad29ad31b55ea092acdeef49087"},{"path":"examples/inspect_demo.erl","sha256":"a87e20080863153c687682f7c21961dd50edd853254dac38f8c09a1b34f03bbd"},{"path":"examples/job_demo.erl","sha256":"8ddbd70130f47ae022d2224646b132e18aa5178b50aa6965b33612230ddf3bf5"},{"path":"examples/key_demo.erl","sha256":"572bb44ae0bca5354d9080993d6010d97caa25dcaaad89417912f4ddcca975e4"},{"path":"examples/linked_graph.erl","sha256":"d6d5f7b51e76e2023c6f33a1547ff71534f6107d705db20d2012122f552c6bf0"},{"path":"examples/native_consumer.erl","sha256":"fe3a5943ada5885c09918b3693510de612437ef6b8bd3b431674c846ae648eea"},{"path":"examples/options_demo.erl","sha256":"37a5a00ae52c25b5eef4ff079b6b5fe8155f54be85488d456ba1399dcddec468"},{"path":"examples/pane_demo.erl","sha256":"e103746aebc97ed5c939e384c935f2bf7830c0e0efa0c269fc70d5dec7b6f300"},{"path":"examples/pipe_demo.erl","sha256":"a5ea3562db13830139f6ffcf95b4b0ef0fb5dee7dcb408335aaad3ac80519e6d"},{"path":"examples/readme_demo.erl","sha256":"1ff24e66b6ac576c63eb2fc481aeeb17ab641608ec4ac56c09f9266e34fcf850"},{"path":"property/prop_tmux_filter.erl","sha256":"1a918ae522b6ae675c3ec2c42ffbb87bfd8cb30bb770ae9ac5f7bf6740b7713e"},{"path":"property/prop_tmux_graph.erl","sha256":"2fe1dfd9e870a5e98ce6a7e4c89a1a33b72d0661dc68860a6d6be83470e17fee"},{"path":"rebar.config","sha256":"7d9c212a4049a2b7f7eae53b2647aec056637f987916835f9b770a7e7e179ef9"},{"path":"rebar.lock","sha256":"11147eb50b093a61fe80253dae762d703387f23054d00907217c4ab3dc2d6b8c"},{"path":"test/consumers/model_types_bad.erl","sha256":"643fe7c662cc031de656149da55ec3c038541a7a1d3ece01ed7b2ca21bc5d68a"},{"path":"test/consumers/model_types_ok.erl","sha256":"fcababe54e4626a8827c319025bc801bcac51457489281d67b02a31edaebf763"},{"path":"test/tmux_buffer_SUITE.erl","sha256":"605251515daff77735e714ac9bd42abdb41695c650236aa3ee1d1d15e77ebbd0"},{"path":"test/tmux_channel_SUITE.erl","sha256":"0c72df0e5291895ee491fc9b6148100bd19c993546f932db35da4240d4f29a34"},{"path":"test/tmux_command_SUITE.erl","sha256":"7d8bc30cff9cb9168885be97a9929090d94314871d2cba6123a327dfe30c464e"},{"path":"test/tmux_control_SUITE.erl","sha256":"787e82c6ab419ceb69d7e75146b1750bf0d8425281b30e541f3865184e352a2f"},{"path":"test/tmux_control_codec_SUITE.erl","sha256":"3244294cd87b33384cadfb2e53ff501aecabb571388e99faf9cbc057158558ce"},{"path":"test/tmux_control_codec_tests.erl","sha256":"6730a09af09dbd5ebcd5e4cb8dd8abafc0c339d7cf14b8f79926a755b95c3705"},{"path":"test/tmux_diagnostics_SUITE.erl","sha256":"72aa812052d70b5af8b44777e0d39dca8f94f43faa3fd1c78c981157d4596246"},{"path":"test/tmux_docs_SUITE.erl","sha256":"fe2e757d2b3496eeb9928ab6fbea00434b5b9bd00bec199730162b14400cf589"},{"path":"test/tmux_domain_SUITE.erl","sha256":"53bf4ec2c1e4ebdbdb11f3cc3f4e235140cb3aa6e9859bc7a79c3ea4b7c30fa7"},{"path":"test/tmux_fixture_SUITE.erl","sha256":"2a7ad27ad63f1892f347fb3b272231a9ed3603f8025527931f6f98024b469e73"},{"path":"test/tmux_hook_SUITE.erl","sha256":"c020bd17251344e15d823e05e0a4ec8be4e05c6b6d3582af2aa659ff08577ef6"},{"path":"test/tmux_key_SUITE.erl","sha256":"3b5d0da672633a7470446008b79741900df9f88d5c12e21559445f2f1f1b2412"},{"path":"test/tmux_option_SUITE.erl","sha256":"88a323f26b52025092e31255f2ab944859cadd45e74ff7fd90cd6d76da0e6583"},{"path":"test/tmux_owned_server_SUITE.erl","sha256":"de43f1cfecf8c20f349a9fcaae0b02fd0559a7ab3f8621caf6f4a0cf40fa0980"},{"path":"test/tmux_pipe_SUITE.erl","sha256":"cfb3cdd298f43dc66afb306f6ac1f5f692968958a959fa8b7bbb2beaaa602b46"},{"path":"test/tmux_query_SUITE.erl","sha256":"63e71283c8aadd680c6fb006c7f9177c66b0c05b258b3849d20ea9e05699da06"},{"path":"test/tmux_server_SUITE.erl","sha256":"af9bdd800ddf33a37d4d48d5b4329f1f90dd8ba93797cfe4beb04e1587244de4"},{"path":"test/tmux_test_fixture.erl","sha256":"48b64d04a7fa2c0c4848f5203c76bc11daa98ddf3d5e1f7cc4ac5a3793ca8d00"},{"path":"test/tmux_topology_SUITE.erl","sha256":"3e5fd3cde6709593e169a93bc1ee684d3e460788400b514439009da3e58397bf"},{"path":"test/tmux_transport_SUITE.erl","sha256":"17ca53bf22a720e3b4b57ee9be9a9e8d2517abd3659b2c79c4b81d92a1eaf01c"}],"exporter":{"name":"Erlang EEP-48 and abstract code","version":3,"otp":"29.1.2","columns":60,"source_sha256":"2fc491ad480e74fded943bf072d5bfd452116a9dfc6dc7062860727fe487f1ab"}},"sources":[{"package":"libtmux_erlang","product":"core","version":"0.0.0+development","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"}],"symbols":[{"id":"tmux_buffer","publicId":"tmux_buffer","qualifiedName":"tmux_buffer","name":"tmux_buffer","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Load, inspect and paste tmux byte buffers through an explicit endpoint.","body":"Use `load/3` for binary payloads, including NUL bytes, and `show/2` to read\nthem back without terminal escaping or an added newline. `list/1` returns\ncaptured metadata in tmux's newest-first order; it never loads payloads.\n`paste/3` sends a named buffer to a registered pane. Direct input is available\nthrough `tmux_pane:send_text/2`.\n\nNames are NUL-free binaries, distinct from payload bytes. New names retain\ntmux's storage rules: 3.7+ cleans names and can reject control bytes or escape\nbackslashes. Use observed names from `list/1` for subsequent calls. Empty load\ninput is tmux's no-op; it neither creates nor clears a buffer. `delete/2`\nremoves a buffer explicitly. Names have no persistent object identity, and\nconcurrent commands can replace a buffer between calls.\n\nAll operations except `capabilities/1` perform explicit I/O. They use the\none-shot transport and preserve operational errors and ownership checks.\nThe [buffer guide](buffers.md) shows a complete byte round trip."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_buffer"},{"id":"tmux_buffer:capabilities/1","publicId":"tmux_buffer:capabilities/1","qualifiedName":"tmux_buffer:capabilities/1","name":"capabilities/1","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"capabilities(Version)\n-spec capabilities(tmux_version:t()) -> capabilities().","references":[{"start":41,"end":55,"target":"t:tmux_version:t/0"},{"start":62,"end":74,"target":"t:tmux_buffer:capabilities/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]}],"returns":"capabilities()","returnsReferences":[{"start":0,"end":12,"target":"t:tmux_buffer:capabilities/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe version differences without I/O. This does not qualify an untested release. `paste/3` uses paste_sanitize to gate sanitization and render raw paste.","examples":[{"lang":"erlang","code":"1> {ok, V} = tmux_version:parse(<<\"tmux 3.3\">>), ok.\nok\n2> tmux_buffer:capabilities(V).\n#{paste_sanitize => false,cleaned_names => false,\n rename_replaces => false,strict_named_target => false}"}]},"source":{"line":55,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_buffer-capabilities-1"},{"id":"tmux_buffer:delete/2","publicId":"tmux_buffer:delete/2","qualifiedName":"tmux_buffer:delete/2","name":"delete/2","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"delete(Server, Buffer)\n-spec delete(tmux_server:t(), target()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":36,"end":49,"target":"t:tmux_server:t/0"},{"start":53,"end":59,"target":"t:tmux_buffer:target/0"},{"start":87,"end":111,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":141,"end":144,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Buffer","type":"target()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_buffer:target/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Delete a named buffer or latest. Missing buffers return buffer_not_found. This performs I/O and affects the server-wide buffer store.","body":"On 3.3/3.3a, named deletion first checks existence with a zero-output `show/3`\nread because native deletion falls back to the newest buffer when a name is\nabsent. This check does not collect a payload or depend on the list bounds.\nIt is not atomic: concurrent removal after the check can trigger that fallback.\nUse external serialization or tmux 3.4+ when that race is unacceptable."},"source":{"line":126,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_buffer-delete-2"},{"id":"tmux_buffer:list/1","publicId":"tmux_buffer:list/1","qualifiedName":"tmux_buffer:list/1","name":"list/1","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"list(Server)\n-spec list(tmux_server:t()) ->\n {ok, [info()]} | {error, map()}.","references":[{"start":24,"end":37,"target":"t:tmux_server:t/0"},{"start":64,"end":68,"target":"t:tmux_buffer:info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":83,"end":86,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, [info()]} | {error, map()}","returnsReferences":[{"start":6,"end":10,"target":"t:tmux_buffer:info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture metadata in tmux's newest-first insertion order. Renaming preserves position; replacing data through `load/3` inserts a new buffer. Length frames preserve names containing delimiters, newlines or invalid UTF-8 on releases that permit them. Returns an ordinary list, bounded to 4096 rows and 1 MiB of encoded output. No payloads, hidden refresh or atomic snapshot is provided."},"source":{"line":106,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_buffer-list-1"},{"id":"tmux_buffer:load/3","publicId":"tmux_buffer:load/3","qualifiedName":"tmux_buffer:load/3","name":"load/3","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"load(Server, Name, Bytes)\n-spec load(tmux_server:t(),\n binary() | automatic,\n binary()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":37,"end":50,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":65,"end":71,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":98,"end":104,"target":"t:erlang:binary/0"},{"start":130,"end":154,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":182,"end":185,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Name","type":"binary() | automatic","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Bytes","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Load binary bytes under a name, or create an automatic buffer. Input may contain NUL. Empty input succeeds without changing the buffer store, including an existing name. The command payload, including argv and stdin, must fit the endpoint's 256 KiB admission limit. See `tmux_server:command/3`.","body":"Returns the completed command result, not a persistent buffer handle. No\nclipboard write is requested. Native stored-name rules still apply."},"source":{"line":72,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_buffer-load-3"},{"id":"tmux_buffer:paste/3","publicId":"tmux_buffer:paste/3","qualifiedName":"tmux_buffer:paste/3","name":"paste/3","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"paste(Pane, Buffer, Options)\n-spec paste(tmux_model:pane(), target(), paste_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":41,"end":56,"target":"t:tmux_model:pane/0"},{"start":60,"end":66,"target":"t:tmux_buffer:target/0"},{"start":70,"end":83,"target":"t:tmux_buffer:paste_options/0"},{"start":110,"end":134,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":163,"end":166,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Buffer","type":"target()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_buffer:target/0"}]},{"name":"Options","type":"paste_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_buffer:paste_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Send a named buffer or latest to a registered pane. Defaults preserve payload bytes: LF separators and unsanitized input. On tmux 3.7+, raw paste uses -S; sanitize=true selects its safe print encoding. Earlier releases reject that request with unsupported_capability before dispatch.","body":"separator is NUL-free; delete removes the buffer after the native paste call.\nbracketed adds markers only if the target has enabled that terminal mode.\nNative input-off/dead-pane behavior still applies. Completion establishes the\ntmux command result, not consumption by the child. No automatic retry occurs."},"source":{"line":167,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_buffer-paste-3"},{"id":"tmux_buffer:rename/3","publicId":"tmux_buffer:rename/3","qualifiedName":"tmux_buffer:rename/3","name":"rename/3","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"rename(Server, Old, New)\n-spec rename(tmux_server:t(), binary(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":38,"end":51,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":55,"end":61,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":65,"end":71,"target":"t:erlang:binary/0"},{"start":99,"end":123,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":153,"end":156,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Old","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"New","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Rename one explicit name. tmux 3.3 refuses an occupied destination; 3.4+ replaces it. This is native collision behavior, not an atomic absence check. Identical input names return same_buffer_name before I/O, avoiding unsafe legacy tmux paths. New names retain native cleaning rules; see `list/1` for stored names. The same observed 3.3/3.3a missing-name preflight and race as `delete/2` apply."},"source":{"line":142,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_buffer-rename-3"},{"id":"tmux_buffer:show/2","publicId":"tmux_buffer:show/2","qualifiedName":"tmux_buffer:show/2","name":"show/2","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"show(Server, Buffer)\n-spec show(tmux_server:t(), target()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":32,"end":45,"target":"t:tmux_server:t/0"},{"start":49,"end":55,"target":"t:tmux_buffer:target/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":81,"end":87,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":101,"end":104,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Buffer","type":"target()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_buffer:target/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read exact payload bytes with default bounds. See `show/3` for limits."},"source":{"line":81,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_buffer-show-2"},{"id":"tmux_buffer:show/3","publicId":"tmux_buffer:show/3","qualifiedName":"tmux_buffer:show/3","name":"show/3","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"show(Server, Buffer, Options)\n-spec show(tmux_server:t(), target(), read_options()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":41,"end":54,"target":"t:tmux_server:t/0"},{"start":58,"end":64,"target":"t:tmux_buffer:target/0"},{"start":68,"end":80,"target":"t:tmux_buffer:read_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":106,"end":112,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":126,"end":129,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Buffer","type":"target()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_buffer:target/0"}]},{"name":"Options","type":"read_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_buffer:read_options/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read exact payload bytes from an unattached one-shot client. No print decoding or newline removal applies. max_bytes is 0 through 1 MiB; exceeding it returns output_limit with partial command evidence, never a successful truncated value. deadline_ms is 1 through 600000. Missing buffers return buffer_not_found."},"source":{"line":90,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_buffer-show-3"},{"id":"t:tmux_buffer:capabilities/0","publicId":"t:tmux_buffer:capabilities/0","qualifiedName":"tmux_buffer:capabilities/0","name":"capabilities/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type capabilities() ::\n #{paste_sanitize := boolean(),\n cleaned_names := boolean(),\n rename_replaces := boolean(),\n strict_named_target := boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":54,"end":61,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":94,"end":101,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":136,"end":143,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":182,"end":189,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Source-defined buffer behavior for a parsed daemon version."},"source":{"line":39,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_buffer-capabilities-0"},{"id":"t:tmux_buffer:info/0","publicId":"t:tmux_buffer:info/0","qualifiedName":"tmux_buffer:info/0","name":"info/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type info() ::\n #{name := binary(),\n size := non_neg_integer(),\n created := non_neg_integer()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":36,"end":42,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":66,"end":81,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":108,"end":123,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Captured name, payload byte count and Unix creation time; not a live handle."},"source":{"line":28,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_buffer-info-0"},{"id":"t:tmux_buffer:paste_options/0","publicId":"t:tmux_buffer:paste_options/0","qualifiedName":"tmux_buffer:paste_options/0","name":"paste_options/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type paste_options() ::\n #{separator => binary(),\n delete => boolean(),\n bracketed => boolean(),\n sanitize => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":50,"end":56,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":82,"end":89,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":118,"end":125,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":153,"end":160,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Paste controls. separator defaults to LF; delete and bracketed default to false. sanitize defaults to false, preserving bytes. Explicit sanitization requires tmux 3.7+. Bracketing occurs only when the pane enables bracketed paste."},"source":{"line":36,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_buffer-paste_options-0"},{"id":"t:tmux_buffer:read_options/0","publicId":"t:tmux_buffer:read_options/0","qualifiedName":"tmux_buffer:read_options/0","name":"read_options/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type read_options() ::\n #{max_bytes => 0..1048576,\n deadline_ms => 1..600000}.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read bounds: max_bytes defaults to 1 MiB; deadline_ms defaults to 2500."},"source":{"line":30,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_buffer-read_options-0"},{"id":"t:tmux_buffer:target/0","publicId":"t:tmux_buffer:target/0","qualifiedName":"tmux_buffer:target/0","name":"target/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type target() :: binary() | latest.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":18,"end":24,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A stored buffer name, or latest to let tmux select its newest buffer."},"source":{"line":26,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_buffer-target-0"},{"id":"tmux_capability","publicId":"tmux_capability","qualifiedName":"tmux_capability","name":"tmux_capability","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Look up source-derived native command declarations and feature minimums.","body":"`commands/1` and `command/2` describe the exact source profiles in `profiles/0`.\nProfiles cover every release in the supported tmux 3.3a–3.8 range. They do not\ncontact tmux, interpret its arguments or qualify another build.\nCanonical command names are lookup keys; aliases remain metadata. A native\ndeclaration does not mean this library provides a typed facade for it. Use\n`tmux_command:raw/2` for an explicit trusted command.\n\n`describe/1` reports selected native feature minimums. `require/2` compares a\nparsed version with one of those minimums; it does not perform I/O or dispatch\nthe command. Numeric minimum checks also accept uncatalogued and tracking\nversions, preserving the distinction from exact parser discovery. They do not\nestablish runtime or CI qualification. Use `tmux_server:version/1` to obtain the\nversion captured by a registered endpoint.\n\nThe [generated reference](commands-reference.md) records source profiles and\nparser declarations. Maintaining the catalogue needs a tmux source checkout;\ninstalled consumers use compiled data and OTP only."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_capability"},{"id":"tmux_capability:command/2","publicId":"tmux_capability:command/2","qualifiedName":"tmux_capability:command/2","name":"command/2","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"command(Version, Name)\n-spec command(tmux_version:t(), binary()) ->\n {ok, command_info()} | {error, map()}.","references":[{"start":37,"end":51,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":55,"end":61,"target":"t:erlang:binary/0"},{"start":90,"end":102,"target":"t:tmux_capability:command_info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":116,"end":119,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, command_info()} | {error, map()}","returnsReferences":[{"start":5,"end":17,"target":"t:tmux_capability:command_info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Look up one canonical native command in an exact source profile. Returns unknown_command for aliases or unknown names, unsupported_command when a known command is absent from that profile, and unsupported_command_catalogue for uncatalogued or tracking versions. Performs no I/O.","examples":[{"lang":"erlang","code":"1> {ok, V} = tmux_version:parse(<<\"tmux 3.3a\">>), ok.\nok\n2> {ok, C} = tmux_capability:command(V, <<\"send-keys\">>), ok.\nok\n3> maps:get(file, maps:get(source, C)).\n<<\"cmd-send-keys.c\">>"}]},"source":{"line":74,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_capability-command-2"},{"id":"tmux_capability:commands/1","publicId":"tmux_capability:commands/1","qualifiedName":"tmux_capability:commands/1","name":"commands/1","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"commands(Version)\n-spec commands(tmux_version:t()) ->\n {ok, [binary()]} | {error, map()}.","references":[{"start":33,"end":47,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":78,"end":84,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":99,"end":102,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]}],"returns":"{ok, [binary()]} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":6,"end":12,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":27,"end":30,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return sorted canonical command names for an exact catalogued stable version. Tracking and uncatalogued versions return unsupported_command_catalogue. This is pure source discovery; it does not execute list-commands."},"source":{"line":50,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_capability-commands-1"},{"id":"tmux_capability:describe/1","publicId":"tmux_capability:describe/1","qualifiedName":"tmux_capability:describe/1","name":"describe/1","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"describe/1\n-spec describe(feature()) ->\n {ok, feature_info()} | {error, map()}.","references":[{"start":26,"end":33,"target":"t:tmux_capability:feature/0"},{"start":63,"end":75,"target":"t:tmux_capability:feature_info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":89,"end":92,"target":"t:erlang:map/0"}],"params":[{"name":"Feature","type":"feature()","typeReferences":[{"start":0,"end":7,"target":"t:tmux_capability:feature/0"}]}],"returns":"{ok, feature_info()} | {error, map()}","returnsReferences":[{"start":5,"end":17,"target":"t:tmux_capability:feature_info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a selected native feature's source-derived minimum and sampled profiles. Unknown features return unknown_capability. Performs no I/O; `require/2` applies the minimum to a parsed version."},"source":{"line":99,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_capability-describe-1"},{"id":"tmux_capability:profiles/0","publicId":"tmux_capability:profiles/0","qualifiedName":"tmux_capability:profiles/0","name":"profiles/0","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"profiles()\n-spec profiles() -> [binary()].","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":32,"end":38,"target":"t:erlang:binary/0"}],"params":[],"returns":"[binary()]","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"List the exact source profile names in catalogue order. Performs no I/O."},"source":{"line":42,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_capability-profiles-0"},{"id":"tmux_capability:require/2","publicId":"tmux_capability:require/2","qualifiedName":"tmux_capability:require/2","name":"require/2","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"require(Version, Feature)\n-spec require(tmux_version:t(), feature()) ->\n ok | {error, map()}.","references":[{"start":40,"end":54,"target":"t:tmux_version:t/0"},{"start":58,"end":65,"target":"t:tmux_capability:feature/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":102,"end":105,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]},{"name":"Feature","type":"feature()","typeReferences":[{"start":0,"end":7,"target":"t:tmux_capability:feature/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Require a native feature's numeric major/minor floor without dispatching I/O. An older version returns unsupported_capability with capability and minimum. Patch letters and tracking markers do not promote an older minor version. Unknown features and malformed parsed versions return distinct errors.","examples":[{"lang":"erlang","code":"1> {ok, V} = tmux_version:parse(<<\"tmux 3.4\">>), ok.\nok\n2> tmux_capability:require(V, send_client_keys).\nok"}]},"source":{"line":122,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_capability-require-2"},{"id":"t:tmux_capability:command_info/0","publicId":"t:tmux_capability:command_info/0","qualifiedName":"tmux_capability:command_info/0","name":"command_info/0","namespace":"tmux_capability","parent":"tmux_capability","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type command_info() ::\n #{alias := binary() | none,\n argument_spec := binary(),\n min_args := non_neg_integer(),\n max_args := non_neg_integer() | none,\n source :=\n #{file := binary(),\n commit := binary(),\n sha256 := binary()}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":45,"end":51,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":91,"end":97,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":125,"end":140,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":168,"end":183,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":242,"end":248,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":280,"end":286,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":318,"end":324,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Native alias, flag declaration and positional bounds, with the exact source file, commit and SHA-256. none means no alias or an unbounded positional upper limit. Additional argument callbacks and runtime checks remain tmux's concern."},"source":{"line":36,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_capability-command_info-0"},{"id":"t:tmux_capability:feature/0","publicId":"t:tmux_capability:feature/0","qualifiedName":"tmux_capability:feature/0","name":"feature/0","namespace":"tmux_capability","parent":"tmux_capability","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type feature() ::\n native_list_filter | send_client_keys |\n key_list_format | layout_json.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Selected native capabilities; these do not introduce new typed command options."},"source":{"line":27,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_capability-feature-0"},{"id":"t:tmux_capability:feature_info/0","publicId":"t:tmux_capability:feature_info/0","qualifiedName":"tmux_capability:feature_info/0","name":"feature_info/0","namespace":"tmux_capability","parent":"tmux_capability","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type feature_info() ::\n #{minimum :=\n {non_neg_integer(), non_neg_integer()},\n commands := [binary()],\n description := binary(),\n versions := [binary()]}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":64,"end":79,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":83,"end":98,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":128,"end":134,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":166,"end":172,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":201,"end":207,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Source-sampled profiles, native commands, description and numeric minimum."},"source":{"line":29,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_capability-feature_info-0"},{"id":"tmux_command","publicId":"tmux_command","qualifiedName":"tmux_command","name":"tmux_command","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Build tmux commands and bounded sequences without performing I/O.","body":"Arguments remain binary values. Rendering protects trailing semicolons from\ntmux's command separator parser. This is distinct from shell quoting and from\nformat expansion. A raw command is trusted application code; external services\nmust apply their own command allowlist and write policy.\n\nUse `literal_format/1` only for a whole argument that tmux\nexpands as a format, such as a new name or cwd. It does not encode a value\nnested in a format expression. tmux's stored-name escaping and session-name\nsubstitutions still apply. Use `literal_format/2` with mode time\nfor commands such as display-message that also expand strftime percent\ndirectives. This protects one format-expansion pass, not later visual style\nrendering or recursive/nested expansion. No renderer reverses stored-name\nsemantics.\n\n`launch/1` distinguishes executable argv from an explicitly\nrequested shell command. A singleton argv uses the installed helper's\nexec-only mode because tmux otherwise passes one argument to its default\nshell. Empty argv is invalid; default_shell explicitly requests tmux's\nconfigured default command/shell. The internal helper uses an absolute path so\na child's cwd does not change helper resolution. Relative executable arguments\nretain their native meaning.\n\nEmpty shell commands have command-specific lifetime. split-window creates a\nprocess-free pane. new-session executes an empty shell command and can remove\nthe new object immediately. new-window does likewise before tmux 3.8; tmux 3.8\ncreates a process-free pane. Use a persistent job for parent sessions/windows\nthat must remain available across supported versions.\n\nSubmit commands through `tmux_server:command/3` or `tmux_operation:start/3`.\n`sequence/1` combines flat command values for one-shot execution with combined\noutput and a possible completed prefix on error.\nThe [job guide](jobs.md) shows submission, completion and cancellation.\n`tmux_session:rename_command/2` and `tmux_pane:resize_command/2` build values\nbound to their row's captured origin. Execution through another endpoint\nreturns different_owner before native work. Construction does not validate\nendpoint liveness or authorize an automatic mutation retry.\n\n`wait_for/2` builds native channel signals, waits and advisory locks.\n`source_file/2` builds configuration loading from stdin or a literal absolute\npath. Both return command values without opening an endpoint or doing I/O.\n`to_config/1` renders a command or bounded command list for native\nconfiguration input, preserving argument bytes through tmux's lexer.","examples":[{"lang":"erlang","code":"1> {ok, C} = tmux_command:raw(<<\"list-panes\">>, [<<\"-a\">>]), ok.\nok\n2> tmux_command:argv(C).\n[<<\"list-panes\">>,<<\"-a\">>]\n3> tmux_command:literal_format(<<\"api-#{pane_id}\">>).\n{ok,<<\"api-##{pane_id}\">>}\n4> tmux_command:launch(#{argv => [<<\"/bin/printf\">>, <<\"hello\">>]}).\n{ok,[<<\"/bin/printf\">>,<<\"hello\">>]}"}]},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command"},{"id":"tmux_command:argv/1","publicId":"tmux_command:argv/1","qualifiedName":"tmux_command:argv/1","name":"argv/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"argv(Command)\n-spec argv(t()) -> [binary()].","references":[{"start":25,"end":26,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":34,"end":40,"target":"t:erlang:binary/0"}],"params":[{"name":"Command","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_command:t/0"}]}],"returns":"[binary()]","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Render a validated command into executable argv, protecting trailing tmux separators. Performs no I/O and raises for an invalid command value."},"source":{"line":299,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-argv-1"},{"id":"tmux_command:launch/1","publicId":"tmux_command:launch/1","qualifiedName":"tmux_command:launch/1","name":"launch/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"launch/1\n-spec launch(launch_spec()) ->\n {ok, [binary()]} | {error, map()}.","references":[{"start":22,"end":33,"target":"t:tmux_command:launch_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":62,"end":68,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":83,"end":86,"target":"t:erlang:map/0"}],"params":[{"name":"Argument1","type":"launch_spec()","typeReferences":[{"start":0,"end":11,"target":"t:tmux_command:launch_spec/0"}]}],"returns":"{ok, [binary()]} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":6,"end":12,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":27,"end":30,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Render explicit executable argv, an explicitly requested shell command, or default_shell. Singleton argv uses the installed helper's exec-only mode to avoid tmux interpreting it as shell syntax. Performs no I/O."},"source":{"line":448,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-launch-1"},{"id":"tmux_command:literal_format/1","publicId":"tmux_command:literal_format/1","qualifiedName":"tmux_command:literal_format/1","name":"literal_format/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"literal_format(Value)\n-spec literal_format(binary()) ->\n {ok, binary()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":43,"end":49,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":85,"end":91,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":105,"end":108,"target":"t:erlang:map/0"}],"params":[{"name":"Value","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Quote a complete literal argument for tmux format expansion. This does not encode operands nested inside another format expression. Performs no I/O."},"source":{"line":389,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-literal_format-1"},{"id":"tmux_command:literal_format/2","publicId":"tmux_command:literal_format/2","qualifiedName":"tmux_command:literal_format/2","name":"literal_format/2","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"literal_format/2\n-spec literal_format(binary(), tmux | time) ->\n {ok, binary()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":38,"end":44,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":93,"end":99,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":113,"end":116,"target":"t:erlang:map/0"}],"params":[{"name":"Value","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Mode","type":"tmux | time","typeReferences":[]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Quote a complete literal format argument. Mode tmux protects hash expansion; mode time also protects strftime percent directives. Stored-name semantics remain tmux's own. This handles one expansion pass, not a nested operand, recursive expansion or later visual style rendering. Performs no I/O.","body":"Hash runs before `[` stay unchanged because tmux preserves style-looking\nprefixes for a separate drawing step. Other hashes are doubled. In time mode,\nan argument containing percent bytes must fit tmux's 8191-byte strftime result\nlimit after hash encoding and before percent doubling; larger values return\n`format_limit` with `time_bytes` and `max_bytes`. Arguments without percent\nbytes skip that native time-expansion limit. The encoded 32 KiB command limit\nstill applies in either mode."},"source":{"line":407,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-literal_format-2"},{"id":"tmux_command:raw/2","publicId":"tmux_command:raw/2","qualifiedName":"tmux_command:raw/2","name":"raw/2","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"raw(Name, Arguments)\n-spec raw(binary(), [binary()]) ->\n {ok, t()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":31,"end":37,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":42,"end":48,"target":"t:erlang:binary/0"},{"start":74,"end":75,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":89,"end":92,"target":"t:erlang:map/0"}],"params":[{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Arguments","type":"[binary()]","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:binary/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate one trusted command name and binary argv, without I/O. The renderer protects tmux separators; it does not provide shell or nested-format quoting. External services still need their own allowlists and write policy. Names are at most 128 bytes. NUL bytes are rejected, and at most 2,040 arguments fit within a 32 KiB command reservation including framing overhead."},"source":{"line":100,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-raw-2"},{"id":"tmux_command:sequence/1","publicId":"tmux_command:sequence/1","qualifiedName":"tmux_command:sequence/1","name":"sequence/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"sequence/1\n-spec sequence([t(), ...]) -> {ok, t()} | {error, map()}.","references":[{"start":27,"end":28,"target":"t:tmux_command:t/0"},{"start":46,"end":47,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":61,"end":64,"target":"t:erlang:map/0"}],"params":[{"name":"Commands","type":"[t(), ...]","typeReferences":[{"start":1,"end":2,"target":"t:tmux_command:t/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build one bounded native command sequence without I/O. Members must be a nonempty flat list of at most 256 command values. Their combined executable argv is limited to 2041 words and 32 KiB including separator overhead. Arguments keep the literal separator protection of `raw/2`; only boundaries between members become native command separators in `argv/1`.","body":"Captured members must share an endpoint origin. That origin also binds the\nsequence; raw members use the caller's explicitly selected endpoint. Submit\nthrough `tmux_server:command/3` or `tmux_operation:start/3`.\n\nExecution is not atomic. A failed member can leave a completed prefix, and\ncommands can wait or interleave with other work. The one-shot result contains\ncombined bounded stdout/stderr and native exit status, without per-member\ncompletion attribution or rollback. Control-mode eligibility is separate.\n`to_config/1` can serialize a sequence with the same origin-loss policy as\nother configuration text."},"source":{"line":129,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-sequence-1"},{"id":"tmux_command:source_file/2","publicId":"tmux_command:source_file/2","qualifiedName":"tmux_command:source_file/2","name":"source_file/2","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"source_file(Source, Options)\n-spec source_file(source(), source_options()) ->\n {ok, t()} | {error, map()}.","references":[{"start":47,"end":53,"target":"t:tmux_command:source/0"},{"start":57,"end":71,"target":"t:tmux_command:source_options/0"},{"start":104,"end":105,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":119,"end":122,"target":"t:erlang:map/0"}],"params":[{"name":"Source","type":"source()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_command:source/0"}]},{"name":"Options","type":"source_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:source_options/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build configuration loading from stdin or one literal absolute path, without I/O. `stdin` renders `source-file -`; supply configuration bytes in the `stdin` option of `tmux_server:command/3` or `tmux_operation:start/3`. Those APIs bound input to 256 KiB including their argument reservation.","body":"Paths are NUL-free POSIX byte binaries. Glob metacharacters and backslashes\nare escaped so only that filename is selected; format expansion is disabled.\nThe combined encoded path and flags must fit `raw/2` limits. The file is read\nby tmux at execution time; this builder does not open it or bound its size.\n\n`parse_only` requests native `-n` parsing without executing the configuration's\ncommand list. `quiet` requests native `-q` missing-file suppression; it does\nnot suppress syntax or execution errors. Both default to false. Configuration\nis trusted tmux code, with its own variable, directive and command semantics.\nParse-only is not a sandbox. Execution can partially change server state before\nan error; cancellation cannot undo those effects. Completion does not prove\nthat background jobs launched by the configuration have finished.","examples":[{"lang":"erlang","code":"1> {ok, Source} = tmux_command:source_file(stdin, #{parse_only => true}), ok.\nok\n2> tmux_command:argv(Source).\n[<<\"source-file\">>,<<\"-n\">>,<<\"--\">>,<<\"-\">>]"}]},"source":{"line":228,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-source_file-2"},{"id":"tmux_command:to_config/1","publicId":"tmux_command:to_config/1","qualifiedName":"tmux_command:to_config/1","name":"to_config/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"to_config/1\n-spec to_config(t() | [t(), ...]) ->\n {ok, binary()} | {error, map()}.","references":[{"start":28,"end":29,"target":"t:tmux_command:t/0"},{"start":35,"end":36,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":73,"end":79,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":93,"end":96,"target":"t:erlang:map/0"}],"params":[{"name":"Argument1","type":"t() | [t(), ...]","typeReferences":[{"start":0,"end":1,"target":"t:tmux_command:t/0"},{"start":7,"end":8,"target":"t:tmux_command:t/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Render validated commands as native configuration text, without I/O. Accepts one command, a `sequence/1` value, or a nonempty flat list of at most 256 commands. Returns an ASCII binary of at most 32 KiB, without a final newline. Validation uses `validate/1`; escaping growth, command count and aggregate size can return `command_limit`. Lists use native command separators between independently quoted commands. Rendering does not execute them or provide atomic execution or rollback. The text carries no origin token; executing serialized configuration requires the caller to choose and validate its destination explicitly.","body":"Each argument is doublequoted. Quote, backslash, dollar, tilde, control and\nnon-ASCII bytes use three-digit octal escapes. Empty arguments, semicolons,\nnewlines and non-UTF-8 byte values remain argument data. The lexer does not\nexpand their variables or tilde prefixes, strip newline indentation, or\ninterpret them as directives, comments or additional commands.\n\nProtection covers one lexer pass. Native command-string arguments, including\n`bind-key` and `set-hook` values, can be parsed again by the receiving command.\nRender each inner command string separately for its own parse boundary.\n\nThis is tmux configuration syntax, separate from `argv/1` executable arguments\nand shell quoting. Native commands still interpret their values and expand\nformats as usual; `literal_format/2` handles that separate boundary when\nliteral format values are required. Load the text explicitly with\n`source_file/2`, or store it through a native command that accepts configuration\ntext. The [configuration guide](configuration.md) uses this renderer with\nexplicit execution and completion signals."},"source":{"line":340,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-to_config-1"},{"id":"tmux_command:validate/1","publicId":"tmux_command:validate/1","qualifiedName":"tmux_command:validate/1","name":"validate/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"validate/1\n-spec validate(term()) -> {ok, t()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":26,"end":30,"target":"t:erlang:term/0"},{"start":42,"end":43,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":57,"end":60,"target":"t:erlang:map/0"}],"params":[{"name":"Argument1","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Revalidate a command value at a submission boundary. Returns a compact validated command or a tagged shape/argument/resource error, without I/O."},"source":{"line":252,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-validate-1"},{"id":"tmux_command:wait_for/2","publicId":"tmux_command:wait_for/2","qualifiedName":"tmux_command:wait_for/2","name":"wait_for/2","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"wait_for(Channel, Action)\n-spec wait_for(binary(), wait_action()) ->\n {ok, t()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":41,"end":47,"target":"t:erlang:binary/0"},{"start":51,"end":62,"target":"t:tmux_command:wait_action/0"},{"start":92,"end":93,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":107,"end":110,"target":"t:erlang:map/0"}],"params":[{"name":"Channel","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Action","type":"wait_action()","typeReferences":[{"start":0,"end":11,"target":"t:tmux_command:wait_action/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build a native `wait-for` command without I/O. Channels are nonempty NUL-free binary names, subject to the command reservation in `raw/2`; neither shell nor format expansion occurs. Submit through `tmux_operation:start/3` for a wait that leaves the caller free, or through `tmux_server:command/3` to await it.","body":"`signal` wakes current waiters. On an unlocked channel with no waiters or\npending wakeup, it retains one wakeup for a later wait. Signaling that channel\nagain before a wait can clear the pending state. Signals are neither counted\nnor reliably coalesced events; send once per expected wait. Channel names are\nshared by all clients of the server. Use separate names for signaling and\nlocking. `lock` acquires an advisory channel lock or waits\nfor an explicit `unlock`; a completed command client's exit does not release\nits acquired lock. Unlocking an unlocked channel is a native command error.\n\nCancellation retires the library client. It does not undo a signal or release\na lock that may already have been acquired; an uncertain lock outcome needs\napplication coordination before another unlock. This is not an owned mutex.","examples":[{"lang":"erlang","code":"1> {ok, Signal} = tmux_command:wait_for(<<\"build-ready\">>, signal), ok.\nok\n2> tmux_command:argv(Signal).\n[<<\"wait-for\">>,<<\"-S\">>,<<\"--\">>,<<\"build-ready\">>]"}]},"source":{"line":188,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_command-wait_for-2"},{"id":"t:tmux_command:launch_spec/0","publicId":"t:tmux_command:launch_spec/0","qualifiedName":"tmux_command:launch_spec/0","name":"launch_spec/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type launch_spec() ::\n default_shell |\n #{argv := [binary(), ...]} |\n #{shell := binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":70,"end":76,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":109,"end":115,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Explicit executable argv, an explicitly requested shell command, or tmux's configured default shell."},"source":{"line":74,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_command-launch_spec-0"},{"id":"t:tmux_command:respawn_spec/0","publicId":"t:tmux_command:respawn_spec/0","qualifiedName":"tmux_command:respawn_spec/0","name":"respawn_spec/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type respawn_spec() ::\n previous |\n #{argv := [binary(), ...]} |\n #{shell := binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":66,"end":72,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":105,"end":111,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Reuse tmux's saved command/shell, or replace it with argv or a shell command. Used by `tmux_pane:respawn/2` and `tmux_window:respawn/2`."},"source":{"line":81,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_command-respawn_spec-0"},{"id":"t:tmux_command:source/0","publicId":"t:tmux_command:source/0","qualifiedName":"tmux_command:source/0","name":"source/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type source() :: stdin | binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":26,"end":32,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Standard input, or one literal absolute POSIX byte path with no NUL."},"source":{"line":68,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_command-source-0"},{"id":"t:tmux_command:source_options/0","publicId":"t:tmux_command:source_options/0","qualifiedName":"tmux_command:source_options/0","name":"source_options/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type source_options() ::\n #{parse_only => boolean(), quiet => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":52,"end":59,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":72,"end":79,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Native parse-only and quiet-missing-file flags; both default to false."},"source":{"line":70,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_command-source_options-0"},{"id":"t:tmux_command:t/0","publicId":"t:tmux_command:t/0","qualifiedName":"tmux_command:t/0","name":"t/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated command or flat sequence. Rendering and execution remain separate. Domain builders retain a captured endpoint origin; raw values are unbound."},"source":{"line":87,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_command-t-0"},{"id":"t:tmux_command:wait_action/0","publicId":"t:tmux_command:wait_action/0","qualifiedName":"tmux_command:wait_action/0","name":"wait_action/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type wait_action() :: wait | signal | lock | unlock.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Native wait channel action. lock/unlock are explicit advisory operations, not owned leases."},"source":{"line":66,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_command-wait_action-0"},{"id":"tmux_control","publicId":"tmux_control","qualifiedName":"tmux_control","name":"tmux_control","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Own an explicit persistent tmux control attachment.","body":"`attach/3` attaches to an existing session from `m:tmux_server` and verifies\nthe daemon identity on that connection. The caller owns its lifetime.\nAttachment changes the session's attached-client count. The command client\nuses no-output and ignore-size; -E skips attachment's environment update.\nThe library issues no session-option writes or session-creation commands.\nConfigured hooks and native lifetime policies can still change state,\nincluding on failed attach or detachment. Those effects are not rolled back.\nCommand submission and terminal streaming are not yet exposed.\n\nUse `close/1` before closing the parent endpoint. Parent closing, invalidation\nor caller death requests retirement, but parent close alone does not prove\nthis client's exit. Control close and `status/1` report its native cleanup.\nNeither detachment nor cancellation reverses remote effects. Application\nshutdown alone is not a verified cleanup result."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_control"},{"id":"tmux_control:attach/3","publicId":"tmux_control:attach/3","qualifiedName":"tmux_control:attach/3","name":"attach/3","namespace":"tmux_control","parent":"tmux_control","kind":"function","modifiers":[],"signatures":[{"raw":"attach(Server, Session, Options)\n-spec attach(tmux_server:t(),\n tmux_model:session(),\n attach_options()) ->\n {ok, t()} | {error, map()}.","references":[{"start":46,"end":59,"target":"t:tmux_server:t/0"},{"start":76,"end":94,"target":"t:tmux_model:session/0"},{"start":111,"end":125,"target":"t:tmux_control:attach_options/0"},{"start":153,"end":154,"target":"t:tmux_control:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":168,"end":171,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"attach_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_control:attach_options/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_control:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Attach to an existing captured session from this exact endpoint origin. Performs I/O and waits for a same-connection identity probe. Uses attach-session with -E rather than creating a session or writing options. Configured hooks may change state; failure does not reverse their effects. The control client affects attached_count. Unexpected hook-generated reply blocks fail attachment and retire the client.","body":"An attachment timeout requests cleanup. If cleanup cannot be proved within\nits finite deadline, the error includes a control handle for `close/1` recovery.\nThe supervised owner remains until native retirement. Close explicitly to\nobserve cleanup, including when the parent endpoint is already closed."},"source":{"line":55,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_control-attach-3"},{"id":"tmux_control:close/1","publicId":"tmux_control:close/1","qualifiedName":"tmux_control:close/1","name":"close/1","namespace":"tmux_control","parent":"tmux_control","kind":"function","modifiers":[],"signatures":[{"raw":"close(Control)\n-spec close(t()) -> ok | {error, map()}.","references":[{"start":27,"end":28,"target":"t:tmux_control:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":48,"end":51,"target":"t:erlang:map/0"}],"params":[{"name":"Control","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_control:t/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Retire this control client and its helper without issuing session or daemon destruction commands. Native lifetime policies and detachment hooks may still change state; cleanup does not reverse their effects. Returns ok only after actual retirement. A finite cleanup failure leaves a supervised owner for retry and observation. Successful close is idempotent during the 60-second handle retention period."},"source":{"line":89,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_control-close-1"},{"id":"tmux_control:status/1","publicId":"tmux_control:status/1","qualifiedName":"tmux_control:status/1","name":"status/1","namespace":"tmux_control","parent":"tmux_control","kind":"function","modifiers":[],"signatures":[{"raw":"status(Control)\n-spec status(t()) -> {ok, state()} | {error, map()}.","references":[{"start":29,"end":30,"target":"t:tmux_control:t/0"},{"start":42,"end":47,"target":"t:tmux_control:state/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":61,"end":64,"target":"t:erlang:map/0"}],"params":[{"name":"Control","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_control:t/0"}]}],"returns":"{ok, state()} | {error, map()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_control:state/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":24,"end":27,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read retained connection state without a tmux command. Inspect cleanup rather than inferring native exit from the Erlang owner's lifecycle. Closed handles expire after 60 seconds and then return control_expired."},"source":{"line":97,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_control-status-1"},{"id":"t:tmux_control:attach_options/0","publicId":"t:tmux_control:attach_options/0","qualifiedName":"tmux_control:attach_options/0","name":"attach_options/0","namespace":"tmux_control","parent":"tmux_control","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type attach_options() ::\n #{startup_timeout_ms => 1..600000}.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Finite attachment budget, including parent registration, exec and identity. Defaults to 2500 ms."},"source":{"line":29,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_control-attach_options-0"},{"id":"t:tmux_control:state/0","publicId":"t:tmux_control:state/0","qualifiedName":"tmux_control:state/0","name":"state/0","namespace":"tmux_control","parent":"tmux_control","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type state() ::\n #{phase := attaching | open | closing | closed,\n generation := reference(),\n owner := pid(),\n identity := unverified | same_connection,\n cleanup := pending | incomplete | complete,\n child_pid := none | pos_integer(),\n helper_pid := none | pos_integer(),\n cause := none | atom()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":101,"end":110,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":135,"end":138,"target":"t:erlang:pid/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":284,"end":295,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":332,"end":343,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":375,"end":379,"target":"t:erlang:atom/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Connection state, separate from command completion. complete proves native client/helper retirement; pending and incomplete do not. Retained PIDs are diagnostic observations, never permission to signal a process."},"source":{"line":35,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_control-state-0"},{"id":"t:tmux_control:t/0","publicId":"t:tmux_control:t/0","qualifiedName":"tmux_control:t/0","name":"t/0","namespace":"tmux_control","parent":"tmux_control","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A generation-bound connection handle. Passing it does not transfer lifetime ownership."},"source":{"line":27,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_control-t-0"},{"id":"tmux_error","publicId":"tmux_error","qualifiedName":"tmux_error","name":"tmux_error","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Explain library exceptions through Erlang's native error formatter.","body":"The shell and `erl_error:format_exception/3` call `format_error/2` through\nEEP-54 stack metadata. Explanations supplement the original exception reason;\ntagged results from `tmux_filter:new/2` and `tmux_select:try_where/2` retain\ntheir existing structured data. Formatting performs no tmux I/O.\n\nOnly library-raised errors carry this metadata. Application callback failures\nretain their original class, reason and stack. Coverage errors describe missing\nobservations; formatting never loads those observations or retries an action.\nLong detail values may be abbreviated in the explanation. The exception reason\nretains the original error data. See [runtime diagnostics](diagnostics.md) for\nthe separate, bounded Logger report contract."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_error.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_error"},{"id":"tmux_error:format_error/2","publicId":"tmux_error:format_error/2","qualifiedName":"tmux_error:format_error/2","name":"format_error/2","namespace":"tmux_error","parent":"tmux_error","kind":"function","modifiers":[],"signatures":[{"raw":"format_error/2\n-spec format_error(term(), erlang:stacktrace()) ->\n #{general => unicode:chardata()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":34,"end":38,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":42,"end":59,"target":"t:erlang:stacktrace/0"},{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/unicode.html#t:chardata/0","project":"Erlang/OTP"},"start":101,"end":117,"target":"t:unicode:chardata/0"}],"params":[{"name":"Argument1","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]},{"name":"Argument2","type":"erlang:stacktrace()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":0,"end":17,"target":"t:erlang:stacktrace/0"}]}],"returns":"#{general => unicode:chardata()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/unicode.html#t:chardata/0","project":"Erlang/OTP"},"start":13,"end":29,"target":"t:unicode:chardata/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return supplemental native error text, or an empty map for an unknown reason.","body":"This is the `c:erl_error:format_error/2` callback. It neither changes the\nexception nor catches it on behalf of a caller.","examples":[{"lang":"erlang","code":"1> #{general := Text} = tmux_error:format_error({bad_query_limit, -1}, []), ok.\nok\n2> unicode:characters_to_binary(Text).\n<<\"The query limit must be an integer from 0 through 65536.\">>"}]},"source":{"line":34,"file":"apps/libtmux_erlang/src/tmux_error.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_error-format_error-2"},{"id":"tmux_filter","publicId":"tmux_filter","qualifiedName":"tmux_filter","name":"tmux_filter","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Construct portable conditions and prepare them against captured values.","body":"Local criteria use atom keys, binary text and schema-typed values. Fields and\noperators conjoin. Boolean branches use 'and', 'or' and 'not'; relationships\nuse some/every/none/count or is/is_not. Validation examines the entire input\nbefore evaluation. No function here performs tmux I/O. Use portable filters\nwith `tmux_select:where/2` or `tmux_query:where/2`; the [query\nguide](querying.md) explains their different execution boundaries.\n\nWire version 1 uses generated camelCase field names, snake_case operators,\nJSON null for known absence and {\"base64\": \"...\"} for byte operands. Byte\nvalues never become text implicitly. Regex uses the restricted ASCII\nportable_v1 dialect, absolute anchors and no flags. Preparation compiles each\npattern once. Non-ASCII subjects and exhausted match limits return errors.\n\nBoth input criteria and their normalized wire document must fit the grammar,\ndepth and byte limits. Resource errors can refer to the canonical wire path.","examples":[{"lang":"erlang","code":"1> Fields = #{id => <<\"%1\">>, current_command => <<\"vim\">>}, ok.\nok\n2> {ok, P} = tmux_model:pane(Fields), S = tmux_select:from_list(pane, [P]), ok.\nok\n3> R = #{pattern => <<\"^(vim|nvim)$\">>, dialect => portable_v1}, ok.\nok\n4> tmux_select:size(tmux_select:where(#{current_command => #{regex => R}}, S)).\n1"}]},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter"},{"id":"tmux_filter:decode_json/1","publicId":"tmux_filter:decode_json/1","qualifiedName":"tmux_filter:decode_json/1","name":"decode_json/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"decode_json(Binary)\n-spec decode_json(binary()) ->\n {ok, json:decode_value()} |\n {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":38,"end":44,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:decode_value/0","project":"Erlang/OTP"},"start":77,"end":94,"target":"t:json:decode_value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":129,"end":132,"target":"t:erlang:map/0"}],"params":[{"name":"Binary","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, json:decode_value()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:decode_value/0","project":"Erlang/OTP"},"start":5,"end":22,"target":"t:json:decode_value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":36,"end":39,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Decode bounded external JSON with duplicate-key, trailing-input and depth checks. Returns tagged errors with input paths. Parsing does not execute tmux or choose application modules."},"source":{"line":135,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-decode_json-1"},{"id":"tmux_filter:entity/1","publicId":"tmux_filter:entity/1","qualifiedName":"tmux_filter:entity/1","name":"entity/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"entity/1\n-spec entity(t()) -> tmux_schema:entity().","references":[{"start":22,"end":23,"target":"t:tmux_filter:t/0"},{"start":30,"end":48,"target":"t:tmux_schema:entity/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]}],"returns":"tmux_schema:entity()","returnsReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the schema entity this portable filter accepts, without I/O."},"source":{"line":141,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-entity-1"},{"id":"tmux_filter:from_wire/2","publicId":"tmux_filter:from_wire/2","qualifiedName":"tmux_filter:from_wire/2","name":"from_wire/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"from_wire(Entity, Document)\n-spec from_wire(tmux_schema:entity(), term()) ->\n {ok, t()} | {error, map()}.","references":[{"start":44,"end":62,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":66,"end":70,"target":"t:erlang:term/0"},{"start":101,"end":102,"target":"t:tmux_filter:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":116,"end":119,"target":"t:erlang:map/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Document","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_filter:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate a versioned filter document using generated wire-name allowlists. Rejects unknown fields, operators, wrong entity/version and resource limits. No payload key becomes an atom; this does not execute a query."},"source":{"line":99,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-from_wire-2"},{"id":"tmux_filter:matches/2","publicId":"tmux_filter:matches/2","qualifiedName":"tmux_filter:matches/2","name":"matches/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"matches(Prepared, Row)\n-spec matches(prepared(), tmux_model:row()) ->\n {ok, boolean()} | {error, map()}.","references":[{"start":37,"end":45,"target":"t:tmux_filter:prepared/0"},{"start":49,"end":63,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":92,"end":99,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":113,"end":116,"target":"t:erlang:map/0"}],"params":[{"name":"Prepared","type":"prepared()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_filter:prepared/0"}]},{"name":"Row","type":"tmux_model:row()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_model:row/0"}]}],"returns":"{ok, boolean()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":5,"end":12,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":26,"end":29,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Evaluate an unmodified captured row against a prepared filter. Returns a Boolean result or tagged context/regex resource error. It performs no tmux I/O and never converts evaluation failure into a nonmatch."},"source":{"line":223,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-matches-2"},{"id":"tmux_filter:new/2","publicId":"tmux_filter:new/2","qualifiedName":"tmux_filter:new/2","name":"new/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"new/2\n-spec new(tmux_schema:entity(), map() | t()) ->\n {ok, t()} | {error, map()}.","references":[{"start":16,"end":34,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":38,"end":41,"target":"t:erlang:map/0"},{"start":46,"end":47,"target":"t:tmux_filter:t/0"},{"start":72,"end":73,"target":"t:tmux_filter:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":87,"end":90,"target":"t:erlang:map/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Filter","type":"map() | t()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"},{"start":8,"end":9,"target":"t:tmux_filter:t/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_filter:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate criteria or reuse an already normalized filter for the same entity.","examples":[{"lang":"erlang","code":"1> {ok, F} = tmux_filter:new(pane, #{width => #{gte => 120.0}}), ok.\nok\n2> tmux_filter:new(pane, F) =:= {ok, F}.\ntrue\n3> tmux_filter:new(pane, #{active => #{contains => <<\"yes\">>}}).\n{error,#{code => unsupported_operator,path => [active,contains],allowed => [equals,'not',in,not_in]}}"}]},"source":{"line":75,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-new-2"},{"id":"tmux_filter:new_or_error/2","publicId":"tmux_filter:new_or_error/2","qualifiedName":"tmux_filter:new_or_error/2","name":"new_or_error/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"new_or_error(Entity, Criteria)\n-spec new_or_error(tmux_schema:entity(), map() | t()) ->\n t().","references":[{"start":50,"end":68,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":72,"end":75,"target":"t:erlang:map/0"},{"start":80,"end":81,"target":"t:tmux_filter:t/0"},{"start":110,"end":111,"target":"t:tmux_filter:t/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Criteria","type":"map() | t()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"},{"start":8,"end":9,"target":"t:tmux_filter:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a normalized portable filter, raising bad_filter on malformed trusted criteria. Performs no tmux I/O. External input should use `new/2` or `from_wire/2` for tagged validation errors."},"source":{"line":86,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-new_or_error-2"},{"id":"tmux_filter:predicate/1","publicId":"tmux_filter:predicate/1","qualifiedName":"tmux_filter:predicate/1","name":"predicate/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"predicate(Prepared)\n-spec predicate(prepared()) ->\n fun((tmux_model:row()) -> boolean()).","references":[{"start":36,"end":44,"target":"t:tmux_filter:prepared/0"},{"start":75,"end":89,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":96,"end":103,"target":"t:erlang:boolean/0"}],"params":[{"name":"Prepared","type":"prepared()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_filter:prepared/0"}]}],"returns":"fun((tmux_model:row()) -> boolean())","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":26,"end":33,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a Boolean function bound to the prepared observation context.","body":"Rows outside that context raise {prepared_context_mismatch, Detail}. Regex\nevaluation errors raise {filter_evaluation_failed, Detail}. Use `matches/2`\nfor tagged errors. This does not run callbacks."},"source":{"line":205,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-predicate-1"},{"id":"tmux_filter:prepare/2","publicId":"tmux_filter:prepare/2","qualifiedName":"tmux_filter:prepare/2","name":"prepare/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"prepare/2\n-spec prepare(t(), tmux_snapshot:t()) ->\n {ok, prepared()} | {error, map()}.","references":[{"start":24,"end":25,"target":"t:tmux_filter:t/0"},{"start":29,"end":44,"target":"t:tmux_snapshot:t/0"},{"start":73,"end":81,"target":"t:tmux_filter:prepared/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":95,"end":98,"target":"t:erlang:map/0"}],"params":[{"name":"Filter","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]},{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"{ok, prepared()} | {error, map()}","returnsReferences":[{"start":5,"end":13,"target":"t:tmux_filter:prepared/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":27,"end":30,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Bind a filter to one snapshot and check all required coverage first.","body":"The prepared value can match only unmodified rows captured in that snapshot.\nIt remains usable after the endpoint closes. It cannot refresh observations.","examples":[{"lang":"erlang","code":"1> {ok, F} = tmux_filter:new(pane, #{width => #{gte => 80}}), ok.\nok\n2> tmux_filter:requirements(F).\n[{collection,pane},{field,pane,width}]"}]},"source":{"line":178,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-prepare-2"},{"id":"tmux_filter:requirements/1","publicId":"tmux_filter:requirements/1","qualifiedName":"tmux_filter:requirements/1","name":"requirements/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"requirements/1\n-spec requirements(t()) -> [tmux_snapshot:requirement()].","references":[{"start":34,"end":35,"target":"t:tmux_filter:t/0"},{"start":43,"end":68,"target":"t:tmux_snapshot:requirement/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]}],"returns":"[tmux_snapshot:requirement()]","returnsReferences":[{"start":1,"end":26,"target":"t:tmux_snapshot:requirement/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Derive every field and complete relationship needed for faithful evaluation. The complete requirement set is checked before short-circuiting any row."},"source":{"line":161,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-requirements-1"},{"id":"tmux_filter:to_wire/1","publicId":"tmux_filter:to_wire/1","qualifiedName":"tmux_filter:to_wire/1","name":"to_wire/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"to_wire/1\n-spec to_wire(t()) -> wire_document().","references":[{"start":24,"end":25,"target":"t:tmux_filter:t/0"},{"start":32,"end":45,"target":"t:tmux_filter:wire_document/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]}],"returns":"wire_document()","returnsReferences":[{"start":0,"end":13,"target":"t:tmux_filter:wire_document/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Export versioned JSON-compatible predicate data with generated wire names. Byte operands use base64 objects and known absence uses JSON null. Functions, compiled regexes and native record internals never enter this representation."},"source":{"line":125,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_filter-to_wire-1"},{"id":"t:tmux_filter:expr/0","publicId":"t:tmux_filter:expr/0","qualifiedName":"tmux_filter:expr/0","name":"expr/0","namespace":"tmux_filter","parent":"tmux_filter","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type expr() ::\n {all | any, [expr()]} |\n {negate, expr()} |\n {field, binary(), atom(), term()} |\n {relation, binary(), atom(), expr()} |\n {count, binary(), [{atom(), term()}]}.","params":[],"references":[{"start":39,"end":43,"target":"t:tmux_filter:expr/0"},{"start":69,"end":73,"target":"t:tmux_filter:expr/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":97,"end":103,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":107,"end":111,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":115,"end":119,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":146,"end":152,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":156,"end":160,"target":"t:erlang:atom/0"},{"start":164,"end":168,"target":"t:tmux_filter:expr/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":192,"end":198,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":204,"end":208,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":212,"end":216,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Normalized data expressions with stable field IDs, used by internal planners; not the wire grammar."},"source":{"line":42,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_filter-expr-0"},{"id":"t:tmux_filter:prepared/0","publicId":"t:tmux_filter:prepared/0","qualifiedName":"tmux_filter:prepared/0","name":"prepared/0","namespace":"tmux_filter","parent":"tmux_filter","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque prepared().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A cached evaluator bound to one captured observation and schema context."},"source":{"line":49,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_filter-prepared-0"},{"id":"t:tmux_filter:t/0","publicId":"t:tmux_filter:t/0","qualifiedName":"tmux_filter:t/0","name":"t/0","namespace":"tmux_filter","parent":"tmux_filter","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Portable normalized predicate data for one schema entity; contains no executable state."},"source":{"line":40,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_filter-t-0"},{"id":"t:tmux_filter:wire_document/0","publicId":"t:tmux_filter:wire_document/0","qualifiedName":"tmux_filter:wire_document/0","name":"wire_document/0","namespace":"tmux_filter","parent":"tmux_filter","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type wire_document() :: #{binary() => json:encode_value()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:encode_value/0","project":"Erlang/OTP"},"start":39,"end":56,"target":"t:json:encode_value/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Version-one JSON-compatible filter envelope with binary keys version, entity and where. entity is the generated wire entity name; where contains Boolean, field and relationship conditions. Version is the integer 1. Keys and operators still require `from_wire/2` validation; the typespec alone does not authorize arbitrary fields or unbounded external input."},"source":{"line":57,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_filter-wire_document-0"},{"id":"tmux_hook","publicId":"tmux_hook","qualifiedName":"tmux_hook","name":"tmux_hook","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Store builtin hook commands and run them in an explicit observed context.","body":"`set/3` replaces one indexed entry. `append/3` uses tmux's first vacant index;\n`clear/2` leaves an empty local array and `unset/2` restores inheritance.\n`get/3` reads local values unless inheritance is requested. Commands are\n`t:tmux_command:t/0` values, rendered by `tmux_command:to_config/1` before tmux\nparses and stores them. A successful write confirms registration, while later\nhook effects need their own completion evidence.\n\nTable scope and execution context are separate. `run/2` selects a session,\nchecked window link or checked pane/link pair. Physical windows can belong to\nseveral sessions; a link preserves the chosen session and index. Preflight and\ndispatch are separate observations, with no atomic compare-and-act guarantee.\nKnown restarts and closed owners invalidate references. Captured rows never\nrefresh during these actions.\n\nNames and table scopes use the exact source-derived version catalogue from\n`tmux_option:catalogue/1`. User options, prefixes and aliases are rejected.\nThe native custom-event and monitor interfaces are outside this API. Deliberate\nraw integration remains available through `tmux_command:raw/2`. Calls perform\nI/O after validation and never retry uncertain mutations. The\n[hook guide](hooks.md) demonstrates registration and an effect acknowledgement."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_hook"},{"id":"tmux_hook:append/3","publicId":"tmux_hook:append/3","qualifiedName":"tmux_hook:append/3","name":"append/3","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"append(Scope, Name0, Commands)\n-spec append(scope(), binary(), commands()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":44,"end":49,"target":"t:tmux_hook:scope/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":53,"end":59,"target":"t:erlang:binary/0"},{"start":63,"end":71,"target":"t:tmux_hook:commands/0"},{"start":99,"end":123,"target":"t:tmux_operation:completed/0"},{"start":153,"end":175,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Name0","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Commands","type":"commands()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_hook:commands/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Store commands at tmux's first vacant local index for the unindexed name. A new local array starts independently of inherited entries; this does not copy the parent's array. The command result does not report the chosen index; `get/3` observes current entries separately. Performs I/O with the parsing and unknown-outcome semantics of `set/3`."},"source":{"line":116,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_hook-append-3"},{"id":"tmux_hook:clear/2","publicId":"tmux_hook:clear/2","qualifiedName":"tmux_hook:clear/2","name":"clear/2","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"clear(Scope, Name0)\n-spec clear(scope(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":32,"end":37,"target":"t:tmux_hook:scope/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":41,"end":47,"target":"t:erlang:binary/0"},{"start":74,"end":98,"target":"t:tmux_operation:completed/0"},{"start":127,"end":149,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Name0","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Leave an empty local hook array, masking inherited entries. This differs from `unset/2`, which restores inheritance. Global clear empties that defaults table. Performs I/O; existing effects already queued by tmux are not cancelled."},"source":{"line":132,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_hook-clear-2"},{"id":"tmux_hook:get/3","publicId":"tmux_hook:get/3","qualifiedName":"tmux_hook:get/3","name":"get/3","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"get(Scope, Key, Options)\n-spec get(scope(),\n tmux_option:key(),\n tmux_option:read_options()) ->\n {ok, value()} | none | {error, map()}.","references":[{"start":35,"end":40,"target":"t:tmux_hook:scope/0"},{"start":54,"end":69,"target":"t:tmux_option:key/0"},{"start":83,"end":107,"target":"t:tmux_option:read_options/0"},{"start":132,"end":137,"target":"t:tmux_hook:value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":158,"end":161,"target":"t:erlang:map/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Key","type":"tmux_option:key()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_option:key/0"}]},{"name":"Options","type":"tmux_option:read_options()","typeReferences":[{"start":0,"end":24,"target":"t:tmux_option:read_options/0"}]}],"returns":"{ok, value()} | none | {error, map()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_hook:value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read a builtin hook array or indexed entry. Options follow `t:tmux_option:read_options/0`: local-only by default, inherit = true follows its parent tables. Missing local arrays or entries return none; an empty local array returns {ok, #{}} and masks inheritance.","body":"Values are tmux's command-list serialization, including its quoting and escape\nsequences. They are neither the original input text nor individual decoded\narguments. Reading does not execute them. Use `set/3` for validated command\nvalues and `unset/2` to restore inheritance. Performs I/O and preserves backend\nerrors; a vanished target is not an absent hook."},"source":{"line":65,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_hook-get-3"},{"id":"tmux_hook:run/2","publicId":"tmux_hook:run/2","qualifiedName":"tmux_hook:run/2","name":"run/2","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"run(Context, Name0)\n-spec run(context(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":30,"end":37,"target":"t:tmux_hook:context/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":41,"end":47,"target":"t:erlang:binary/0"},{"start":72,"end":96,"target":"t:tmux_operation:completed/0"},{"start":123,"end":145,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Context","type":"context()","typeReferences":[{"start":0,"end":7,"target":"t:tmux_hook:context/0"}]},{"name":"Name0","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Request native set-hook -R in the explicit `t:context/0`. tmux resolves the hook through that context's effective tables; global table flags do not select a separate execution scope. A session uses its current window and pane. A window link fixes the observed session/index and expected physical window; a pane context additionally checks that pane's observed parent.","body":"Performs I/O. The result is the native command outcome, not an acknowledgement\nof background work launched by its commands. A missing or empty effective hook\ncan succeed without effects. Wait on an application completion condition when\neffects matter. Existence and membership checks precede dispatch. If the\ntarget disappears after preflight, tmux can still fall back to another\ncontext. This is not atomic compare-and-act. Use fresh links after known\ntopology changes."},"source":{"line":173,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_hook-run-2"},{"id":"tmux_hook:set/3","publicId":"tmux_hook:set/3","qualifiedName":"tmux_hook:set/3","name":"set/3","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"set(Scope, Key, Commands)\n-spec set(scope(),\n {binary(), non_neg_integer()},\n commands()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":36,"end":41,"target":"t:tmux_hook:scope/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":56,"end":62,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":66,"end":81,"target":"t:erlang:non_neg_integer/0"},{"start":96,"end":104,"target":"t:tmux_hook:commands/0"},{"start":129,"end":153,"target":"t:tmux_operation:completed/0"},{"start":180,"end":202,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Key","type":"{binary(), non_neg_integer()}","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":11,"end":26,"target":"t:erlang:non_neg_integer/0"}]},{"name":"Commands","type":"commands()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_hook:commands/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Replace one {Name, Index} entry with validated command values. An explicit index is required; other entries remain. Indexes range from zero to 2147483647. The rendered command text is bounded before dispatch. Native commands still interpret their arguments and formats when the hook later runs. Use `append/3` for native vacant-index selection and `clear/2` to mask inherited hooks with an empty local array.","body":"Performs I/O. tmux parses commands before replacing an existing entry, but a\nfailed first write can already create an empty local override. Registration\nand later execution are separate; this call promises no transaction, rollback\nor completion of future effects."},"source":{"line":99,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_hook-set-3"},{"id":"tmux_hook:unset/2","publicId":"tmux_hook:unset/2","qualifiedName":"tmux_hook:unset/2","name":"unset/2","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"unset(Scope, Key)\n-spec unset(scope(), tmux_option:key()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":30,"end":35,"target":"t:tmux_hook:scope/0"},{"start":39,"end":54,"target":"t:tmux_option:key/0"},{"start":81,"end":105,"target":"t:tmux_operation:completed/0"},{"start":134,"end":156,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Key","type":"tmux_option:key()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_option:key/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove one indexed entry or the whole local array. Removing an entry leaves its local array, possibly empty. Removing the whole array restores inheritance; unsetting a global builtin resets its native default. Missing local values are a successful native no-op. Performs I/O; queued hook effects are unaffected."},"source":{"line":148,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_hook-unset-2"},{"id":"t:tmux_hook:commands/0","publicId":"t:tmux_hook:commands/0","qualifiedName":"tmux_hook:commands/0","name":"commands/0","namespace":"tmux_hook","parent":"tmux_hook","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type commands() ::\n tmux_command:t() | [tmux_command:t(), ...].","params":[],"references":[{"start":30,"end":44,"target":"t:tmux_command:t/0"},{"start":50,"end":64,"target":"t:tmux_command:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"One validated command or a nonempty list; at most 256 commands and 32 KiB rendered text."},"source":{"line":45,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_hook-commands-0"},{"id":"t:tmux_hook:context/0","publicId":"t:tmux_hook:context/0","qualifiedName":"tmux_hook:context/0","name":"context/0","namespace":"tmux_hook","parent":"tmux_hook","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type context() ::\n tmux_model:session() |\n tmux_model:window_link() |\n {pane,\n tmux_model:pane(),\n tmux_model:window_link()}.","params":[],"references":[{"start":29,"end":47,"target":"t:tmux_model:session/0"},{"start":62,"end":84,"target":"t:tmux_model:window_link/0"},{"start":117,"end":132,"target":"t:tmux_model:pane/0"},{"start":147,"end":169,"target":"t:tmux_model:window_link/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A session's current context, one observed membership, or a pane in that membership."},"source":{"line":39,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_hook-context-0"},{"id":"t:tmux_hook:scope/0","publicId":"t:tmux_hook:scope/0","qualifiedName":"tmux_hook:scope/0","name":"scope/0","namespace":"tmux_hook","parent":"tmux_hook","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type scope() ::\n tmux_model:session() |\n tmux_model:window() |\n tmux_model:pane() |\n {session_defaults | window_defaults,\n tmux_server:t()}.","params":[],"references":[{"start":27,"end":45,"target":"t:tmux_model:session/0"},{"start":60,"end":77,"target":"t:tmux_model:window/0"},{"start":92,"end":107,"target":"t:tmux_model:pane/0"},{"start":170,"end":183,"target":"t:tmux_server:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A registered local table or explicit global session/window defaults; see `t:tmux_option:scope/0`."},"source":{"line":33,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_hook-scope-0"},{"id":"t:tmux_hook:value/0","publicId":"t:tmux_hook:value/0","qualifiedName":"tmux_hook:value/0","name":"value/0","namespace":"tmux_hook","parent":"tmux_hook","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type value() ::\n binary() | #{non_neg_integer() => binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":40,"end":55,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":61,"end":67,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Canonical native command-list text, or a sparse map of indexes to that text."},"source":{"line":49,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_hook-value-0"},{"id":"tmux_identity","publicId":"tmux_identity","qualifiedName":"tmux_identity","name":"tmux_identity","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Observe a Linux process incarnation using its PID, boot ID and start ticks.","body":"A successful check is an observation. It neither reserves a PID nor pins a\ntmux connection, and it never authorizes signalling a process. Endpoint owners\nin `m:tmux_server` compare the PID returned by the current connection as well.\nA server can still change between this check and a later one-shot command.\n\nUse `fingerprint/1` to compare captured incarnations across endpoint handles\nor persist that comparison in a plan. It performs no process observation;\nthe key grants neither liveness nor permission to act.","examples":[{"lang":"erlang","code":"1> Pid = list_to_integer(os:getpid()), ok.\nok\n2> {ok, Identity} = tmux_identity:observe(Pid), ok.\nok\n3> tmux_identity:check(Identity, Pid).\nok"}]},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_identity"},{"id":"tmux_identity:check/2","publicId":"tmux_identity:check/2","qualifiedName":"tmux_identity:check/2","name":"check/2","namespace":"tmux_identity","parent":"tmux_identity","kind":"function","modifiers":[],"signatures":[{"raw":"check/2\n-spec check(t(), pos_integer()) -> ok | {error, map()}.","references":[{"start":20,"end":21,"target":"t:tmux_identity:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":25,"end":36,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":56,"end":59,"target":"t:erlang:map/0"}],"params":[{"name":"Identity","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_identity:t/0"}]},{"name":"ObservedPid","type":"pos_integer()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":0,"end":11,"target":"t:erlang:pos_integer/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Re-observe the PID and compare its incarnation token. A successful result is a momentary observation, not ownership, permission to signal, or a same-connection guarantee."},"source":{"line":92,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_identity-check-2"},{"id":"tmux_identity:fingerprint/1","publicId":"tmux_identity:fingerprint/1","qualifiedName":"tmux_identity:fingerprint/1","name":"fingerprint/1","namespace":"tmux_identity","parent":"tmux_identity","kind":"function","modifiers":[],"signatures":[{"raw":"fingerprint/1\n-spec fingerprint(t()) ->\n {ok, fingerprint()} |\n {error, #{code := invalid_identity}}.","references":[{"start":32,"end":33,"target":"t:tmux_identity:t/0"},{"start":66,"end":77,"target":"t:tmux_identity:fingerprint/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_identity:t/0"}]}],"returns":"{ok, fingerprint()} |\n {error, #{code := invalid_identity}}","returnsReferences":[{"start":5,"end":16,"target":"t:tmux_identity:fingerprint/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Derive a portable `t:fingerprint/0` from a captured identity without I/O.","body":"The key includes PID, boot ID and process-start ticks. Reconnecting to the same\nprocess preserves it; changing any component changes it. The encoding is\nversioned for persisted plans. Use `check/2` for a fresh process observation.\nMalformed identity terms return invalid_identity before hashing.","examples":[{"lang":"erlang","code":"1> {ok, I} = tmux_identity:observe(list_to_integer(os:getpid())), ok.\nok\n2> {ok, Key} = tmux_identity:fingerprint(I), ok.\nok\n3> byte_size(Key).\n73"}]},"source":{"line":59,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_identity-fingerprint-1"},{"id":"tmux_identity:observe/1","publicId":"tmux_identity:observe/1","qualifiedName":"tmux_identity:observe/1","name":"observe/1","namespace":"tmux_identity","parent":"tmux_identity","kind":"function","modifiers":[],"signatures":[{"raw":"observe/1\n-spec observe(pos_integer()) -> {ok, t()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":24,"end":35,"target":"t:erlang:pos_integer/0"},{"start":47,"end":48,"target":"t:tmux_identity:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":62,"end":65,"target":"t:erlang:map/0"}],"params":[{"name":"Pid","type":"pos_integer()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":0,"end":11,"target":"t:erlang:pos_integer/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_identity:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Observe a Linux PID incarnation without signalling it. Returns a tagged error if the process cannot be identified; this performs local operating-system I/O."},"source":{"line":79,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_identity-observe-1"},{"id":"t:tmux_identity:fingerprint/0","publicId":"t:tmux_identity:fingerprint/0","qualifiedName":"tmux_identity:fingerprint/0","name":"fingerprint/0","namespace":"tmux_identity","parent":"tmux_identity","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type fingerprint() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":23,"end":29,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Versioned SHA-256 comparison key for a captured Linux process incarnation. The linux-v1 prefix identifies the canonical encoding, independent of Erlang term serialization. Keys compare identity observations, not endpoint ownership or current liveness. They are identifiers, not authentication tokens."},"source":{"line":38,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_identity-fingerprint-0"},{"id":"t:tmux_identity:t/0","publicId":"t:tmux_identity:t/0","qualifiedName":"tmux_identity:t/0","name":"t/0","namespace":"tmux_identity","parent":"tmux_identity","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Observed Linux PID, boot identity and process-start token. It does not pin a connection."},"source":{"line":30,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_identity-t-0"},{"id":"tmux_json","publicId":"tmux_json","qualifiedName":"tmux_json","name":"tmux_json","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Decode bounded JSON using OTP's `m:json` parser and binary object keys.","body":"Documents are limited to 256 KiB before parsing and 32 nested containers\nduring parsing. Duplicate keys are rejected before overwriting values, even\nwhen different escapes spell the same key. Trailing input is rejected. Numbers\nstay in the shared exact integer range. Integral decimal tokens are converted\nexactly; fractional tokens that round to integers are rejected. Field\nvalidation decides whether a remaining float is permitted. Syntax and resource\nerrors have a root path; duplicate-key errors retain their complete document\npath. Use `tmux_filter:from_wire/2` to validate decoded filter data."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_json.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_json"},{"id":"tmux_json:decode/1","publicId":"tmux_json:decode/1","qualifiedName":"tmux_json:decode/1","name":"decode/1","namespace":"tmux_json","parent":"tmux_json","kind":"function","modifiers":[],"signatures":[{"raw":"decode/1\n-spec decode(binary()) ->\n {ok, json:decode_value()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":22,"end":28,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:decode_value/0","project":"Erlang/OTP"},"start":56,"end":73,"target":"t:json:decode_value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":87,"end":90,"target":"t:erlang:map/0"}],"params":[{"name":"Binary","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, json:decode_value()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:decode_value/0","project":"Erlang/OTP"},"start":5,"end":22,"target":"t:json:decode_value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":36,"end":39,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a decoded value or a structured error without creating payload atoms.","examples":[{"lang":"erlang","code":"1> tmux_json:decode(<<\"{\\\"a\\\": [1, true, null]}\">>).\n{ok,#{<<\"a\">> => [1,true,null]}}\n2> tmux_json:decode(<<\"{\\\"a\\\": {\\\"x\\\": 1, \\\"x\\\": 2}}\">>).\n{error,#{code => duplicate_key,path => [<<\"a\">>,<<\"x\">>]}}\n3> tmux_json:decode(<<\"[] []\">>).\n{error,#{code => trailing_input,path => []}}"}]},"source":{"line":32,"file":"apps/libtmux_erlang/src/tmux_json.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_json-decode-1"},{"id":"tmux_key","publicId":"tmux_key","qualifiedName":"tmux_key","name":"tmux_key","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Register and remove bindings in explicit server key tables.","body":"`bind/3` uses the native prefix table; `bind/4` chooses a table, repeat flag\nand note. Command values use `tmux_command:to_config/1` for the stored parser\nboundary. Replacing a binding resets its commands, repeat flag and note.\nRegistration does not prove that a client later executed the binding.\n\nTables belong to the server. A session's key-table option selects its default\ntable through `m:tmux_option`; tmux's prefix and client table-switching rules\nstill apply. Registering a custom table does not select it for any client.\n`clear_table/2` requires an explicit name and can affect attached clients.\n\n`listing/2` returns native presentation bytes. Field padding, quoting, note\ncoverage and formatting vary by daemon release. It does not decode bindings\nor promise reusable configuration. Retain the original command values when\nan application needs to install the same binding again.\n\nKey names use tmux's own binary spellings, such as C-b, Enter and MouseDown1Pane.\nThe daemon validates actual names and modifiers. Library validation bounds\nbytes and rejects NUL before dispatch. Calls use registered endpoint identity,\nperform explicit I/O and never retry uncertain mutations. They do not attach\na client or refresh captured rows.\n\nThe [key-table guide](keys.md) installs and removes an application-owned table."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_key"},{"id":"tmux_key:bind/3","publicId":"tmux_key:bind/3","qualifiedName":"tmux_key:bind/3","name":"bind/3","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"bind(Server, Key, Commands)\n-spec bind(tmux_server:t(),\n key(),\n tmux_command:t() | [tmux_command:t(), ...]) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":39,"end":52,"target":"t:tmux_server:t/0"},{"start":67,"end":70,"target":"t:tmux_key:key/0"},{"start":85,"end":99,"target":"t:tmux_command:t/0"},{"start":105,"end":119,"target":"t:tmux_command:t/0"},{"start":151,"end":175,"target":"t:tmux_operation:completed/0"},{"start":203,"end":225,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_key:key/0"}]},{"name":"Commands","type":"tmux_command:t() | [tmux_command:t(), ...]","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:t/0"},{"start":20,"end":34,"target":"t:tmux_command:t/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Register commands in the native prefix table with default options. Performs I/O; see `bind/4` for replacement, command parsing and future execution."},"source":{"line":53,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_key-bind-3"},{"id":"tmux_key:bind/4","publicId":"tmux_key:bind/4","qualifiedName":"tmux_key:bind/4","name":"bind/4","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"bind(Server, Key0, Commands, Options)\n-spec bind(tmux_server:t(),\n key(),\n tmux_command:t() | [tmux_command:t(), ...],\n bind_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":49,"end":62,"target":"t:tmux_server:t/0"},{"start":77,"end":80,"target":"t:tmux_key:key/0"},{"start":95,"end":109,"target":"t:tmux_command:t/0"},{"start":115,"end":129,"target":"t:tmux_command:t/0"},{"start":150,"end":162,"target":"t:tmux_key:bind_options/0"},{"start":188,"end":212,"target":"t:tmux_operation:completed/0"},{"start":240,"end":262,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Key0","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_key:key/0"}]},{"name":"Commands","type":"tmux_command:t() | [tmux_command:t(), ...]","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:t/0"},{"start":20,"end":34,"target":"t:tmux_command:t/0"}]},{"name":"Options","type":"bind_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_key:bind_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Register or replace one binding with validated command values. Commands can be one value or a flat nonempty list; `tmux_command:to_config/1` applies the aggregate count and byte bounds. Options follow `t:bind_options/0`. Arguments, table names and notes are literal bytes at registration; stored commands still interpret their values and formats when a client executes them.","body":"Performs I/O. tmux parses the commands before replacing an existing binding.\nThe result confirms registration, while effects of future key presses need\ntheir own acknowledgement. Replacement resets the old repeat flag and note\nusing the supplied options. Errors preserve backend diagnostics and unknown\noutcomes; there is no rollback or automatic retry."},"source":{"line":70,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_key-bind-4"},{"id":"tmux_key:clear_table/2","publicId":"tmux_key:clear_table/2","qualifiedName":"tmux_key:clear_table/2","name":"clear_table/2","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"clear_table(Server, Table)\n-spec clear_table(tmux_server:t(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":45,"end":58,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":62,"end":68,"target":"t:erlang:binary/0"},{"start":101,"end":125,"target":"t:tmux_operation:completed/0"},{"start":160,"end":182,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Table","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove the entire explicitly named table through native unbind-key -a -T. Names use the bounds in `t:bind_options/0`. This can remove default bindings and affect attached clients. Missing tables remain native errors; this call does not restore factory defaults or cancel commands already queued. Performs I/O after endpoint and argument validation."},"source":{"line":114,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_key-clear_table-2"},{"id":"tmux_key:listing/1","publicId":"tmux_key:listing/1","qualifiedName":"tmux_key:listing/1","name":"listing/1","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"listing(Server)\n-spec listing(tmux_server:t()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":30,"end":43,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":72,"end":78,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":92,"end":95,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read all tables as native listing bytes. Performs I/O; see `listing/2`."},"source":{"line":122,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_key-listing-1"},{"id":"tmux_key:listing/2","publicId":"tmux_key:listing/2","qualifiedName":"tmux_key:listing/2","name":"listing/2","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"listing/2\n-spec listing(tmux_server:t(), listing_options()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":24,"end":37,"target":"t:tmux_server:t/0"},{"start":41,"end":56,"target":"t:tmux_key:listing_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":85,"end":91,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":105,"end":108,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Options","type":"listing_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_key:listing_options/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read native list-keys presentation output, optionally filtering by table and key through `t:listing_options/0`. Returns the command's stdout unchanged; spacing, quoting and included metadata follow that daemon. This is a text view, with no decoded-row, exact-note or configuration-round-trip guarantee.","body":"tmux 3.4 can escape dollar signs in this output. tmux 3.7c can send a single\nmatching entry to its status-message path, producing empty stdout without an\nattached target client. Empty presentation output does not prove absence.\nThe [key-table guide](keys.md) demonstrates a table with multiple bindings.\n\nThe baseline command has no custom format option on tmux 3.3. Deliberate\nnewer-server formatting is available through `tmux_command:raw/2`. Performs\nI/O; missing tables, invalid key spellings and backend errors remain errors."},"source":{"line":140,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_key-listing-2"},{"id":"tmux_key:unbind/2","publicId":"tmux_key:unbind/2","qualifiedName":"tmux_key:unbind/2","name":"unbind/2","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"unbind(Server, Key)\n-spec unbind(tmux_server:t(), key()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":33,"end":46,"target":"t:tmux_server:t/0"},{"start":50,"end":53,"target":"t:tmux_key:key/0"},{"start":81,"end":105,"target":"t:tmux_operation:completed/0"},{"start":135,"end":157,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_key:key/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove a binding from the native prefix table. Performs I/O; see `unbind/3`."},"source":{"line":83,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_key-unbind-2"},{"id":"tmux_key:unbind/3","publicId":"tmux_key:unbind/3","qualifiedName":"tmux_key:unbind/3","name":"unbind/3","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"unbind(Server, Key0, Options)\n-spec unbind(tmux_server:t(),\n key(),\n #{table => binary()}) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":43,"end":56,"target":"t:tmux_server:t/0"},{"start":73,"end":76,"target":"t:tmux_key:key/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":104,"end":110,"target":"t:erlang:binary/0"},{"start":139,"end":163,"target":"t:tmux_operation:completed/0"},{"start":193,"end":215,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Key0","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_key:key/0"}]},{"name":"Options","type":"#{table => binary()}","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":11,"end":17,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove one key from the explicit table, defaulting to prefix. Only table is accepted in the options map. A missing key in an existing table is a native no-op; a missing explicit table remains an error. Removing the final custom binding can remove its table, so a repeated call can then report that missing table. Invalid native key names are never quietly suppressed.","body":"Performs I/O. Effects already queued by a client are unaffected. Use\n`clear_table/2` to remove an entire explicitly named table."},"source":{"line":97,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_key-unbind-3"},{"id":"t:tmux_key:bind_options/0","publicId":"t:tmux_key:bind_options/0","qualifiedName":"tmux_key:bind_options/0","name":"bind_options/0","namespace":"tmux_key","parent":"tmux_key","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type bind_options() ::\n #{table => binary(),\n repeat => boolean(),\n note => binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":45,"end":51,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":77,"end":84,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":108,"end":114,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Default table is prefix and repeat is false. Tables contain 1..1024 NUL-free bytes. note is at most 32 KiB of NUL-free bytes; omitting it removes an old note when commands are replaced. Command-level aggregate bounds still apply."},"source":{"line":38,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_key-bind_options-0"},{"id":"t:tmux_key:key/0","publicId":"t:tmux_key:key/0","qualifiedName":"tmux_key:key/0","name":"key/0","namespace":"tmux_key","parent":"tmux_key","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type key() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":15,"end":21,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A nonempty NUL-free native key spelling, at most 128 bytes; tmux validates its meaning."},"source":{"line":32,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_key-key-0"},{"id":"t:tmux_key:listing_options/0","publicId":"t:tmux_key:listing_options/0","qualifiedName":"tmux_key:listing_options/0","name":"listing_options/0","namespace":"tmux_key","parent":"tmux_key","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type listing_options() ::\n #{table => binary(), key => key()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":48,"end":54,"target":"t:erlang:binary/0"},{"start":65,"end":68,"target":"t:tmux_key:key/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"No table filter lists all native tables. table restricts the listing to one nonempty NUL-free name of at most 1024 bytes; key restricts it to a native key spelling. Missing tables and invalid key spellings retain native errors. Unmatched filters can return empty output or a backend error by release."},"source":{"line":45,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_key-listing_options-0"},{"id":"tmux_matcher","publicId":"tmux_matcher","qualifiedName":"tmux_matcher","name":"tmux_matcher","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Prepare a trusted local predicate once for a captured snapshot.","body":"Use `tmux_select:matching/2` with `{Module, State}`. The application chooses\nModule; external filter documents cannot select the `c:prepare/2`\ncallback. Preparation returns a unary Boolean function or a tagged error.\nCallback exceptions propagate. The adapter does not make executable predicates\nportable or push them to tmux."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_matcher.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_matcher"},{"id":"c:tmux_matcher:prepare/2","publicId":"c:tmux_matcher:prepare/2","qualifiedName":"tmux_matcher:prepare/2","name":"prepare/2","namespace":"tmux_matcher","parent":"tmux_matcher","kind":"function","modifiers":["abstract"],"signatures":[{"raw":"-callback prepare(State :: term(),\n Snapshot :: tmux_snapshot:t()) ->\n {ok,\n fun((tmux_model:row()) ->\n boolean())} |\n {error, term()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":27,"end":31,"target":"t:erlang:term/0"},{"start":65,"end":80,"target":"t:tmux_snapshot:t/0"},{"start":140,"end":154,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":191,"end":198,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":234,"end":238,"target":"t:erlang:term/0"}],"params":[{"name":"State","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]},{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"{ok, fun((tmux_model:row()) -> boolean())} |\n {error, term()}","returnsReferences":[{"start":10,"end":24,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":31,"end":38,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":63,"end":67,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Prepare a local Boolean predicate once for this captured snapshot. Return a tagged preparation error when the matcher cannot operate. Callback exceptions remain application failures; this does not make a matcher portable or suitable for untrusted module selection."},"source":{"line":17,"file":"apps/libtmux_erlang/src/tmux_matcher.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"c-tmux_matcher-prepare-2"},{"id":"tmux_model","publicId":"tmux_model","qualifiedName":"tmux_model","name":"tmux_model","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Validated native domain records. Constructors perform no tmux I/O.","body":"Missing optional observations remain not_loaded; required identity fields\nmust be supplied. Unavailable capabilities remain\nunavailable. Neither state means an empty relation or known absence.\nRows created by `new/2` and the entity constructors are detached.\nEntity constructors accept generated input-map types such as\n`t:pane_input/0`. Use `new/2` to validate dynamic maps; Dialyzer checks\nknown constructor shapes but does not replace runtime validation.\nUse `tmux_server:bind/2` to register a fresh observed row for actions;\nuse `m:tmux_snapshot` for captured graph relationships.\n\nObserved rows carry a private `t:observation/0` value. Actions compare it\nwith the row's origin, snapshot identity and target fields, rejecting\nmismatched observations before I/O. Valid-shaped binding mismatches return\nobservation_mismatch; detached and malformed rows keep their validation\nerrors. Retarget through\n`tmux_server:bind/2`; it reads current values. This protects ordinary API\nuse, not authority against trusted code in the Erlang VM.\n\nNative model version 2 adds this association. Discard version-1 rows and\nsnapshots on upgrade and freshly observe them. `to_map/1` extracts domain\nfields for explicit schema validation; maps carry no actionable origin."},"source":{"line":2,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model"},{"id":"tmux_model:entity/1","publicId":"tmux_model:entity/1","qualifiedName":"tmux_model:entity/1","name":"entity/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"entity/1\n-spec entity(row()) -> tmux_schema:entity().","references":[{"start":22,"end":25,"target":"t:tmux_model:row/0"},{"start":32,"end":50,"target":"t:tmux_schema:entity/0"}],"params":[{"name":"Argument1","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"tmux_schema:entity()","returnsReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the built-in entity kind of a native row without I/O."},"source":{"line":233,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-entity-1"},{"id":"tmux_model:get/2","publicId":"tmux_model:get/2","qualifiedName":"tmux_model:get/2","name":"get/2","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"get/2\n-spec get(atom(), row()) -> term().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":16,"end":20,"target":"t:erlang:atom/0"},{"start":24,"end":27,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":34,"end":38,"target":"t:erlang:term/0"}],"params":[{"name":"Argument1","type":"atom()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:atom/0"}]},{"name":"Argument2","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"term()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read a permitted domain field without I/O. Unknown fields raise unknown_field; unloaded and unavailable values remain distinct."},"source":{"line":268,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-get-2"},{"id":"tmux_model:model_version/1","publicId":"tmux_model:model_version/1","qualifiedName":"tmux_model:model_version/1","name":"model_version/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"model_version/1\n-spec model_version(row()) -> pos_integer().","references":[{"start":36,"end":39,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":46,"end":57,"target":"t:erlang:pos_integer/0"}],"params":[{"name":"Argument1","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"pos_integer()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":0,"end":11,"target":"t:erlang:pos_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the native model version. Unknown versions fail validation; record internals are not a persistence format."},"source":{"line":254,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-model_version-1"},{"id":"tmux_model:new/2","publicId":"tmux_model:new/2","qualifiedName":"tmux_model:new/2","name":"new/2","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"new(Entity, Fields)\n-spec new(atom(), map()) ->\n {ok, row()} |\n {error, tmux_schema:error_detail()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":30,"end":34,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":38,"end":41,"target":"t:erlang:map/0"},{"start":66,"end":69,"target":"t:tmux_model:row/0"},{"start":96,"end":120,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"atom()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:atom/0"}]},{"name":"Fields","type":"map()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"}]}],"returns":"{ok, row()} | {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":8,"target":"t:tmux_model:row/0"},{"start":22,"end":46,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached row from validated observations.","body":"Accepts dynamic maps, including malformed input that returns a tagged\n`t:tmux_schema:error_detail/0`. For trusted typed code, prefer the entity\nconstructors such as `pane/1` and `t:pane_input/0`.","examples":[{"lang":"erlang","code":"1> {ok, Pane} = tmux_model:new(pane, #{id => <<\"%1\">>, width => 120}), ok.\nok\n2> tmux_model:get(width, Pane).\n120"}]},"source":{"line":192,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-new-2"},{"id":"tmux_model:origin/1","publicId":"tmux_model:origin/1","qualifiedName":"tmux_model:origin/1","name":"origin/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"origin/1\n-spec origin(row()) -> none | reference().","references":[{"start":22,"end":25,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":39,"end":48,"target":"t:erlang:reference/0"}],"params":[{"name":"Argument1","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"none | reference()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":7,"end":16,"target":"t:erlang:reference/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the opaque origin token, or none for a detached row. This does not revalidate endpoint lifetime."},"source":{"line":240,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-origin-1"},{"id":"tmux_model:pane/1","publicId":"tmux_model:pane/1","qualifiedName":"tmux_model:pane/1","name":"pane/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"pane(Fields)\n-spec pane(pane_input()) ->\n {ok, pane()} |\n {error, tmux_schema:error_detail()}.","references":[{"start":24,"end":34,"target":"t:tmux_model:pane_input/0"},{"start":60,"end":64,"target":"t:tmux_model:pane/0"},{"start":92,"end":116,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Fields","type":"pane_input()","typeReferences":[{"start":0,"end":10,"target":"t:tmux_model:pane_input/0"}]}],"returns":"{ok, pane()} |\n {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":9,"target":"t:tmux_model:pane/0"},{"start":33,"end":57,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached pane row, validating required fields and scalar bounds without tmux I/O."},"source":{"line":212,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-pane-1"},{"id":"tmux_model:session/1","publicId":"tmux_model:session/1","qualifiedName":"tmux_model:session/1","name":"session/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"session(Fields)\n-spec session(session_input()) ->\n {ok, session()} |\n {error, tmux_schema:error_detail()}.","references":[{"start":30,"end":43,"target":"t:tmux_model:session_input/0"},{"start":72,"end":79,"target":"t:tmux_model:session/0"},{"start":110,"end":134,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Fields","type":"session_input()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_model:session_input/0"}]}],"returns":"{ok, session()} |\n {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":12,"target":"t:tmux_model:session/0"},{"start":36,"end":60,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached session row, validating required fields and scalar bounds without tmux I/O."},"source":{"line":200,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-session-1"},{"id":"tmux_model:snapshot_id/1","publicId":"tmux_model:snapshot_id/1","qualifiedName":"tmux_model:snapshot_id/1","name":"snapshot_id/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"snapshot_id/1\n-spec snapshot_id(row()) -> none | reference().","references":[{"start":32,"end":35,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":49,"end":58,"target":"t:erlang:reference/0"}],"params":[{"name":"Argument1","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"none | reference()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":7,"end":16,"target":"t:erlang:reference/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the capture identity, or none when not associated with a snapshot. Performs no I/O."},"source":{"line":247,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-snapshot_id-1"},{"id":"tmux_model:to_map/1","publicId":"tmux_model:to_map/1","qualifiedName":"tmux_model:to_map/1","name":"to_map/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"to_map/1\n-spec to_map(row()) -> map().","references":[{"start":22,"end":25,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":32,"end":35,"target":"t:erlang:map/0"}],"params":[{"name":"Row","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"map()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return domain field values without origin or capture metadata. This is not the portable filter wire representation. Performs no I/O."},"source":{"line":261,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-to_map-1"},{"id":"tmux_model:validate/1","publicId":"tmux_model:validate/1","qualifiedName":"tmux_model:validate/1","name":"validate/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"validate(Row)\n-spec validate(term()) -> {ok, row()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":29,"end":33,"target":"t:erlang:term/0"},{"start":45,"end":48,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":62,"end":65,"target":"t:erlang:map/0"}],"params":[{"name":"Row","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"returns":"{ok, row()} | {error, map()}","returnsReferences":[{"start":5,"end":8,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate native row shape, model version and normalized observations. Exported records do not enforce these invariants at construction. Performs no I/O."},"source":{"line":216,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-validate-1"},{"id":"tmux_model:window/1","publicId":"tmux_model:window/1","qualifiedName":"tmux_model:window/1","name":"window/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"window(Fields)\n-spec window(window_input()) ->\n {ok, window()} |\n {error, tmux_schema:error_detail()}.","references":[{"start":28,"end":40,"target":"t:tmux_model:window_input/0"},{"start":68,"end":74,"target":"t:tmux_model:window/0"},{"start":104,"end":128,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Fields","type":"window_input()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_model:window_input/0"}]}],"returns":"{ok, window()} |\n {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":11,"target":"t:tmux_model:window/0"},{"start":35,"end":59,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached window row, validating required fields and scalar bounds without tmux I/O."},"source":{"line":204,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-window-1"},{"id":"tmux_model:window_link/1","publicId":"tmux_model:window_link/1","qualifiedName":"tmux_model:window_link/1","name":"window_link/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"window_link(Fields)\n-spec window_link(window_link_input()) ->\n {ok, window_link()} |\n {error, tmux_schema:error_detail()}.","references":[{"start":38,"end":55,"target":"t:tmux_model:window_link_input/0"},{"start":88,"end":99,"target":"t:tmux_model:window_link/0"},{"start":134,"end":158,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Fields","type":"window_link_input()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window_link_input/0"}]}],"returns":"{ok, window_link()} |\n {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":16,"target":"t:tmux_model:window_link/0"},{"start":40,"end":64,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached window_link row, validating required fields and scalar bounds without tmux I/O."},"source":{"line":208,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-window_link-1"},{"id":"t:tmux_model:observation/0","publicId":"t:tmux_model:observation/0","qualifiedName":"tmux_model:observation/0","name":"observation/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque observation().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Private captured target association, created by observation. Retain with its row; construction and field access are internal. It is not an authorization or serialization format."},"source":{"line":46,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-observation-0"},{"id":"t:tmux_model:pane/0","publicId":"t:tmux_model:pane/0","qualifiedName":"tmux_model:pane/0","name":"pane/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type pane() :: #pane{}.","params":[],"references":[{"start":16,"end":21,"target":"#tmux_model:pane{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated pane observation. Native records are experimental in OTP 29."},"source":{"line":112,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-pane-0"},{"id":"t:tmux_model:pane_id/0","publicId":"t:tmux_model:pane_id/0","qualifiedName":"tmux_model:pane_id/0","name":"pane_id/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-nominal pane_id() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":22,"end":28,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A canonical pane ID binary in the percent namespace; nominal checking is by Dialyzer."},"source":{"line":37,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-pane_id-0"},{"id":"t:tmux_model:pane_input/0","publicId":"t:tmux_model:pane_input/0","qualifiedName":"tmux_model:pane_input/0","name":"pane_input/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type pane_input() ::\n #{id := pane_id(),\n window_id =>\n window_id() | not_loaded | unavailable,\n index =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n active => boolean() | not_loaded | unavailable,\n current_command =>\n binary() | not_loaded | unavailable,\n current_path =>\n binary() | not_loaded | unavailable,\n width =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n height =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n pid =>\n pos_integer() |\n float() |\n none | not_loaded | unavailable,\n title => binary() | not_loaded | unavailable,\n dead => boolean() | not_loaded | unavailable,\n exit_status =>\n integer() |\n float() |\n none | not_loaded | unavailable}.","params":[],"references":[{"start":40,"end":47,"target":"t:tmux_model:pane_id/0"},{"start":92,"end":101,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":169,"end":184,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":205,"end":210,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":279,"end":286,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":364,"end":370,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":445,"end":451,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":519,"end":534,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":555,"end":560,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":645,"end":660,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":681,"end":686,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":768,"end":779,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":800,"end":805,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":880,"end":886,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":937,"end":944,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":1018,"end":1025,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":1046,"end":1051,"target":"t:erlang:float/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Trusted constructor fields for `pane/1`. Required keys use :=; optional observations may be not_loaded or unavailable. Integral floats are normalized to integers. Runtime validation still checks ranges, IDs, UTF-8 and derived values. Use `new/2` for dynamically validated maps."},"source":{"line":162,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-pane_input-0"},{"id":"t:tmux_model:row/0","publicId":"t:tmux_model:row/0","qualifiedName":"tmux_model:row/0","name":"row/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type row() ::\n #session{} | #window{} | #window_link{} | #pane{}.","params":[],"references":[{"start":25,"end":33,"target":"#tmux_model:session{}"},{"start":38,"end":45,"target":"#tmux_model:window{}"},{"start":50,"end":62,"target":"#tmux_model:window_link{}"},{"start":67,"end":72,"target":"#tmux_model:pane{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"One schema-defined native domain record, with separate origin and capture metadata."},"source":{"line":104,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-row-0"},{"id":"t:tmux_model:session/0","publicId":"t:tmux_model:session/0","qualifiedName":"tmux_model:session/0","name":"session/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type session() :: #session{}.","params":[],"references":[{"start":19,"end":27,"target":"#tmux_model:session{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated session observation. Native records are experimental in OTP 29."},"source":{"line":106,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-session-0"},{"id":"t:tmux_model:session_id/0","publicId":"t:tmux_model:session_id/0","qualifiedName":"tmux_model:session_id/0","name":"session_id/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-nominal session_id() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":25,"end":31,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A canonical session ID binary in the dollar namespace."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-session_id-0"},{"id":"t:tmux_model:session_input/0","publicId":"t:tmux_model:session_input/0","qualifiedName":"tmux_model:session_input/0","name":"session_input/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type session_input() ::\n #{id := session_id(),\n name => binary() | not_loaded | unavailable,\n attached_count =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n attached =>\n boolean() | not_loaded | unavailable,\n created =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable}.","params":[],"references":[{"start":43,"end":53,"target":"t:tmux_model:session_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":77,"end":83,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":160,"end":175,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":196,"end":201,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":288,"end":295,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":365,"end":380,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":401,"end":406,"target":"t:erlang:float/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Trusted constructor fields for `session/1`. Required keys use :=; optional observations may be not_loaded or unavailable. Integral floats are normalized to integers. Runtime validation still checks ranges, IDs, UTF-8 and derived values. Use `new/2` for dynamically validated maps."},"source":{"line":120,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-session_input-0"},{"id":"t:tmux_model:window/0","publicId":"t:tmux_model:window/0","qualifiedName":"tmux_model:window/0","name":"window/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type window() :: #window{}.","params":[],"references":[{"start":18,"end":25,"target":"#tmux_model:window{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated window observation. Native records are experimental in OTP 29."},"source":{"line":108,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-window-0"},{"id":"t:tmux_model:window_id/0","publicId":"t:tmux_model:window_id/0","qualifiedName":"tmux_model:window_id/0","name":"window_id/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-nominal window_id() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":24,"end":30,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A canonical physical-window ID binary in the at-sign namespace."},"source":{"line":39,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-window_id-0"},{"id":"t:tmux_model:window_input/0","publicId":"t:tmux_model:window_input/0","qualifiedName":"tmux_model:window_input/0","name":"window_input/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type window_input() ::\n #{id := window_id(),\n name => binary() | not_loaded | unavailable,\n width =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n height =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n pane_count =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n layout => binary() | not_loaded | unavailable}.","params":[],"references":[{"start":42,"end":51,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":75,"end":81,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":149,"end":164,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":185,"end":190,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":275,"end":290,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":311,"end":316,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":405,"end":420,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":441,"end":446,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":515,"end":521,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Trusted constructor fields for `window/1`. Required keys use :=; optional observations may be not_loaded or unavailable. Integral floats are normalized to integers. Runtime validation still checks ranges, IDs, UTF-8 and derived values. Use `new/2` for dynamically validated maps."},"source":{"line":134,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-window_input-0"},{"id":"t:tmux_model:window_link/0","publicId":"t:tmux_model:window_link/0","qualifiedName":"tmux_model:window_link/0","name":"window_link/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type window_link() :: #window_link{}.","params":[],"references":[{"start":23,"end":35,"target":"#tmux_model:window_link{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated window_link observation. Native records are experimental in OTP 29."},"source":{"line":110,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-window_link-0"},{"id":"t:tmux_model:window_link_input/0","publicId":"t:tmux_model:window_link_input/0","qualifiedName":"tmux_model:window_link_input/0","name":"window_link_input/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type window_link_input() ::\n #{session_id := session_id(),\n window_id := window_id(),\n index := non_neg_integer() | float(),\n active => boolean() | not_loaded | unavailable}.","params":[],"references":[{"start":55,"end":65,"target":"t:tmux_model:session_id/0"},{"start":94,"end":103,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":128,"end":143,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":148,"end":153,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":179,"end":186,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Trusted constructor fields for `window_link/1`. Required keys use :=; optional observations may be not_loaded or unavailable. Integral floats are normalized to integers. Runtime validation still checks ranges, IDs, UTF-8 and derived values. Use `new/2` for dynamically validated maps."},"source":{"line":149,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_model-window_link_input-0"},{"id":"#tmux_model:session{}","publicId":"#tmux_model:session{}","qualifiedName":"#tmux_model:session{}","name":"#session{}","namespace":"tmux_model","parent":"tmux_model","kind":"struct","modifiers":[],"signatures":[{"raw":"-record #session{id :: session_id(),\n name =\n not_loaded ::\n binary() |\n not_loaded | unavailable,\n attached_count =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n attached =\n not_loaded ::\n boolean() |\n not_loaded | unavailable,\n created =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n origin = none :: none | reference(),\n snapshot_id = none :: none | reference(),\n model_version = 2 :: pos_integer(),\n observation =\n none :: none | observation()}.","params":[],"references":[{"start":23,"end":33,"target":"t:tmux_model:session_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":121,"end":127,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":277,"end":292,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":436,"end":443,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":586,"end":601,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":698,"end":707,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":757,"end":766,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":808,"end":819,"target":"t:erlang:pos_integer/0"},{"start":890,"end":901,"target":"t:tmux_model:observation/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","source":{"line":48,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-session"},{"id":"#tmux_model:window{}","publicId":"#tmux_model:window{}","qualifiedName":"#tmux_model:window{}","name":"#window{}","namespace":"tmux_model","parent":"tmux_model","kind":"struct","modifiers":[],"signatures":[{"raw":"-record #window{id :: window_id(),\n name =\n not_loaded ::\n binary() | not_loaded | unavailable,\n width =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n height =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n pane_count =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n layout =\n not_loaded ::\n binary() | not_loaded | unavailable,\n origin = none :: none | reference(),\n snapshot_id = none :: none | reference(),\n model_version = 2 :: pos_integer(),\n observation = none :: none | observation()}.","params":[],"references":[{"start":22,"end":31,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":116,"end":122,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":235,"end":250,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":388,"end":403,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":545,"end":560,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":698,"end":704,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":775,"end":784,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":833,"end":842,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":883,"end":894,"target":"t:erlang:pos_integer/0"},{"start":943,"end":954,"target":"t:tmux_model:observation/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","source":{"line":60,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-window"},{"id":"#tmux_model:window_link{}","publicId":"#tmux_model:window_link{}","qualifiedName":"#tmux_model:window_link{}","name":"#window_link{}","namespace":"tmux_model","parent":"tmux_model","kind":"struct","modifiers":[],"signatures":[{"raw":"-record #window_link{session_id :: session_id(),\n window_id :: window_id(),\n index :: non_neg_integer(),\n active =\n not_loaded ::\n boolean() |\n not_loaded | unavailable,\n origin = none :: none | reference(),\n snapshot_id =\n none :: none | reference(),\n model_version = 2 :: pos_integer(),\n observation =\n none :: none | observation()}.","params":[],"references":[{"start":35,"end":45,"target":"t:tmux_model:session_id/0"},{"start":83,"end":92,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":126,"end":141,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":243,"end":250,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":355,"end":364,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":443,"end":452,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":498,"end":509,"target":"t:erlang:pos_integer/0"},{"start":588,"end":599,"target":"t:tmux_model:observation/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","source":{"line":73,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-window_link"},{"id":"#tmux_model:pane{}","publicId":"#tmux_model:pane{}","qualifiedName":"#tmux_model:pane{}","name":"#pane{}","namespace":"tmux_model","parent":"tmux_model","kind":"struct","modifiers":[],"signatures":[{"raw":"-record #pane{id :: pane_id(),\n window_id =\n not_loaded ::\n window_id() |\n not_loaded | unavailable,\n index =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n active =\n not_loaded ::\n boolean() | not_loaded | unavailable,\n current_command =\n not_loaded ::\n binary() | not_loaded | unavailable,\n current_path =\n not_loaded ::\n binary() | not_loaded | unavailable,\n width =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n height =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n pid =\n not_loaded ::\n pos_integer() |\n none | not_loaded | unavailable,\n title =\n not_loaded ::\n binary() | not_loaded | unavailable,\n dead =\n not_loaded ::\n boolean() | not_loaded | unavailable,\n exit_status =\n not_loaded ::\n integer() |\n none | not_loaded | unavailable,\n origin = none :: none | reference(),\n snapshot_id = none :: none | reference(),\n model_version = 2 :: pos_integer(),\n observation = none :: none | observation()}.","params":[],"references":[{"start":20,"end":27,"target":"t:tmux_model:pane_id/0"},{"start":111,"end":120,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":249,"end":264,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":394,"end":401,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":518,"end":524,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":638,"end":644,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":751,"end":766,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":896,"end":911,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":1038,"end":1049,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1185,"end":1191,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":1297,"end":1304,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":1417,"end":1424,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":1522,"end":1531,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":1578,"end":1587,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":1626,"end":1637,"target":"t:erlang:pos_integer/0"},{"start":1684,"end":1695,"target":"t:tmux_model:observation/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","source":{"line":84,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_model-pane"},{"id":"tmux_operation","publicId":"tmux_operation","qualifiedName":"tmux_operation","name":"tmux_operation","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Own a command independently of an individual wait.","body":"`start/3` submits a validated command through the endpoint's\nbounded admission. The initiating process owns it. `await/2`\ntiming out abandons only that wait; `cancel/1` or owner death\nretires the client and may leave an unknown tmux outcome. The endpoint\nacknowledges `transfer/2` after monitoring the new owner and\nbefore replying to the old owner. The new process does not perform a\nhandshake. Retired results expire after 60 seconds or earlier when the\nendpoint exceeds 64 retained results or 4 MiB of retained stdout/stderr\n(oldest evicted first). Closing the endpoint clears its operation results\nimmediately. Each operation accepts at most 16 concurrent waiters; excess\nwaits return too_many_waiters. `await_started/2` returns\nlifecycle status once the operation leaves queued; dispatch authorization does\nnot establish a tmux aftereffect.\n\nSee `t:completed/0` and `t:failure/0` for\ncommand outcomes and `t:state/0` for lifecycle status. The [job\nguide](jobs.md) shows the complete workflow. Bounded OTP Logger reports\ncorrelate outcomes by operation and endpoint generation; see\n[runtime diagnostics](diagnostics.md) for levels, fields and data boundaries."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_operation"},{"id":"tmux_operation:await/2","publicId":"tmux_operation:await/2","qualifiedName":"tmux_operation:await/2","name":"await/2","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"await(Operation, Timeout)\n-spec await(t(), timeout()) ->\n {ok, completed()} | {error, failure()}.","references":[{"start":38,"end":39,"target":"t:tmux_operation:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:timeout/0","project":"Erlang/OTP"},"start":43,"end":50,"target":"t:erlang:timeout/0"},{"start":77,"end":86,"target":"t:tmux_operation:completed/0"},{"start":100,"end":107,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]},{"name":"Timeout","type":"timeout()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:timeout/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:timeout/0"}]}],"returns":"{ok, completed()} | {error, failure()}","returnsReferences":[{"start":5,"end":14,"target":"t:tmux_operation:completed/0"},{"start":28,"end":35,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Wait for a retained result for at most Timeout. An await_timeout removes only this waiter; the operation continues and its handle remains usable. Additional waiters do not become owners. Results preserve outcome and cleanup certainty."},"source":{"line":89,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_operation-await-2"},{"id":"tmux_operation:await_started/2","publicId":"tmux_operation:await_started/2","qualifiedName":"tmux_operation:await_started/2","name":"await_started/2","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"await_started(Operation, Timeout)\n-spec await_started(t(), timeout()) ->\n {ok, state()} | {error, failure()}.","references":[{"start":54,"end":55,"target":"t:tmux_operation:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:timeout/0","project":"Erlang/OTP"},"start":59,"end":66,"target":"t:erlang:timeout/0"},{"start":101,"end":106,"target":"t:tmux_operation:state/0"},{"start":120,"end":127,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]},{"name":"Timeout","type":"timeout()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:timeout/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:timeout/0"}]}],"returns":"{ok, state()} | {error, failure()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_operation:state/0"},{"start":24,"end":31,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Wait until the operation leaves queued, returning its lifecycle state even if it has already failed or retired. Inspect outcome and cleanup; call `await/2` for final command data. Authorization is not proof of a tmux aftereffect. A timeout abandons this wait without cancelling the operation."},"source":{"line":98,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_operation-await_started-2"},{"id":"tmux_operation:cancel/1","publicId":"tmux_operation:cancel/1","qualifiedName":"tmux_operation:cancel/1","name":"cancel/1","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"cancel(Operation)\n-spec cancel(t()) ->\n {ok,\n cancelled_before_send | cancel_requested |\n already_completed} |\n {error, map()}.","references":[{"start":31,"end":32,"target":"t:tmux_operation:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":182,"end":185,"target":"t:erlang:map/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]}],"returns":"{ok,\n cancelled_before_send | cancel_requested |\n already_completed} |\n {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":109,"end":112,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Request cancellation using this handle. Any holder can cancel; only the owner can transfer ownership. Queued work can be cancelled before submission; possibly sent work retires its client and can retain an unknown tmux outcome. Use `await/2` for the result and cleanup proof. Never infer rollback or automatically retry a mutation from cancellation alone. already_completed means a response exists; it does not establish complete cleanup."},"source":{"line":117,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_operation-cancel-1"},{"id":"tmux_operation:start/3","publicId":"tmux_operation:start/3","qualifiedName":"tmux_operation:start/3","name":"start/3","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"start(Server, Command, Options)\n-spec start(tmux_server:t(),\n tmux_command:t(),\n tmux_server:command_options()) ->\n {ok, t()} | {error, failure()}.","references":[{"start":44,"end":57,"target":"t:tmux_server:t/0"},{"start":73,"end":87,"target":"t:tmux_command:t/0"},{"start":103,"end":130,"target":"t:tmux_server:command_options/0"},{"start":157,"end":158,"target":"t:tmux_operation:t/0"},{"start":172,"end":179,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Command","type":"tmux_command:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:t/0"}]},{"name":"Options","type":"tmux_server:command_options()","typeReferences":[{"start":0,"end":27,"target":"t:tmux_server:command_options/0"}]}],"returns":"{ok, t()} | {error, failure()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_operation:t/0"},{"start":20,"end":27,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Submit a validated command under the endpoint's admission limits and return an operation handle. The initiating process owns it. Submission is non-blocking with respect to command completion; the handle does not prove that tmux has executed the command."},"source":{"line":77,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_operation-start-3"},{"id":"tmux_operation:status/1","publicId":"tmux_operation:status/1","qualifiedName":"tmux_operation:status/1","name":"status/1","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"status(Operation)\n-spec status(t()) -> {ok, state()} | {error, failure()}.","references":[{"start":31,"end":32,"target":"t:tmux_operation:t/0"},{"start":44,"end":49,"target":"t:tmux_operation:state/0"},{"start":63,"end":70,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]}],"returns":"{ok, state()} | {error, failure()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_operation:state/0"},{"start":24,"end":31,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the retained lifecycle state without starting a tmux command. Expired handles return operation_expired. Status is observation of the operation, not evidence that a possibly sent mutation was cancelled."},"source":{"line":106,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_operation-status-1"},{"id":"tmux_operation:transfer/2","publicId":"tmux_operation:transfer/2","qualifiedName":"tmux_operation:transfer/2","name":"transfer/2","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"transfer/2\n-spec transfer(t(), pid()) -> ok | {error, map()}.","references":[{"start":26,"end":27,"target":"t:tmux_operation:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:pid/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":54,"end":57,"target":"t:erlang:map/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]},{"name":"Owner","type":"pid()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:pid/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Transfer ownership to a live process on this Erlang node. The endpoint installs its new owner monitor before releasing the previous monitor and returns after the swap. The new process performs no handshake. Waiters and ownership remain separate; endpoint ownership does not change.","body":"An `await_timeout` abandons the reply, not the queued ownership change. The\ntransfer may complete later. Use `status/1` to read the current owner before\nrelying on ownership; a timeout does not prove that the old owner remains."},"source":{"line":130,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_operation-transfer-2"},{"id":"t:tmux_operation:cleanup/0","publicId":"t:tmux_operation:cleanup/0","qualifiedName":"tmux_operation:cleanup/0","name":"cleanup/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type cleanup() :: complete | incomplete | unverified.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"complete proves owned client retirement; incomplete or unverified does not."},"source":{"line":36,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_operation-cleanup-0"},{"id":"t:tmux_operation:completed/0","publicId":"t:tmux_operation:completed/0","qualifiedName":"tmux_operation:completed/0","name":"completed/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type completed() ::\n #{stdout := binary(),\n stderr := binary(),\n exit_status := 0,\n stdin_delivered := non_neg_integer(),\n outcome := success,\n cleanup := complete}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":43,"end":49,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":75,"end":81,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":146,"end":161,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A successful command result. stdout and stderr are separate byte strings; exit_status is zero. stdin_delivered counts bytes accepted by the client pipe, not bytes consumed by tmux. success does not prove a background aftereffect."},"source":{"line":42,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_operation-completed-0"},{"id":"t:tmux_operation:failure/0","publicId":"t:tmux_operation:failure/0","qualifiedName":"tmux_operation:failure/0","name":"failure/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type failure() ::\n #{code := atom(),\n outcome => outcome(),\n cleanup => cleanup(),\n stdout => binary(),\n stderr => binary(),\n stdin_delivered => non_neg_integer(),\n exit_status => integer(),\n submitted => boolean(),\n atom() => term()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":39,"end":43,"target":"t:erlang:atom/0"},{"start":70,"end":77,"target":"t:tmux_operation:outcome/0"},{"start":104,"end":111,"target":"t:tmux_operation:cleanup/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":137,"end":143,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":169,"end":175,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":210,"end":225,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":256,"end":263,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":292,"end":299,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":315,"end":319,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":325,"end":329,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A tagged error detail with a stable code and optional certainty/output data. Validation, admission and wait errors may contain only code. Command failures retain available stdout/stderr, stdin_delivered and exit_status. Other keys provide code-specific context. Never infer missing certainty fields.","body":"Common codes are busy, invalid_operation_options, command_error, deadline,\ncancelled, stale_server, cleanup_incomplete, await_timeout and\noperation_expired. command_error means a nonzero client exit; it does not roll\nback a mutation. await_timeout abandons only this wait. operation_expired\ncannot reconstruct a previous result or establish its remote outcome."},"source":{"line":56,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_operation-failure-0"},{"id":"t:tmux_operation:outcome/0","publicId":"t:tmux_operation:outcome/0","qualifiedName":"tmux_operation:outcome/0","name":"outcome/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type outcome() ::\n success | error | not_started |\n cancelled_before_send | unknown.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Command certainty, separate from resource cleanup. unknown must not trigger an automatic mutation retry."},"source":{"line":34,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_operation-outcome-0"},{"id":"t:tmux_operation:state/0","publicId":"t:tmux_operation:state/0","qualifiedName":"tmux_operation:state/0","name":"state/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type state() ::\n #{phase := queued | sent | responded | retired,\n stage :=\n pending | waiting | preflight | command,\n owner := pid(),\n outcome := pending | outcome(),\n cleanup := pending | cleanup()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":174,"end":177,"target":"t:erlang:pid/0"},{"start":214,"end":221,"target":"t:tmux_operation:outcome/0"},{"start":258,"end":265,"target":"t:tmux_operation:cleanup/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Observed lifecycle state, without command output. queued includes admission and identity preflight; sent means dispatch authorization, not a proven aftereffect. responded can retain incomplete cleanup; retired releases operation resources. pending certainty means no result yet. The owner is the initiating or transferred process; holding a waiter handle does not change it."},"source":{"line":66,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_operation-state-0"},{"id":"t:tmux_operation:t/0","publicId":"t:tmux_operation:t/0","qualifiedName":"tmux_operation:t/0","name":"t/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A generation-bound operation handle. Possessing a waiter handle does not transfer ownership."},"source":{"line":31,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_operation-t-0"},{"id":"tmux_option","publicId":"tmux_option","qualifiedName":"tmux_option","name":"tmux_option","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Read and change explicit tmux option tables through registered references.","body":"Session, physical window and pane records from `m:tmux_model` select their\nlocal tables. Global tables use {server, Server}, {session_defaults, Server}\nor {window_defaults, Server}. Built-in canonical names and scopes are checked\nagainst pinned source metadata; tmux otherwise lets a name override the\nsupplied scope flags. `m:tmux_hook` owns hook registration and execution;\nhooks are rejected here. Prefixes and aliases are rejected.\n\n`get/3` requires an explicit options map. Local-only reads are the\ndefault; inherit = true follows tmux's table parents (pane -> window -> window\ndefaults, or session -> session defaults). Server options have no parent. A\nmissing local value or array entry returns none; an empty binary or empty\narray is a value. Arrays return maps of indexes to binary values, preserving\nsparse indexes. There is no hidden capture refresh or cache of option values.\n`get_many/3` reads the same scalar key from up to seven local rows through one\nbounded native sequence, retaining local-only semantics by default.\n\nValues are NUL-free binary tmux text bytes, including non-UTF-8 bytes. No\nshell or format expansion is applied by this API. tmux still interprets a\nbuilt-in option according to its type: formats, shell commands and command\noptions may execute later when tmux uses them. This API is for trusted\napplication code. Numeric and flag values are canonical binary text on reads,\nnot Erlang numbers.\n\nBuilt-in metadata covers every released version in the supported tmux\n3.3a–3.8 range, including exact patch letters. Tracking and unknown versions\nfail closed. User options beginning @ do not need a built-in\ncatalogue. The raw `tmux_command:raw/2` remains available for deliberate\nnewer-server integration. All mutations are one-shot I/O with observed\nidentity checks, not transactions. Timeouts can leave an unknown remote\noutcome; mutations are never retried here. See the [scoped options\nguide](options.md) for ownership and inheritance."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_option"},{"id":"tmux_option:catalogue/1","publicId":"tmux_option:catalogue/1","qualifiedName":"tmux_option:catalogue/1","name":"catalogue/1","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"catalogue(Version)\n-spec catalogue(tmux_version:t()) ->\n {ok, #{binary() => metadata()}} |\n {error, map()}.","references":[{"start":35,"end":49,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":82,"end":88,"target":"t:erlang:binary/0"},{"start":94,"end":102,"target":"t:tmux_option:metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":136,"end":139,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]}],"returns":"{ok, #{binary() => metadata()}} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":7,"end":13,"target":"t:erlang:binary/0"},{"start":19,"end":27,"target":"t:tmux_option:metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":42,"end":45,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return all canonical built-in option and hook metadata for one exact parsed version, without I/O. Catalogues cover every release from 3.3a through 3.8; historical 3.3 metadata remains available for source discovery. The generated reference records each release's source commit and file digests."},"source":{"line":89,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_option-catalogue-1"},{"id":"tmux_option:describe/2","publicId":"tmux_option:describe/2","qualifiedName":"tmux_option:describe/2","name":"describe/2","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"describe(Version, Name)\n-spec describe(tmux_version:t(), binary()) ->\n {ok, metadata()} | {error, map()}.","references":[{"start":39,"end":53,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":57,"end":63,"target":"t:erlang:binary/0"},{"start":93,"end":101,"target":"t:tmux_option:metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":115,"end":118,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, metadata()} | {error, map()}","returnsReferences":[{"start":5,"end":13,"target":"t:tmux_option:metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":27,"end":30,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return source metadata for a canonical built-in name and a parsed daemon version, without I/O. Unknown names, unavailable names, tracking builds and uncatalogued versions have distinct errors. The catalogue describes scopes and parser types; it does not qualify runtime behavior or authorize hook execution.","examples":[{"lang":"erlang","code":"1> {ok, V} = tmux_version:parse(<<\"tmux 3.3a\">>), ok.\nok\n2> {ok, M} = tmux_option:describe(V, <<\"exit-empty\">>), ok.\nok\n3> maps:get(scopes, M).\n[server]"}]},"source":{"line":73,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_option-describe-2"},{"id":"tmux_option:get/3","publicId":"tmux_option:get/3","qualifiedName":"tmux_option:get/3","name":"get/3","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"get(Scope, Key, Options)\n-spec get(scope(), key(), read_options()) ->\n {ok, value()} | none | {error, map()}.","references":[{"start":35,"end":40,"target":"t:tmux_option:scope/0"},{"start":44,"end":47,"target":"t:tmux_option:key/0"},{"start":51,"end":63,"target":"t:tmux_option:read_options/0"},{"start":88,"end":93,"target":"t:tmux_option:value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":114,"end":117,"target":"t:erlang:map/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_option:scope/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_option:key/0"}]},{"name":"Options","type":"read_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_option:read_options/0"}]}],"returns":"{ok, value()} | none | {error, map()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_option:value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read one option or array, performing I/O after validation. Missing local values and array entries return none; known empty strings and arrays return {ok, Value}. inherit = true reads through tmux's parent tables. Unknown fields are rejected. Errors retain backend diagnostics; a missing target never becomes absence. Use `set/4` to write a value and `unset/2` to restore inheritance."},"source":{"line":105,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_option-get-3"},{"id":"tmux_option:get_many/3","publicId":"tmux_option:get_many/3","qualifiedName":"tmux_option:get_many/3","name":"get_many/3","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"get_many(Scopes, Name, Options)\n-spec get_many([tmux_model:session() |\n tmux_model:window() |\n tmux_model:pane(),\n ...],\n binary(),\n read_options()) ->\n {ok, [binary() | none]} | {error, map()}.","references":[{"start":48,"end":66,"target":"t:tmux_model:session/0"},{"start":87,"end":104,"target":"t:tmux_model:window/0"},{"start":125,"end":140,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":181,"end":187,"target":"t:erlang:binary/0"},{"start":206,"end":218,"target":"t:tmux_option:read_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":249,"end":255,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":277,"end":280,"target":"t:erlang:map/0"}],"params":[{"name":"Scopes","type":"[tmux_model:session() |\n tmux_model:window() |\n tmux_model:pane(),\n ...]","typeReferences":[{"start":1,"end":19,"target":"t:tmux_model:session/0"},{"start":35,"end":52,"target":"t:tmux_model:window/0"},{"start":68,"end":83,"target":"t:tmux_model:pane/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Options","type":"read_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_option:read_options/0"}]}],"returns":"{ok, [binary() | none]} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":6,"end":12,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read one scalar option from one to seven local rows on the same registered endpoint. Performs one bounded native sequence after validating every scope. Results follow input order; each entry is binary text or none for a missing local value. `t:read_options/0` controls inheritance as in `get/3`.","body":"Names use ASCII letters, digits, dots, underscores and hyphens, with an\noptional leading @ for user options. Global tables, arrays, indexed keys,\nhooks and command options are unsupported. Use `get/3` for broader option\nreads and `tmux_hook:get/3` for hooks.\nInvalid scopes, unsupported keys and different owners fail before dispatch.\n\nEach read is bracketed by matching native target-ID observations. Unresolved\nor mismatched IDs reject the batch. The checks do not prove topology membership\nor completed destruction: older tmux may retain an unlinked pane through\nqueued references. The sequence provides interval observations and the same\nserver-incarnation guarantee as `get/3`. Ambient command configuration applies\nto both paths.\n\nStdout is bounded to 1 MiB and stderr to 64 KiB for the whole sequence, with\nthe endpoint's 2500 ms command deadline. Seven 32 KiB values fit even under\nthe qualified worst-case native quoting expansion. Larger external values\nmay exceed that aggregate output bound. Any command, framing or decoding\nfailure rejects the entire result, retaining native outcome and cleanup\nevidence. There is no partial-success result, hidden refresh or value cache."},"source":{"line":145,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_option-get_many-3"},{"id":"tmux_option:set/3","publicId":"tmux_option:set/3","qualifiedName":"tmux_option:set/3","name":"set/3","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"set(Scope, Key, Value)\n-spec set(scope(), key(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":33,"end":38,"target":"t:tmux_option:scope/0"},{"start":42,"end":45,"target":"t:tmux_option:key/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":49,"end":55,"target":"t:erlang:binary/0"},{"start":80,"end":104,"target":"t:tmux_operation:completed/0"},{"start":131,"end":153,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_option:scope/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_option:key/0"}]},{"name":"Value","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Set one scalar or indexed array entry with default write options. Performs I/O; see `set/4` for append, only-if-unset, parsing and unknown-outcome semantics."},"source":{"line":164,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_option-set-3"},{"id":"tmux_option:set/4","publicId":"tmux_option:set/4","qualifiedName":"tmux_option:set/4","name":"set/4","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"set(Scope, Key, Value, Options)\n-spec set(scope(), key(), binary(), write_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":42,"end":47,"target":"t:tmux_option:scope/0"},{"start":51,"end":54,"target":"t:tmux_option:key/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":58,"end":64,"target":"t:erlang:binary/0"},{"start":68,"end":81,"target":"t:tmux_option:write_options/0"},{"start":106,"end":130,"target":"t:tmux_operation:completed/0"},{"start":157,"end":179,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_option:scope/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_option:key/0"}]},{"name":"Value","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Options","type":"write_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_option:write_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Set a literal binary value, after scope/version/owner validation. Array writes require {Name, Index}; this avoids tmux's whole-array separator grammar. append uses tmux's type-specific -a semantics. only_if_unset checks the local table; already-set is a backend error, with no suppressed errors or compare-and-swap guarantee. Values must be supplied explicitly; an empty flag value retains tmux's native toggle behavior. A successful result proves command completion, not later effects of a stored command or format. Performs I/O; never retries."},"source":{"line":178,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_option-set-4"},{"id":"tmux_option:unset/2","publicId":"tmux_option:unset/2","qualifiedName":"tmux_option:unset/2","name":"unset/2","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"unset(Scope, Key)\n-spec unset(scope(), key()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":30,"end":35,"target":"t:tmux_option:scope/0"},{"start":39,"end":42,"target":"t:tmux_option:key/0"},{"start":69,"end":93,"target":"t:tmux_operation:completed/0"},{"start":122,"end":144,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_option:scope/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_option:key/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove a local option or one indexed entry. Removing a local option restores inheritance; removing an entry leaves a local array, possibly empty. Unsetting a global built-in resets tmux's default; user options are removed. Missing local values are a successful tmux no-op. No pane-wide -U action is implied. Performs I/O and returns the command result without refreshing captured rows."},"source":{"line":198,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_option-unset-2"},{"id":"t:tmux_option:key/0","publicId":"t:tmux_option:key/0","qualifiedName":"tmux_option:key/0","name":"key/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type key() :: binary() | {binary(), non_neg_integer()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":15,"end":21,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":37,"end":52,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Canonical binary name; arrays use a structured non-negative index, never bracket syntax."},"source":{"line":44,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_option-key-0"},{"id":"t:tmux_option:metadata/0","publicId":"t:tmux_option:metadata/0","qualifiedName":"tmux_option:metadata/0","name":"metadata/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type metadata() ::\n #{scopes := [server | session | window | pane],\n type :=\n choice | colour | command | flag | key |\n number | string,\n array := boolean(),\n hook := boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":209,"end":216,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":240,"end":247,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Source-derived scope, parser type, array and executable-hook metadata."},"source":{"line":46,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_option-metadata-0"},{"id":"t:tmux_option:read_options/0","publicId":"t:tmux_option:read_options/0","qualifiedName":"tmux_option:read_options/0","name":"read_options/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type read_options() :: #{inherit => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":37,"end":44,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Local-only unless inherit is true. Unknown options and non-Booleans are errors."},"source":{"line":50,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_option-read_options-0"},{"id":"t:tmux_option:scope/0","publicId":"t:tmux_option:scope/0","qualifiedName":"tmux_option:scope/0","name":"scope/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type scope() ::\n tmux_model:session() |\n tmux_model:window() |\n tmux_model:pane() |\n {server | session_defaults | window_defaults,\n tmux_server:t()}.","params":[],"references":[{"start":27,"end":45,"target":"t:tmux_model:session/0"},{"start":60,"end":77,"target":"t:tmux_model:window/0"},{"start":92,"end":107,"target":"t:tmux_model:pane/0"},{"start":179,"end":192,"target":"t:tmux_server:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A registered local entity or an explicitly selected global option table."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_option-scope-0"},{"id":"t:tmux_option:value/0","publicId":"t:tmux_option:value/0","qualifiedName":"tmux_option:value/0","name":"value/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type value() ::\n binary() | #{non_neg_integer() => binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":40,"end":55,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":61,"end":67,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Canonical tmux text bytes for a scalar/entry, or a sparse map for a whole array."},"source":{"line":54,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_option-value-0"},{"id":"t:tmux_option:write_options/0","publicId":"t:tmux_option:write_options/0","qualifiedName":"tmux_option:write_options/0","name":"write_options/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type write_options() ::\n #{append => boolean(),\n only_if_unset => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":47,"end":54,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":87,"end":94,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"append maps to -a; only_if_unset maps to -o and reports already-set errors. Both default false."},"source":{"line":52,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_option-write_options-0"},{"id":"tmux_pane","publicId":"tmux_pane","qualifiedName":"tmux_pane","name":"tmux_pane","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Create, observe and rearrange panes using registered physical IDs.","body":"`split/2` accepts a pane or a window; a window means its active pane\nat execution. Options (`t:split_options/0`) are direction\n(horizontal or vertical), size ({cells, N} or {percent, N}), before,\nfull_size, zoom, cwd, env, launch and detach. It defaults to a detached\nvertical split. `get/2` returns newly observed fields; existing rows\nremain unchanged. Reads span several commands and do not claim atomicity.\nLaunch and environment options follow `tmux_session:create/2`. An absent or\nzero tmux pane_pid is represented as none. A captured positive PID is an\nobservation, not a guarantee that the process remains alive.\n\nA successful split followed by a failed observation retains the completed\nmutation and command result in its error. `kill/1` returns the\ncommand result. Detached or stale references cannot act. `resize_command/2`\nbuilds a reusable value without tmux I/O; the other calls perform I/O after\nvalidation.\n\n`send_text/2` sends up to 2,000 literal bytes, including NUL, in one\ncommand using tmux's hexadecimal key form. It adds no Enter key and never\nsplits a large input into partially applied commands. `send_keys/2`\naccepts up to 256 named keys, single UTF-8 characters, {function, 1..12} and\n{control, <>}. Named keys are enter, tab, escape, backspace, space,\nup, down, left, right, home, 'end', insert, delete, page_up, page_down and\nback_tab. Terminal modes still govern how input is consumed; command\ncompletion does not mean a program processed it.\n\n`capture/2` returns stdout bytes unchanged, including final\nnewlines. Options (`t:capture_options/0`) are start and 'end' (line\nintegers or all), join_lines, escape_sequences, escape_control,\nretain_trailing_spaces, alternate, pending and quiet. Defaults are tmux's\ncurrent-screen capture without escapes, joined wraps or padding. The\nendpoint's output limit applies; an oversized capture returns an error.\n\nUse `join/3`, `move/3` and `swap/3` to rearrange existing panes without\nrespawning their processes. `break/4` takes an explicit source window link:\nbreaking a window's only pane moves that membership, while breaking one of\nseveral panes creates a new physical window. The [topology guide](panes.md)\nshows the distinction. Use `get/2` or a new snapshot for updated parents and\nindexes; actions leave captured values unchanged.\n\n`pipe/3` connects a tmux-owned shell process to pane output, input or both.\nIt protects the shell text from tmux hash/strftime expansion; shell quoting\nremains the caller's responsibility. `stop_pipe/1` closes that native pipe.\nThese actions do not create an Erlang output subscription or transfer process\nownership to the endpoint. Use an application acknowledgement for consumer\nreadiness, delivered bytes and job completion."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane"},{"id":"tmux_pane:break/4","publicId":"tmux_pane:break/4","qualifiedName":"tmux_pane:break/4","name":"break/4","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"break(Pane, SourceLink, Session, Options)\n-spec break(tmux_model:pane(),\n tmux_model:window_link(),\n tmux_model:session(),\n break_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":54,"end":69,"target":"t:tmux_model:pane/0"},{"start":85,"end":107,"target":"t:tmux_model:window_link/0"},{"start":123,"end":141,"target":"t:tmux_model:session/0"},{"start":157,"end":170,"target":"t:tmux_pane:break_options/0"},{"start":197,"end":221,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":250,"end":253,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"SourceLink","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"break_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_pane:break_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Break a physical pane through its explicit source membership into a destination session/index. Source, link and session must have the same registered owner. The source link's expected window and the pane's observed parent are checked before dispatch. The source selector also includes the stable pane ID, never its positional index. Preflight and action are not atomic.","body":"With multiple panes, tmux creates a new physical window. With only one pane,\nit moves the selected source membership, preserving the existing window and\nits other links. Moving the final membership out can remove the source session.\nPane IDs and processes remain; indexes and option inheritance can change.\nname is a literal UTF-8 argument, subject to native name cleaning.\nAn occupied destination index is refused. detach defaults true; false selects\nthe destination membership. Session groups retain native synchronization.\n\nReturns the command result consistently for both cases. Use `get/2` or\n`tmux_window_link:get/3` for fresh observations. Even an eventual native error\ncan unzoom a window; this is not a transaction and is never retried."},"source":{"line":211,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-break-4"},{"id":"tmux_pane:capture/2","publicId":"tmux_pane:capture/2","qualifiedName":"tmux_pane:capture/2","name":"capture/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"capture(Pane, Options)\n-spec capture(tmux_model:pane(), capture_options()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":37,"end":52,"target":"t:tmux_model:pane/0"},{"start":56,"end":71,"target":"t:tmux_pane:capture_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":100,"end":106,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":120,"end":123,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"capture_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_pane:capture_options/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture terminal bytes, preserving final newlines. Options select line range, joined wraps, escapes, alternate screen and padding; defaults follow tmux current-screen capture. Performs I/O and returns an explicit output-limit error instead of silently truncating."},"source":{"line":414,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-capture-2"},{"id":"tmux_pane:get/2","publicId":"tmux_pane:get/2","qualifiedName":"tmux_pane:get/2","name":"get/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"get(Server, Id)\n-spec get(tmux_server:t(), tmux_model:pane_id()) ->\n {ok, tmux_model:pane()} | {error, map()}.","references":[{"start":26,"end":39,"target":"t:tmux_server:t/0"},{"start":43,"end":61,"target":"t:tmux_model:pane_id/0"},{"start":86,"end":101,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":115,"end":118,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Id","type":"tmux_model:pane_id()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:pane_id/0"}]}],"returns":"{ok, tmux_model:pane()} | {error, map()}","returnsReferences":[{"start":5,"end":20,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read fresh fields for a physical pane ID. Performs I/O and returns target_gone for a vanished pane. A captured PID remains an observation, not a live-process guarantee."},"source":{"line":127,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-get-2"},{"id":"tmux_pane:join/3","publicId":"tmux_pane:join/3","qualifiedName":"tmux_pane:join/3","name":"join/3","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"join(Source, Destination, Options)\n-spec join(tmux_model:pane(),\n tmux_model:pane(),\n join_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":46,"end":61,"target":"t:tmux_model:pane/0"},{"start":76,"end":91,"target":"t:tmux_model:pane/0"},{"start":106,"end":118,"target":"t:tmux_pane:join_options/0"},{"start":144,"end":168,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":196,"end":199,"target":"t:erlang:map/0"}],"params":[{"name":"Source","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Destination","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"join_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:join_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Move a source pane into a split beside the destination pane. Both physical IDs must belong to the same registered owner and must differ. Geometry follows `t:join_options/0`. Existing processes and pane IDs survive; dimensions, indexes and inherited window options can change. Removing a window's last pane destroys that physical window and its links, and can remove sessions.","body":"Default detach true avoids selecting the resolved destination session; false\nuses tmux's resolved session context for the destination pane. Shared physical\nwindows affect all their memberships. Returns the command result without\nrefreshing either row. Use `get/2` for current fields. No retry is performed."},"source":{"line":236,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-join-3"},{"id":"tmux_pane:kill/1","publicId":"tmux_pane:kill/1","qualifiedName":"tmux_pane:kill/1","name":"kill/1","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"kill(Pane)\n-spec kill(tmux_model:pane()) ->\n {ok, map()} | {error, map()}.","references":[{"start":22,"end":37,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":63,"end":66,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":80,"end":83,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Destroy this registered pane. Performs I/O after validating its origin and stable ID; it never falls back to a positional target."},"source":{"line":134,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-kill-1"},{"id":"tmux_pane:move/3","publicId":"tmux_pane:move/3","qualifiedName":"tmux_pane:move/3","name":"move/3","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"move(Source, Destination, Options)\n-spec move(tmux_model:pane(),\n tmux_model:pane(),\n join_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":46,"end":61,"target":"t:tmux_model:pane/0"},{"start":76,"end":91,"target":"t:tmux_model:pane/0"},{"start":106,"end":118,"target":"t:tmux_pane:join_options/0"},{"start":144,"end":168,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":196,"end":199,"target":"t:erlang:map/0"}],"params":[{"name":"Source","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Destination","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"join_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:join_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Rearrange a source pane beside the destination, including within one window. Uses native move-pane, whose placement and lifetime behavior follow `join/3`. Both calls use explicit physical IDs and leave captured rows unchanged."},"source":{"line":245,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-move-3"},{"id":"tmux_pane:pipe/3","publicId":"tmux_pane:pipe/3","qualifiedName":"tmux_pane:pipe/3","name":"pipe/3","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"pipe/3\n-spec pipe(tmux_model:pane(),\n pipe_command(),\n pipe_options()) ->\n {ok, map()} | {error, map()}.","references":[{"start":18,"end":33,"target":"t:tmux_model:pane/0"},{"start":48,"end":60,"target":"t:tmux_pane:pipe_command/0"},{"start":75,"end":87,"target":"t:tmux_pane:pipe_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":113,"end":116,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":130,"end":133,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Command","type":"pipe_command()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:pipe_command/0"}]},{"name":"Options","type":"pipe_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:pipe_options/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Connect a shell process to this registered physical pane, performing I/O. An explicit nonempty `#{shell => Command}` is required (`t:pipe_command/0`). tmux hash formats and strftime directives are escaped so the shell receives the supplied text. This does not quote values interpolated into shell code; the caller owns that quoting. Executable argv is not accepted by this shell-only native command. Encoding follows `tmux_command:literal_format/2` in time mode. A percent-bearing command above its native 8191-byte intermediate limit returns `format_limit` before dispatch, preserving any existing pipe.","body":"`direction` (`t:pipe_options/0`) is `output` (default: pane output to child\nstdin), `input` (child stdout to pane input) or `both`. `toggle` defaults false,\nreplacing any existing pipe. True maps to native `-o`: close an existing pipe without\nstarting another, or open one when none exists. A stopped pipe and replacement\ncan discard pending output. Await consumer acknowledgements before closing\nif delivered bytes matter. This is a live PTY byte stream, not rendered\ncapture text or replay of terminal history; terminal modes affect its bytes.\n\nThe child is started by tmux through `/bin/sh -c`. Its stderr is discarded;\nunused directions are routed to the native null device. No pane cwd or\nenvironment copying is promised. A successful command result does not prove\nexec success, readiness, delivery or child exit. The process is tmux-owned;\n`tmux_server:close/1` preserves the borrowed pane and its pipe. This is not an\nErlang subscription with library flow control. Use `stop_pipe/1` to close the\npipe; stopping is not process cancellation or a wait for job completion."},"source":{"line":165,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-pipe-3"},{"id":"tmux_pane:resize/2","publicId":"tmux_pane:resize/2","qualifiedName":"tmux_pane:resize/2","name":"resize/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"resize(Pane, Options)\n-spec resize(tmux_model:pane(), resize_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":35,"end":50,"target":"t:tmux_model:pane/0"},{"start":54,"end":68,"target":"t:tmux_pane:resize_options/0"},{"start":96,"end":120,"target":"t:tmux_operation:completed/0"},{"start":150,"end":172,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"resize_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_pane:resize_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Request an absolute width, height or both for this registered physical pane. Performs I/O after validating dimensions and origin. tmux can clamp the request to its layout constraints and can resize neighboring panes. Resizing a tiled pane unzooms its window. Use `get/2` for actual dimensions; the input row is unchanged. The accepted library range is not a promise that every server accepts every dimension: tmux versions can impose tighter limits and return a command error.","body":"An empty request is rejected before dispatch:","examples":[{"lang":"erlang","code":"1> tmux_pane:resize(invalid_row, #{}).\n{error,#{code => empty_resize}}"}]},"source":{"line":317,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-resize-2"},{"id":"tmux_pane:resize_command/2","publicId":"tmux_pane:resize_command/2","qualifiedName":"tmux_pane:resize_command/2","name":"resize_command/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"resize_command(Pane, Options)\n-spec resize_command(tmux_model:pane(), resize_options()) ->\n {ok, tmux_command:t()} |\n {error, map()}.","references":[{"start":51,"end":66,"target":"t:tmux_model:pane/0"},{"start":70,"end":84,"target":"t:tmux_pane:resize_options/0"},{"start":120,"end":134,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":172,"end":175,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"resize_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_pane:resize_options/0"}]}],"returns":"{ok, tmux_command:t()} | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build a resize command without tmux I/O. Uses the dimensions and validation rules of `resize/2`, preserving the row's captured origin and stable pane ID. Endpoint liveness and native layout constraints are checked during execution. Submit through `tmux_server:command/3` or `tmux_operation:start/3`.","examples":[{"lang":"erlang","code":"1> tmux_pane:resize_command(invalid_row, #{}).\n{error,#{code => empty_resize}}"}]},"source":{"line":335,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-resize_command-2"},{"id":"tmux_pane:respawn/2","publicId":"tmux_pane:respawn/2","qualifiedName":"tmux_pane:respawn/2","name":"respawn/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"respawn(Pane, Options)\n-spec respawn(tmux_model:pane(), respawn_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":37,"end":52,"target":"t:tmux_model:pane/0"},{"start":56,"end":71,"target":"t:tmux_pane:respawn_options/0"},{"start":100,"end":124,"target":"t:tmux_operation:completed/0"},{"start":155,"end":177,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"respawn_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_pane:respawn_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Respawn this registered physical pane, keeping its pane ID. force defaults false and a running pane normally returns command_error. force = true lets tmux close its existing PTY before spawning again. This acknowledges the tmux command, not former-job termination or successful application initialization. The old PTY can already be closed if a later spawn step fails.","body":"launch defaults to previous, reusing tmux's saved argv or shell. An explicit\nargv or shell map replaces that command. default_shell is invalid here because\nabsent respawn arguments mean saved-command reuse. Omitted cwd retains the\nsaved launch directory, rather than the program's current directory. env\naugments the session environment tmux resolves for this physical pane; a\ncaptured membership does not pin that context. Prior per-spawn overrides are\nnot automatically reapplied. Other launch rules follow\n`tmux_session:create/2`.\n\nPerforms I/O after validation. Existing rows retain their observations; use\n`get/2` and an application readiness condition to inspect the new process. An\nuncertain result is not permission to replay this mutation automatically.\n\nUnsupported launch modes fail before dispatch:","examples":[{"lang":"erlang","code":"1> tmux_pane:respawn(invalid_row, #{launch => default_shell}).\n{error,#{code => invalid_launch}}"}]},"source":{"line":373,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-respawn-2"},{"id":"tmux_pane:send_keys/2","publicId":"tmux_pane:send_keys/2","qualifiedName":"tmux_pane:send_keys/2","name":"send_keys/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"send_keys(Pane, Keys)\n-spec send_keys(tmux_model:pane(), [key()]) ->\n {ok, map()} | {error, map()}.","references":[{"start":38,"end":53,"target":"t:tmux_model:pane/0"},{"start":58,"end":61,"target":"t:tmux_pane:key/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":93,"end":96,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":110,"end":113,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Keys","type":"[key()]","typeReferences":[{"start":1,"end":4,"target":"t:tmux_pane:key/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Send at most 256 validated key tokens. Named keys, single UTF-8 characters, function keys and control-letter tuples are supported. Performs I/O; terminal modes determine the resulting input bytes. Use `send_text/2` for arbitrary bytes."},"source":{"line":401,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-send_keys-2"},{"id":"tmux_pane:send_text/2","publicId":"tmux_pane:send_text/2","qualifiedName":"tmux_pane:send_text/2","name":"send_text/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"send_text/2\n-spec send_text(tmux_model:pane(), binary()) ->\n {ok, map()} | {error, map()}.","references":[{"start":28,"end":43,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":47,"end":53,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":84,"end":87,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":101,"end":104,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Bytes","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Send at most 2,000 literal bytes as hexadecimal tmux keys. Adds no Enter key and does not invoke a shell. Performs I/O in one command; oversized input is rejected before partial submission. Completion does not prove that a terminal program processed the input."},"source":{"line":388,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-send_text-2"},{"id":"tmux_pane:split/2","publicId":"tmux_pane:split/2","qualifiedName":"tmux_pane:split/2","name":"split/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"split(Row, Options)\n-spec split(tmux_model:pane() | tmux_model:window(),\n split_options()) ->\n {ok, tmux_model:pane()} | {error, map()}.","references":[{"start":32,"end":47,"target":"t:tmux_model:pane/0"},{"start":52,"end":69,"target":"t:tmux_model:window/0"},{"start":85,"end":98,"target":"t:tmux_pane:split_options/0"},{"start":125,"end":140,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":154,"end":157,"target":"t:erlang:map/0"}],"params":[{"name":"Row","type":"tmux_model:pane() | tmux_model:window()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"},{"start":20,"end":37,"target":"t:tmux_model:window/0"}]},{"name":"Options","type":"split_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_pane:split_options/0"}]}],"returns":"{ok, tmux_model:pane()} | {error, map()}","returnsReferences":[{"start":5,"end":20,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Split a pane, or the supplied window's active pane, and observe the new pane. Defaults to a detached vertical split. Options and launch semantics are described in the module docs. Performs I/O; a post-creation read error retains the completed mutation rather than pretending that no pane was created."},"source":{"line":109,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-split-2"},{"id":"tmux_pane:stop_pipe/1","publicId":"tmux_pane:stop_pipe/1","qualifiedName":"tmux_pane:stop_pipe/1","name":"stop_pipe/1","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"stop_pipe(Pane)\n-spec stop_pipe(tmux_model:pane()) ->\n {ok, map()} | {error, map()}.","references":[{"start":32,"end":47,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":78,"end":81,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":95,"end":98,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Close this registered pane's native pipe, performing I/O. On a live pane, closing an already closed pipe succeeds. An exited pane can produce a native command error; a vanished ID returns `target_gone`.","body":"Closing can discard pending bytes. It neither kills nor waits for an arbitrary\nshell job started by `pipe/3`; applications must verify consumption and\nprocess completion themselves. The endpoint does not own that shell process."},"source":{"line":188,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-stop_pipe-1"},{"id":"tmux_pane:swap/3","publicId":"tmux_pane:swap/3","qualifiedName":"tmux_pane:swap/3","name":"swap/3","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"swap(Source, Destination, Options)\n-spec swap(tmux_model:pane(),\n tmux_model:pane(),\n swap_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":46,"end":61,"target":"t:tmux_model:pane/0"},{"start":76,"end":91,"target":"t:tmux_model:pane/0"},{"start":106,"end":118,"target":"t:tmux_pane:swap_options/0"},{"start":144,"end":168,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":196,"end":199,"target":"t:erlang:map/0"}],"params":[{"name":"Source","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Destination","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"swap_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:swap_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Exchange two panes' layout positions within or across physical windows. Preserves their IDs and processes; parent windows, dimensions, indexes and inherited options can change. Both rows require the same registered owner. detach defaults true; active positions can still receive different panes. zoom maps to native -Z. Identical IDs do not exchange panes, but native zoom handling still runs; the default can unzoom even a same-pane swap. Returns the command result; `get/2` observes the resulting values explicitly."},"source":{"line":258,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_pane-swap-3"},{"id":"t:tmux_pane:break_options/0","publicId":"t:tmux_pane:break_options/0","qualifiedName":"tmux_pane:break_options/0","name":"break_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type break_options() ::\n #{index := tmux_window_link:index(),\n name => binary(),\n detach => boolean()}.","params":[],"references":[{"start":46,"end":68,"target":"t:tmux_window_link:index/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":92,"end":98,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":124,"end":131,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Break placement: explicit destination index, optional literal window name. detach defaults true."},"source":{"line":66,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-break_options-0"},{"id":"t:tmux_pane:capture_options/0","publicId":"t:tmux_pane:capture_options/0","qualifiedName":"tmux_pane:capture_options/0","name":"capture_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type capture_options() ::\n #{start => coordinate(),\n 'end' => coordinate(),\n join_lines => boolean(),\n escape_sequences => boolean(),\n escape_control => boolean(),\n retain_trailing_spaces => boolean(),\n alternate => boolean(),\n pending => boolean(),\n quiet => boolean()}.","params":[],"references":[{"start":48,"end":58,"target":"t:tmux_pane:coordinate/0"},{"start":83,"end":93,"target":"t:tmux_pane:coordinate/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":123,"end":130,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":166,"end":173,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":207,"end":214,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":256,"end":263,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":292,"end":299,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":326,"end":333,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":358,"end":365,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture range and rendering flags. Byte output and its final newline are preserved."},"source":{"line":93,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-capture_options-0"},{"id":"t:tmux_pane:coordinate/0","publicId":"t:tmux_pane:coordinate/0","qualifiedName":"tmux_pane:coordinate/0","name":"coordinate/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type coordinate() :: -2147483648..32767 | all.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A capture line coordinate, or all for tmux's full available range."},"source":{"line":91,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-coordinate-0"},{"id":"t:tmux_pane:join_options/0","publicId":"t:tmux_pane:join_options/0","qualifiedName":"tmux_pane:join_options/0","name":"join_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type join_options() ::\n #{direction => horizontal | vertical,\n size =>\n {cells, 1..2147483647} | {percent, 1..100},\n detach => boolean(),\n before => boolean(),\n full_size => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":174,"end":181,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":207,"end":214,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":243,"end":250,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Join/move geometry: detach true, vertical split by default. before and full_size follow tmux layout rules."},"source":{"line":72,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-join_options-0"},{"id":"t:tmux_pane:key/0","publicId":"t:tmux_pane:key/0","qualifiedName":"tmux_pane:key/0","name":"key/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type key() ::\n binary() |\n enter | tab | escape | backspace | space | up |\n down | left | right | home | 'end' | insert |\n delete | page_up | page_down | back_tab |\n {function, 1..12} |\n {control, binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":25,"end":31,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":252,"end":258,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated named key, single UTF-8 character, function key or control-letter key."},"source":{"line":97,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-key-0"},{"id":"t:tmux_pane:pipe_command/0","publicId":"t:tmux_pane:pipe_command/0","qualifiedName":"tmux_pane:pipe_command/0","name":"pipe_command/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type pipe_command() :: #{shell := binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":35,"end":41,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Explicit shell code: a nonempty NUL-free binary, with no tmux format or strftime expansion."},"source":{"line":59,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-pipe_command-0"},{"id":"t:tmux_pane:pipe_options/0","publicId":"t:tmux_pane:pipe_options/0","qualifiedName":"tmux_pane:pipe_options/0","name":"pipe_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type pipe_options() ::\n #{direction => output | input | both,\n toggle => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":94,"end":101,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Pipe direction defaults to output. toggle defaults false; true closes an existing pipe instead of replacing it."},"source":{"line":61,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-pipe_options-0"},{"id":"t:tmux_pane:resize_options/0","publicId":"t:tmux_pane:resize_options/0","qualifiedName":"tmux_pane:resize_options/0","name":"resize_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type resize_options() ::\n #{width := 1..65535, height => 1..65535} |\n #{width => 1..65535, height := 1..65535}.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Requested absolute pane dimensions in cells. Supply at least one dimension; tmux can clamp it to fit the layout."},"source":{"line":85,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-resize_options-0"},{"id":"t:tmux_pane:respawn_options/0","publicId":"t:tmux_pane:respawn_options/0","qualifiedName":"tmux_pane:respawn_options/0","name":"respawn_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type respawn_options() ::\n #{force => boolean(),\n launch => tmux_command:respawn_spec(),\n cwd => binary(),\n env => #{binary() => binary()}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":48,"end":55,"target":"t:erlang:boolean/0"},{"start":81,"end":106,"target":"t:tmux_command:respawn_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":129,"end":135,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":160,"end":166,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":172,"end":178,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Respawn options. Defaults: force false, launch previous, saved cwd. Environment augments tmux's resolved session environment for this spawn."},"source":{"line":88,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-respawn_options-0"},{"id":"t:tmux_pane:split_options/0","publicId":"t:tmux_pane:split_options/0","qualifiedName":"tmux_pane:split_options/0","name":"split_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type split_options() ::\n #{direction => horizontal | vertical,\n size =>\n {cells, 1..2147483647} | {percent, 1..100},\n before => boolean(),\n full_size => boolean(),\n zoom => boolean(),\n cwd => binary(),\n env => #{binary() => binary()},\n launch => tmux_command:launch_spec(),\n detach => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":175,"end":182,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":211,"end":218,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":242,"end":249,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":272,"end":278,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":303,"end":309,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":315,"end":321,"target":"t:erlang:binary/0"},{"start":348,"end":372,"target":"t:tmux_command:launch_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":398,"end":405,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Split geometry, placement and explicit launch options. Defaults to a detached vertical split."},"source":{"line":80,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-split_options-0"},{"id":"t:tmux_pane:swap_options/0","publicId":"t:tmux_pane:swap_options/0","qualifiedName":"tmux_pane:swap_options/0","name":"swap_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type swap_options() ::\n #{detach => boolean(), zoom => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":46,"end":53,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":65,"end":72,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Swap controls: detach defaults true; zoom maps to tmux -Z to retain zoom."},"source":{"line":78,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_pane-swap_options-0"},{"id":"tmux_query","publicId":"tmux_query","qualifiedName":"tmux_query","name":"tmux_query","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Build and execute explicit queries over the tmux graph.","body":"Use `fetch/1` to execute a query. Constructors,\n`where/2`, `limit/2`, `pushdown/2` and\n`explain/1` perform no tmux I/O. Criteria are validated when added,\nand repeated conditions conjoin. Fetching returns an ordered `m:tmux_select`\nselection backed by a complete `m:tmux_snapshot` graph. By default the full\ncaptured view is filtered locally. Enable native candidate exclusion with\n`pushdown/2`: it can add a scan without reducing complete-graph hydration. The\ncandidate is a necessary condition; the full filter still runs before the limit.\n\nCaptures span commands and are not atomic. Candidate IDs excluded at one\nobservation cannot be recovered by later local filtering. Disabling\n`pushdown/2` evaluates the complete captured view without an\nearlier candidate exclusion. Numeric candidate fields come from the restricted\nscalar codec and must agree with the capture's scalar observations. Text and\nrelationships remain local.\n\nCaptures emit bounded OTP Logger reports with their snapshot ID and endpoint\ngeneration. See [runtime diagnostics](diagnostics.md) for observation cost,\nrejection reports and configuration.","examples":[{"lang":"erlang","code":"1> Q0 = tmux_query:panes(unopened), ok.\nok\n2> Q = tmux_query:where(#{width => #{gte => 120}}, Q0), ok.\nok\n3> maps:get(format, maps:get(candidate, tmux_query:explain(Q))).\n<<\"1\">>\n4> Pushed = tmux_query:pushdown(true, Q), ok.\nok\n5> maps:get(format, maps:get(candidate, tmux_query:explain(Pushed))).\n<<\"#{e|>=|:#{pane_width},120}\">>"}]},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query"},{"id":"tmux_query:explain/1","publicId":"tmux_query:explain/1","qualifiedName":"tmux_query:explain/1","name":"explain/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"explain/1\n-spec explain(t()) -> plan().","references":[{"start":24,"end":25,"target":"t:tmux_query:t/0"},{"start":32,"end":36,"target":"t:tmux_query:plan/0"}],"params":[{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"plan()","returnsReferences":[{"start":0,"end":4,"target":"t:tmux_query:plan/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Inspect command templates, necessary candidate conditions, full residual, hydration, required fields, ordering and temporal assumptions. Performs no I/O and does not contact the endpoint to claim dynamic capabilities."},"source":{"line":191,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-explain-1"},{"id":"tmux_query:fetch/1","publicId":"tmux_query:fetch/1","qualifiedName":"tmux_query:fetch/1","name":"fetch/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"fetch(Query)\n-spec fetch(t()) -> {ok, tmux_select:t()} | {error, map()}.","references":[{"start":25,"end":26,"target":"t:tmux_query:t/0"},{"start":38,"end":51,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":65,"end":68,"target":"t:erlang:map/0"}],"params":[{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"{ok, tmux_select:t()} | {error, map()}","returnsReferences":[{"start":5,"end":18,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":32,"end":35,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Execute with default capture bounds and no retry. Returns an ordered selection whose complete graph remains locally readable. See `fetch/2` for resource limits, requested retries and operational errors."},"source":{"line":215,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-fetch-1"},{"id":"tmux_query:fetch/2","publicId":"tmux_query:fetch/2","qualifiedName":"tmux_query:fetch/2","name":"fetch/2","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"fetch/2\n-spec fetch(t(), fetch_options()) ->\n {ok, tmux_select:t()} | {error, map()}.","references":[{"start":20,"end":21,"target":"t:tmux_query:t/0"},{"start":25,"end":38,"target":"t:tmux_query:fetch_options/0"},{"start":65,"end":78,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":92,"end":95,"target":"t:erlang:map/0"}],"params":[{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]},{"name":"Options","type":"fetch_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_query:fetch_options/0"}]}],"returns":"{ok, tmux_select:t()} | {error, map()}","returnsReferences":[{"start":5,"end":18,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":32,"end":35,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Execute the planned observation, full local predicate and final limit.","body":"Capture options are those of `tmux_server:snapshot/2`. retry is 0 (default) or\n1 and retries only inconsistent_capture, within the original capture deadline.\nThe retry is a new read-only capture. No mutations are retried. Invalid\ncapture requests return tagged errors, including unsupported consistency.","examples":[{"lang":"erlang","code":"1> tmux_query:fetch(tmux_query:panes(unopened), #{retry => 2}).\n{error,#{code => invalid_query_options}}"}]},"source":{"line":231,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-fetch-2"},{"id":"tmux_query:limit/2","publicId":"tmux_query:limit/2","qualifiedName":"tmux_query:limit/2","name":"limit/2","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"limit/2\n-spec limit(0..65536, t()) -> t().","references":[{"start":30,"end":31,"target":"t:tmux_query:t/0"},{"start":38,"end":39,"target":"t:tmux_query:t/0"}],"params":[{"name":"Count","type":"0..65536","typeReferences":[]},{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Set a final result limit from 0 through 65536, applied after residual filtering and identity handling. It is not a candidate-fetch limit. Performs no I/O; invalid counts raise bad_query_limit."},"source":{"line":172,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-limit-2"},{"id":"tmux_query:panes/1","publicId":"tmux_query:panes/1","qualifiedName":"tmux_query:panes/1","name":"panes/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"panes(Server)\n-spec panes(tmux_server:t()) -> t().","references":[{"start":26,"end":39,"target":"t:tmux_server:t/0"},{"start":46,"end":47,"target":"t:tmux_query:t/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe a future server-wide physical pane query. Performs no I/O; `fetch/1` is the execution boundary."},"source":{"line":128,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-panes-1"},{"id":"tmux_query:pushdown/2","publicId":"tmux_query:pushdown/2","qualifiedName":"tmux_query:pushdown/2","name":"pushdown/2","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"pushdown(Enabled, Query)\n-spec pushdown(boolean(), t()) -> t().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":40,"end":47,"target":"t:erlang:boolean/0"},{"start":51,"end":52,"target":"t:tmux_query:t/0"},{"start":59,"end":60,"target":"t:tmux_query:t/0"}],"params":[{"name":"Enabled","type":"boolean()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:boolean/0"}]},{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Enable or disable native candidate exclusion, returning a new query. The default is disabled: evaluate the complete captured view locally. Enabling it can add a candidate scan without reducing hydration; neither mode promises an atomic graph. Performs no I/O."},"source":{"line":183,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-pushdown-2"},{"id":"tmux_query:sessions/1","publicId":"tmux_query:sessions/1","qualifiedName":"tmux_query:sessions/1","name":"sessions/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"sessions(Server)\n-spec sessions(tmux_server:t()) -> t().","references":[{"start":32,"end":45,"target":"t:tmux_server:t/0"},{"start":52,"end":53,"target":"t:tmux_query:t/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe a future server-wide session query without executing tmux."},"source":{"line":144,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-sessions-1"},{"id":"tmux_query:where/2","publicId":"tmux_query:where/2","qualifiedName":"tmux_query:where/2","name":"where/2","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"where/2\n-spec where(map() | tmux_filter:t(), t()) -> t().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"},{"start":28,"end":41,"target":"t:tmux_filter:t/0"},{"start":45,"end":46,"target":"t:tmux_query:t/0"},{"start":53,"end":54,"target":"t:tmux_query:t/0"}],"params":[{"name":"Criteria","type":"map() | tmux_filter:t()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"},{"start":8,"end":21,"target":"t:tmux_filter:t/0"}]},{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate trusted criteria for this entity and conjoin them with prior conditions. Successive calls share the same normalized resource limits as one flat conjunction. Each relationship quantifier retains its own scope. Returns a new immutable query; malformed criteria raise bad_filter. Performs no I/O."},"source":{"line":153,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-where-2"},{"id":"tmux_query:window_links/1","publicId":"tmux_query:window_links/1","qualifiedName":"tmux_query:window_links/1","name":"window_links/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"window_links(Server)\n-spec window_links(tmux_server:t()) -> t().","references":[{"start":40,"end":53,"target":"t:tmux_server:t/0"},{"start":60,"end":61,"target":"t:tmux_query:t/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe a future query over session-relative window memberships. Repeated physical windows retain distinct membership identity. Performs no I/O."},"source":{"line":139,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-window_links-1"},{"id":"tmux_query:windows/1","publicId":"tmux_query:windows/1","qualifiedName":"tmux_query:windows/1","name":"windows/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"windows(Server)\n-spec windows(tmux_server:t()) -> t().","references":[{"start":30,"end":43,"target":"t:tmux_server:t/0"},{"start":50,"end":51,"target":"t:tmux_query:t/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe a future query over unique physical windows. Performs no I/O."},"source":{"line":133,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_query-windows-1"},{"id":"t:tmux_query:candidate/0","publicId":"t:tmux_query:candidate/0","qualifiedName":"tmux_query:candidate/0","name":"candidate/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type candidate() ::\n #{format := binary(),\n exact := boolean(),\n local_only := [local_reason()],\n numeric_range => {0, 9007199254740991}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":43,"end":49,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":74,"end":81,"target":"t:erlang:boolean/0"},{"start":112,"end":124,"target":"t:tmux_query:local_reason/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Native necessary condition. format is a rendered tmux expression; exact means the translation covers the whole predicate for one observed state. A true fallback can admit every row. numeric_range describes qualified integer conversion, and is omitted for disabled/oversized fallback plans."},"source":{"line":65,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_query-candidate-0"},{"id":"t:tmux_query:command_plan/0","publicId":"t:tmux_query:command_plan/0","qualifiedName":"tmux_query:command_plan/0","name":"command_plan/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type command_plan() ::\n #{initial_spine := [source_command()],\n candidate := [source_command()],\n hydration := [source_command()],\n isolated_hydration := [source_command()],\n final_spine := [source_command()],\n empty_server := skip_window_and_pane_scans}.","params":[],"references":[{"start":54,"end":68,"target":"t:tmux_query:source_command/0"},{"start":99,"end":113,"target":"t:tmux_query:source_command/0"},{"start":144,"end":158,"target":"t:tmux_query:source_command/0"},{"start":198,"end":212,"target":"t:tmux_query:source_command/0"},{"start":245,"end":259,"target":"t:tmux_query:source_command/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture phases: initial identity/scalar scans, optional candidate scans, complete text/byte hydration and final identity/scalar scans. hydration gives the default batched templates; isolated_hydration describes the explicit isolated option and unqualified-field fallback. An empty server skips window/pane scans. Execution still validates capture bounds and can fail."},"source":{"line":92,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_query-command_plan-0"},{"id":"t:tmux_query:fetch_options/0","publicId":"t:tmux_query:fetch_options/0","qualifiedName":"tmux_query:fetch_options/0","name":"fetch_options/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type fetch_options() ::\n #{deadline_ms => 1..600000,\n max_rows => 1..65536,\n max_bytes => 1..67108864,\n hydration => tmux_server:hydration(),\n consistency => observed | atomic,\n retry => 0 | 1}.","params":[],"references":[{"start":160,"end":181,"target":"t:tmux_server:hydration/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture bounds plus an explicitly requested single inconsistent-capture retry; default retry is zero."},"source":{"line":48,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_query-fetch_options-0"},{"id":"t:tmux_query:local_reason/0","publicId":"t:tmux_query:local_reason/0","qualifiedName":"tmux_query:local_reason/0","name":"local_reason/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type local_reason() ::\n #{reason :=\n disabled | format_limit | inexact_negation |\n unqualified_scalar_codec |\n complete_relationship_required,\n field => binary(),\n relation => binary(),\n operator => tmux_schema:operator()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":219,"end":225,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":253,"end":259,"target":"t:erlang:binary/0"},{"start":287,"end":307,"target":"t:tmux_schema:operator/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Why part of a predicate stays local. field and relation contain stable schema IDs, not Erlang names or tmux formats. An unsupported leaf may broaden the native condition; it never removes the full local predicate."},"source":{"line":56,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_query-local_reason-0"},{"id":"t:tmux_query:plan/0","publicId":"t:tmux_query:plan/0","qualifiedName":"tmux_query:plan/0","name":"plan/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type plan() ::\n #{entity := tmux_schema:entity(),\n pushdown := boolean(),\n candidate := candidate(),\n residual := tmux_filter:wire_document(),\n required := [tmux_snapshot:requirement()],\n limit := infinity | 0..65536,\n commands := command_plan(),\n hydration := complete_graph,\n ordering := session_index_window | numeric_id,\n deduplication := membership | physical_id,\n capabilities :=\n #{minimum_tmux := binary(),\n transport := one_shot},\n consistency := observed,\n atomic := false,\n candidate_scalars :=\n same_row_checked_against_spine,\n text_and_relations := later_observations,\n temporal_limit :=\n excluded_rows_cannot_be_recovered}.","params":[],"references":[{"start":38,"end":56,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":84,"end":91,"target":"t:erlang:boolean/0"},{"start":120,"end":129,"target":"t:tmux_query:candidate/0"},{"start":157,"end":182,"target":"t:tmux_filter:wire_document/0"},{"start":211,"end":236,"target":"t:tmux_snapshot:requirement/0"},{"start":307,"end":319,"target":"t:tmux_query:command_plan/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":540,"end":546,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Pure explanation of a query. pushdown reports whether candidate exclusion is enabled (disabled by default). residual is the full portable predicate, required lists coverage requirements, and limit applies after residual evaluation. ordering and deduplication name the identity policy, not arbitrary map order. capabilities describes the planner baseline without probing a live endpoint.","body":"Capture spans commands. Candidate scalar values are checked against the first\nscan; text and relationships are later observations. Excluded rows cannot be\nrecovered after state changes. Even an exact candidate is not an atomic query."},"source":{"line":107,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_query-plan-0"},{"id":"t:tmux_query:source_command/0","publicId":"t:tmux_query:source_command/0","qualifiedName":"tmux_query:source_command/0","name":"source_command/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type source_command() ::\n #{entity := tmux_schema:entity(),\n command := binary(),\n format := binary(),\n transport := one_shot,\n codec := scalar_spine,\n kind := tmux_schema:entity(),\n args := [binary()],\n filter => binary()} |\n #{entity := tmux_schema:entity(),\n fields := [atom()],\n command := binary(),\n format := binary(),\n transport := one_shot,\n codec := escaped_columns_v1,\n args := [binary()]} |\n #{entity := tmux_schema:entity(),\n field := atom(),\n command := binary(),\n format := binary(),\n transport := one_shot,\n codec := id_prefixed_quoted_field,\n target := observed_id}.","params":[],"references":[{"start":48,"end":66,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":93,"end":99,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":125,"end":131,"target":"t:erlang:binary/0"},{"start":225,"end":243,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":268,"end":274,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":301,"end":307,"target":"t:erlang:binary/0"},{"start":335,"end":353,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":380,"end":384,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":412,"end":418,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":444,"end":450,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":551,"end":557,"target":"t:erlang:binary/0"},{"start":586,"end":604,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":629,"end":633,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":660,"end":666,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":692,"end":698,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Diagnostic command template, not executable argv. Scan templates carry args; text/byte hydration escapes each field once before column framing. Unqualified schema fields use isolated target = observed_id templates, resolved only while capturing. codec states how returned data is framed, including the version-specific print layer. This value grants no atomicity or persistent-connection guarantee."},"source":{"line":75,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_query-source_command-0"},{"id":"t:tmux_query:t/0","publicId":"t:tmux_query:t/0","qualifiedName":"tmux_query:t/0","name":"t/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"An immutable description of future tmux reads. Only fetch executes it."},"source":{"line":121,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_query-t-0"},{"id":"tmux_schema","publicId":"tmux_schema","qualifiedName":"tmux_schema","name":"tmux_schema","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Validate schema-defined observations and normalize scalar values.","body":"Field names come from the generated registry, never record reflection or\npayload-created atoms. Text is validated UTF-8; byte fields preserve arbitrary\nbinaries. Integer normalization uses the shared exact JSON integer range.\n`m:tmux_model` validates rows and `m:tmux_filter` validates criteria through\nthis schema. The [field reference](fields.md) lists fields and relationships."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_schema"},{"id":"tmux_schema:field/2","publicId":"tmux_schema:field/2","qualifiedName":"tmux_schema:field/2","name":"field/2","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"field(Entity, Field)\n-spec field(entity(), atom()) ->\n {ok, field_metadata()} |\n {error, error_detail()}.","references":[{"start":33,"end":39,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":43,"end":47,"target":"t:erlang:atom/0"},{"start":74,"end":88,"target":"t:tmux_schema:field_metadata/0"},{"start":117,"end":129,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"entity()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_schema:entity/0"}]},{"name":"Field","type":"atom()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:atom/0"}]}],"returns":"{ok, field_metadata()} | {error, error_detail()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_schema:field_metadata/0"},{"start":33,"end":45,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Look up one permitted field by its Erlang atom name. Unknown names return a tagged error; this does not turn input strings into atoms."},"source":{"line":78,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_schema-field-2"},{"id":"tmux_schema:fields/1","publicId":"tmux_schema:fields/1","qualifiedName":"tmux_schema:fields/1","name":"fields/1","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"fields(Entity)\n-spec fields(entity()) ->\n {ok, #{atom() => field_metadata()}} |\n {error, error_detail()}.","references":[{"start":28,"end":34,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":64,"end":68,"target":"t:erlang:atom/0"},{"start":74,"end":88,"target":"t:tmux_schema:field_metadata/0"},{"start":119,"end":131,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"entity()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_schema:entity/0"}]}],"returns":"{ok, #{atom() => field_metadata()}} |\n {error, error_detail()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":7,"end":11,"target":"t:erlang:atom/0"},{"start":17,"end":31,"target":"t:tmux_schema:field_metadata/0"},{"start":56,"end":68,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return generated field metadata for a known entity, or a tagged unknown_entity error. Field names, wire names and stable IDs are allowlisted; this is not reflection over arbitrary record fields."},"source":{"line":56,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_schema-fields-1"},{"id":"tmux_schema:normalize/2","publicId":"tmux_schema:normalize/2","qualifiedName":"tmux_schema:normalize/2","name":"normalize/2","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"normalize/2\n-spec normalize(entity(), map()) ->\n {ok, map()} | {error, error_detail()}.","references":[{"start":28,"end":34,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":38,"end":41,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":72,"end":75,"target":"t:erlang:map/0"},{"start":89,"end":101,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"entity()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_schema:entity/0"}]},{"name":"Input","type":"map()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"}]}],"returns":"{ok, map()} | {error, error_detail()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"start":22,"end":34,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate a domain-field map and normalize its scalar observations, retaining not_loaded/unavailable distinctly and deriving schema-defined values. Performs no I/O; constructors and action boundaries still validate records."},"source":{"line":93,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_schema-normalize-2"},{"id":"tmux_schema:operators/1","publicId":"tmux_schema:operators/1","qualifiedName":"tmux_schema:operators/1","name":"operators/1","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"operators/1\n-spec operators(#{type := value_type(),\n nullable := boolean(),\n atom() => term()}) ->\n [operator()].","references":[{"start":38,"end":48,"target":"t:tmux_schema:value_type/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":82,"end":89,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":111,"end":115,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":121,"end":125,"target":"t:erlang:term/0"},{"start":153,"end":161,"target":"t:tmux_schema:operator/0"}],"params":[{"name":"Argument1","type":"#{type := value_type(),\n nullable := boolean(),\n atom() => term()}","typeReferences":[{"start":10,"end":20,"target":"t:tmux_schema:value_type/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":48,"end":55,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":71,"end":75,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":81,"end":85,"target":"t:erlang:term/0"}]}],"returns":"[operator()]","returnsReferences":[{"start":1,"end":9,"target":"t:tmux_schema:operator/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the permitted scalar operators for this field type and nullability. The generated field reference uses this same validator. Performs no I/O."},"source":{"line":149,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_schema-operators-1"},{"id":"tmux_schema:relations/1","publicId":"tmux_schema:relations/1","qualifiedName":"tmux_schema:relations/1","name":"relations/1","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"relations(Entity)\n-spec relations(entity()) ->\n {ok, #{atom() => relation_metadata()}} |\n {error, error_detail()}.","references":[{"start":34,"end":40,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":73,"end":77,"target":"t:erlang:atom/0"},{"start":83,"end":100,"target":"t:tmux_schema:relation_metadata/0"},{"start":134,"end":146,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"entity()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_schema:entity/0"}]}],"returns":"{ok, #{atom() => relation_metadata()}} |\n {error, error_detail()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":7,"end":11,"target":"t:erlang:atom/0"},{"start":17,"end":34,"target":"t:tmux_schema:relation_metadata/0"},{"start":59,"end":71,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return generated relationship metadata, including target entities and one/many cardinality. Performs no I/O."},"source":{"line":67,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_schema-relations-1"},{"id":"tmux_schema:value/2","publicId":"tmux_schema:value/2","qualifiedName":"tmux_schema:value/2","name":"value/2","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"value/2\n-spec value(map(), term()) ->\n {ok, term()} | {error, error_detail()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":27,"end":31,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":58,"end":62,"target":"t:erlang:term/0"},{"start":76,"end":88,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Argument1","type":"map()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"}]},{"name":"Argument2","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"returns":"{ok, term()} | {error, error_detail()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":5,"end":9,"target":"t:erlang:term/0"},{"start":23,"end":35,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate and normalize one value against generated field metadata. Integral JSON numbers obey the exact shared integer range and field bounds; text is validated UTF-8, while bytes remain arbitrary binaries. Performs no I/O."},"source":{"line":109,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_schema-value-2"},{"id":"t:tmux_schema:entity/0","publicId":"t:tmux_schema:entity/0","qualifiedName":"tmux_schema:entity/0","name":"entity/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type entity() :: session | window | window_link | pane.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"The built-in tmux graph entities; window_link represents a session membership."},"source":{"line":18,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_schema-entity-0"},{"id":"t:tmux_schema:error_detail/0","publicId":"t:tmux_schema:error_detail/0","qualifiedName":"tmux_schema:error_detail/0","name":"error_detail/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type error_detail() ::\n #{code := atom(),\n path := [term()],\n atom() => term()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":44,"end":48,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":73,"end":77,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":94,"end":98,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":104,"end":108,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Structured boundary validation errors with a code and input path."},"source":{"line":22,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_schema-error_detail-0"},{"id":"t:tmux_schema:field_metadata/0","publicId":"t:tmux_schema:field_metadata/0","qualifiedName":"tmux_schema:field_metadata/0","name":"field_metadata/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type field_metadata() ::\n #{type := value_type(),\n wire := binary(),\n stable := binary(),\n required := boolean(),\n nullable := boolean(),\n format => binary(),\n capture_codec => escaped_columns_v1,\n minimum => integer()}.","params":[],"references":[{"start":46,"end":56,"target":"t:tmux_schema:value_type/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":80,"end":86,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":112,"end":118,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":146,"end":153,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":181,"end":188,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":214,"end":220,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":296,"end":303,"target":"t:erlang:integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Generated field contract. stable is a versioned portable identity; wire is the JSON key. required controls construction and nullable permits known absence. format is present only for directly observed tmux fields; derived fields omit it. capture_codec identifies an admitted batched source encoding; its absence selects isolated reads for that entity. minimum tightens an integer field's lower bound. Field names themselves are the keys returned by `fields/1`, not this map's wire or stable values."},"source":{"line":35,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_schema-field_metadata-0"},{"id":"t:tmux_schema:operator/0","publicId":"t:tmux_schema:operator/0","qualifiedName":"tmux_schema:operator/0","name":"operator/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type operator() ::\n equals | 'not' | in | not_in | lt | lte | gt |\n gte | contains | starts_with | ends_with | regex |\n present.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validated scalar operators. The field's type and nullability restrict this set."},"source":{"line":46,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_schema-operator-0"},{"id":"t:tmux_schema:relation_metadata/0","publicId":"t:tmux_schema:relation_metadata/0","qualifiedName":"tmux_schema:relation_metadata/0","name":"relation_metadata/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type relation_metadata() ::\n #{kind := one | many,\n target := entity(),\n wire := binary(),\n stable := binary()}.","params":[],"references":[{"start":83,"end":89,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":113,"end":119,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":145,"end":151,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Generated relationship contract: kind is one or many; target names the related entity. wire and stable have the same roles as in `t:field_metadata/0`. Completeness belongs to snapshot coverage, not this static schema."},"source":{"line":43,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_schema-relation_metadata-0"},{"id":"t:tmux_schema:value_type/0","publicId":"t:tmux_schema:value_type/0","qualifiedName":"tmux_schema:value_type/0","name":"value_type/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type value_type() ::\n session_id | window_id | pane_id | boolean |\n uint | integer | text | bytes.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Scalar categories used by normalization and operator validation; IDs remain binaries."},"source":{"line":24,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_schema-value_type-0"},{"id":"tmux_scope","publicId":"tmux_scope","qualifiedName":"tmux_scope","name":"tmux_scope","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Run synchronous work and cleanup while preserving both outcomes.","body":"Use `run/2` around a resource whose handle remains in the caller's scope.\nUse `run_or_error/2` for nested scopes or fail-fast programs that need the\ncallback's value directly and raise when cleanup fails.\n`tmux_server:with_server/2` and `tmux_server:with_owned/2` also acquire their\nresources and add recovery handles when cleanup fails. This module owns no\nprocess, timeout or retry policy; the supplied functions own those contracts."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_scope"},{"id":"tmux_scope:run/2","publicId":"tmux_scope:run/2","qualifiedName":"tmux_scope:run/2","name":"run/2","namespace":"tmux_scope","parent":"tmux_scope","kind":"function","modifiers":[],"signatures":[{"raw":"run(Function, Cleanup)\n-spec run(fun(() -> Value),\n fun(() -> ok | {error, term()})) ->\n {ok, Value} | {error, failure()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":84,"end":88,"target":"t:erlang:term/0"},{"start":132,"end":139,"target":"t:tmux_scope:failure/0"}],"params":[{"name":"Function","type":"fun(() -> Value)","typeReferences":[]},{"name":"Cleanup","type":"fun(() -> ok | {error, term()})","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":23,"end":27,"target":"t:erlang:term/0"}]}],"returns":"{ok, Value} | {error, failure()}","returnsReferences":[{"start":22,"end":29,"target":"t:tmux_scope:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Run a callback, then attempt cleanup once, synchronously in the calling process. This function performs only the I/O supplied by those functions. The callback has no library duration timer. Abrupt uncatchable caller death remains subject to each resource's existing ownership policy.","body":"Only ok proves cleanup success. Normalize resource-specific successful replies\ninside the cleanup function. With successful cleanup, return {ok, Value} or\nre-raise the original callback exception with its reason and stack. A callback\nreturning an error tuple is an ordinary value. Cleanup failure instead returns\n{error, Failure} with `t:failure/0`, preserving both outcomes. An unexpected\ncleanup return is recorded as invalid_cleanup_result.\n\nHandle an inner scope's error explicitly when nesting scopes. Otherwise it is\nan ordinary outer callback value. Keep resource handles for recovery; this\nfunction does not infer ownership or retry cleanup.","examples":[{"lang":"erlang","code":"1> tmux_scope:run(fun() -> done end, fun() -> ok end).\n{ok,done}\n2> tmux_scope:run(fun() -> done end, fun() -> {error, enoent} end).\n{error,#{code => scope_cleanup_failed,\n primary => {ok,done},cleanup => {error,enoent}}}\n3> Work = fun() -> error(build_failed) end, ok.\nok\n4> {error, F} = tmux_scope:run(Work, fun() -> {error, busy} end), ok.\nok\n5> {exception, error, build_failed, [_ | _]} = maps:get(primary, F), ok.\nok\n6> maps:get(cleanup, F).\n{error,busy}"}]},"source":{"line":61,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_scope-run-2"},{"id":"tmux_scope:run_or_error/2","publicId":"tmux_scope:run_or_error/2","qualifiedName":"tmux_scope:run_or_error/2","name":"run_or_error/2","namespace":"tmux_scope","parent":"tmux_scope","kind":"function","modifiers":[],"signatures":[{"raw":"run_or_error(Function, Cleanup)\n-spec run_or_error(fun(() -> Value),\n fun(() -> ok | {error, term()})) ->\n Value.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":111,"end":115,"target":"t:erlang:term/0"}],"params":[{"name":"Function","type":"fun(() -> Value)","typeReferences":[]},{"name":"Cleanup","type":"fun(() -> ok | {error, term()})","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":23,"end":27,"target":"t:erlang:term/0"}]}],"returns":"Value","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Run work and cleanup with `run/2`, returning the callback value directly. Raises {scope_cleanup_failed, Failure} if cleanup fails, retaining both outcomes in `t:failure/0`. With successful cleanup, callback exceptions retain their original reason and stack. Nested raising scopes propagate an inner failure through the outer scope while still attempting outer cleanup."},"source":{"line":84,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_scope-run_or_error-2"},{"id":"t:tmux_scope:exception/0","publicId":"t:tmux_scope:exception/0","qualifiedName":"tmux_scope:exception/0","name":"exception/0","namespace":"tmux_scope","parent":"tmux_scope","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type exception() ::\n {exception,\n error | exit | throw,\n term(),\n erlang:stacktrace()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":87,"end":91,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":106,"end":123,"target":"t:erlang:stacktrace/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"The original exception class, reason and stack, retained as evidence."},"source":{"line":16,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_scope-exception-0"},{"id":"t:tmux_scope:failure/0","publicId":"t:tmux_scope:failure/0","qualifiedName":"tmux_scope:failure/0","name":"failure/0","namespace":"tmux_scope","parent":"tmux_scope","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type failure() ::\n #{code := scope_cleanup_failed,\n primary := {ok, term()} | exception(),\n cleanup := {error, term()} | exception(),\n atom() => term()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":89,"end":93,"target":"t:erlang:term/0"},{"start":99,"end":108,"target":"t:tmux_scope:exception/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":143,"end":147,"target":"t:erlang:term/0"},{"start":153,"end":162,"target":"t:tmux_scope:exception/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":178,"end":182,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":188,"end":192,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Both outcomes when cleanup failed. primary contains the callback's ordinary return or exception; cleanup contains its separate error or exception. Resource-specific wrappers may add recovery handles to this map."},"source":{"line":22,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_scope-failure-0"},{"id":"tmux_select","publicId":"tmux_select","qualifiedName":"tmux_select","name":"tmux_select","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Filter ordered captured rows without tmux I/O.","body":"Use `panes/1`, `windows/1`,\n`window_links/1` or `sessions/1` with a\n`m:tmux_snapshot` to retain graph coverage. `from_list/2`\npreserves supplied order, duplicates and row origins; it establishes only\nfields present in every row and loads no relationships. Filtering and\n`take/2` retain the original coverage even if no rows remain.\n\n`where/2` accepts map criteria or a `t:tmux_filter:t/0` portable\nfilter. `filter/2` accepts a unary Boolean function, whose\nexceptions propagate. Cardinality criteria validate the whole expression and\nits coverage before stopping at sufficient evidence. Selections are opaque\nvalues; use `to_list/1` for functions in `m:lists`.\n\nA snapshot-backed selection retains the complete captured graph, including\nrows removed by filtering. After relationship evaluation, store the result of\n`to_list/1` and release other snapshot and selection references to allow that\ncontext to be collected. Row extraction preserves the supplied field binaries;\ncaller-created subbinaries can still retain their backing allocation."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select"},{"id":"tmux_select:count/1","publicId":"tmux_select:count/1","qualifiedName":"tmux_select:count/1","name":"count/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"count(Selection)\n-spec count(t()) -> non_neg_integer().","references":[{"start":29,"end":30,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":37,"end":52,"target":"t:erlang:non_neg_integer/0"}],"params":[{"name":"Selection","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"non_neg_integer()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":0,"end":15,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the current materialized row count without I/O."},"source":{"line":290,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-count-1"},{"id":"tmux_select:count/2","publicId":"tmux_select:count/2","qualifiedName":"tmux_select:count/2","name":"count/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"count/2\n-spec count(criteria(), t()) -> non_neg_integer().","references":[{"start":20,"end":28,"target":"t:tmux_select:criteria/0"},{"start":32,"end":33,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":40,"end":55,"target":"t:erlang:non_neg_integer/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"non_neg_integer()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":0,"end":15,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the exact local match count after full criteria and coverage validation. Performs no I/O."},"source":{"line":296,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-count-2"},{"id":"tmux_select:exists/1","publicId":"tmux_select:exists/1","qualifiedName":"tmux_select:exists/1","name":"exists/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"exists/1\n-spec exists(t()) -> boolean().","references":[{"start":22,"end":23,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":30,"end":37,"target":"t:erlang:boolean/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"boolean()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return whether this materialized selection is nonempty, without I/O."},"source":{"line":279,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-exists-1"},{"id":"tmux_select:exists/2","publicId":"tmux_select:exists/2","qualifiedName":"tmux_select:exists/2","name":"exists/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"exists(Criteria, Selection)\n-spec exists(criteria(), t()) -> boolean().","references":[{"start":41,"end":49,"target":"t:tmux_select:criteria/0"},{"start":53,"end":54,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":61,"end":68,"target":"t:erlang:boolean/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"boolean()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate all criteria/coverage first, then stop at the first local match. Performs no I/O; an empty selection does not bypass validation."},"source":{"line":285,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-exists-2"},{"id":"tmux_select:filter/2","publicId":"tmux_select:filter/2","qualifiedName":"tmux_select:filter/2","name":"filter/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"filter/2\n-spec filter(fun((Row) -> boolean()), t(Row)) -> t(Row)\n when Row :: tmux_model:row().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":35,"end":42,"target":"t:erlang:boolean/0"},{"start":47,"end":48,"target":"t:tmux_select:t/1"},{"start":58,"end":59,"target":"t:tmux_select:t/1"},{"start":93,"end":107,"target":"t:tmux_model:row/0"}],"params":[{"name":"Predicate","type":"fun((Row) -> boolean())","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":13,"end":20,"target":"t:erlang:boolean/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"t(Row)","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Apply an ordinary unary Boolean function locally, preserving row order and context. Non-Booleans and callback failures propagate; they are not false matches. This is executable application code, not portable filter data."},"source":{"line":142,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-filter-2"},{"id":"tmux_select:first/1","publicId":"tmux_select:first/1","qualifiedName":"tmux_select:first/1","name":"first/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"first/1\n-spec first(t(Row)) -> {ok, Row} | none\n when Row :: tmux_model:row().","references":[{"start":20,"end":21,"target":"t:tmux_select:t/1"},{"start":75,"end":89,"target":"t:tmux_model:row/0"}],"params":[{"name":"Argument1","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row} | none","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the first current row or none. Additional matches are allowed. Performs no I/O."},"source":{"line":219,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-first-1"},{"id":"tmux_select:first/2","publicId":"tmux_select:first/2","qualifiedName":"tmux_select:first/2","name":"first/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"first(Criteria, Selection)\n-spec first(criteria(), t(Row)) -> {ok, Row} | none\n when Row :: tmux_model:row().","references":[{"start":39,"end":47,"target":"t:tmux_select:criteria/0"},{"start":51,"end":52,"target":"t:tmux_select:t/1"},{"start":106,"end":120,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row} | none","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate criteria and coverage, then stop at the first local match. Returns none when no row matches; performs no I/O."},"source":{"line":226,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-first-2"},{"id":"tmux_select:fold/3","publicId":"tmux_select:fold/3","qualifiedName":"tmux_select:fold/3","name":"fold/3","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"fold/3\n-spec fold(fun((Row, Acc) -> Acc), Acc, t(Row)) -> Acc\n when Row :: tmux_model:row().","references":[{"start":47,"end":48,"target":"t:tmux_select:t/1"},{"start":88,"end":102,"target":"t:tmux_model:row/0"}],"params":[{"name":"Function","type":"fun((Row, Acc) -> Acc)","typeReferences":[]},{"name":"Accumulator","type":"Acc","typeReferences":[]},{"name":"Argument3","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"Acc","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Fold over current rows in order without I/O, using the function, accumulator, selection argument order. Arbitrary results are ordinary Erlang values."},"source":{"line":179,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-fold-3"},{"id":"tmux_select:from_list/2","publicId":"tmux_select:from_list/2","qualifiedName":"tmux_select:from_list/2","name":"from_list/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"from_list(Entity, Rows)\n-spec from_list(tmux_schema:entity(), [Row]) -> t(Row)\n when Row :: tmux_model:row().","references":[{"start":40,"end":58,"target":"t:tmux_schema:entity/0"},{"start":72,"end":73,"target":"t:tmux_select:t/1"},{"start":110,"end":124,"target":"t:tmux_model:row/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Rows","type":"[Row]","typeReferences":[]}],"returns":"t(Row)","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate an ordinary list without rebinding, reordering or deduplicating it.","examples":[{"lang":"erlang","code":"1> {ok, P} = tmux_model:pane(#{id => <<\"%1\">>, width => 120}), ok.\nok\n2> S = tmux_select:from_list(pane, [P, P]), ok.\nok\n3> tmux_select:size(tmux_select:where(#{width => #{gte => 120}}, S)).\n2\n4> tmux_select:one(S).\n{error,{multiple_matches,#{at_least => 2}}}"}]},"source":{"line":99,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-from_list-2"},{"id":"tmux_select:matching/2","publicId":"tmux_select:matching/2","qualifiedName":"tmux_select:matching/2","name":"matching/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"matching/2\n-spec matching({module(), term()}, t(Row)) ->\n {ok, t(Row)} | {error, term()}\n when Row :: tmux_model:row().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:module/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:module/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":37,"end":41,"target":"t:erlang:term/0"},{"start":46,"end":47,"target":"t:tmux_select:t/1"},{"start":80,"end":81,"target":"t:tmux_select:t/1"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":98,"end":102,"target":"t:erlang:term/0"},{"start":136,"end":150,"target":"t:tmux_model:row/0"}],"params":[{"name":"Argument1","type":"{module(), term()}","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:module/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:module/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":11,"end":15,"target":"t:erlang:term/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, t(Row)} | {error, term()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_select:t/1"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":23,"end":27,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Prepare a trusted behaviour once, then apply its Boolean predicate.","body":"Uses `c:tmux_matcher:prepare/2`; preparation failure returns {error, Detail}.\nExceptions in either callback propagate. A matcher requires a captured\nsnapshot; a `from_list/2` selection returns matcher_requires_snapshot. The\napplication chooses Module."},"source":{"line":154,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-matching-2"},{"id":"tmux_select:one/1","publicId":"tmux_select:one/1","qualifiedName":"tmux_select:one/1","name":"one/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one/1\n-spec one(t(Row)) -> {ok, Row} | cardinality_error()\n when Row :: tmux_model:row().","references":[{"start":16,"end":17,"target":"t:tmux_select:t/1"},{"start":39,"end":56,"target":"t:tmux_select:cardinality_error/0"},{"start":84,"end":98,"target":"t:tmux_model:row/0"}],"params":[{"name":"Argument1","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row} | cardinality_error()","returnsReferences":[{"start":12,"end":29,"target":"t:tmux_select:cardinality_error/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the sole current row or a no_match/multiple_matches error. Ambiguity reports at_least = 2 rather than computing a needless exact count."},"source":{"line":233,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-one-1"},{"id":"tmux_select:one/2","publicId":"tmux_select:one/2","qualifiedName":"tmux_select:one/2","name":"one/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one(Criteria, Selection)\n-spec one(criteria(), t(Row)) ->\n {ok, Row} | cardinality_error()\n when Row :: tmux_model:row().","references":[{"start":35,"end":43,"target":"t:tmux_select:criteria/0"},{"start":47,"end":48,"target":"t:tmux_select:t/1"},{"start":83,"end":100,"target":"t:tmux_select:cardinality_error/0"},{"start":128,"end":142,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row} | cardinality_error()","returnsReferences":[{"start":12,"end":29,"target":"t:tmux_select:cardinality_error/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate criteria and coverage, then stop after enough local matches to establish cardinality. Returns a tagged cardinality result; performs no I/O."},"source":{"line":241,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-one-2"},{"id":"tmux_select:one_or_error/1","publicId":"tmux_select:one_or_error/1","qualifiedName":"tmux_select:one_or_error/1","name":"one_or_error/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one_or_error(Selection)\n-spec one_or_error(t(Row)) -> Row\n when Row :: tmux_model:row().","references":[{"start":43,"end":44,"target":"t:tmux_select:t/1"},{"start":92,"end":106,"target":"t:tmux_model:row/0"}],"params":[{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"Row","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the sole row directly, raising on zero or multiple matches. Use `one/1` for tagged cardinality errors."},"source":{"line":262,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-one_or_error-1"},{"id":"tmux_select:one_or_error/2","publicId":"tmux_select:one_or_error/2","qualifiedName":"tmux_select:one_or_error/2","name":"one_or_error/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one_or_error(Criteria, Selection)\n-spec one_or_error(criteria(), t(Row)) -> Row\n when Row :: tmux_model:row().","references":[{"start":53,"end":61,"target":"t:tmux_select:criteria/0"},{"start":65,"end":66,"target":"t:tmux_select:t/1"},{"start":114,"end":128,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"Row","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Filter locally with complete validation, then return the sole row directly. Raises on zero or multiple matches; performs no I/O."},"source":{"line":273,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-one_or_error-2"},{"id":"tmux_select:one_or_none/1","publicId":"tmux_select:one_or_none/1","qualifiedName":"tmux_select:one_or_none/1","name":"one_or_none/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one_or_none(Selection)\n-spec one_or_none(t(Row)) ->\n {ok, Row | none} | cardinality_error()\n when Row :: tmux_model:row().","references":[{"start":41,"end":42,"target":"t:tmux_select:t/1"},{"start":92,"end":109,"target":"t:tmux_select:cardinality_error/0"},{"start":145,"end":159,"target":"t:tmux_model:row/0"}],"params":[{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row | none} | cardinality_error()","returnsReferences":[{"start":19,"end":36,"target":"t:tmux_select:cardinality_error/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the sole current row, {ok, none} on absence, or a multiple-match error. Performs no I/O."},"source":{"line":248,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-one_or_none-1"},{"id":"tmux_select:one_or_none/2","publicId":"tmux_select:one_or_none/2","qualifiedName":"tmux_select:one_or_none/2","name":"one_or_none/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one_or_none(Criteria, Selection)\n-spec one_or_none(criteria(), t(Row)) ->\n {ok, Row | none} | cardinality_error()\n when Row :: tmux_model:row().","references":[{"start":51,"end":59,"target":"t:tmux_select:criteria/0"},{"start":63,"end":64,"target":"t:tmux_select:t/1"},{"start":114,"end":131,"target":"t:tmux_select:cardinality_error/0"},{"start":167,"end":181,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row | none} | cardinality_error()","returnsReferences":[{"start":19,"end":36,"target":"t:tmux_select:cardinality_error/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate local criteria and return one row or known absence. A second match is an explicit ambiguity error; performs no I/O."},"source":{"line":255,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-one_or_none-2"},{"id":"tmux_select:panes/1","publicId":"tmux_select:panes/1","qualifiedName":"tmux_select:panes/1","name":"panes/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"panes(Snapshot)\n-spec panes(tmux_snapshot:t()) -> t(tmux_model:pane()).","references":[{"start":28,"end":43,"target":"t:tmux_snapshot:t/0"},{"start":50,"end":51,"target":"t:tmux_select:t/1"},{"start":52,"end":67,"target":"t:tmux_model:pane/0"}],"params":[{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"t(tmux_model:pane())","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"},{"start":2,"end":17,"target":"t:tmux_model:pane/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select captured physical panes while retaining snapshot graph and coverage. Performs no I/O and preserves the snapshot's deterministic order."},"source":{"line":64,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-panes-1"},{"id":"tmux_select:sessions/1","publicId":"tmux_select:sessions/1","qualifiedName":"tmux_select:sessions/1","name":"sessions/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"sessions(Snapshot)\n-spec sessions(tmux_snapshot:t()) ->\n t(tmux_model:session()).","references":[{"start":34,"end":49,"target":"t:tmux_snapshot:t/0"},{"start":74,"end":75,"target":"t:tmux_select:t/1"},{"start":76,"end":94,"target":"t:tmux_model:session/0"}],"params":[{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"t(tmux_model:session())","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"},{"start":2,"end":20,"target":"t:tmux_model:session/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select captured sessions with their relationship and coverage context. Performs no I/O."},"source":{"line":82,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-sessions-1"},{"id":"tmux_select:size/1","publicId":"tmux_select:size/1","qualifiedName":"tmux_select:size/1","name":"size/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"size/1\n-spec size(t()) -> non_neg_integer().","references":[{"start":18,"end":19,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":26,"end":41,"target":"t:erlang:non_neg_integer/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"non_neg_integer()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":0,"end":15,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the cached number of materialized rows in this selection without traversing tmux or re-evaluating criteria."},"source":{"line":192,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-size-1"},{"id":"tmux_select:summary/1","publicId":"tmux_select:summary/1","qualifiedName":"tmux_select:summary/1","name":"summary/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"summary/1\n-spec summary(t()) -> summary().","references":[{"start":24,"end":25,"target":"t:tmux_select:t/0"},{"start":32,"end":39,"target":"t:tmux_select:summary/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"summary()","returnsReferences":[{"start":0,"end":7,"target":"t:tmux_select:summary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a compact Erlang diagnostic map with entity, size, capture identity, interval and coverage. Fetched queries include candidate/attempt information. Opaque snapshot references make this a diagnostic value, not a wire format."},"source":{"line":200,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-summary-1"},{"id":"tmux_select:take/2","publicId":"tmux_select:take/2","qualifiedName":"tmux_select:take/2","name":"take/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"take/2\n-spec take(non_neg_integer(), t(Row)) -> t(Row)\n when Row :: tmux_model:row().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":18,"end":33,"target":"t:erlang:non_neg_integer/0"},{"start":37,"end":38,"target":"t:tmux_select:t/1"},{"start":48,"end":49,"target":"t:tmux_select:t/1"},{"start":81,"end":95,"target":"t:tmux_model:row/0"}],"params":[{"name":"Count","type":"non_neg_integer()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":0,"end":15,"target":"t:erlang:non_neg_integer/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"t(Row)","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Keep the first N rows and retain the original observation and coverage. Performs no I/O; taking a subset cannot establish missing field coverage."},"source":{"line":185,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-take-2"},{"id":"tmux_select:to_list/1","publicId":"tmux_select:to_list/1","qualifiedName":"tmux_select:to_list/1","name":"to_list/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"to_list/1\n-spec to_list(t(Row)) -> [Row] when Row :: tmux_model:row().","references":[{"start":24,"end":25,"target":"t:tmux_select:t/1"},{"start":53,"end":67,"target":"t:tmux_model:row/0"}],"params":[{"name":"Argument1","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"[Row]","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the current ordered rows as an ordinary Erlang list without I/O. Use list functions or comprehensions for transformations to other value types. Returns the stored rows without copying their binary fields. Keeping only the list allows the selection's snapshot context to be collected; other references can still keep that context alive."},"source":{"line":173,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-to_list-1"},{"id":"tmux_select:try_where/2","publicId":"tmux_select:try_where/2","qualifiedName":"tmux_select:try_where/2","name":"try_where/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"try_where/2\n-spec try_where(criteria(), t(Row)) ->\n {ok, t(Row)} | {error, map()}\n when Row :: tmux_model:row().","references":[{"start":28,"end":36,"target":"t:tmux_select:criteria/0"},{"start":40,"end":41,"target":"t:tmux_select:t/1"},{"start":75,"end":76,"target":"t:tmux_select:t/1"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":93,"end":96,"target":"t:erlang:map/0"},{"start":131,"end":145,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, t(Row)} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_select:t/1"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":23,"end":26,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Apply the same local criteria and coverage checks as `where/2`, returning tagged validation or evaluation errors. It does not catch arbitrary application callback exceptions and never performs tmux I/O."},"source":{"line":129,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-try_where-2"},{"id":"tmux_select:where/2","publicId":"tmux_select:where/2","qualifiedName":"tmux_select:where/2","name":"where/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"where(Criteria, Selection)\n-spec where(criteria(), t(Row)) -> t(Row)\n when Row :: tmux_model:row().","references":[{"start":39,"end":47,"target":"t:tmux_select:criteria/0"},{"start":51,"end":52,"target":"t:tmux_select:t/1"},{"start":62,"end":63,"target":"t:tmux_select:t/1"},{"start":96,"end":110,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"t(Row)","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate portable criteria and coverage, then preserve matching rows in order. Performs no I/O. Malformed trusted criteria raise bad_filter; missing coverage and runtime evaluation failures remain distinct exceptions. Use `try_where/2` for tagged library errors."},"source":{"line":117,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-where-2"},{"id":"tmux_select:window_links/1","publicId":"tmux_select:window_links/1","qualifiedName":"tmux_select:window_links/1","name":"window_links/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"window_links(Snapshot)\n-spec window_links(tmux_snapshot:t()) ->\n t(tmux_model:window_link()).","references":[{"start":42,"end":57,"target":"t:tmux_snapshot:t/0"},{"start":86,"end":87,"target":"t:tmux_select:t/1"},{"start":88,"end":110,"target":"t:tmux_model:window_link/0"}],"params":[{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"t(tmux_model:window_link())","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"},{"start":2,"end":24,"target":"t:tmux_model:window_link/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select all captured session memberships, retaining repeated physical windows and session-relative indexes. Performs no I/O."},"source":{"line":76,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-window_links-1"},{"id":"tmux_select:windows/1","publicId":"tmux_select:windows/1","qualifiedName":"tmux_select:windows/1","name":"windows/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"windows(Snapshot)\n-spec windows(tmux_snapshot:t()) -> t(tmux_model:window()).","references":[{"start":32,"end":47,"target":"t:tmux_snapshot:t/0"},{"start":54,"end":55,"target":"t:tmux_select:t/1"},{"start":56,"end":73,"target":"t:tmux_model:window/0"}],"params":[{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"t(tmux_model:window())","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"},{"start":2,"end":19,"target":"t:tmux_model:window/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select unique captured physical windows with their complete graph context. Performs no I/O; session memberships remain separate window-link rows."},"source":{"line":70,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_select-windows-1"},{"id":"t:tmux_select:cardinality_error/0","publicId":"t:tmux_select:cardinality_error/0","qualifiedName":"tmux_select:cardinality_error/0","name":"cardinality_error/0","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type cardinality_error() ::\n {error,\n no_match | {multiple_matches, #{at_least := 2}}}.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"supporting","source":{"line":47,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_select-cardinality_error-0"},{"id":"t:tmux_select:criteria/0","publicId":"t:tmux_select:criteria/0","qualifiedName":"tmux_select:criteria/0","name":"criteria/0","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type criteria() :: map() | tmux_filter:t().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"},{"start":28,"end":41,"target":"t:tmux_filter:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"supporting","source":{"line":46,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_select-criteria-0"},{"id":"t:tmux_select:summary/0","publicId":"t:tmux_select:summary/0","qualifiedName":"tmux_select:summary/0","name":"summary/0","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type summary() ::\n #{entity := tmux_schema:entity(),\n size := non_neg_integer(),\n snapshot_id := reference() | none,\n coverage := tmux_snapshot:entity_coverage(),\n capture_started => integer(),\n capture_finished => integer(),\n time_unit => microsecond,\n query => tmux_snapshot:query_metadata()}.","params":[],"references":[{"start":41,"end":59,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":83,"end":98,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":129,"end":138,"target":"t:erlang:reference/0"},{"start":173,"end":202,"target":"t:tmux_snapshot:entity_coverage/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":237,"end":244,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":280,"end":287,"target":"t:erlang:integer/0"},{"start":350,"end":378,"target":"t:tmux_snapshot:query_metadata/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Compact local inspection. size counts current materialized rows; coverage still describes the original captured context after filtering or take. snapshot_id is none for a list-backed selection. Capture bounds and query diagnostics are included only when that source metadata exists."},"source":{"line":54,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_select-summary-0"},{"id":"t:tmux_select:t/0","publicId":"t:tmux_select:t/0","qualifiedName":"tmux_select:t/0","name":"t/0","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type t() :: t(tmux_model:row()).","params":[],"references":[{"start":13,"end":14,"target":"t:tmux_select:t/1"},{"start":15,"end":29,"target":"t:tmux_model:row/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A selection over schema-defined native domain records."},"source":{"line":45,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_select-t-0"},{"id":"t:tmux_select:t/1","publicId":"t:tmux_select:t/1","qualifiedName":"tmux_select:t/1","name":"t/1","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t(Row).","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Ordered captured rows with observation and coverage context, not an extensible list protocol. The parameter describes the intended row type. OTP 29 Dialyzer can widen generic return variables to their declared bounds; it does not prove every entity relationship through `one/1` or `to_list/1`. Runtime schema, coverage and action checks remain necessary."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_select-t-1"},{"id":"tmux_server","publicId":"tmux_server","qualifiedName":"tmux_server","name":"tmux_server","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Open tmux endpoints and execute explicit command values.","body":"`open/1` validates an absolute socket path and the\nexecutable/server versions. It never creates a tmux server or attaches a\ncontrol client. Each command rechecks the observed Linux process incarnation\nbefore dispatch. Replacement between that observation and a later client\nconnection remains possible; same_connection requests are rejected until\npersistent dispatch qualifies.\n\n`start_owned/1` creates a separate private daemon and returns an ownership\ntoken for `stop_owned/1`. The [ownership guide](ownership.md) explains caller\ndeath, application shutdown and namespace cleanup.\n\nUse `with_server/2` or `with_owned/2` for a callback scope. They attempt cleanup\nafter its return or exception and preserve both outcomes if cleanup fails.\n\nThe calling process owns the endpoint. `close/1` cancels queued\nwork, retires its one-shot clients and preserves the borrowed server. Cleanup\nfailure remains explicit and keeps the supervised owner alive. Successful close is\nidempotent during the 60-second handle retention period. Separate\n`m:tmux_control` attachments receive an invalidation notice and begin their\nown retirement. Close those attachments explicitly to prove their native\ncleanup. Command results preserve stdout, stderr and status; cancellation\nafter dispatch cannot undo\nremote effects. Clients explicitly select tmux's UTF-8 mode so Unicode and the\nidentity probe's tab do not depend on the caller's locale. Command-specific\nescaping still applies to raw command output.\n\nUse `snapshot/1` to capture a graph for `m:tmux_snapshot` and\n`m:tmux_select`. Use `m:tmux_operation` for non-blocking submission and\nexplicit waits; the [job guide](jobs.md) explains ownership and cleanup."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server"},{"id":"tmux_server:bind/2","publicId":"tmux_server:bind/2","qualifiedName":"tmux_server:bind/2","name":"bind/2","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"bind(Server, Row)\n-spec bind(t(), tmux_model:row()) ->\n {ok, tmux_model:row()} | {error, map()}.","references":[{"start":29,"end":30,"target":"t:tmux_server:t/0"},{"start":34,"end":48,"target":"t:tmux_model:row/0"},{"start":74,"end":88,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":102,"end":105,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]},{"name":"Row","type":"tmux_model:row()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_model:row/0"}]}],"returns":"{ok, tmux_model:row()} | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Explicitly read current fields from this server and register the new value. For sessions, physical windows and panes, the read uses the stable ID and discards the supplied field observations. This explicit call accepts an edited target; ordinary actions require its captured target association to match and reject mismatches before dispatch. The returned row carries a new private observation association; see `m:tmux_model`. It provides no atomic identity check. Window-link binding checks its session/index and expected physical window. A replaced or missing membership returns stale_link. This observed preflight does not make a later action atomic.","body":"Invalid rows are rejected before I/O:","examples":[{"lang":"erlang","code":"1> tmux_server:bind(invalid_server, invalid_row).\n{error,#{code => invalid_row,path => []}}"}]},"source":{"line":350,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-bind-2"},{"id":"tmux_server:close/1","publicId":"tmux_server:close/1","qualifiedName":"tmux_server:close/1","name":"close/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"close(Server)\n-spec close(t()) -> ok | {error, map()}.","references":[{"start":26,"end":27,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":47,"end":50,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Retire this endpoint's operations and one-shot clients, preserving the borrowed tmux server. Returns ok only after their cleanup completes; incomplete cleanup remains an explicit error. Closing an already closed retained handle is idempotent. The initiator controls endpoint lifetime. Separate control attachments are invalidated and asked to retire; use `tmux_control:close/1` before this call to verify those clients' cleanup too."},"source":{"line":267,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-close-1"},{"id":"tmux_server:command/3","publicId":"tmux_server:command/3","qualifiedName":"tmux_server:command/3","name":"command/3","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"command(Server, Command, Options)\n-spec command(t(), tmux_command:t(), command_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":48,"end":49,"target":"t:tmux_server:t/0"},{"start":53,"end":67,"target":"t:tmux_command:t/0"},{"start":71,"end":86,"target":"t:tmux_server:command_options/0"},{"start":115,"end":139,"target":"t:tmux_operation:completed/0"},{"start":170,"end":192,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]},{"name":"Command","type":"tmux_command:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:t/0"}]},{"name":"Options","type":"command_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_server:command_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Execute one validated command and await its result. Performs I/O. The result preserves stdout, stderr, exit status and cleanup certainty. Use `tmux_operation:start/3` to submit without blocking this caller. A timeout or cancellation cannot reverse effects that may already have reached tmux. Values from domain command builders keep their captured endpoint origin. Another endpoint returns different_owner with submitted = false before any native preflight or execution. Raw commands do not carry that origin."},"source":{"line":252,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-command-3"},{"id":"tmux_server:open/1","publicId":"tmux_server:open/1","qualifiedName":"tmux_server:open/1","name":"open/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"open(Options)\n-spec open(open_options()) -> {ok, t()} | {error, map()}.","references":[{"start":25,"end":37,"target":"t:tmux_server:open_options/0"},{"start":49,"end":50,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":64,"end":67,"target":"t:erlang:map/0"}],"params":[{"name":"Options","type":"open_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_server:open_options/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Open a borrowed socket endpoint and start its supervised library owner. The caller owns that handle. This probes the executable, daemon version and observed Linux process incarnation; it never starts a tmux server or attaches a control client. Pass an absolute socket_path and optionally an executable."},"source":{"line":114,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-open-1"},{"id":"tmux_server:origin/1","publicId":"tmux_server:origin/1","qualifiedName":"tmux_server:origin/1","name":"origin/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"origin(Server)\n-spec origin(t()) -> {ok, reference()} | {error, map()}.","references":[{"start":28,"end":29,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":41,"end":50,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":64,"end":67,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, reference()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":5,"end":14,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":28,"end":31,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the registered opaque origin for this open endpoint. The token provides library provenance and generation checks, not authorization against trusted Erlang code. It is not a portable identifier."},"source":{"line":282,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-origin-1"},{"id":"tmux_server:snapshot/1","publicId":"tmux_server:snapshot/1","qualifiedName":"tmux_server:snapshot/1","name":"snapshot/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"snapshot(Server)\n-spec snapshot(t()) ->\n {ok, tmux_snapshot:t()} | {error, map()}.","references":[{"start":32,"end":33,"target":"t:tmux_server:t/0"},{"start":63,"end":78,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":92,"end":95,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, tmux_snapshot:t()} | {error, map()}","returnsReferences":[{"start":5,"end":20,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture a complete immutable graph with default capture limits. Performs I/O. See `snapshot/2` for bounds, consistency and conflict errors."},"source":{"line":297,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-snapshot-1"},{"id":"tmux_server:snapshot/2","publicId":"tmux_server:snapshot/2","qualifiedName":"tmux_server:snapshot/2","name":"snapshot/2","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"snapshot(Server, Options)\n-spec snapshot(t(), capture_options()) ->\n {ok, tmux_snapshot:t()} | {error, map()}.","references":[{"start":41,"end":42,"target":"t:tmux_server:t/0"},{"start":46,"end":61,"target":"t:tmux_server:capture_options/0"},{"start":91,"end":106,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":120,"end":123,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]},{"name":"Options","type":"capture_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_server:capture_options/0"}]}],"returns":"{ok, tmux_snapshot:t()} | {error, map()}","returnsReferences":[{"start":5,"end":20,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture the server's sessions, physical windows, window links and panes.","body":"This performs explicit I/O and records each command's observation interval.\nIdentity scans bracket field reads; detected topology or value disagreements\nreturn inconsistent_capture. Changes between reads can remain undetected,\nincluding changes followed by a reversal. Atomic capture is unsupported.\n\nOptions are consistency (observed only), deadline_ms (default 2500, maximum\n600000), max_rows (4096, maximum 65536 raw observations per scan and aggregate\nspine) and max_bytes (8 MiB, maximum 64 MiB total stdout across capture\ncommands). Repeated memberships count before deduplication. The\n`t:hydration/0` strategy defaults to batched. Each command is limited to 1 MiB;\nisolated hydration distributes larger entity output across individual fields.\nThese are data limits, not a VM heap limit. Capturing performs no retry. Local\nreads of the resulting value do no I/O. `tmux_snapshot:metadata/1` records the\nstrategy and actual source calls.\n\nUnsupported consistency is rejected before contacting a server:","examples":[{"lang":"erlang","code":"1> tmux_server:snapshot(invalid_server, #{consistency => atomic}).\n{error,#{code => unsupported_consistency}}"}]},"source":{"line":325,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-snapshot-2"},{"id":"tmux_server:start_owned/1","publicId":"tmux_server:start_owned/1","qualifiedName":"tmux_server:start_owned/1","name":"start_owned/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"start_owned(Options)\n-spec start_owned(owned_options()) ->\n {ok, t(), ownership()} |\n {error, map()}.","references":[{"start":39,"end":52,"target":"t:tmux_server:owned_options/0"},{"start":85,"end":86,"target":"t:tmux_server:t/0"},{"start":90,"end":99,"target":"t:tmux_server:ownership/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":134,"end":137,"target":"t:erlang:map/0"}],"params":[{"name":"Options","type":"owned_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:owned_options/0"}]}],"returns":"{ok, t(), ownership()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_server:t/0"},{"start":10,"end":19,"target":"t:tmux_server:ownership/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Start an empty owned daemon in a fresh private Linux socket directory. Performs I/O and waits for bounded startup; no session or attached observer is created. Returns an ordinary endpoint and a separate `t:ownership/0` token. The caller owns the daemon lifetime: caller death or `stop_owned/1` retires its helper tree. `close/1` only closes the endpoint and preserves the daemon.","body":"The daemon starts without a user config, with `exit-empty` disabled. One idle,\nunattached bootstrap client keeps the owned helper tree alive. Startup includes\nreadiness and endpoint incarnation binding, not just executable launch.\nIncomplete cleanup remains explicit; it is never permission to kill by path.\nAn incomplete startup error includes an ownership token and captured resources\nfor `stop_owned/1` recovery. The token does not serialize across VM lifetimes."},"source":{"line":142,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-start_owned-1"},{"id":"tmux_server:status/1","publicId":"tmux_server:status/1","qualifiedName":"tmux_server:status/1","name":"status/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"status(Server)\n-spec status(t()) ->\n {ok, state()} |\n {error, tmux_operation:failure()}.","references":[{"start":28,"end":29,"target":"t:tmux_server:t/0"},{"start":57,"end":62,"target":"t:tmux_server:state/0"},{"start":92,"end":114,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, state()} | {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_server:state/0"},{"start":24,"end":46,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the endpoint owner's lifecycle and resource summary. This contacts the library owner, not tmux, and does not refresh captured rows."},"source":{"line":274,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-status-1"},{"id":"tmux_server:stop_owned/1","publicId":"tmux_server:stop_owned/1","qualifiedName":"tmux_server:stop_owned/1","name":"stop_owned/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"stop_owned(Ownership)\n-spec stop_owned(ownership()) -> ok | {error, map()}.","references":[{"start":39,"end":48,"target":"t:tmux_server:ownership/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":68,"end":71,"target":"t:erlang:map/0"}],"params":[{"name":"Ownership","type":"ownership()","typeReferences":[{"start":0,"end":9,"target":"t:tmux_server:ownership/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Stop the daemon and endpoint associated with a `t:ownership/0` token. Performs I/O and returns ok only after endpoint/client/helper retirement and namespace cleanup are proved. It never sends kill-server to a socket path.","body":"A replaced socket/directory or unexpected directory contents are preserved and\nreturn `cleanup_incomplete` with process and namespace details. A supervised\ntombstone retains uncertain cleanup; call again to inspect/retry after external\nrepair. Filesystem identity checks are observations, not atomic reservations\nagainst another trusted process replacing a path during unlink.\n\nSuccessful stop is idempotent during the 60-second token retention period.\nAfter token expiry or application shutdown, returns `ownership_expired`.\nStop explicitly before application shutdown when the caller needs a verified\ncleanup result. OTP application shutdown itself does not prove native cleanup.\nIncomplete shutdown writes a private recovery report outside the owned socket\ndirectory and logs its location or write failure; no automatic recovery runs."},"source":{"line":163,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-stop_owned-1"},{"id":"tmux_server:version/1","publicId":"tmux_server:version/1","qualifiedName":"tmux_server:version/1","name":"version/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"version(Server)\n-spec version(t()) ->\n {ok, tmux_version:t()} | {error, map()}.","references":[{"start":30,"end":31,"target":"t:tmux_server:t/0"},{"start":60,"end":74,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":88,"end":91,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, tmux_version:t()} | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the daemon version observed when the endpoint opened. This reads owner state and does not execute a fresh version command or qualify another tmux release."},"source":{"line":290,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-version-1"},{"id":"tmux_server:with_owned/2","publicId":"tmux_server:with_owned/2","qualifiedName":"tmux_server:with_owned/2","name":"with_owned/2","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"with_owned(Options, Function)\n-spec with_owned(owned_options(), fun((t()) -> Value)) ->\n {ok, Value} |\n {error, scope_failure() | map()}.","references":[{"start":47,"end":60,"target":"t:tmux_server:owned_options/0"},{"start":69,"end":70,"target":"t:tmux_server:t/0"},{"start":150,"end":163,"target":"t:tmux_server:scope_failure/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":168,"end":171,"target":"t:erlang:map/0"}],"params":[{"name":"Options","type":"owned_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:owned_options/0"}]},{"name":"Function","type":"fun((t()) -> Value)","typeReferences":[{"start":5,"end":6,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, Value} | {error, scope_failure() | map()}","returnsReferences":[{"start":22,"end":35,"target":"t:tmux_server:scope_failure/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":40,"end":43,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Start an owned daemon, run a callback in the calling process, then stop it. Performs `start_owned/1` and token-based `stop_owned/1` around the callback. With successful cleanup, returns {ok, Value} or re-raises the original callback exception. A returned error tuple is an ordinary callback value. Startup failure passes through without invoking the callback.","body":"Cleanup failure returns `t:scope_failure/0`, including both server and ownership\nhandles for inspection and an explicit stop retry. It preserves the callback\noutcome and cleanup evidence separately; it never claims timeout is retirement.\nSee `with_server/2` for callback and separately allocated resource obligations."},"source":{"line":204,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-with_owned-2"},{"id":"tmux_server:with_server/2","publicId":"tmux_server:with_server/2","qualifiedName":"tmux_server:with_server/2","name":"with_server/2","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"with_server(Options, Function)\n-spec with_server(open_options(), fun((t()) -> Value)) ->\n {ok, Value} |\n {error, scope_failure() | map()}.","references":[{"start":49,"end":61,"target":"t:tmux_server:open_options/0"},{"start":70,"end":71,"target":"t:tmux_server:t/0"},{"start":153,"end":166,"target":"t:tmux_server:scope_failure/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":171,"end":174,"target":"t:erlang:map/0"}],"params":[{"name":"Options","type":"open_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_server:open_options/0"}]},{"name":"Function","type":"fun((t()) -> Value)","typeReferences":[{"start":5,"end":6,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, Value} | {error, scope_failure() | map()}","returnsReferences":[{"start":22,"end":35,"target":"t:tmux_server:scope_failure/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":40,"end":43,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Open a borrowed endpoint, run a callback in the calling process, then close it. Performs the same I/O as `open/1` and `close/1`; the borrowed daemon survives. Startup failure passes through without invoking the callback.","body":"With successful cleanup, returns {ok, Value} for any callback return value,\nincluding a returned error tuple. Callback error, throw and exit exceptions\nare re-raised with their original reason and stack. If cleanup fails, returns\n{error, Failure} with `t:scope_failure/0`, preserving both outcomes and the\nendpoint for explicit recovery. It attempts cleanup once; a timeout does not\nprove retirement. Existing supervised cleanup ownership remains in force.\n\nThe callback must retire separately created resources such as `m:tmux_control`\nattachments. This scope closes its endpoint, not every resource the callback\nmay allocate. Use `with_owned/2` when the scope should own the daemon too."},"source":{"line":183,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_server-with_server-2"},{"id":"t:tmux_server:capture_options/0","publicId":"t:tmux_server:capture_options/0","qualifiedName":"tmux_server:capture_options/0","name":"capture_options/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type capture_options() ::\n #{deadline_ms => 1..600000,\n max_rows => 1..65536,\n max_bytes => 1..67108864,\n hydration => hydration(),\n consistency => observed | atomic}.","params":[],"references":[{"start":162,"end":171,"target":"t:tmux_server:hydration/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture bounds, hydration strategy and consistency request. Atomic capture is unsupported."},"source":{"line":85,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_server-capture_options-0"},{"id":"t:tmux_server:command_options/0","publicId":"t:tmux_server:command_options/0","qualifiedName":"tmux_server:command_options/0","name":"command_options/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type command_options() ::\n #{deadline_ms => 1..600000,\n max_stdout => 0..1048576,\n max_stderr => 0..65536,\n stdin => binary(),\n identity => observed | same_connection}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":160,"end":166,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Command options: deadline_ms defaults to 2500, max_stdout to 1 MiB, max_stderr to 64 KiB, stdin to an empty binary and identity to observed. The deadline includes admission, preflight and execution. stdin is limited to 256 KiB; stdin plus the rendered argument reservation must also fit 256 KiB. Each endpoint admits at most 64 operations and 256 KiB of command payload; exhaustion returns busy. same_connection is recognized but unsupported."},"source":{"line":74,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_server-command_options-0"},{"id":"t:tmux_server:hydration/0","publicId":"t:tmux_server:hydration/0","qualifiedName":"tmux_server:hydration/0","name":"hydration/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type hydration() :: batched | isolated.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture text/bytes with one framed scan per entity (batched, the default), or one field per physical row (isolated). Both retain complete graph coverage and interval semantics. Each command has the same 1 MiB stdout bound; isolated can distribute large entity output across commands at greater source cost. See `snapshot/2` and `tmux_query:explain/1`."},"source":{"line":83,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_server-hydration-0"},{"id":"t:tmux_server:open_options/0","publicId":"t:tmux_server:open_options/0","qualifiedName":"tmux_server:open_options/0","name":"open_options/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type open_options() ::\n #{socket_path := binary(),\n executable => binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":51,"end":57,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":87,"end":93,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"An explicit absolute socket endpoint and optional absolute tmux executable path."},"source":{"line":58,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_server-open_options-0"},{"id":"t:tmux_server:owned_options/0","publicId":"t:tmux_server:owned_options/0","qualifiedName":"tmux_server:owned_options/0","name":"owned_options/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type owned_options() ::\n #{executable => binary(),\n startup_timeout_ms => 1..600000}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":51,"end":57,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Owned startup options. The finite startup budget defaults to 2500 milliseconds."},"source":{"line":60,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_server-owned_options-0"},{"id":"t:tmux_server:ownership/0","publicId":"t:tmux_server:ownership/0","qualifiedName":"tmux_server:ownership/0","name":"ownership/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque ownership().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Opaque ownership token for `stop_owned/1`. An ordinary endpoint or row origin does not convey this token. Trusted code can pass it to another process."},"source":{"line":65,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_server-ownership-0"},{"id":"t:tmux_server:scope_failure/0","publicId":"t:tmux_server:scope_failure/0","qualifiedName":"tmux_server:scope_failure/0","name":"scope_failure/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type scope_failure() ::\n #{code := scope_cleanup_failed,\n primary :=\n {ok, term()} |\n {exception,\n error | exit | throw,\n term(),\n erlang:stacktrace()},\n cleanup :=\n {error, map()} |\n {exception,\n error | exit | throw,\n term(),\n erlang:stacktrace()},\n server := t(),\n ownership => ownership()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":111,"end":115,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":205,"end":209,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":230,"end":247,"target":"t:erlang:stacktrace/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":299,"end":302,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":392,"end":396,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":417,"end":434,"target":"t:erlang:stacktrace/0"},{"start":461,"end":462,"target":"t:tmux_server:t/0"},{"start":491,"end":500,"target":"t:tmux_server:ownership/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Both callback and cleanup evidence when a scope cannot prove retirement. primary is the callback value or its exception class, reason and original stack. cleanup preserves the operational error or a separate cleanup exception. server permits `close/1` reconciliation; owned scopes also include ownership for `stop_owned/1`. Retain these handles until cleanup is resolved."},"source":{"line":53,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_server-scope_failure-0"},{"id":"t:tmux_server:state/0","publicId":"t:tmux_server:state/0","qualifiedName":"tmux_server:state/0","name":"state/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type state() ::\n #{phase := open | closing | closed,\n generation := reference(),\n owner := pid(),\n operations := non_neg_integer(),\n command_bytes := non_neg_integer(),\n active_bytes := non_neg_integer(),\n retained_results := non_neg_integer(),\n result_bytes := non_neg_integer()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":89,"end":98,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":123,"end":126,"target":"t:erlang:pid/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":156,"end":171,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":204,"end":219,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":251,"end":266,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":302,"end":317,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":349,"end":364,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Endpoint resource summary. owner is the supervised endpoint process, not its initiating caller. operations and command_bytes count active admission leases; active_bytes reserves output capacity. Retired results are bounded separately by retained_results and result_bytes. These are accounting limits, not VM heap measurements. generation identifies this endpoint handle's lifetime."},"source":{"line":94,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_server-state-0"},{"id":"t:tmux_server:t/0","publicId":"t:tmux_server:t/0","qualifiedName":"tmux_server:t/0","name":"t/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A supervised borrowed-endpoint handle bound to an owner generation and admission state."},"source":{"line":103,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_server-t-0"},{"id":"tmux_session","publicId":"tmux_session","qualifiedName":"tmux_session","name":"tmux_session","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Create and observe sessions, or act on a session's registered stable ID.","body":"`create/2` accepts name, window_name, width, height, cwd, env,\nlaunch and detach. Creation defaults to detached with tmux's configured\nshell/command. launch is default_shell, an argv map, or an explicit shell map.\nenv augments tmux's inherited environment. tmux supplies PATH, SHELL, PWD and\nTMUX_PANE after that merge, so those entries may be replaced. Names and cwd\nare literal format values; tmux's stored name rules still apply. Creation\nnever adopts an existing session by name.\n\nAn empty shell command can exit immediately and remove its session. It does\nnot request the empty-pane behavior of split-window. Use a running program\nwhen later operations require the session to remain alive.\n\n`create/2` and `get/2` explicitly read the\nnew/current row through several one-shot commands. These reads are not atomic.\nIf creation succeeds but observation fails, the error retains mutation =\ncompleted and the original command result. `rename/2` and\n`kill/1` return command results without refreshing the input\nrecord. Detached rows require `tmux_server:bind/2` before actions.\n`rename_command/2` builds a reusable value without tmux I/O; the other calls\nperform I/O after validation.\n\n`select/2` switches one explicitly named attached client to a session. It\nnever attaches a client or infers the current client. Use\n`tmux_window_link:select/1` to select a session's window membership instead."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_session"},{"id":"tmux_session:create/2","publicId":"tmux_session:create/2","qualifiedName":"tmux_session:create/2","name":"create/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"create(Server, Options)\n-spec create(tmux_server:t(), create_options()) ->\n {ok, tmux_model:session()} | {error, map()}.","references":[{"start":37,"end":50,"target":"t:tmux_server:t/0"},{"start":54,"end":68,"target":"t:tmux_session:create_options/0"},{"start":96,"end":114,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":128,"end":131,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Options","type":"create_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_session:create_options/0"}]}],"returns":"{ok, tmux_model:session()} | {error, map()}","returnsReferences":[{"start":5,"end":23,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":37,"end":40,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Create a detached session by default and explicitly observe the returned row. Options include name, window_name, dimensions, cwd, env and launch. Performs I/O; an observation failure after successful creation retains mutation = completed and the original command result. Existing names are not adopted."},"source":{"line":48,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_session-create-2"},{"id":"tmux_session:get/2","publicId":"tmux_session:get/2","qualifiedName":"tmux_session:get/2","name":"get/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"get(Server, Id)\n-spec get(tmux_server:t(), tmux_model:session_id()) ->\n {ok, tmux_model:session()} | {error, map()}.","references":[{"start":26,"end":39,"target":"t:tmux_server:t/0"},{"start":43,"end":64,"target":"t:tmux_model:session_id/0"},{"start":89,"end":107,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":121,"end":124,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Id","type":"tmux_model:session_id()","typeReferences":[{"start":0,"end":21,"target":"t:tmux_model:session_id/0"}]}],"returns":"{ok, tmux_model:session()} | {error, map()}","returnsReferences":[{"start":5,"end":23,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":37,"end":40,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read fresh session fields through explicit one-shot commands. The session ID is stable within the observed server incarnation. Returns target_gone when tmux no longer has that session; it never refreshes an existing record."},"source":{"line":64,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_session-get-2"},{"id":"tmux_session:kill/1","publicId":"tmux_session:kill/1","qualifiedName":"tmux_session:kill/1","name":"kill/1","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"kill(Session)\n-spec kill(tmux_model:session()) ->\n {ok, map()} | {error, map()}.","references":[{"start":25,"end":43,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":69,"end":72,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":86,"end":89,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Destroy this registered session. Performs I/O and returns the command result; this is a destructive session action, not endpoint cleanup. References must belong to a live registered owner."},"source":{"line":170,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_session-kill-1"},{"id":"tmux_session:rename/2","publicId":"tmux_session:rename/2","qualifiedName":"tmux_session:rename/2","name":"rename/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"rename(Session, Name)\n-spec rename(tmux_model:session(), binary()) ->\n {ok, map()} | {error, map()}.","references":[{"start":35,"end":53,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":57,"end":63,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":91,"end":94,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":108,"end":111,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Rename the registered session using a literal name and return the command result. Performs I/O. Previously captured records keep their old names; detached or stale references fail validation before the action."},"source":{"line":72,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_session-rename-2"},{"id":"tmux_session:rename_command/2","publicId":"tmux_session:rename_command/2","qualifiedName":"tmux_session:rename_command/2","name":"rename_command/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"rename_command(Session, Name)\n-spec rename_command(tmux_model:session(), binary()) ->\n {ok, tmux_command:t()} |\n {error, map()}.","references":[{"start":51,"end":69,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":73,"end":79,"target":"t:erlang:binary/0"},{"start":115,"end":129,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":167,"end":170,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_command:t()} | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build a literal rename command without tmux I/O. Validates the row and keeps its captured origin; endpoint liveness is checked during execution. Submit the value to `tmux_server:command/3` or `tmux_operation:start/3` with its original endpoint. Existing session records retain their captured name.","body":"Detached rows require `tmux_server:bind/2` first. Building a command does not\nexecute it or make a repeated mutation safe.","examples":[{"lang":"erlang","code":"1> tmux_session:rename_command(invalid_row, <<\"work\">>).\n{error,#{code => invalid_row,path => []}}"}]},"source":{"line":93,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_session-rename_command-2"},{"id":"tmux_session:select/2","publicId":"tmux_session:select/2","qualifiedName":"tmux_session:select/2","name":"select/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"select(Session, Client)\n-spec select(tmux_model:session(), binary()) ->\n {ok, map()} | {error, map()}.","references":[{"start":37,"end":55,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":59,"end":65,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":93,"end":96,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":110,"end":113,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Client","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Switch an explicitly named attached client to this registered session, preserving the session environment. Performs I/O. See `select/3` for client lookup, environment updates and disconnection races.","body":"An empty client name cannot select an implicit current client:","examples":[{"lang":"erlang","code":"1> tmux_session:select(invalid_session, <<>>).\n{error,#{code => invalid_client,path => [client]}}"}]},"source":{"line":113,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_session-select-2"},{"id":"tmux_session:select/3","publicId":"tmux_session:select/3","qualifiedName":"tmux_session:select/3","name":"select/3","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"select(Session, Client, Options)\n-spec select(tmux_model:session(),\n binary(),\n select_options()) ->\n {ok, map()} | {error, map()}.","references":[{"start":46,"end":64,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":81,"end":87,"target":"t:erlang:binary/0"},{"start":104,"end":118,"target":"t:tmux_session:select_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":146,"end":149,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":163,"end":166,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Client","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Options","type":"select_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_session:select_options/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Switch one attached client, selected by its literal native client name or TTY path, to the session's registered stable ID. Performs I/O and returns the command result; existing rows remain captured values. Obtain the name from the caller's own client context, such as tmux's `client_name` format. There is no default client and this call never attaches one.","body":"`update_environment` defaults to false (`switch-client -E`). When true, tmux\nupdates the destination session environment using its `update-environment`\noption and that client's environment; listed variables absent from the client\ncan be marked for removal. Running pane processes retain their environment.\n\nNames are nonempty NUL-free binaries of at most 32 KiB. Trailing-colon aliases\nare rejected. Native lookup matches an exact name or TTY path, including its\n`/dev/`-relative alias; there is no prefix or pattern matching. A disconnected\nname returns `client_not_found`. Names and TTY paths can be reused by a later\nconnection; this API does not identify a client incarnation atomically. A\nmissing destination returns `target_gone`. See `tmux_server:bind/2` for detached\nsession rows and `tmux_window_link:select/1` for window selection."},"source":{"line":137,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_session-select-3"},{"id":"t:tmux_session:create_options/0","publicId":"t:tmux_session:create_options/0","qualifiedName":"tmux_session:create_options/0","name":"create_options/0","namespace":"tmux_session","parent":"tmux_session","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type create_options() ::\n #{name => binary(),\n window_name => binary(),\n width => 1..65535,\n height => 1..65535,\n cwd => binary(),\n env => #{binary() => binary()},\n launch => tmux_command:launch_spec(),\n detach => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":46,"end":52,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":83,"end":89,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":175,"end":181,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":206,"end":212,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":218,"end":224,"target":"t:erlang:binary/0"},{"start":251,"end":275,"target":"t:tmux_command:launch_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":301,"end":308,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Session creation options. Launch defaults to the configured shell; creation defaults to detached."},"source":{"line":34,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_session-create_options-0"},{"id":"t:tmux_session:select_options/0","publicId":"t:tmux_session:select_options/0","qualifiedName":"tmux_session:select_options/0","name":"select_options/0","namespace":"tmux_session","parent":"tmux_session","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type select_options() ::\n #{update_environment => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":60,"end":67,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Session selection options. update_environment defaults to false, preserving the destination environment."},"source":{"line":39,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_session-select_options-0"},{"id":"tmux_snapshot","publicId":"tmux_snapshot","qualifiedName":"tmux_snapshot","name":"tmux_snapshot","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Read an immutable captured graph without performing tmux I/O.","body":"Server-wide lists use numeric ID order. Window links retain every membership,\nincluding multiple indexes for the same window in one session. Session windows\nare unique in first-link order; panes within a window use pane index order.\n`related/3` accepts a row from this snapshot and returns a\ntagged result. A row from another observation cannot silently select a\nrelationship in this one.\n\n`metadata/1` records source calls, the capture interval,\nendpoint generation and the observed server incarnation. Captures span\ncommands and are not atomic. Values remain readable after their endpoint\ncloses; actions still validate the row's registered origin. Coverage\ndistinguishes unloaded data from an empty collection and unavailable fields\nfrom known absence. See the [graph guide](graph.md) for physical windows and\nsession memberships."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot"},{"id":"tmux_snapshot:coverage/1","publicId":"tmux_snapshot:coverage/1","qualifiedName":"tmux_snapshot:coverage/1","name":"coverage/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"coverage/1\n-spec coverage(t()) -> coverage().","references":[{"start":26,"end":27,"target":"t:tmux_snapshot:t/0"},{"start":34,"end":42,"target":"t:tmux_snapshot:coverage/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"coverage()","returnsReferences":[{"start":0,"end":8,"target":"t:tmux_snapshot:coverage/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return per-collection, field and relationship coverage. Loaded values, known absence, not_loaded and unavailable capabilities have distinct meanings. Performs no I/O."},"source":{"line":181,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-coverage-1"},{"id":"tmux_snapshot:get/3","publicId":"tmux_snapshot:get/3","qualifiedName":"tmux_snapshot:get/3","name":"get/3","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"get/3\n-spec get(tmux_schema:entity(), term(), t()) ->\n {ok, tmux_model:row()} | none | {error, map()}.","references":[{"start":16,"end":34,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":38,"end":42,"target":"t:erlang:term/0"},{"start":46,"end":47,"target":"t:tmux_snapshot:t/0"},{"start":72,"end":86,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":107,"end":110,"target":"t:erlang:map/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Key","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]},{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"{ok, tmux_model:row()} | none | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":40,"end":43,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Look up a row in this capture by ID, or a session/index/window tuple for a window link. Returns none for a known missing identity and a tagged coverage error for an unloaded collection. Performs no I/O."},"source":{"line":132,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-get-3"},{"id":"tmux_snapshot:metadata/1","publicId":"tmux_snapshot:metadata/1","qualifiedName":"tmux_snapshot:metadata/1","name":"metadata/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"metadata/1\n-spec metadata(t()) -> metadata().","references":[{"start":26,"end":27,"target":"t:tmux_snapshot:t/0"},{"start":34,"end":42,"target":"t:tmux_snapshot:metadata/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"metadata()","returnsReferences":[{"start":0,"end":8,"target":"t:tmux_snapshot:metadata/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return capture identity, server generation, source calls, capabilities and read interval metadata. Does not refresh the graph or imply atomic capture."},"source":{"line":174,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-metadata-1"},{"id":"tmux_snapshot:panes/1","publicId":"tmux_snapshot:panes/1","qualifiedName":"tmux_snapshot:panes/1","name":"panes/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"panes(Snapshot)\n-spec panes(t()) -> [tmux_model:pane()].","references":[{"start":28,"end":29,"target":"t:tmux_snapshot:t/0"},{"start":37,"end":52,"target":"t:tmux_model:pane/0"}],"params":[{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:pane()]","returnsReferences":[{"start":1,"end":16,"target":"t:tmux_model:pane/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return unique captured physical panes in numeric ID order without I/O. `related/3` orders panes within a window by pane index."},"source":{"line":111,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-panes-1"},{"id":"tmux_snapshot:related/3","publicId":"tmux_snapshot:related/3","qualifiedName":"tmux_snapshot:related/3","name":"related/3","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"related/3\n-spec related(atom(), tmux_model:row(), t()) ->\n {ok,\n [tmux_model:row()] |\n tmux_model:row() |\n none} |\n {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":24,"end":28,"target":"t:erlang:atom/0"},{"start":32,"end":46,"target":"t:tmux_model:row/0"},{"start":50,"end":51,"target":"t:tmux_snapshot:t/0"},{"start":99,"end":113,"target":"t:tmux_model:row/0"},{"start":137,"end":151,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":207,"end":210,"target":"t:erlang:map/0"}],"params":[{"name":"Relation","type":"atom()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:atom/0"}]},{"name":"Row","type":"tmux_model:row()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_model:row/0"}]},{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"{ok,\n [tmux_model:row()] | tmux_model:row() | none} |\n {error, map()}","returnsReferences":[{"start":17,"end":31,"target":"t:tmux_model:row/0"},{"start":37,"end":51,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":82,"end":85,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Traverse a complete captured relationship without I/O. To-many relations return lists; to-one relations return a row or known absence. The input row must belong to this snapshot. Unloaded relations and mismatched rows return tagged errors."},"source":{"line":149,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-related-3"},{"id":"tmux_snapshot:require/2","publicId":"tmux_snapshot:require/2","qualifiedName":"tmux_snapshot:require/2","name":"require/2","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"require/2\n-spec require([requirement()], t()) -> ok | {error, map()}.","references":[{"start":25,"end":36,"target":"t:tmux_snapshot:requirement/0"},{"start":41,"end":42,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":62,"end":65,"target":"t:erlang:map/0"}],"params":[{"name":"Requirements","type":"[requirement()]","typeReferences":[{"start":1,"end":12,"target":"t:tmux_snapshot:requirement/0"}]},{"name":"Argument2","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Check every declared collection/field/relationship requirement before local evaluation. Returns an incomplete_snapshot error with missing requirements when the capture cannot answer faithfully. Performs no I/O, even on empty data."},"source":{"line":190,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-require-2"},{"id":"tmux_snapshot:rows/2","publicId":"tmux_snapshot:rows/2","qualifiedName":"tmux_snapshot:rows/2","name":"rows/2","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"rows/2\n-spec rows(tmux_schema:entity(), t()) -> [tmux_model:row()].","references":[{"start":18,"end":36,"target":"t:tmux_schema:entity/0"},{"start":40,"end":41,"target":"t:tmux_snapshot:t/0"},{"start":49,"end":63,"target":"t:tmux_model:row/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:row()]","returnsReferences":[{"start":1,"end":15,"target":"t:tmux_model:row/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a captured collection by schema entity. Performs no I/O. An unloaded collection raises incomplete_snapshot rather than appearing empty."},"source":{"line":118,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-rows-2"},{"id":"tmux_snapshot:sessions/1","publicId":"tmux_snapshot:sessions/1","qualifiedName":"tmux_snapshot:sessions/1","name":"sessions/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"sessions(Snapshot)\n-spec sessions(t()) -> [tmux_model:session()].","references":[{"start":34,"end":35,"target":"t:tmux_snapshot:t/0"},{"start":43,"end":61,"target":"t:tmux_model:session/0"}],"params":[{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:session()]","returnsReferences":[{"start":1,"end":19,"target":"t:tmux_model:session/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return captured sessions in numeric ID order. Performs no I/O and raises incomplete_snapshot when that collection was not captured."},"source":{"line":92,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-sessions-1"},{"id":"tmux_snapshot:window_links/1","publicId":"tmux_snapshot:window_links/1","qualifiedName":"tmux_snapshot:window_links/1","name":"window_links/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"window_links(Snapshot)\n-spec window_links(t()) -> [tmux_model:window_link()].","references":[{"start":42,"end":43,"target":"t:tmux_snapshot:t/0"},{"start":51,"end":73,"target":"t:tmux_model:window_link/0"}],"params":[{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:window_link()]","returnsReferences":[{"start":1,"end":23,"target":"t:tmux_model:window_link/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return every captured membership, ordered by numeric session ID, index and window ID. Multiple links to the same physical window are preserved. Performs no I/O; link identity belongs to this snapshot."},"source":{"line":105,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-window_links-1"},{"id":"tmux_snapshot:windows/1","publicId":"tmux_snapshot:windows/1","qualifiedName":"tmux_snapshot:windows/1","name":"windows/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"windows(Snapshot)\n-spec windows(t()) -> [tmux_model:window()].","references":[{"start":32,"end":33,"target":"t:tmux_snapshot:t/0"},{"start":41,"end":58,"target":"t:tmux_model:window/0"}],"params":[{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:window()]","returnsReferences":[{"start":1,"end":18,"target":"t:tmux_model:window/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return unique captured physical windows in numeric ID order. Performs no I/O. Use `window_links/1` for session-relative membership and indexes."},"source":{"line":98,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_snapshot-windows-1"},{"id":"t:tmux_snapshot:coverage/0","publicId":"t:tmux_snapshot:coverage/0","qualifiedName":"tmux_snapshot:coverage/0","name":"coverage/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type coverage() ::\n #{tmux_schema:entity() => entity_coverage()}.","params":[],"references":[{"start":32,"end":50,"target":"t:tmux_schema:entity/0"},{"start":56,"end":71,"target":"t:tmux_snapshot:entity_coverage/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Per-entity coverage. Use `require/2` to check requirements before evaluation."},"source":{"line":53,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_snapshot-coverage-0"},{"id":"t:tmux_snapshot:entity_coverage/0","publicId":"t:tmux_snapshot:entity_coverage/0","qualifiedName":"tmux_snapshot:entity_coverage/0","name":"entity_coverage/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type entity_coverage() ::\n #{collection := complete | not_loaded,\n fields :=\n #{atom() =>\n loaded | not_loaded | unavailable},\n relations :=\n #{atom() => complete | not_loaded}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":116,"end":120,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":227,"end":231,"target":"t:erlang:atom/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Collection completeness, field availability and relationship completeness. A loaded field can hold a known value or known absence; inspect the row to distinguish them. not_loaded never means empty, and unavailable never means known absence. Completeness is relative to the captured source collection."},"source":{"line":49,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_snapshot-entity_coverage-0"},{"id":"t:tmux_snapshot:metadata/0","publicId":"t:tmux_snapshot:metadata/0","qualifiedName":"tmux_snapshot:metadata/0","name":"metadata/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type metadata() ::\n #{id := reference(),\n origin := reference(),\n model_version := 2,\n graph := complete | partial,\n generation => reference(),\n endpoint => #{socket_path := binary()},\n server_instance => tmux_identity:t(),\n tmux_version => tmux_version:t(),\n capture_started => integer(),\n capture_finished => integer(),\n time_unit => microsecond,\n source_calls => [source_call()],\n observed_bytes => non_neg_integer(),\n consistency => observed,\n hydration => tmux_server:hydration(),\n capabilities =>\n #{field_schema := 1,\n identity := observed,\n capture := observed},\n query => query_metadata(),\n atom() => term()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":38,"end":47,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":73,"end":82,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":185,"end":194,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":239,"end":245,"target":"t:erlang:binary/0"},{"start":281,"end":296,"target":"t:tmux_identity:t/0"},{"start":328,"end":342,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":377,"end":384,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":420,"end":427,"target":"t:erlang:integer/0"},{"start":498,"end":509,"target":"t:tmux_snapshot:source_call/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":544,"end":559,"target":"t:erlang:non_neg_integer/0"},{"start":625,"end":646,"target":"t:tmux_server:hydration/0"},{"start":816,"end":830,"target":"t:tmux_snapshot:query_metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":846,"end":850,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":856,"end":860,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture identity and provenance. id identifies this snapshot, origin its registered endpoint and generation the endpoint lifetime. model_version names the row representation. graph describes relationship coverage, not atomicity.","body":"Live captures include endpoint, observed server_instance, tmux_version,\nmonotonic capture bounds in time_unit, source_calls, observed stdout bytes and\ncapabilities. Those fields can be absent in internally constructed partial\ncaptures. Query captures also include `t:query_metadata/0`. Opaque references\nand process identities are local values, not portable wire identifiers.\nhydration records the requested `t:tmux_server:hydration/0` strategy; source_calls\nshows which commands actually ran, including any schema-driven fallback."},"source":{"line":77,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_snapshot-metadata-0"},{"id":"t:tmux_snapshot:query_metadata/0","publicId":"t:tmux_snapshot:query_metadata/0","qualifiedName":"tmux_snapshot:query_metadata/0","name":"query_metadata/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type query_metadata() ::\n #{candidate_count := non_neg_integer(),\n pushed_down := boolean(),\n attempt := 1 | 2,\n consistency := observed}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":57,"end":72,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":103,"end":110,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Source-query capture diagnostics. candidate_count is the deduplicated candidate identity count before local residuals and limits. pushed_down records a nontrivial native condition in the plan, not proof that its command ran: empty collections can skip it. source_calls records actual capture commands. The flag does not mean the full predicate was translated. attempt starts at one and increases only for an explicitly requested retry."},"source":{"line":62,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_snapshot-query_metadata-0"},{"id":"t:tmux_snapshot:requirement/0","publicId":"t:tmux_snapshot:requirement/0","qualifiedName":"tmux_snapshot:requirement/0","name":"requirement/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type requirement() ::\n {collection, tmux_schema:entity()} |\n {field | relation, tmux_schema:entity(), atom()}.","params":[],"references":[{"start":46,"end":64,"target":"t:tmux_schema:entity/0"},{"start":99,"end":117,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":121,"end":125,"target":"t:erlang:atom/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A collection, field or complete relationship needed for faithful local evaluation."},"source":{"line":34,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_snapshot-requirement-0"},{"id":"t:tmux_snapshot:source_call/0","publicId":"t:tmux_snapshot:source_call/0","qualifiedName":"tmux_snapshot:source_call/0","name":"source_call/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type source_call() ::\n #{command := binary(),\n args := [binary()],\n started := integer(),\n finished := integer(),\n stdout_bytes := non_neg_integer()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":46,"end":52,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":77,"end":83,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":111,"end":118,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":146,"end":153,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":185,"end":200,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"One completed capture command and its stdout byte count. started and finished are local monotonic microseconds, not wall-clock timestamps. The interval includes identity preflight and command completion; it is not an atomic read."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_snapshot-source_call-0"},{"id":"t:tmux_snapshot:t/0","publicId":"t:tmux_snapshot:t/0","qualifiedName":"tmux_snapshot:t/0","name":"t/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"An immutable captured graph with identity, indexes, coverage and source intervals."},"source":{"line":28,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_snapshot-t-0"},{"id":"tmux_version","publicId":"tmux_version","qualifiedName":"tmux_version","name":"tmux_version","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Parse the output of tmux -V without invoking tmux.","body":"Support covers tmux 3.3a through 3.8, including intermediate releases. The\nminimum-version check includes the patch letter; numeric feature comparisons\nuse major/minor components. CI tests the endpoints of the supported range. Use\n`tmux_server:version/1` for the daemon version observed by an endpoint."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_version"},{"id":"tmux_version:at_least/2","publicId":"tmux_version:at_least/2","qualifiedName":"tmux_version:at_least/2","name":"at_least/2","namespace":"tmux_version","parent":"tmux_version","kind":"function","modifiers":[],"signatures":[{"raw":"at_least/2\n-spec at_least(t(),\n {non_neg_integer(), non_neg_integer()}) ->\n boolean().","references":[{"start":26,"end":27,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":47,"end":62,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":66,"end":81,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":107,"end":114,"target":"t:erlang:boolean/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_version:t/0"}]},{"name":"Argument2","type":"{non_neg_integer(), non_neg_integer()}","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":1,"end":16,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":20,"end":35,"target":"t:erlang:non_neg_integer/0"}]}],"returns":"boolean()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Compare numeric major/minor components with a required floor. Patch letters do not promote an older minor release. Performs no I/O."},"source":{"line":73,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_version-at_least-2"},{"id":"tmux_version:parse/1","publicId":"tmux_version:parse/1","qualifiedName":"tmux_version:parse/1","name":"parse/1","namespace":"tmux_version","parent":"tmux_version","kind":"function","modifiers":[],"signatures":[{"raw":"parse/1\n-spec parse(binary()) ->\n {ok, t()} |\n {error, {invalid_tmux_version, term()}}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":20,"end":26,"target":"t:erlang:binary/0"},{"start":53,"end":54,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":106,"end":110,"target":"t:erlang:term/0"}],"params":[{"name":"Raw","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, t()} |\n {error, {invalid_tmux_version, term()}}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":53,"end":57,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Parse bounded tmux -V output into numeric components and patch/tracking metadata. This is pure parsing, not a probe or compatibility qualification."},"source":{"line":25,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_version-parse-1"},{"id":"tmux_version:require/1","publicId":"tmux_version:require/1","qualifiedName":"tmux_version:require/1","name":"require/1","namespace":"tmux_version","parent":"tmux_version","kind":"function","modifiers":[],"signatures":[{"raw":"require(Raw)\n-spec require(binary()) ->\n {ok, t()} |\n {error,\n {invalid_tmux_version |\n unsupported_tmux_version,\n term()}}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"start":62,"end":63,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":200,"end":204,"target":"t:erlang:term/0"}],"params":[{"name":"Raw","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, t()} |\n {error,\n {invalid_tmux_version | unsupported_tmux_version,\n term()}}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":103,"end":107,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Reject a tmux release below the supported floor.","examples":[{"lang":"erlang","code":"1> {ok, Version} = tmux_version:require(<<\"tmux 3.3a\">>), ok.\nok\n2> tmux_version:at_least(Version, {3, 4}).\nfalse"}]},"source":{"line":58,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_version-require-1"},{"id":"t:tmux_version:t/0","publicId":"t:tmux_version:t/0","qualifiedName":"tmux_version:t/0","name":"t/0","namespace":"tmux_version","parent":"tmux_version","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type t() ::\n #{major := non_neg_integer(),\n minor := non_neg_integer(),\n patch := binary(),\n tracking := boolean(),\n raw := binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":34,"end":49,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":74,"end":89,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":114,"end":120,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":148,"end":155,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":178,"end":184,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Parsed numeric daemon version plus patch, tracking and original-output metadata."},"source":{"line":17,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_version-t-0"},{"id":"tmux_window","publicId":"tmux_window","qualifiedName":"tmux_window","name":"tmux_window","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Create physical windows in a session and act through their registered IDs.","body":"`create/2` accepts name, cwd, env, launch and detach, using the\nsession's next available index. It defaults to detached. `get/2`\nreads current fields; `rename/2` returns the command result and\nleaves previous records unchanged. Launch and environment options follow\n`tmux_session:create/2`. An empty shell command does not portably keep the\nwindow alive: older tmux releases execute it as a shell command. Use a running\nprogram when needed. Creation returns a fresh observed row or an error\nretaining a completed mutation and its result if the follow-up observation\nfails.\n\n`kill/1` destroys the physical window and all its links. Use\n`tmux_window_link:unlink/2` to remove one session membership. These calls\nperform I/O after validating their inputs. `select_layout/2`\nchanges the physical window's layout across all its session links; previously\nobserved pane geometry remains unchanged in captured values."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window"},{"id":"tmux_window:create/2","publicId":"tmux_window:create/2","qualifiedName":"tmux_window:create/2","name":"create/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"create(Session, Options)\n-spec create(tmux_model:session(), create_options()) ->\n {ok, tmux_model:window()} | {error, map()}.","references":[{"start":38,"end":56,"target":"t:tmux_model:session/0"},{"start":60,"end":74,"target":"t:tmux_window:create_options/0"},{"start":102,"end":119,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":133,"end":136,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"create_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_window:create_options/0"}]}],"returns":"{ok, tmux_model:window()} | {error, map()}","returnsReferences":[{"start":5,"end":22,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":36,"end":39,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Create a physical window in the session's next free index and observe it. Defaults to detached. Launch, cwd and environment follow `tmux_session:create/2`. Performs I/O and retains completed-mutation details if observation fails."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window-create-2"},{"id":"tmux_window:get/2","publicId":"tmux_window:get/2","qualifiedName":"tmux_window:get/2","name":"get/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"get(Server, Id)\n-spec get(tmux_server:t(), tmux_model:window_id()) ->\n {ok, tmux_model:window()} | {error, map()}.","references":[{"start":26,"end":39,"target":"t:tmux_server:t/0"},{"start":43,"end":63,"target":"t:tmux_model:window_id/0"},{"start":88,"end":105,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":119,"end":122,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Id","type":"tmux_model:window_id()","typeReferences":[{"start":0,"end":20,"target":"t:tmux_model:window_id/0"}]}],"returns":"{ok, tmux_model:window()} | {error, map()}","returnsReferences":[{"start":5,"end":22,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":36,"end":39,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Explicitly read a physical window by stable ID. Returns a fresh record or target_gone. Physical windows do not have a universal session or window index."},"source":{"line":56,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window-get-2"},{"id":"tmux_window:kill/1","publicId":"tmux_window:kill/1","qualifiedName":"tmux_window:kill/1","name":"kill/1","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"kill(Window)\n-spec kill(tmux_model:window()) ->\n {ok, map()} | {error, map()}.","references":[{"start":24,"end":41,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":67,"end":70,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":84,"end":87,"target":"t:erlang:map/0"}],"params":[{"name":"Window","type":"tmux_model:window()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Destroy the physical window and all of its session links. This does not unlink only one membership. Performs I/O after origin and target validation."},"source":{"line":74,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window-kill-1"},{"id":"tmux_window:rename/2","publicId":"tmux_window:rename/2","qualifiedName":"tmux_window:rename/2","name":"rename/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"rename(Window, Name)\n-spec rename(tmux_model:window(), binary()) ->\n {ok, map()} | {error, map()}.","references":[{"start":34,"end":51,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":55,"end":61,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":89,"end":92,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":106,"end":109,"target":"t:erlang:map/0"}],"params":[{"name":"Window","type":"tmux_model:window()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Rename the registered physical window with a literal name. Performs I/O and returns the command result. Captured rows and snapshots remain unchanged."},"source":{"line":63,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window-rename-2"},{"id":"tmux_window:respawn/2","publicId":"tmux_window:respawn/2","qualifiedName":"tmux_window:respawn/2","name":"respawn/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"respawn(Window, Options)\n-spec respawn(tmux_model:window(), respawn_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":39,"end":56,"target":"t:tmux_model:window/0"},{"start":60,"end":75,"target":"t:tmux_window:respawn_options/0"},{"start":104,"end":128,"target":"t:tmux_operation:completed/0"},{"start":159,"end":181,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Window","type":"tmux_model:window()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window/0"}]},{"name":"Options","type":"respawn_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_window:respawn_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Respawn a registered physical window across all its session links. tmux keeps the first pane's ID, removes the other panes and rebuilds a single-pane layout. force defaults false: a window with a running pane normally returns command_error. force = true permits closing existing PTYs. Command completion does not establish former-job termination or application readiness. Other panes can already be removed if a later spawn step fails. Respawn also selects this window in tmux's resolved session. For a window linked into several sessions, tmux chooses that context from the physical ID; this facade does not pin selection or environment to a captured membership.","body":"launch defaults to previous and reuses the retained pane's saved command.\nExplicit argv and shell maps, saved cwd and fresh-spawn environment rules\nfollow `tmux_pane:respawn/2`, using the resolved session's environment. This\nphysical-window mutation affects every link. Performs I/O after validation and\nreturns the command result without refreshing rows. Use `get/2` or a new\nsnapshot for current data."},"source":{"line":96,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window-respawn-2"},{"id":"tmux_window:select_layout/2","publicId":"tmux_window:select_layout/2","qualifiedName":"tmux_window:select_layout/2","name":"select_layout/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"select_layout(Window, Layout)\n-spec select_layout(tmux_model:window(), layout()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":50,"end":67,"target":"t:tmux_model:window/0"},{"start":71,"end":77,"target":"t:tmux_window:layout/0"},{"start":112,"end":136,"target":"t:tmux_operation:completed/0"},{"start":173,"end":195,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Window","type":"tmux_model:window()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window/0"}]},{"name":"Layout","type":"layout()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_window:layout/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select a built-in arrangement or restore a literal serialized layout for this registered physical window. Binary names must exactly match one of the five built-ins; abbreviations and other names are rejected. Legacy serialized layouts need four hexadecimal checksum digits, a comma and nonempty data. This guard avoids a malformed-header crash in tmux 3.3 and 3.3a.","body":"Native JSON v2 layouts require a bounded JSON object with V = 2 and an L\nobject. They return unsupported_capability on tmux before 3.8 without\ndispatching a tmux command. This preserves `get/2` layout restoration on newer\nservers.\n\nExecution unzooms the window and changes it in every linked session. tmux\nvalidates serialized geometry; malformed geometry can return a command error.\nThe layout argument uses no shell or format expansion. Existing rows are not\nrefreshed; use `get/2` or a fresh snapshot to observe layout and pane\ngeometry.\n\nUnsupported atom names fail before dispatch:","examples":[{"lang":"erlang","code":"1> tmux_window:select_layout(invalid_row, unknown_layout).\n{error,#{code => invalid_layout,path => [layout]}}"}]},"source":{"line":131,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window-select_layout-2"},{"id":"t:tmux_window:create_options/0","publicId":"t:tmux_window:create_options/0","qualifiedName":"tmux_window:create_options/0","name":"create_options/0","namespace":"tmux_window","parent":"tmux_window","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type create_options() ::\n #{name => binary(),\n cwd => binary(),\n env => #{binary() => binary()},\n launch => tmux_command:launch_spec(),\n detach => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":46,"end":52,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":75,"end":81,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":106,"end":112,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":118,"end":124,"target":"t:erlang:binary/0"},{"start":151,"end":175,"target":"t:tmux_command:launch_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":201,"end":208,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Physical-window creation options; defaults to a detached window at the next free session index."},"source":{"line":25,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_window-create_options-0"},{"id":"t:tmux_window:layout/0","publicId":"t:tmux_window:layout/0","qualifiedName":"tmux_window:layout/0","name":"layout/0","namespace":"tmux_window","parent":"tmux_window","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type layout() ::\n even_horizontal | even_vertical |\n main_horizontal | main_vertical | tiled |\n binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":124,"end":130,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A built-in arrangement, its exact binary name, or a serialized layout. Native JSON v2 requires tmux 3.8."},"source":{"line":31,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_window-layout-0"},{"id":"t:tmux_window:respawn_options/0","publicId":"t:tmux_window:respawn_options/0","qualifiedName":"tmux_window:respawn_options/0","name":"respawn_options/0","namespace":"tmux_window","parent":"tmux_window","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type respawn_options() ::\n #{force => boolean(),\n launch => tmux_command:respawn_spec(),\n cwd => binary(),\n env => #{binary() => binary()}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":48,"end":55,"target":"t:erlang:boolean/0"},{"start":81,"end":106,"target":"t:tmux_command:respawn_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":129,"end":135,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":160,"end":166,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":172,"end":178,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Physical-window respawn options. Defaults: force false, launch previous, saved cwd. A forced respawn removes other panes."},"source":{"line":28,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_window-respawn_options-0"},{"id":"tmux_window_link","publicId":"tmux_window_link","qualifiedName":"tmux_window_link","name":"tmux_window_link","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Act on a physical window's observed membership in a particular session.","body":"A window link is identified by session ID, window index and expected physical\nwindow ID. It has no stable tmux link ID. These calls check that the observed\nmembership still names the expected window before dispatching an action.\nMissing or replaced membership returns stale_link. A link that moves away and\nback to the same coordinates and physical window cannot be distinguished.\n\nThe preflight and action use separate one-shot commands. Concurrent changes\nafter preflight can still affect the action; this is not atomic\ncompare-and-act. All input rows must belong to the same registered owner.\nRe-read or explicitly bind rows when using another owner. Closed owners and\nknown restarts invalidate their rows. Every call performs explicit I/O after\nvalidating its arguments.\n\nUse `tmux_window:kill/1` to destroy a physical window across all memberships.\nUse `unlink/2` to remove one membership. Existing rows and\nsnapshots are never refreshed by actions; use `get/3` or a\nnew snapshot for current memberships."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window_link"},{"id":"tmux_window_link:get/3","publicId":"tmux_window_link:get/3","qualifiedName":"tmux_window_link:get/3","name":"get/3","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"get(Server, SessionId, Index)\n-spec get(tmux_server:t(),\n tmux_model:session_id(),\n index()) ->\n {ok, tmux_model:window_link()} |\n {error, map()}.","references":[{"start":40,"end":53,"target":"t:tmux_server:t/0"},{"start":67,"end":88,"target":"t:tmux_model:session_id/0"},{"start":102,"end":107,"target":"t:tmux_window_link:index/0"},{"start":132,"end":154,"target":"t:tmux_model:window_link/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":181,"end":184,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"SessionId","type":"tmux_model:session_id()","typeReferences":[{"start":0,"end":21,"target":"t:tmux_model:session_id/0"}]},{"name":"Index","type":"index()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_window_link:index/0"}]}],"returns":"{ok, tmux_model:window_link()} | {error, map()}","returnsReferences":[{"start":5,"end":27,"target":"t:tmux_model:window_link/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":41,"end":44,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read a current membership at the explicit session ID and index. The returned native row carries its registered owner and a new observation identity. Returns target_gone if the session or index is absent. This read does not make later actions atomic and does not refresh previously captured links.","body":"Invalid indexes are rejected before I/O:","examples":[{"lang":"erlang","code":"1> tmux_window_link:get(invalid_server, <<\"$0\">>, -1).\n{error,#{code => invalid_option,path => [index]}}"}]},"source":{"line":50,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window_link-get-3"},{"id":"tmux_window_link:link/3","publicId":"tmux_window_link:link/3","qualifiedName":"tmux_window_link:link/3","name":"link/3","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"link(Link, Session, Options)\n-spec link(tmux_model:window_link(),\n tmux_model:session(),\n placement_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":40,"end":62,"target":"t:tmux_model:window_link/0"},{"start":77,"end":95,"target":"t:tmux_model:session/0"},{"start":110,"end":127,"target":"t:tmux_window_link:placement_options/0"},{"start":153,"end":177,"target":"t:tmux_operation:completed/0"},{"start":205,"end":227,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Link","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"placement_options()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_window_link:placement_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Add another membership of this link's physical window to the destination session and explicit index. Defaults to detached and refuses an occupied index. replace = true maps to tmux -k and can destroy the occupied window. Returns the command result; use `get/3` to observe the new membership. The source membership remains. Session groups and renumber-windows retain their tmux semantics. Performs I/O after owner and membership checks."},"source":{"line":87,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window_link-link-3"},{"id":"tmux_window_link:move/3","publicId":"tmux_window_link:move/3","qualifiedName":"tmux_window_link:move/3","name":"move/3","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"move(Link, Session, Options)\n-spec move(tmux_model:window_link(),\n tmux_model:session(),\n placement_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":40,"end":62,"target":"t:tmux_model:window_link/0"},{"start":77,"end":95,"target":"t:tmux_model:session/0"},{"start":110,"end":127,"target":"t:tmux_window_link:placement_options/0"},{"start":153,"end":177,"target":"t:tmux_operation:completed/0"},{"start":205,"end":227,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Link","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"placement_options()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_window_link:placement_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Move this membership to the destination session and explicit index, leaving its physical window's other links intact. Placement options follow `link/3`. Moving the final window out of a session can destroy that session; automatic renumbering and session groups can change other memberships. Captured rows remain unchanged. Returns the command result after observed preflight."},"source":{"line":98,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window_link-move-3"},{"id":"tmux_window_link:select/1","publicId":"tmux_window_link:select/1","qualifiedName":"tmux_window_link:select/1","name":"select/1","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"select(Link)\n-spec select(tmux_model:window_link()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":26,"end":48,"target":"t:tmux_model:window_link/0"},{"start":76,"end":100,"target":"t:tmux_operation:completed/0"},{"start":130,"end":152,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Link","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select this membership as its session's current window after checking the expected physical window. Performs I/O and returns the command result."},"source":{"line":70,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window_link-select-1"},{"id":"tmux_window_link:swap/3","publicId":"tmux_window_link:swap/3","qualifiedName":"tmux_window_link:swap/3","name":"swap/3","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"swap(Source, Destination, Options)\n-spec swap(tmux_model:window_link(),\n tmux_model:window_link(),\n swap_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":46,"end":68,"target":"t:tmux_model:window_link/0"},{"start":83,"end":105,"target":"t:tmux_model:window_link/0"},{"start":120,"end":132,"target":"t:tmux_window_link:swap_options/0"},{"start":158,"end":182,"target":"t:tmux_operation:completed/0"},{"start":210,"end":232,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Source","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Destination","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Options","type":"swap_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_window_link:swap_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Swap the physical windows at two checked memberships. Other links to either window remain intact. detach maps to tmux -d and defaults true. tmux applies its session-selection and group-synchronization rules. Returns the command result; old rows still name their original expected windows and can become stale. Performs I/O, with the documented gap between preflight and action."},"source":{"line":109,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window_link-swap-3"},{"id":"tmux_window_link:unlink/2","publicId":"tmux_window_link:unlink/2","qualifiedName":"tmux_window_link:unlink/2","name":"unlink/2","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"unlink(Link, Options)\n-spec unlink(tmux_model:window_link(), unlink_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":35,"end":57,"target":"t:tmux_model:window_link/0"},{"start":61,"end":75,"target":"t:tmux_window_link:unlink_options/0"},{"start":103,"end":127,"target":"t:tmux_operation:completed/0"},{"start":157,"end":179,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Link","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Options","type":"unlink_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_window_link:unlink_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove one checked membership. force defaults false, retaining tmux's protection for windows linked to only one session. force = true permits removing the last link, destroying that physical window and possibly its session. Duplicate links within one session retain tmux's native protection rules. Performs I/O and returns the command result without refreshing rows."},"source":{"line":128,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"tmux_window_link-unlink-2"},{"id":"t:tmux_window_link:index/0","publicId":"t:tmux_window_link:index/0","qualifiedName":"tmux_window_link:index/0","name":"index/0","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type index() :: 0..2147483647.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"An explicit tmux window index; relative and next-free selectors are not accepted."},"source":{"line":27,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_window_link-index-0"},{"id":"t:tmux_window_link:placement_options/0","publicId":"t:tmux_window_link:placement_options/0","qualifiedName":"tmux_window_link:placement_options/0","name":"placement_options/0","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type placement_options() ::\n #{index := index(),\n detach => boolean(),\n replace => boolean()}.","params":[],"references":[{"start":50,"end":55,"target":"t:tmux_window_link:index/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":81,"end":88,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":115,"end":122,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Destination index is required. Defaults: detach true, replace false. Replacement may destroy the destination window."},"source":{"line":29,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_window_link-placement_options-0"},{"id":"t:tmux_window_link:swap_options/0","publicId":"t:tmux_window_link:swap_options/0","qualifiedName":"tmux_window_link:swap_options/0","name":"swap_options/0","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type swap_options() :: #{detach => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":36,"end":43,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Maps detach to tmux's -d flag, default true."},"source":{"line":31,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_window_link-swap_options-0"},{"id":"t:tmux_window_link:unlink_options/0","publicId":"t:tmux_window_link:unlink_options/0","qualifiedName":"tmux_window_link:unlink_options/0","name":"unlink_options/0","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type unlink_options() :: #{force => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":37,"end":44,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Force defaults false. Force permits unlinking the last membership and destroying its physical window."},"source":{"line":33,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","extractedRevision":"f1a2e66c0fa15d1e8d4efa2725a159121815293b"},"slug":"t-tmux_window_link-unlink_options-0"}]} +{"port":"erlang","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractor":"@libtmux/api-model@0.0.1 (Erlang EEP-48 and abstract code v3)","nativeProvenance":{"files":[{"path":".tool-versions","sha256":"73a9c039345d63a5316d1818639cabf8f563af4752b3d25168aff80beae90a68"},{"path":"apps/libtmux_erlang/rebar.config","sha256":"7dde37bc878d42712eb562a96f7b2bef0f717d552c1fe115c3224cf7a39c59a2"},{"path":"apps/libtmux_erlang/src/libtmux_erlang.app.src","sha256":"c0dabd09a69c341798a2f66fe042d3e810a53b2a858fa4781c1273936c16b2db"},{"path":"apps/libtmux_erlang/src/libtmux_erlang_app.erl","sha256":"b649483a5e0bf6cc3a377aa06a381e6afe2b316f0c64590d13dc650520040328"},{"path":"apps/libtmux_erlang/src/tmux_admission.erl","sha256":"78330dddda6ae5854d2e72585523c6664293167d4b25273015494f8877029b4f"},{"path":"apps/libtmux_erlang/src/tmux_args.erl","sha256":"f054894dfd02179f09fe153afacf29dd9e8494ec381abd07ab92b56300ca10cd"},{"path":"apps/libtmux_erlang/src/tmux_buffer.erl","sha256":"c05edba9f3cfde487d699b5ed7e83b8353f0d7419db309a22d8a0f938572f996"},{"path":"apps/libtmux_erlang/src/tmux_buffer_codec.erl","sha256":"872d28160204881f0b11de18ae99704ca17a1e5914819abd3c1c30298427121e"},{"path":"apps/libtmux_erlang/src/tmux_capability.erl","sha256":"1514ac1583f5f870c067585f4509a1304147b2e4527a7026dfdac367c54c72c1"},{"path":"apps/libtmux_erlang/src/tmux_capability_data.erl","sha256":"e5a6f66ded73cb16e53d9f6bbbc0d6066088e58598b8e970b37e6bb3ea142e1e"},{"path":"apps/libtmux_erlang/src/tmux_command.erl","sha256":"4ef3e833cd4beeb62f8dc34994fd4071a0df675c3e2304b3e80fcd6d9579153c"},{"path":"apps/libtmux_erlang/src/tmux_control.erl","sha256":"0a5412aa42a2616a12a07310facd5bd2a669e2753949c3dc4966fac7aaeb0bdf"},{"path":"apps/libtmux_erlang/src/tmux_control_codec.erl","sha256":"a3395198fe0ebba49dc598f0e2503a14f2b00b2ccb36982c90513f851a6a5b48"},{"path":"apps/libtmux_erlang/src/tmux_error.erl","sha256":"ccb10f5a434672a20068759ee1b54ba6c6c503f0f876247aad7125c6b4c5ad82"},{"path":"apps/libtmux_erlang/src/tmux_filter.erl","sha256":"b582961447a700c38d348230a016918cf07cec169ab46d11b4c9a925857a142b"},{"path":"apps/libtmux_erlang/src/tmux_filter_eval.erl","sha256":"5e715cfa4110951771cbd7fe13eb2797a2ff2dd2d38ed5838b500524a3f7fbc2"},{"path":"apps/libtmux_erlang/src/tmux_hook.erl","sha256":"723c166ff42524679066011916463761ad5d4e9ccc6e9c901beb3cca6df53a3d"},{"path":"apps/libtmux_erlang/src/tmux_identity.erl","sha256":"31ab809d3c407e0214f6b952e4e24cc5289f3d4ee305f6fe0b9b1520f4af9d7d"},{"path":"apps/libtmux_erlang/src/tmux_json.erl","sha256":"2dce31dd87dae4e32c314de5c1ddefcee077cfef09a78cbcf6f660748573ddfc"},{"path":"apps/libtmux_erlang/src/tmux_key.erl","sha256":"00c7d3a141d377c115cf2a6d010312aa4c006d34355111ff51424b3c2b2a3e23"},{"path":"apps/libtmux_erlang/src/tmux_log.erl","sha256":"885dcb198a82a0ed13f8c766e63e3953e4e9134f5d4bd2f86e79f0e0de65783a"},{"path":"apps/libtmux_erlang/src/tmux_matcher.erl","sha256":"b599f732e73ad9c7701df6c9c65c9524645c988bb5ba2d0729b9004136d29c16"},{"path":"apps/libtmux_erlang/src/tmux_model.erl","sha256":"519cfeb36fa0ea3df6d742edc87ded1f9d4800fc4fe7c662f2e676e29a4ce0a9"},{"path":"apps/libtmux_erlang/src/tmux_observe.erl","sha256":"4e726b823568a66cdf0f3c34aeb6c0b55651522da9a6263d077a2926cd699da0"},{"path":"apps/libtmux_erlang/src/tmux_operation.erl","sha256":"f5d34e31af1ac17e267bff6529a454d095ff3c7c238d64d6bbb0002e54285c47"},{"path":"apps/libtmux_erlang/src/tmux_option.erl","sha256":"c1872d0d9f74f136d0fbb1a2b28232d4245a197f8fd84d78ae6bf4200fd0088a"},{"path":"apps/libtmux_erlang/src/tmux_option_batch.erl","sha256":"16b90a2b4e8bf168dd3d5bd56bfbb4a561cfd9ff8f43054917ce9500488b195b"},{"path":"apps/libtmux_erlang/src/tmux_option_codec.erl","sha256":"cd3dc1cc2d457cd711247c539f0fc0e3498303180751724ebae77462cede9b6d"},{"path":"apps/libtmux_erlang/src/tmux_option_data.erl","sha256":"8fe72d14d2ec8d6a9aef7ac8a46923f3c70f47f45b5c6fcd0b1754eae8ca0ae4"},{"path":"apps/libtmux_erlang/src/tmux_option_scope.erl","sha256":"7f6227cd1808bf8b27df12fafc3c35c073797efee7a4ed9f89e19bc2b498ed11"},{"path":"apps/libtmux_erlang/src/tmux_owned_server.erl","sha256":"17521c819d7aea427429dc18aafee101544a6f85c0772857d540d1dd887a44f3"},{"path":"apps/libtmux_erlang/src/tmux_pane.erl","sha256":"e71ac56dab19886495cae801a1a83d85123e519de1c10ba8eb4128c8ff33db48"},{"path":"apps/libtmux_erlang/src/tmux_query.erl","sha256":"687cc6d89f68815662d8154ed3326ed69dd5b665c4cc1fec10036022c52cb641"},{"path":"apps/libtmux_erlang/src/tmux_query_plan.erl","sha256":"98299c186428ccc70588cee87b65e89d172045b89d01d0c88996834454238a93"},{"path":"apps/libtmux_erlang/src/tmux_regex.erl","sha256":"c97133a505dfbf7a54b0b59645429a3a512482bec99dfc5cc8da0ef27664af44"},{"path":"apps/libtmux_erlang/src/tmux_registry.erl","sha256":"e0370601b396566bb24323a65e0fc2e6a1930c6298cbd125590009a4855d0740"},{"path":"apps/libtmux_erlang/src/tmux_schema.erl","sha256":"85ebfc0c7f53cf4e7952f9ec440395646d48d9100ad2ea191d9c053759625a65"},{"path":"apps/libtmux_erlang/src/tmux_schema_data.erl","sha256":"4cd255118e2b207d40507fa2a5b91af7555e41134986eff7c58ce2349a96560d"},{"path":"apps/libtmux_erlang/src/tmux_scope.erl","sha256":"02c1624a9618fb24022b13263e6de0ca14ca60e5ff7b773e1ecfdd742b2ea03b"},{"path":"apps/libtmux_erlang/src/tmux_select.erl","sha256":"49f16937a1edf0057364f54718907d48fa2442a6410c38218f984c456874968c"},{"path":"apps/libtmux_erlang/src/tmux_server.erl","sha256":"e54e0940fb9c86985620e0c983538fbcf9e4e06b0c36b925dc7c46c21451d516"},{"path":"apps/libtmux_erlang/src/tmux_session.erl","sha256":"150217b8d739092eded788198c86e0d82d6e7e81453ab8c3423c53ea8d4280d0"},{"path":"apps/libtmux_erlang/src/tmux_snapshot.erl","sha256":"570e30612017e0a80be44fcae0ad5aaf44968588244916efc93516751dc58f81"},{"path":"apps/libtmux_erlang/src/tmux_sup.erl","sha256":"d0769251b68e8118e8cb58d2cd974cbf59e8c72b5713e738d6b82df14cd400ee"},{"path":"apps/libtmux_erlang/src/tmux_target.erl","sha256":"107de5ba111b6ff3641c3e1ba2197b6a66808a654e031b0837ff2befaad67d5d"},{"path":"apps/libtmux_erlang/src/tmux_text_codec.erl","sha256":"22b3823103dd84df3e21d6b9e2362da9f74c062731253fbac0b555868be758db"},{"path":"apps/libtmux_erlang/src/tmux_transport.erl","sha256":"1be3ba6148a39b041720b1123f42fd1d9142993dff39e8b655b24db245f25b82"},{"path":"apps/libtmux_erlang/src/tmux_transport_codec.erl","sha256":"516f5d3d79f31702a7b27b09945e1f5b8b9cfce613ede4ac9edc817f941686df"},{"path":"apps/libtmux_erlang/src/tmux_version.erl","sha256":"c09c120c90ec42a7cc55772b13823e3169259c68f2330537f1e5cb19e087d283"},{"path":"apps/libtmux_erlang/src/tmux_window.erl","sha256":"8fd8325549b1756f76c3fceb36ccfcf15068ec9c0cfa6a290da8ae3067817a4e"},{"path":"apps/libtmux_erlang/src/tmux_window_link.erl","sha256":"3584235656fc15976074e964f5ab2042e7dc83ed0fa3748a28059da32dd7550c"},{"path":"apps/libtmux_erlang/test/tmux_admission_tests.erl","sha256":"90cd16fd73aaaa9ac32ac1ac2b6ccf16d879b5dee88950d42d44455ac33c92a3"},{"path":"apps/libtmux_erlang/test/tmux_buffer_tests.erl","sha256":"0f117487e30b8edc908393ed85f3837d92c3f4309b0f5e7233c3926822bc8fee"},{"path":"apps/libtmux_erlang/test/tmux_capability_tests.erl","sha256":"7062a4401ae2f6d42389780c200957d85613eb635721c294bd8916d851f4bbec"},{"path":"apps/libtmux_erlang/test/tmux_command_tests.erl","sha256":"d0c8e817342d2d2000a097ef248557f3f22c02b149ac068d6da6faf2719f8dfe"},{"path":"apps/libtmux_erlang/test/tmux_domain_tests.erl","sha256":"8df9b7ab8fcf08838cb83bf814e610a8d2fe042abb8c5a7861700d5243b8cc9f"},{"path":"apps/libtmux_erlang/test/tmux_error_tests.erl","sha256":"9561f706fe80150aac64481762a7be1ecd28f26d7b643cf194774691a1eda6e2"},{"path":"apps/libtmux_erlang/test/tmux_filter_fixture_tests.erl","sha256":"2042d790c9a8db07d0260aeb18a1658f1715299a7493d80c95f9ab6667f60f9c"},{"path":"apps/libtmux_erlang/test/tmux_filter_tests.erl","sha256":"297207998c206b10f71799cb9b642fb435b397e8e076f9c5780f5bae4bc2d82e"},{"path":"apps/libtmux_erlang/test/tmux_hook_tests.erl","sha256":"4f9bbdc801ab3d6e14609be8c0f2477bc00d530d9c829b719a8c98a7e3160482"},{"path":"apps/libtmux_erlang/test/tmux_identity_tests.erl","sha256":"fcf254ed09fc1111b65eb4a5dab2304ee013d8eae937cf590b496c3955453945"},{"path":"apps/libtmux_erlang/test/tmux_json_tests.erl","sha256":"55d60e58bd058a1882c1288880cca60596397702594791a7f4907f6bccdd6408"},{"path":"apps/libtmux_erlang/test/tmux_key_tests.erl","sha256":"d39af985776d7ed68e4b39f535b0513f2cda3b95d27ee7f438c64d7490e5f8f8"},{"path":"apps/libtmux_erlang/test/tmux_model_tests.erl","sha256":"ed7b34128ff3c55020a8b430814cd21d7fbd0af49d645d1caf640c9b12a1bde5"},{"path":"apps/libtmux_erlang/test/tmux_option_tests.erl","sha256":"35a8b9a53fe2545095255c04ef0e5d92e21ff09405e6204a73b5bbbbdb25bc07"},{"path":"apps/libtmux_erlang/test/tmux_query_tests.erl","sha256":"3f6a7b2d3dfbcb252b62e2559e2318c976541b763e507ddbf57133582e121cb9"},{"path":"apps/libtmux_erlang/test/tmux_regex_tests.erl","sha256":"53f60668b1c3cf9449ab59b5576e5d367902f374aa6d5a99e50dfa5d0c96a05c"},{"path":"apps/libtmux_erlang/test/tmux_registry_tests.erl","sha256":"1564e63d63be02e2ddc13e58a67a003eb77e3129b4f6d6585d6cb2ef26d8fbc4"},{"path":"apps/libtmux_erlang/test/tmux_scope_tests.erl","sha256":"575a142cc074ffcd51784bfba68bd81b8ab1fb53684e2c47fa912cbf9ae38f19"},{"path":"apps/libtmux_erlang/test/tmux_select_tests.erl","sha256":"130475107a7ade6e18b98987ae222ff4ea12ee9bdb40cf90fd40d37b13292f74"},{"path":"apps/libtmux_erlang/test/tmux_snapshot_tests.erl","sha256":"641dd3e523efdd7a313d5bc8109d13419bedc50f1565a2abbdb4226594a51f60"},{"path":"apps/libtmux_erlang/test/tmux_text_codec_tests.erl","sha256":"fd089f5e50f509390051325c009eeb9abc3aca4a5c046c3562d64061f2c77bd0"},{"path":"apps/libtmux_erlang/test/tmux_transport_codec_tests.erl","sha256":"8769931bdc39f25e927ead06b17b985d192be54610b799ced428d4fab5d351cf"},{"path":"apps/libtmux_erlang/test/tmux_version_tests.erl","sha256":"3867637a0194ef1eee541ad311d3b296436c0220e2323b504b17243a8a588bd1"},{"path":"examples/buffer_demo.erl","sha256":"d4579d644f0d68f5b864036351ad538c7b18f73469d33fa933da248b72028f50"},{"path":"examples/command_demo.erl","sha256":"c9af9f446d73710ade39ee59a29494a9df5be076172a7efa977bc35034a33622"},{"path":"examples/config_demo.erl","sha256":"0d861a00b4f1025976a1c10e1e4873d08cedcf5f622d1d307420672f4caca3e4"},{"path":"examples/control_demo.erl","sha256":"3e407160772d5677ffb6983405bcf032d728e65e3c6eec9566445c41b2a49d7b"},{"path":"examples/filter_demo.erl","sha256":"9b3467b20497d568c0832685c790fcd0909133a15d5814282ccf55765771d321"},{"path":"examples/hook_demo.erl","sha256":"5c6c777bc6a2ab716a00bef55f44b4cf7fe43ad29ad31b55ea092acdeef49087"},{"path":"examples/inspect_demo.erl","sha256":"a87e20080863153c687682f7c21961dd50edd853254dac38f8c09a1b34f03bbd"},{"path":"examples/job_demo.erl","sha256":"8ddbd70130f47ae022d2224646b132e18aa5178b50aa6965b33612230ddf3bf5"},{"path":"examples/key_demo.erl","sha256":"572bb44ae0bca5354d9080993d6010d97caa25dcaaad89417912f4ddcca975e4"},{"path":"examples/linked_graph.erl","sha256":"d6d5f7b51e76e2023c6f33a1547ff71534f6107d705db20d2012122f552c6bf0"},{"path":"examples/native_consumer.erl","sha256":"fe3a5943ada5885c09918b3693510de612437ef6b8bd3b431674c846ae648eea"},{"path":"examples/options_demo.erl","sha256":"37a5a00ae52c25b5eef4ff079b6b5fe8155f54be85488d456ba1399dcddec468"},{"path":"examples/pane_demo.erl","sha256":"e103746aebc97ed5c939e384c935f2bf7830c0e0efa0c269fc70d5dec7b6f300"},{"path":"examples/pipe_demo.erl","sha256":"a5ea3562db13830139f6ffcf95b4b0ef0fb5dee7dcb408335aaad3ac80519e6d"},{"path":"examples/readme_demo.erl","sha256":"1ff24e66b6ac576c63eb2fc481aeeb17ab641608ec4ac56c09f9266e34fcf850"},{"path":"property/prop_tmux_filter.erl","sha256":"1a918ae522b6ae675c3ec2c42ffbb87bfd8cb30bb770ae9ac5f7bf6740b7713e"},{"path":"property/prop_tmux_graph.erl","sha256":"2fe1dfd9e870a5e98ce6a7e4c89a1a33b72d0661dc68860a6d6be83470e17fee"},{"path":"rebar.config","sha256":"faac9e9d16e8df896c8bb4bccb71214a6c6096e395301a97a38c0c89c9e56c74"},{"path":"rebar.lock","sha256":"11147eb50b093a61fe80253dae762d703387f23054d00907217c4ab3dc2d6b8c"},{"path":"test/consumers/model_types_bad.erl","sha256":"643fe7c662cc031de656149da55ec3c038541a7a1d3ece01ed7b2ca21bc5d68a"},{"path":"test/consumers/model_types_ok.erl","sha256":"fcababe54e4626a8827c319025bc801bcac51457489281d67b02a31edaebf763"},{"path":"test/tmux_buffer_SUITE.erl","sha256":"605251515daff77735e714ac9bd42abdb41695c650236aa3ee1d1d15e77ebbd0"},{"path":"test/tmux_channel_SUITE.erl","sha256":"0c72df0e5291895ee491fc9b6148100bd19c993546f932db35da4240d4f29a34"},{"path":"test/tmux_command_SUITE.erl","sha256":"7d8bc30cff9cb9168885be97a9929090d94314871d2cba6123a327dfe30c464e"},{"path":"test/tmux_control_SUITE.erl","sha256":"787e82c6ab419ceb69d7e75146b1750bf0d8425281b30e541f3865184e352a2f"},{"path":"test/tmux_control_codec_SUITE.erl","sha256":"3244294cd87b33384cadfb2e53ff501aecabb571388e99faf9cbc057158558ce"},{"path":"test/tmux_control_codec_tests.erl","sha256":"6730a09af09dbd5ebcd5e4cb8dd8abafc0c339d7cf14b8f79926a755b95c3705"},{"path":"test/tmux_diagnostics_SUITE.erl","sha256":"72aa812052d70b5af8b44777e0d39dca8f94f43faa3fd1c78c981157d4596246"},{"path":"test/tmux_docs_SUITE.erl","sha256":"fe2e757d2b3496eeb9928ab6fbea00434b5b9bd00bec199730162b14400cf589"},{"path":"test/tmux_domain_SUITE.erl","sha256":"53bf4ec2c1e4ebdbdb11f3cc3f4e235140cb3aa6e9859bc7a79c3ea4b7c30fa7"},{"path":"test/tmux_fixture_SUITE.erl","sha256":"2a7ad27ad63f1892f347fb3b272231a9ed3603f8025527931f6f98024b469e73"},{"path":"test/tmux_hook_SUITE.erl","sha256":"c020bd17251344e15d823e05e0a4ec8be4e05c6b6d3582af2aa659ff08577ef6"},{"path":"test/tmux_key_SUITE.erl","sha256":"3b5d0da672633a7470446008b79741900df9f88d5c12e21559445f2f1f1b2412"},{"path":"test/tmux_option_SUITE.erl","sha256":"88a323f26b52025092e31255f2ab944859cadd45e74ff7fd90cd6d76da0e6583"},{"path":"test/tmux_owned_server_SUITE.erl","sha256":"de43f1cfecf8c20f349a9fcaae0b02fd0559a7ab3f8621caf6f4a0cf40fa0980"},{"path":"test/tmux_pipe_SUITE.erl","sha256":"cfb3cdd298f43dc66afb306f6ac1f5f692968958a959fa8b7bbb2beaaa602b46"},{"path":"test/tmux_query_SUITE.erl","sha256":"63e71283c8aadd680c6fb006c7f9177c66b0c05b258b3849d20ea9e05699da06"},{"path":"test/tmux_server_SUITE.erl","sha256":"af9bdd800ddf33a37d4d48d5b4329f1f90dd8ba93797cfe4beb04e1587244de4"},{"path":"test/tmux_test_fixture.erl","sha256":"48b64d04a7fa2c0c4848f5203c76bc11daa98ddf3d5e1f7cc4ac5a3793ca8d00"},{"path":"test/tmux_topology_SUITE.erl","sha256":"3e5fd3cde6709593e169a93bc1ee684d3e460788400b514439009da3e58397bf"},{"path":"test/tmux_transport_SUITE.erl","sha256":"17ca53bf22a720e3b4b57ee9be9a9e8d2517abd3659b2c79c4b81d92a1eaf01c"}],"exporter":{"name":"Erlang EEP-48 and abstract code","version":3,"otp":"29.1.2","columns":60,"source_sha256":"2fc491ad480e74fded943bf072d5bfd452116a9dfc6dc7062860727fe487f1ab"}},"sources":[{"package":"libtmux_erlang","product":"core","version":"0.0.1","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"}],"symbols":[{"id":"tmux_buffer","publicId":"tmux_buffer","qualifiedName":"tmux_buffer","name":"tmux_buffer","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Load, inspect and paste tmux byte buffers through an explicit endpoint.","body":"Use `load/3` for binary payloads, including NUL bytes, and `show/2` to read\nthem back without terminal escaping or an added newline. `list/1` returns\ncaptured metadata in tmux's newest-first order; it never loads payloads.\n`paste/3` sends a named buffer to a registered pane. Direct input is available\nthrough `tmux_pane:send_text/2`.\n\nNames are NUL-free binaries, distinct from payload bytes. New names retain\ntmux's storage rules: 3.7+ cleans names and can reject control bytes or escape\nbackslashes. Use observed names from `list/1` for subsequent calls. Empty load\ninput is tmux's no-op; it neither creates nor clears a buffer. `delete/2`\nremoves a buffer explicitly. Names have no persistent object identity, and\nconcurrent commands can replace a buffer between calls.\n\nAll operations except `capabilities/1` perform explicit I/O. They use the\none-shot transport and preserve operational errors and ownership checks.\nThe [buffer guide](buffers.md) shows a complete byte round trip."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_buffer"},{"id":"tmux_buffer:capabilities/1","publicId":"tmux_buffer:capabilities/1","qualifiedName":"tmux_buffer:capabilities/1","name":"capabilities/1","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"capabilities(Version)\n-spec capabilities(tmux_version:t()) -> capabilities().","references":[{"start":41,"end":55,"target":"t:tmux_version:t/0"},{"start":62,"end":74,"target":"t:tmux_buffer:capabilities/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]}],"returns":"capabilities()","returnsReferences":[{"start":0,"end":12,"target":"t:tmux_buffer:capabilities/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe version differences without I/O. This does not qualify an untested release. `paste/3` uses paste_sanitize to gate sanitization and render raw paste.","examples":[{"lang":"erlang","code":"1> {ok, V} = tmux_version:parse(<<\"tmux 3.3\">>), ok.\nok\n2> tmux_buffer:capabilities(V).\n#{paste_sanitize => false,cleaned_names => false,\n rename_replaces => false,strict_named_target => false}"}]},"source":{"line":55,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_buffer-capabilities-1"},{"id":"tmux_buffer:delete/2","publicId":"tmux_buffer:delete/2","qualifiedName":"tmux_buffer:delete/2","name":"delete/2","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"delete(Server, Buffer)\n-spec delete(tmux_server:t(), target()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":36,"end":49,"target":"t:tmux_server:t/0"},{"start":53,"end":59,"target":"t:tmux_buffer:target/0"},{"start":87,"end":111,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":141,"end":144,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Buffer","type":"target()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_buffer:target/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Delete a named buffer or latest. Missing buffers return buffer_not_found. This performs I/O and affects the server-wide buffer store.","body":"On 3.3/3.3a, named deletion first checks existence with a zero-output `show/3`\nread because native deletion falls back to the newest buffer when a name is\nabsent. This check does not collect a payload or depend on the list bounds.\nIt is not atomic: concurrent removal after the check can trigger that fallback.\nUse external serialization or tmux 3.4+ when that race is unacceptable."},"source":{"line":126,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_buffer-delete-2"},{"id":"tmux_buffer:list/1","publicId":"tmux_buffer:list/1","qualifiedName":"tmux_buffer:list/1","name":"list/1","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"list(Server)\n-spec list(tmux_server:t()) ->\n {ok, [info()]} | {error, map()}.","references":[{"start":24,"end":37,"target":"t:tmux_server:t/0"},{"start":64,"end":68,"target":"t:tmux_buffer:info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":83,"end":86,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, [info()]} | {error, map()}","returnsReferences":[{"start":6,"end":10,"target":"t:tmux_buffer:info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture metadata in tmux's newest-first insertion order. Renaming preserves position; replacing data through `load/3` inserts a new buffer. Length frames preserve names containing delimiters, newlines or invalid UTF-8 on releases that permit them. Returns an ordinary list, bounded to 4096 rows and 1 MiB of encoded output. No payloads, hidden refresh or atomic snapshot is provided."},"source":{"line":106,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_buffer-list-1"},{"id":"tmux_buffer:load/3","publicId":"tmux_buffer:load/3","qualifiedName":"tmux_buffer:load/3","name":"load/3","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"load(Server, Name, Bytes)\n-spec load(tmux_server:t(),\n binary() | automatic,\n binary()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":37,"end":50,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":65,"end":71,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":98,"end":104,"target":"t:erlang:binary/0"},{"start":130,"end":154,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":182,"end":185,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Name","type":"binary() | automatic","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Bytes","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Load binary bytes under a name, or create an automatic buffer. Input may contain NUL. Empty input succeeds without changing the buffer store, including an existing name. The command payload, including argv and stdin, must fit the endpoint's 256 KiB admission limit. See `tmux_server:command/3`.","body":"Returns the completed command result, not a persistent buffer handle. No\nclipboard write is requested. Native stored-name rules still apply."},"source":{"line":72,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_buffer-load-3"},{"id":"tmux_buffer:paste/3","publicId":"tmux_buffer:paste/3","qualifiedName":"tmux_buffer:paste/3","name":"paste/3","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"paste(Pane, Buffer, Options)\n-spec paste(tmux_model:pane(), target(), paste_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":41,"end":56,"target":"t:tmux_model:pane/0"},{"start":60,"end":66,"target":"t:tmux_buffer:target/0"},{"start":70,"end":83,"target":"t:tmux_buffer:paste_options/0"},{"start":110,"end":134,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":163,"end":166,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Buffer","type":"target()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_buffer:target/0"}]},{"name":"Options","type":"paste_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_buffer:paste_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Send a named buffer or latest to a registered pane. Defaults preserve payload bytes: LF separators and unsanitized input. On tmux 3.7+, raw paste uses -S; sanitize=true selects its safe print encoding. Earlier releases reject that request with unsupported_capability before dispatch.","body":"separator is NUL-free; delete removes the buffer after the native paste call.\nbracketed adds markers only if the target has enabled that terminal mode.\nNative input-off/dead-pane behavior still applies. Completion establishes the\ntmux command result, not consumption by the child. No automatic retry occurs."},"source":{"line":167,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_buffer-paste-3"},{"id":"tmux_buffer:rename/3","publicId":"tmux_buffer:rename/3","qualifiedName":"tmux_buffer:rename/3","name":"rename/3","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"rename(Server, Old, New)\n-spec rename(tmux_server:t(), binary(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":38,"end":51,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":55,"end":61,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":65,"end":71,"target":"t:erlang:binary/0"},{"start":99,"end":123,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":153,"end":156,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Old","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"New","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Rename one explicit name. tmux 3.3 refuses an occupied destination; 3.4+ replaces it. This is native collision behavior, not an atomic absence check. Identical input names return same_buffer_name before I/O, avoiding unsafe legacy tmux paths. New names retain native cleaning rules; see `list/1` for stored names. The same observed 3.3/3.3a missing-name preflight and race as `delete/2` apply."},"source":{"line":142,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_buffer-rename-3"},{"id":"tmux_buffer:show/2","publicId":"tmux_buffer:show/2","qualifiedName":"tmux_buffer:show/2","name":"show/2","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"show(Server, Buffer)\n-spec show(tmux_server:t(), target()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":32,"end":45,"target":"t:tmux_server:t/0"},{"start":49,"end":55,"target":"t:tmux_buffer:target/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":81,"end":87,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":101,"end":104,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Buffer","type":"target()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_buffer:target/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read exact payload bytes with default bounds. See `show/3` for limits."},"source":{"line":81,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_buffer-show-2"},{"id":"tmux_buffer:show/3","publicId":"tmux_buffer:show/3","qualifiedName":"tmux_buffer:show/3","name":"show/3","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"function","modifiers":[],"signatures":[{"raw":"show(Server, Buffer, Options)\n-spec show(tmux_server:t(), target(), read_options()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":41,"end":54,"target":"t:tmux_server:t/0"},{"start":58,"end":64,"target":"t:tmux_buffer:target/0"},{"start":68,"end":80,"target":"t:tmux_buffer:read_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":106,"end":112,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":126,"end":129,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Buffer","type":"target()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_buffer:target/0"}]},{"name":"Options","type":"read_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_buffer:read_options/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read exact payload bytes from an unattached one-shot client. No print decoding or newline removal applies. max_bytes is 0 through 1 MiB; exceeding it returns output_limit with partial command evidence, never a successful truncated value. deadline_ms is 1 through 600000. Missing buffers return buffer_not_found."},"source":{"line":90,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_buffer-show-3"},{"id":"t:tmux_buffer:capabilities/0","publicId":"t:tmux_buffer:capabilities/0","qualifiedName":"tmux_buffer:capabilities/0","name":"capabilities/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type capabilities() ::\n #{paste_sanitize := boolean(),\n cleaned_names := boolean(),\n rename_replaces := boolean(),\n strict_named_target := boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":54,"end":61,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":94,"end":101,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":136,"end":143,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":182,"end":189,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Source-defined buffer behavior for a parsed daemon version."},"source":{"line":39,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_buffer-capabilities-0"},{"id":"t:tmux_buffer:info/0","publicId":"t:tmux_buffer:info/0","qualifiedName":"tmux_buffer:info/0","name":"info/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type info() ::\n #{name := binary(),\n size := non_neg_integer(),\n created := non_neg_integer()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":36,"end":42,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":66,"end":81,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":108,"end":123,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Captured name, payload byte count and Unix creation time; not a live handle."},"source":{"line":28,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_buffer-info-0"},{"id":"t:tmux_buffer:paste_options/0","publicId":"t:tmux_buffer:paste_options/0","qualifiedName":"tmux_buffer:paste_options/0","name":"paste_options/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type paste_options() ::\n #{separator => binary(),\n delete => boolean(),\n bracketed => boolean(),\n sanitize => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":50,"end":56,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":82,"end":89,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":118,"end":125,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":153,"end":160,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Paste controls. separator defaults to LF; delete and bracketed default to false. sanitize defaults to false, preserving bytes. Explicit sanitization requires tmux 3.7+. Bracketing occurs only when the pane enables bracketed paste."},"source":{"line":36,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_buffer-paste_options-0"},{"id":"t:tmux_buffer:read_options/0","publicId":"t:tmux_buffer:read_options/0","qualifiedName":"tmux_buffer:read_options/0","name":"read_options/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type read_options() ::\n #{max_bytes => 0..1048576,\n deadline_ms => 1..600000}.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read bounds: max_bytes defaults to 1 MiB; deadline_ms defaults to 2500."},"source":{"line":30,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_buffer-read_options-0"},{"id":"t:tmux_buffer:target/0","publicId":"t:tmux_buffer:target/0","qualifiedName":"tmux_buffer:target/0","name":"target/0","namespace":"tmux_buffer","parent":"tmux_buffer","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type target() :: binary() | latest.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":18,"end":24,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A stored buffer name, or latest to let tmux select its newest buffer."},"source":{"line":26,"file":"apps/libtmux_erlang/src/tmux_buffer.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_buffer-target-0"},{"id":"tmux_capability","publicId":"tmux_capability","qualifiedName":"tmux_capability","name":"tmux_capability","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Look up source-derived native command declarations and feature minimums.","body":"`commands/1` and `command/2` describe the exact source profiles in `profiles/0`.\nProfiles cover every release in the supported tmux 3.3a–3.8 range. They do not\ncontact tmux, interpret its arguments or qualify another build.\nCanonical command names are lookup keys; aliases remain metadata. A native\ndeclaration does not mean this library provides a typed facade for it. Use\n`tmux_command:raw/2` for an explicit trusted command.\n\n`describe/1` reports selected native feature minimums. `require/2` compares a\nparsed version with one of those minimums; it does not perform I/O or dispatch\nthe command. Numeric minimum checks also accept uncatalogued and tracking\nversions, preserving the distinction from exact parser discovery. They do not\nestablish runtime or CI qualification. Use `tmux_server:version/1` to obtain the\nversion captured by a registered endpoint.\n\nThe [generated reference](commands-reference.md) records source profiles and\nparser declarations. Maintaining the catalogue needs a tmux source checkout;\ninstalled consumers use compiled data and OTP only."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_capability"},{"id":"tmux_capability:command/2","publicId":"tmux_capability:command/2","qualifiedName":"tmux_capability:command/2","name":"command/2","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"command(Version, Name)\n-spec command(tmux_version:t(), binary()) ->\n {ok, command_info()} | {error, map()}.","references":[{"start":37,"end":51,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":55,"end":61,"target":"t:erlang:binary/0"},{"start":90,"end":102,"target":"t:tmux_capability:command_info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":116,"end":119,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, command_info()} | {error, map()}","returnsReferences":[{"start":5,"end":17,"target":"t:tmux_capability:command_info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Look up one canonical native command in an exact source profile. Returns unknown_command for aliases or unknown names, unsupported_command when a known command is absent from that profile, and unsupported_command_catalogue for uncatalogued or tracking versions. Performs no I/O.","examples":[{"lang":"erlang","code":"1> {ok, V} = tmux_version:parse(<<\"tmux 3.3a\">>), ok.\nok\n2> {ok, C} = tmux_capability:command(V, <<\"send-keys\">>), ok.\nok\n3> maps:get(file, maps:get(source, C)).\n<<\"cmd-send-keys.c\">>"}]},"source":{"line":74,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_capability-command-2"},{"id":"tmux_capability:commands/1","publicId":"tmux_capability:commands/1","qualifiedName":"tmux_capability:commands/1","name":"commands/1","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"commands(Version)\n-spec commands(tmux_version:t()) ->\n {ok, [binary()]} | {error, map()}.","references":[{"start":33,"end":47,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":78,"end":84,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":99,"end":102,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]}],"returns":"{ok, [binary()]} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":6,"end":12,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":27,"end":30,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return sorted canonical command names for an exact catalogued stable version. Tracking and uncatalogued versions return unsupported_command_catalogue. This is pure source discovery; it does not execute list-commands."},"source":{"line":50,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_capability-commands-1"},{"id":"tmux_capability:describe/1","publicId":"tmux_capability:describe/1","qualifiedName":"tmux_capability:describe/1","name":"describe/1","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"describe/1\n-spec describe(feature()) ->\n {ok, feature_info()} | {error, map()}.","references":[{"start":26,"end":33,"target":"t:tmux_capability:feature/0"},{"start":63,"end":75,"target":"t:tmux_capability:feature_info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":89,"end":92,"target":"t:erlang:map/0"}],"params":[{"name":"Feature","type":"feature()","typeReferences":[{"start":0,"end":7,"target":"t:tmux_capability:feature/0"}]}],"returns":"{ok, feature_info()} | {error, map()}","returnsReferences":[{"start":5,"end":17,"target":"t:tmux_capability:feature_info/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a selected native feature's source-derived minimum and sampled profiles. Unknown features return unknown_capability. Performs no I/O; `require/2` applies the minimum to a parsed version."},"source":{"line":99,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_capability-describe-1"},{"id":"tmux_capability:profiles/0","publicId":"tmux_capability:profiles/0","qualifiedName":"tmux_capability:profiles/0","name":"profiles/0","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"profiles()\n-spec profiles() -> [binary()].","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":32,"end":38,"target":"t:erlang:binary/0"}],"params":[],"returns":"[binary()]","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"List the exact source profile names in catalogue order. Performs no I/O."},"source":{"line":42,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_capability-profiles-0"},{"id":"tmux_capability:require/2","publicId":"tmux_capability:require/2","qualifiedName":"tmux_capability:require/2","name":"require/2","namespace":"tmux_capability","parent":"tmux_capability","kind":"function","modifiers":[],"signatures":[{"raw":"require(Version, Feature)\n-spec require(tmux_version:t(), feature()) ->\n ok | {error, map()}.","references":[{"start":40,"end":54,"target":"t:tmux_version:t/0"},{"start":58,"end":65,"target":"t:tmux_capability:feature/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":102,"end":105,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]},{"name":"Feature","type":"feature()","typeReferences":[{"start":0,"end":7,"target":"t:tmux_capability:feature/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Require a native feature's numeric major/minor floor without dispatching I/O. An older version returns unsupported_capability with capability and minimum. Patch letters and tracking markers do not promote an older minor version. Unknown features and malformed parsed versions return distinct errors.","examples":[{"lang":"erlang","code":"1> {ok, V} = tmux_version:parse(<<\"tmux 3.4\">>), ok.\nok\n2> tmux_capability:require(V, send_client_keys).\nok"}]},"source":{"line":122,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_capability-require-2"},{"id":"t:tmux_capability:command_info/0","publicId":"t:tmux_capability:command_info/0","qualifiedName":"tmux_capability:command_info/0","name":"command_info/0","namespace":"tmux_capability","parent":"tmux_capability","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type command_info() ::\n #{alias := binary() | none,\n argument_spec := binary(),\n min_args := non_neg_integer(),\n max_args := non_neg_integer() | none,\n source :=\n #{file := binary(),\n commit := binary(),\n sha256 := binary()}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":45,"end":51,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":91,"end":97,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":125,"end":140,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":168,"end":183,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":242,"end":248,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":280,"end":286,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":318,"end":324,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Native alias, flag declaration and positional bounds, with the exact source file, commit and SHA-256. none means no alias or an unbounded positional upper limit. Additional argument callbacks and runtime checks remain tmux's concern."},"source":{"line":36,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_capability-command_info-0"},{"id":"t:tmux_capability:feature/0","publicId":"t:tmux_capability:feature/0","qualifiedName":"tmux_capability:feature/0","name":"feature/0","namespace":"tmux_capability","parent":"tmux_capability","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type feature() ::\n native_list_filter | send_client_keys |\n key_list_format | layout_json.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Selected native capabilities; these do not introduce new typed command options."},"source":{"line":27,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_capability-feature-0"},{"id":"t:tmux_capability:feature_info/0","publicId":"t:tmux_capability:feature_info/0","qualifiedName":"tmux_capability:feature_info/0","name":"feature_info/0","namespace":"tmux_capability","parent":"tmux_capability","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type feature_info() ::\n #{minimum :=\n {non_neg_integer(), non_neg_integer()},\n commands := [binary()],\n description := binary(),\n versions := [binary()]}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":64,"end":79,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":83,"end":98,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":128,"end":134,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":166,"end":172,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":201,"end":207,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Source-sampled profiles, native commands, description and numeric minimum."},"source":{"line":29,"file":"apps/libtmux_erlang/src/tmux_capability.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_capability-feature_info-0"},{"id":"tmux_command","publicId":"tmux_command","qualifiedName":"tmux_command","name":"tmux_command","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Build tmux commands and bounded sequences without performing I/O.","body":"Arguments remain binary values. Rendering protects trailing semicolons from\ntmux's command separator parser. This is distinct from shell quoting and from\nformat expansion. A raw command is trusted application code; external services\nmust apply their own command allowlist and write policy.\n\nUse `literal_format/1` only for a whole argument that tmux\nexpands as a format, such as a new name or cwd. It does not encode a value\nnested in a format expression. tmux's stored-name escaping and session-name\nsubstitutions still apply. Use `literal_format/2` with mode time\nfor commands such as display-message that also expand strftime percent\ndirectives. This protects one format-expansion pass, not later visual style\nrendering or recursive/nested expansion. No renderer reverses stored-name\nsemantics.\n\n`launch/1` distinguishes executable argv from an explicitly\nrequested shell command. A singleton argv uses the installed helper's\nexec-only mode because tmux otherwise passes one argument to its default\nshell. Empty argv is invalid; default_shell explicitly requests tmux's\nconfigured default command/shell. The internal helper uses an absolute path so\na child's cwd does not change helper resolution. Relative executable arguments\nretain their native meaning.\n\nEmpty shell commands have command-specific lifetime. split-window creates a\nprocess-free pane. new-session executes an empty shell command and can remove\nthe new object immediately. new-window does likewise before tmux 3.8; tmux 3.8\ncreates a process-free pane. Use a persistent job for parent sessions/windows\nthat must remain available across supported versions.\n\nSubmit commands through `tmux_server:command/3` or `tmux_operation:start/3`.\n`sequence/1` combines flat command values for one-shot execution with combined\noutput and a possible completed prefix on error.\nThe [job guide](jobs.md) shows submission, completion and cancellation.\n`tmux_session:rename_command/2` and `tmux_pane:resize_command/2` build values\nbound to their row's captured origin. Execution through another endpoint\nreturns different_owner before native work. Construction does not validate\nendpoint liveness or authorize an automatic mutation retry.\n\n`wait_for/2` builds native channel signals, waits and advisory locks.\n`source_file/2` builds configuration loading from stdin or a literal absolute\npath. Both return command values without opening an endpoint or doing I/O.\n`to_config/1` renders a command or bounded command list for native\nconfiguration input, preserving argument bytes through tmux's lexer.","examples":[{"lang":"erlang","code":"1> {ok, C} = tmux_command:raw(<<\"list-panes\">>, [<<\"-a\">>]), ok.\nok\n2> tmux_command:argv(C).\n[<<\"list-panes\">>,<<\"-a\">>]\n3> tmux_command:literal_format(<<\"api-#{pane_id}\">>).\n{ok,<<\"api-##{pane_id}\">>}\n4> tmux_command:launch(#{argv => [<<\"/bin/printf\">>, <<\"hello\">>]}).\n{ok,[<<\"/bin/printf\">>,<<\"hello\">>]}"}]},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command"},{"id":"tmux_command:argv/1","publicId":"tmux_command:argv/1","qualifiedName":"tmux_command:argv/1","name":"argv/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"argv(Command)\n-spec argv(t()) -> [binary()].","references":[{"start":25,"end":26,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":34,"end":40,"target":"t:erlang:binary/0"}],"params":[{"name":"Command","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_command:t/0"}]}],"returns":"[binary()]","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Render a validated command into executable argv, protecting trailing tmux separators. Performs no I/O and raises for an invalid command value."},"source":{"line":299,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-argv-1"},{"id":"tmux_command:launch/1","publicId":"tmux_command:launch/1","qualifiedName":"tmux_command:launch/1","name":"launch/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"launch/1\n-spec launch(launch_spec()) ->\n {ok, [binary()]} | {error, map()}.","references":[{"start":22,"end":33,"target":"t:tmux_command:launch_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":62,"end":68,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":83,"end":86,"target":"t:erlang:map/0"}],"params":[{"name":"Argument1","type":"launch_spec()","typeReferences":[{"start":0,"end":11,"target":"t:tmux_command:launch_spec/0"}]}],"returns":"{ok, [binary()]} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":6,"end":12,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":27,"end":30,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Render explicit executable argv, an explicitly requested shell command, or default_shell. Singleton argv uses the installed helper's exec-only mode to avoid tmux interpreting it as shell syntax. Performs no I/O."},"source":{"line":448,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-launch-1"},{"id":"tmux_command:literal_format/1","publicId":"tmux_command:literal_format/1","qualifiedName":"tmux_command:literal_format/1","name":"literal_format/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"literal_format(Value)\n-spec literal_format(binary()) ->\n {ok, binary()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":43,"end":49,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":85,"end":91,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":105,"end":108,"target":"t:erlang:map/0"}],"params":[{"name":"Value","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Quote a complete literal argument for tmux format expansion. This does not encode operands nested inside another format expression. Performs no I/O."},"source":{"line":389,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-literal_format-1"},{"id":"tmux_command:literal_format/2","publicId":"tmux_command:literal_format/2","qualifiedName":"tmux_command:literal_format/2","name":"literal_format/2","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"literal_format/2\n-spec literal_format(binary(), tmux | time) ->\n {ok, binary()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":38,"end":44,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":93,"end":99,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":113,"end":116,"target":"t:erlang:map/0"}],"params":[{"name":"Value","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Mode","type":"tmux | time","typeReferences":[]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Quote a complete literal format argument. Mode tmux protects hash expansion; mode time also protects strftime percent directives. Stored-name semantics remain tmux's own. This handles one expansion pass, not a nested operand, recursive expansion or later visual style rendering. Performs no I/O.","body":"Hash runs before `[` stay unchanged because tmux preserves style-looking\nprefixes for a separate drawing step. Other hashes are doubled. In time mode,\nan argument containing percent bytes must fit tmux's 8191-byte strftime result\nlimit after hash encoding and before percent doubling; larger values return\n`format_limit` with `time_bytes` and `max_bytes`. Arguments without percent\nbytes skip that native time-expansion limit. The encoded 32 KiB command limit\nstill applies in either mode."},"source":{"line":407,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-literal_format-2"},{"id":"tmux_command:raw/2","publicId":"tmux_command:raw/2","qualifiedName":"tmux_command:raw/2","name":"raw/2","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"raw(Name, Arguments)\n-spec raw(binary(), [binary()]) ->\n {ok, t()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":31,"end":37,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":42,"end":48,"target":"t:erlang:binary/0"},{"start":74,"end":75,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":89,"end":92,"target":"t:erlang:map/0"}],"params":[{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Arguments","type":"[binary()]","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:binary/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate one trusted command name and binary argv, without I/O. The renderer protects tmux separators; it does not provide shell or nested-format quoting. External services still need their own allowlists and write policy. Names are at most 128 bytes. NUL bytes are rejected, and at most 2,040 arguments fit within a 32 KiB command reservation including framing overhead."},"source":{"line":100,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-raw-2"},{"id":"tmux_command:sequence/1","publicId":"tmux_command:sequence/1","qualifiedName":"tmux_command:sequence/1","name":"sequence/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"sequence/1\n-spec sequence([t(), ...]) -> {ok, t()} | {error, map()}.","references":[{"start":27,"end":28,"target":"t:tmux_command:t/0"},{"start":46,"end":47,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":61,"end":64,"target":"t:erlang:map/0"}],"params":[{"name":"Commands","type":"[t(), ...]","typeReferences":[{"start":1,"end":2,"target":"t:tmux_command:t/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build one bounded native command sequence without I/O. Members must be a nonempty flat list of at most 256 command values. Their combined executable argv is limited to 2041 words and 32 KiB including separator overhead. Arguments keep the literal separator protection of `raw/2`; only boundaries between members become native command separators in `argv/1`.","body":"Captured members must share an endpoint origin. That origin also binds the\nsequence; raw members use the caller's explicitly selected endpoint. Submit\nthrough `tmux_server:command/3` or `tmux_operation:start/3`.\n\nExecution is not atomic. A failed member can leave a completed prefix, and\ncommands can wait or interleave with other work. The one-shot result contains\ncombined bounded stdout/stderr and native exit status, without per-member\ncompletion attribution or rollback. Control-mode eligibility is separate.\n`to_config/1` can serialize a sequence with the same origin-loss policy as\nother configuration text."},"source":{"line":129,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-sequence-1"},{"id":"tmux_command:source_file/2","publicId":"tmux_command:source_file/2","qualifiedName":"tmux_command:source_file/2","name":"source_file/2","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"source_file(Source, Options)\n-spec source_file(source(), source_options()) ->\n {ok, t()} | {error, map()}.","references":[{"start":47,"end":53,"target":"t:tmux_command:source/0"},{"start":57,"end":71,"target":"t:tmux_command:source_options/0"},{"start":104,"end":105,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":119,"end":122,"target":"t:erlang:map/0"}],"params":[{"name":"Source","type":"source()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_command:source/0"}]},{"name":"Options","type":"source_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:source_options/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build configuration loading from stdin or one literal absolute path, without I/O. `stdin` renders `source-file -`; supply configuration bytes in the `stdin` option of `tmux_server:command/3` or `tmux_operation:start/3`. Those APIs bound input to 256 KiB including their argument reservation.","body":"Paths are NUL-free POSIX byte binaries. Glob metacharacters and backslashes\nare escaped so only that filename is selected; format expansion is disabled.\nThe combined encoded path and flags must fit `raw/2` limits. The file is read\nby tmux at execution time; this builder does not open it or bound its size.\n\n`parse_only` requests native `-n` parsing without executing the configuration's\ncommand list. `quiet` requests native `-q` missing-file suppression; it does\nnot suppress syntax or execution errors. Both default to false. Configuration\nis trusted tmux code, with its own variable, directive and command semantics.\nParse-only is not a sandbox. Execution can partially change server state before\nan error; cancellation cannot undo those effects. Completion does not prove\nthat background jobs launched by the configuration have finished.","examples":[{"lang":"erlang","code":"1> {ok, Source} = tmux_command:source_file(stdin, #{parse_only => true}), ok.\nok\n2> tmux_command:argv(Source).\n[<<\"source-file\">>,<<\"-n\">>,<<\"--\">>,<<\"-\">>]"}]},"source":{"line":228,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-source_file-2"},{"id":"tmux_command:to_config/1","publicId":"tmux_command:to_config/1","qualifiedName":"tmux_command:to_config/1","name":"to_config/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"to_config/1\n-spec to_config(t() | [t(), ...]) ->\n {ok, binary()} | {error, map()}.","references":[{"start":28,"end":29,"target":"t:tmux_command:t/0"},{"start":35,"end":36,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":73,"end":79,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":93,"end":96,"target":"t:erlang:map/0"}],"params":[{"name":"Argument1","type":"t() | [t(), ...]","typeReferences":[{"start":0,"end":1,"target":"t:tmux_command:t/0"},{"start":7,"end":8,"target":"t:tmux_command:t/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Render validated commands as native configuration text, without I/O. Accepts one command, a `sequence/1` value, or a nonempty flat list of at most 256 commands. Returns an ASCII binary of at most 32 KiB, without a final newline. Validation uses `validate/1`; escaping growth, command count and aggregate size can return `command_limit`. Lists use native command separators between independently quoted commands. Rendering does not execute them or provide atomic execution or rollback. The text carries no origin token; executing serialized configuration requires the caller to choose and validate its destination explicitly.","body":"Each argument is doublequoted. Quote, backslash, dollar, tilde, control and\nnon-ASCII bytes use three-digit octal escapes. Empty arguments, semicolons,\nnewlines and non-UTF-8 byte values remain argument data. The lexer does not\nexpand their variables or tilde prefixes, strip newline indentation, or\ninterpret them as directives, comments or additional commands.\n\nProtection covers one lexer pass. Native command-string arguments, including\n`bind-key` and `set-hook` values, can be parsed again by the receiving command.\nRender each inner command string separately for its own parse boundary.\n\nThis is tmux configuration syntax, separate from `argv/1` executable arguments\nand shell quoting. Native commands still interpret their values and expand\nformats as usual; `literal_format/2` handles that separate boundary when\nliteral format values are required. Load the text explicitly with\n`source_file/2`, or store it through a native command that accepts configuration\ntext. The [configuration guide](configuration.md) uses this renderer with\nexplicit execution and completion signals."},"source":{"line":340,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-to_config-1"},{"id":"tmux_command:validate/1","publicId":"tmux_command:validate/1","qualifiedName":"tmux_command:validate/1","name":"validate/1","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"validate/1\n-spec validate(term()) -> {ok, t()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":26,"end":30,"target":"t:erlang:term/0"},{"start":42,"end":43,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":57,"end":60,"target":"t:erlang:map/0"}],"params":[{"name":"Argument1","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Revalidate a command value at a submission boundary. Returns a compact validated command or a tagged shape/argument/resource error, without I/O."},"source":{"line":252,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-validate-1"},{"id":"tmux_command:wait_for/2","publicId":"tmux_command:wait_for/2","qualifiedName":"tmux_command:wait_for/2","name":"wait_for/2","namespace":"tmux_command","parent":"tmux_command","kind":"function","modifiers":[],"signatures":[{"raw":"wait_for(Channel, Action)\n-spec wait_for(binary(), wait_action()) ->\n {ok, t()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":41,"end":47,"target":"t:erlang:binary/0"},{"start":51,"end":62,"target":"t:tmux_command:wait_action/0"},{"start":92,"end":93,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":107,"end":110,"target":"t:erlang:map/0"}],"params":[{"name":"Channel","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Action","type":"wait_action()","typeReferences":[{"start":0,"end":11,"target":"t:tmux_command:wait_action/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build a native `wait-for` command without I/O. Channels are nonempty NUL-free binary names, subject to the command reservation in `raw/2`; neither shell nor format expansion occurs. Submit through `tmux_operation:start/3` for a wait that leaves the caller free, or through `tmux_server:command/3` to await it.","body":"`signal` wakes current waiters. On an unlocked channel with no waiters or\npending wakeup, it retains one wakeup for a later wait. Signaling that channel\nagain before a wait can clear the pending state. Signals are neither counted\nnor reliably coalesced events; send once per expected wait. Channel names are\nshared by all clients of the server. Use separate names for signaling and\nlocking. `lock` acquires an advisory channel lock or waits\nfor an explicit `unlock`; a completed command client's exit does not release\nits acquired lock. Unlocking an unlocked channel is a native command error.\n\nCancellation retires the library client. It does not undo a signal or release\na lock that may already have been acquired; an uncertain lock outcome needs\napplication coordination before another unlock. This is not an owned mutex.","examples":[{"lang":"erlang","code":"1> {ok, Signal} = tmux_command:wait_for(<<\"build-ready\">>, signal), ok.\nok\n2> tmux_command:argv(Signal).\n[<<\"wait-for\">>,<<\"-S\">>,<<\"--\">>,<<\"build-ready\">>]"}]},"source":{"line":188,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_command-wait_for-2"},{"id":"t:tmux_command:launch_spec/0","publicId":"t:tmux_command:launch_spec/0","qualifiedName":"tmux_command:launch_spec/0","name":"launch_spec/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type launch_spec() ::\n default_shell |\n #{argv := [binary(), ...]} |\n #{shell := binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":70,"end":76,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":109,"end":115,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Explicit executable argv, an explicitly requested shell command, or tmux's configured default shell."},"source":{"line":74,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_command-launch_spec-0"},{"id":"t:tmux_command:respawn_spec/0","publicId":"t:tmux_command:respawn_spec/0","qualifiedName":"tmux_command:respawn_spec/0","name":"respawn_spec/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type respawn_spec() ::\n previous |\n #{argv := [binary(), ...]} |\n #{shell := binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":66,"end":72,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":105,"end":111,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Reuse tmux's saved command/shell, or replace it with argv or a shell command. Used by `tmux_pane:respawn/2` and `tmux_window:respawn/2`."},"source":{"line":81,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_command-respawn_spec-0"},{"id":"t:tmux_command:source/0","publicId":"t:tmux_command:source/0","qualifiedName":"tmux_command:source/0","name":"source/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type source() :: stdin | binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":26,"end":32,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Standard input, or one literal absolute POSIX byte path with no NUL."},"source":{"line":68,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_command-source-0"},{"id":"t:tmux_command:source_options/0","publicId":"t:tmux_command:source_options/0","qualifiedName":"tmux_command:source_options/0","name":"source_options/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type source_options() ::\n #{parse_only => boolean(), quiet => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":52,"end":59,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":72,"end":79,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Native parse-only and quiet-missing-file flags; both default to false."},"source":{"line":70,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_command-source_options-0"},{"id":"t:tmux_command:t/0","publicId":"t:tmux_command:t/0","qualifiedName":"tmux_command:t/0","name":"t/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated command or flat sequence. Rendering and execution remain separate. Domain builders retain a captured endpoint origin; raw values are unbound."},"source":{"line":87,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_command-t-0"},{"id":"t:tmux_command:wait_action/0","publicId":"t:tmux_command:wait_action/0","qualifiedName":"tmux_command:wait_action/0","name":"wait_action/0","namespace":"tmux_command","parent":"tmux_command","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type wait_action() :: wait | signal | lock | unlock.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Native wait channel action. lock/unlock are explicit advisory operations, not owned leases."},"source":{"line":66,"file":"apps/libtmux_erlang/src/tmux_command.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_command-wait_action-0"},{"id":"tmux_control","publicId":"tmux_control","qualifiedName":"tmux_control","name":"tmux_control","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Own an explicit persistent tmux control attachment.","body":"`attach/3` attaches to an existing session from `m:tmux_server` and verifies\nthe daemon identity on that connection. The caller owns its lifetime.\nAttachment changes the session's attached-client count. The command client\nuses no-output and ignore-size; -E skips attachment's environment update.\nThe library issues no session-option writes or session-creation commands.\nConfigured hooks and native lifetime policies can still change state,\nincluding on failed attach or detachment. Those effects are not rolled back.\nCommand submission and terminal streaming are not yet exposed.\n\nUse `close/1` before closing the parent endpoint. Parent closing, invalidation\nor caller death requests retirement, but parent close alone does not prove\nthis client's exit. Control close and `status/1` report its native cleanup.\nNeither detachment nor cancellation reverses remote effects. Application\nshutdown alone is not a verified cleanup result."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_control"},{"id":"tmux_control:attach/3","publicId":"tmux_control:attach/3","qualifiedName":"tmux_control:attach/3","name":"attach/3","namespace":"tmux_control","parent":"tmux_control","kind":"function","modifiers":[],"signatures":[{"raw":"attach(Server, Session, Options)\n-spec attach(tmux_server:t(),\n tmux_model:session(),\n attach_options()) ->\n {ok, t()} | {error, map()}.","references":[{"start":46,"end":59,"target":"t:tmux_server:t/0"},{"start":76,"end":94,"target":"t:tmux_model:session/0"},{"start":111,"end":125,"target":"t:tmux_control:attach_options/0"},{"start":153,"end":154,"target":"t:tmux_control:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":168,"end":171,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"attach_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_control:attach_options/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_control:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Attach to an existing captured session from this exact endpoint origin. Performs I/O and waits for a same-connection identity probe. Uses attach-session with -E rather than creating a session or writing options. Configured hooks may change state; failure does not reverse their effects. The control client affects attached_count. Unexpected hook-generated reply blocks fail attachment and retire the client.","body":"An attachment timeout requests cleanup. If cleanup cannot be proved within\nits finite deadline, the error includes a control handle for `close/1` recovery.\nThe supervised owner remains until native retirement. Close explicitly to\nobserve cleanup, including when the parent endpoint is already closed."},"source":{"line":55,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_control-attach-3"},{"id":"tmux_control:close/1","publicId":"tmux_control:close/1","qualifiedName":"tmux_control:close/1","name":"close/1","namespace":"tmux_control","parent":"tmux_control","kind":"function","modifiers":[],"signatures":[{"raw":"close(Control)\n-spec close(t()) -> ok | {error, map()}.","references":[{"start":27,"end":28,"target":"t:tmux_control:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":48,"end":51,"target":"t:erlang:map/0"}],"params":[{"name":"Control","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_control:t/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Retire this control client and its helper without issuing session or daemon destruction commands. Native lifetime policies and detachment hooks may still change state; cleanup does not reverse their effects. Returns ok only after actual retirement. A finite cleanup failure leaves a supervised owner for retry and observation. Successful close is idempotent during the 60-second handle retention period."},"source":{"line":89,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_control-close-1"},{"id":"tmux_control:status/1","publicId":"tmux_control:status/1","qualifiedName":"tmux_control:status/1","name":"status/1","namespace":"tmux_control","parent":"tmux_control","kind":"function","modifiers":[],"signatures":[{"raw":"status(Control)\n-spec status(t()) -> {ok, state()} | {error, map()}.","references":[{"start":29,"end":30,"target":"t:tmux_control:t/0"},{"start":42,"end":47,"target":"t:tmux_control:state/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":61,"end":64,"target":"t:erlang:map/0"}],"params":[{"name":"Control","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_control:t/0"}]}],"returns":"{ok, state()} | {error, map()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_control:state/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":24,"end":27,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read retained connection state without a tmux command. Inspect cleanup rather than inferring native exit from the Erlang owner's lifecycle. Closed handles expire after 60 seconds and then return control_expired."},"source":{"line":97,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_control-status-1"},{"id":"t:tmux_control:attach_options/0","publicId":"t:tmux_control:attach_options/0","qualifiedName":"tmux_control:attach_options/0","name":"attach_options/0","namespace":"tmux_control","parent":"tmux_control","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type attach_options() ::\n #{startup_timeout_ms => 1..600000}.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Finite attachment budget, including parent registration, exec and identity. Defaults to 2500 ms."},"source":{"line":29,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_control-attach_options-0"},{"id":"t:tmux_control:state/0","publicId":"t:tmux_control:state/0","qualifiedName":"tmux_control:state/0","name":"state/0","namespace":"tmux_control","parent":"tmux_control","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type state() ::\n #{phase := attaching | open | closing | closed,\n generation := reference(),\n owner := pid(),\n identity := unverified | same_connection,\n cleanup := pending | incomplete | complete,\n child_pid := none | pos_integer(),\n helper_pid := none | pos_integer(),\n cause := none | atom()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":101,"end":110,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":135,"end":138,"target":"t:erlang:pid/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":284,"end":295,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":332,"end":343,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":375,"end":379,"target":"t:erlang:atom/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Connection state, separate from command completion. complete proves native client/helper retirement; pending and incomplete do not. Retained PIDs are diagnostic observations, never permission to signal a process."},"source":{"line":35,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_control-state-0"},{"id":"t:tmux_control:t/0","publicId":"t:tmux_control:t/0","qualifiedName":"tmux_control:t/0","name":"t/0","namespace":"tmux_control","parent":"tmux_control","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A generation-bound connection handle. Passing it does not transfer lifetime ownership."},"source":{"line":27,"file":"apps/libtmux_erlang/src/tmux_control.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_control-t-0"},{"id":"tmux_error","publicId":"tmux_error","qualifiedName":"tmux_error","name":"tmux_error","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Explain library exceptions through Erlang's native error formatter.","body":"The shell and `erl_error:format_exception/3` call `format_error/2` through\nEEP-54 stack metadata. Explanations supplement the original exception reason;\ntagged results from `tmux_filter:new/2` and `tmux_select:try_where/2` retain\ntheir existing structured data. Formatting performs no tmux I/O.\n\nOnly library-raised errors carry this metadata. Application callback failures\nretain their original class, reason and stack. Coverage errors describe missing\nobservations; formatting never loads those observations or retries an action.\nLong detail values may be abbreviated in the explanation. The exception reason\nretains the original error data. See [runtime diagnostics](diagnostics.md) for\nthe separate, bounded Logger report contract."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_error.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_error"},{"id":"tmux_error:format_error/2","publicId":"tmux_error:format_error/2","qualifiedName":"tmux_error:format_error/2","name":"format_error/2","namespace":"tmux_error","parent":"tmux_error","kind":"function","modifiers":[],"signatures":[{"raw":"format_error/2\n-spec format_error(term(), erlang:stacktrace()) ->\n #{general => unicode:chardata()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":34,"end":38,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":42,"end":59,"target":"t:erlang:stacktrace/0"},{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/unicode.html#t:chardata/0","project":"Erlang/OTP"},"start":101,"end":117,"target":"t:unicode:chardata/0"}],"params":[{"name":"Argument1","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]},{"name":"Argument2","type":"erlang:stacktrace()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":0,"end":17,"target":"t:erlang:stacktrace/0"}]}],"returns":"#{general => unicode:chardata()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/unicode.html#t:chardata/0","project":"Erlang/OTP"},"start":13,"end":29,"target":"t:unicode:chardata/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return supplemental native error text, or an empty map for an unknown reason.","body":"This is the `c:erl_error:format_error/2` callback. It neither changes the\nexception nor catches it on behalf of a caller.","examples":[{"lang":"erlang","code":"1> #{general := Text} = tmux_error:format_error({bad_query_limit, -1}, []), ok.\nok\n2> unicode:characters_to_binary(Text).\n<<\"The query limit must be an integer from 0 through 65536.\">>"}]},"source":{"line":34,"file":"apps/libtmux_erlang/src/tmux_error.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_error-format_error-2"},{"id":"tmux_filter","publicId":"tmux_filter","qualifiedName":"tmux_filter","name":"tmux_filter","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Construct portable conditions and prepare them against captured values.","body":"Local criteria use atom keys, binary text and schema-typed values. Fields and\noperators conjoin. Boolean branches use 'and', 'or' and 'not'; relationships\nuse some/every/none/count or is/is_not. Validation examines the entire input\nbefore evaluation. No function here performs tmux I/O. Use portable filters\nwith `tmux_select:where/2` or `tmux_query:where/2`; the [query\nguide](querying.md) explains their different execution boundaries.\n\nWire version 1 uses generated camelCase field names, snake_case operators,\nJSON null for known absence and {\"base64\": \"...\"} for byte operands. Byte\nvalues never become text implicitly. Regex uses the restricted ASCII\nportable_v1 dialect, absolute anchors and no flags. Preparation compiles each\npattern once. Non-ASCII subjects and exhausted match limits return errors.\n\nBoth input criteria and their normalized wire document must fit the grammar,\ndepth and byte limits. Resource errors can refer to the canonical wire path.","examples":[{"lang":"erlang","code":"1> Fields = #{id => <<\"%1\">>, current_command => <<\"vim\">>}, ok.\nok\n2> {ok, P} = tmux_model:pane(Fields), S = tmux_select:from_list(pane, [P]), ok.\nok\n3> R = #{pattern => <<\"^(vim|nvim)$\">>, dialect => portable_v1}, ok.\nok\n4> tmux_select:size(tmux_select:where(#{current_command => #{regex => R}}, S)).\n1"}]},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter"},{"id":"tmux_filter:decode_json/1","publicId":"tmux_filter:decode_json/1","qualifiedName":"tmux_filter:decode_json/1","name":"decode_json/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"decode_json(Binary)\n-spec decode_json(binary()) ->\n {ok, json:decode_value()} |\n {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":38,"end":44,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:decode_value/0","project":"Erlang/OTP"},"start":77,"end":94,"target":"t:json:decode_value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":129,"end":132,"target":"t:erlang:map/0"}],"params":[{"name":"Binary","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, json:decode_value()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:decode_value/0","project":"Erlang/OTP"},"start":5,"end":22,"target":"t:json:decode_value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":36,"end":39,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Decode bounded external JSON with duplicate-key, trailing-input and depth checks. Returns tagged errors with input paths. Parsing does not execute tmux or choose application modules."},"source":{"line":135,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-decode_json-1"},{"id":"tmux_filter:entity/1","publicId":"tmux_filter:entity/1","qualifiedName":"tmux_filter:entity/1","name":"entity/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"entity/1\n-spec entity(t()) -> tmux_schema:entity().","references":[{"start":22,"end":23,"target":"t:tmux_filter:t/0"},{"start":30,"end":48,"target":"t:tmux_schema:entity/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]}],"returns":"tmux_schema:entity()","returnsReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the schema entity this portable filter accepts, without I/O."},"source":{"line":141,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-entity-1"},{"id":"tmux_filter:from_wire/2","publicId":"tmux_filter:from_wire/2","qualifiedName":"tmux_filter:from_wire/2","name":"from_wire/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"from_wire(Entity, Document)\n-spec from_wire(tmux_schema:entity(), term()) ->\n {ok, t()} | {error, map()}.","references":[{"start":44,"end":62,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":66,"end":70,"target":"t:erlang:term/0"},{"start":101,"end":102,"target":"t:tmux_filter:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":116,"end":119,"target":"t:erlang:map/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Document","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_filter:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate a versioned filter document using generated wire-name allowlists. Rejects unknown fields, operators, wrong entity/version and resource limits. No payload key becomes an atom; this does not execute a query."},"source":{"line":99,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-from_wire-2"},{"id":"tmux_filter:matches/2","publicId":"tmux_filter:matches/2","qualifiedName":"tmux_filter:matches/2","name":"matches/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"matches(Prepared, Row)\n-spec matches(prepared(), tmux_model:row()) ->\n {ok, boolean()} | {error, map()}.","references":[{"start":37,"end":45,"target":"t:tmux_filter:prepared/0"},{"start":49,"end":63,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":92,"end":99,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":113,"end":116,"target":"t:erlang:map/0"}],"params":[{"name":"Prepared","type":"prepared()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_filter:prepared/0"}]},{"name":"Row","type":"tmux_model:row()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_model:row/0"}]}],"returns":"{ok, boolean()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":5,"end":12,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":26,"end":29,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Evaluate an unmodified captured row against a prepared filter. Returns a Boolean result or tagged context/regex resource error. It performs no tmux I/O and never converts evaluation failure into a nonmatch."},"source":{"line":223,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-matches-2"},{"id":"tmux_filter:new/2","publicId":"tmux_filter:new/2","qualifiedName":"tmux_filter:new/2","name":"new/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"new/2\n-spec new(tmux_schema:entity(), map() | t()) ->\n {ok, t()} | {error, map()}.","references":[{"start":16,"end":34,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":38,"end":41,"target":"t:erlang:map/0"},{"start":46,"end":47,"target":"t:tmux_filter:t/0"},{"start":72,"end":73,"target":"t:tmux_filter:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":87,"end":90,"target":"t:erlang:map/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Filter","type":"map() | t()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"},{"start":8,"end":9,"target":"t:tmux_filter:t/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_filter:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate criteria or reuse an already normalized filter for the same entity.","examples":[{"lang":"erlang","code":"1> {ok, F} = tmux_filter:new(pane, #{width => #{gte => 120.0}}), ok.\nok\n2> tmux_filter:new(pane, F) =:= {ok, F}.\ntrue\n3> tmux_filter:new(pane, #{active => #{contains => <<\"yes\">>}}).\n{error,#{code => unsupported_operator,path => [active,contains],allowed => [equals,'not',in,not_in]}}"}]},"source":{"line":75,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-new-2"},{"id":"tmux_filter:new_or_error/2","publicId":"tmux_filter:new_or_error/2","qualifiedName":"tmux_filter:new_or_error/2","name":"new_or_error/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"new_or_error(Entity, Criteria)\n-spec new_or_error(tmux_schema:entity(), map() | t()) ->\n t().","references":[{"start":50,"end":68,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":72,"end":75,"target":"t:erlang:map/0"},{"start":80,"end":81,"target":"t:tmux_filter:t/0"},{"start":110,"end":111,"target":"t:tmux_filter:t/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Criteria","type":"map() | t()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"},{"start":8,"end":9,"target":"t:tmux_filter:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a normalized portable filter, raising bad_filter on malformed trusted criteria. Performs no tmux I/O. External input should use `new/2` or `from_wire/2` for tagged validation errors."},"source":{"line":86,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-new_or_error-2"},{"id":"tmux_filter:predicate/1","publicId":"tmux_filter:predicate/1","qualifiedName":"tmux_filter:predicate/1","name":"predicate/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"predicate(Prepared)\n-spec predicate(prepared()) ->\n fun((tmux_model:row()) -> boolean()).","references":[{"start":36,"end":44,"target":"t:tmux_filter:prepared/0"},{"start":75,"end":89,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":96,"end":103,"target":"t:erlang:boolean/0"}],"params":[{"name":"Prepared","type":"prepared()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_filter:prepared/0"}]}],"returns":"fun((tmux_model:row()) -> boolean())","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":26,"end":33,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a Boolean function bound to the prepared observation context.","body":"Rows outside that context raise {prepared_context_mismatch, Detail}. Regex\nevaluation errors raise {filter_evaluation_failed, Detail}. Use `matches/2`\nfor tagged errors. This does not run callbacks."},"source":{"line":205,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-predicate-1"},{"id":"tmux_filter:prepare/2","publicId":"tmux_filter:prepare/2","qualifiedName":"tmux_filter:prepare/2","name":"prepare/2","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"prepare/2\n-spec prepare(t(), tmux_snapshot:t()) ->\n {ok, prepared()} | {error, map()}.","references":[{"start":24,"end":25,"target":"t:tmux_filter:t/0"},{"start":29,"end":44,"target":"t:tmux_snapshot:t/0"},{"start":73,"end":81,"target":"t:tmux_filter:prepared/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":95,"end":98,"target":"t:erlang:map/0"}],"params":[{"name":"Filter","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]},{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"{ok, prepared()} | {error, map()}","returnsReferences":[{"start":5,"end":13,"target":"t:tmux_filter:prepared/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":27,"end":30,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Bind a filter to one snapshot and check all required coverage first.","body":"The prepared value can match only unmodified rows captured in that snapshot.\nIt remains usable after the endpoint closes. It cannot refresh observations.","examples":[{"lang":"erlang","code":"1> {ok, F} = tmux_filter:new(pane, #{width => #{gte => 80}}), ok.\nok\n2> tmux_filter:requirements(F).\n[{collection,pane},{field,pane,width}]"}]},"source":{"line":178,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-prepare-2"},{"id":"tmux_filter:requirements/1","publicId":"tmux_filter:requirements/1","qualifiedName":"tmux_filter:requirements/1","name":"requirements/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"requirements/1\n-spec requirements(t()) -> [tmux_snapshot:requirement()].","references":[{"start":34,"end":35,"target":"t:tmux_filter:t/0"},{"start":43,"end":68,"target":"t:tmux_snapshot:requirement/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]}],"returns":"[tmux_snapshot:requirement()]","returnsReferences":[{"start":1,"end":26,"target":"t:tmux_snapshot:requirement/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Derive every field and complete relationship needed for faithful evaluation. The complete requirement set is checked before short-circuiting any row."},"source":{"line":161,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-requirements-1"},{"id":"tmux_filter:to_wire/1","publicId":"tmux_filter:to_wire/1","qualifiedName":"tmux_filter:to_wire/1","name":"to_wire/1","namespace":"tmux_filter","parent":"tmux_filter","kind":"function","modifiers":[],"signatures":[{"raw":"to_wire/1\n-spec to_wire(t()) -> wire_document().","references":[{"start":24,"end":25,"target":"t:tmux_filter:t/0"},{"start":32,"end":45,"target":"t:tmux_filter:wire_document/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_filter:t/0"}]}],"returns":"wire_document()","returnsReferences":[{"start":0,"end":13,"target":"t:tmux_filter:wire_document/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Export versioned JSON-compatible predicate data with generated wire names. Byte operands use base64 objects and known absence uses JSON null. Functions, compiled regexes and native record internals never enter this representation."},"source":{"line":125,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_filter-to_wire-1"},{"id":"t:tmux_filter:expr/0","publicId":"t:tmux_filter:expr/0","qualifiedName":"tmux_filter:expr/0","name":"expr/0","namespace":"tmux_filter","parent":"tmux_filter","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type expr() ::\n {all | any, [expr()]} |\n {negate, expr()} |\n {field, binary(), atom(), term()} |\n {relation, binary(), atom(), expr()} |\n {count, binary(), [{atom(), term()}]}.","params":[],"references":[{"start":39,"end":43,"target":"t:tmux_filter:expr/0"},{"start":69,"end":73,"target":"t:tmux_filter:expr/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":97,"end":103,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":107,"end":111,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":115,"end":119,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":146,"end":152,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":156,"end":160,"target":"t:erlang:atom/0"},{"start":164,"end":168,"target":"t:tmux_filter:expr/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":192,"end":198,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":204,"end":208,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":212,"end":216,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Normalized data expressions with stable field IDs, used by internal planners; not the wire grammar."},"source":{"line":42,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_filter-expr-0"},{"id":"t:tmux_filter:prepared/0","publicId":"t:tmux_filter:prepared/0","qualifiedName":"tmux_filter:prepared/0","name":"prepared/0","namespace":"tmux_filter","parent":"tmux_filter","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque prepared().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A cached evaluator bound to one captured observation and schema context."},"source":{"line":49,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_filter-prepared-0"},{"id":"t:tmux_filter:t/0","publicId":"t:tmux_filter:t/0","qualifiedName":"tmux_filter:t/0","name":"t/0","namespace":"tmux_filter","parent":"tmux_filter","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Portable normalized predicate data for one schema entity; contains no executable state."},"source":{"line":40,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_filter-t-0"},{"id":"t:tmux_filter:wire_document/0","publicId":"t:tmux_filter:wire_document/0","qualifiedName":"tmux_filter:wire_document/0","name":"wire_document/0","namespace":"tmux_filter","parent":"tmux_filter","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type wire_document() :: #{binary() => json:encode_value()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:encode_value/0","project":"Erlang/OTP"},"start":39,"end":56,"target":"t:json:encode_value/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Version-one JSON-compatible filter envelope with binary keys version, entity and where. entity is the generated wire entity name; where contains Boolean, field and relationship conditions. Version is the integer 1. Keys and operators still require `from_wire/2` validation; the typespec alone does not authorize arbitrary fields or unbounded external input."},"source":{"line":57,"file":"apps/libtmux_erlang/src/tmux_filter.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_filter-wire_document-0"},{"id":"tmux_hook","publicId":"tmux_hook","qualifiedName":"tmux_hook","name":"tmux_hook","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Store builtin hook commands and run them in an explicit observed context.","body":"`set/3` replaces one indexed entry. `append/3` uses tmux's first vacant index;\n`clear/2` leaves an empty local array and `unset/2` restores inheritance.\n`get/3` reads local values unless inheritance is requested. Commands are\n`t:tmux_command:t/0` values, rendered by `tmux_command:to_config/1` before tmux\nparses and stores them. A successful write confirms registration, while later\nhook effects need their own completion evidence.\n\nTable scope and execution context are separate. `run/2` selects a session,\nchecked window link or checked pane/link pair. Physical windows can belong to\nseveral sessions; a link preserves the chosen session and index. Preflight and\ndispatch are separate observations, with no atomic compare-and-act guarantee.\nKnown restarts and closed owners invalidate references. Captured rows never\nrefresh during these actions.\n\nNames and table scopes use the exact source-derived version catalogue from\n`tmux_option:catalogue/1`. User options, prefixes and aliases are rejected.\nThe native custom-event and monitor interfaces are outside this API. Deliberate\nraw integration remains available through `tmux_command:raw/2`. Calls perform\nI/O after validation and never retry uncertain mutations. The\n[hook guide](hooks.md) demonstrates registration and an effect acknowledgement."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_hook"},{"id":"tmux_hook:append/3","publicId":"tmux_hook:append/3","qualifiedName":"tmux_hook:append/3","name":"append/3","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"append(Scope, Name0, Commands)\n-spec append(scope(), binary(), commands()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":44,"end":49,"target":"t:tmux_hook:scope/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":53,"end":59,"target":"t:erlang:binary/0"},{"start":63,"end":71,"target":"t:tmux_hook:commands/0"},{"start":99,"end":123,"target":"t:tmux_operation:completed/0"},{"start":153,"end":175,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Name0","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Commands","type":"commands()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_hook:commands/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Store commands at tmux's first vacant local index for the unindexed name. A new local array starts independently of inherited entries; this does not copy the parent's array. The command result does not report the chosen index; `get/3` observes current entries separately. Performs I/O with the parsing and unknown-outcome semantics of `set/3`."},"source":{"line":116,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_hook-append-3"},{"id":"tmux_hook:clear/2","publicId":"tmux_hook:clear/2","qualifiedName":"tmux_hook:clear/2","name":"clear/2","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"clear(Scope, Name0)\n-spec clear(scope(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":32,"end":37,"target":"t:tmux_hook:scope/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":41,"end":47,"target":"t:erlang:binary/0"},{"start":74,"end":98,"target":"t:tmux_operation:completed/0"},{"start":127,"end":149,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Name0","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Leave an empty local hook array, masking inherited entries. This differs from `unset/2`, which restores inheritance. Global clear empties that defaults table. Performs I/O; existing effects already queued by tmux are not cancelled."},"source":{"line":132,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_hook-clear-2"},{"id":"tmux_hook:get/3","publicId":"tmux_hook:get/3","qualifiedName":"tmux_hook:get/3","name":"get/3","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"get(Scope, Key, Options)\n-spec get(scope(),\n tmux_option:key(),\n tmux_option:read_options()) ->\n {ok, value()} | none | {error, map()}.","references":[{"start":35,"end":40,"target":"t:tmux_hook:scope/0"},{"start":54,"end":69,"target":"t:tmux_option:key/0"},{"start":83,"end":107,"target":"t:tmux_option:read_options/0"},{"start":132,"end":137,"target":"t:tmux_hook:value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":158,"end":161,"target":"t:erlang:map/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Key","type":"tmux_option:key()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_option:key/0"}]},{"name":"Options","type":"tmux_option:read_options()","typeReferences":[{"start":0,"end":24,"target":"t:tmux_option:read_options/0"}]}],"returns":"{ok, value()} | none | {error, map()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_hook:value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read a builtin hook array or indexed entry. Options follow `t:tmux_option:read_options/0`: local-only by default, inherit = true follows its parent tables. Missing local arrays or entries return none; an empty local array returns {ok, #{}} and masks inheritance.","body":"Values are tmux's command-list serialization, including its quoting and escape\nsequences. They are neither the original input text nor individual decoded\narguments. Reading does not execute them. Use `set/3` for validated command\nvalues and `unset/2` to restore inheritance. Performs I/O and preserves backend\nerrors; a vanished target is not an absent hook."},"source":{"line":65,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_hook-get-3"},{"id":"tmux_hook:run/2","publicId":"tmux_hook:run/2","qualifiedName":"tmux_hook:run/2","name":"run/2","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"run(Context, Name0)\n-spec run(context(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":30,"end":37,"target":"t:tmux_hook:context/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":41,"end":47,"target":"t:erlang:binary/0"},{"start":72,"end":96,"target":"t:tmux_operation:completed/0"},{"start":123,"end":145,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Context","type":"context()","typeReferences":[{"start":0,"end":7,"target":"t:tmux_hook:context/0"}]},{"name":"Name0","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Request native set-hook -R in the explicit `t:context/0`. tmux resolves the hook through that context's effective tables; global table flags do not select a separate execution scope. A session uses its current window and pane. A window link fixes the observed session/index and expected physical window; a pane context additionally checks that pane's observed parent.","body":"Performs I/O. The result is the native command outcome, not an acknowledgement\nof background work launched by its commands. A missing or empty effective hook\ncan succeed without effects. Wait on an application completion condition when\neffects matter. Existence and membership checks precede dispatch. If the\ntarget disappears after preflight, tmux can still fall back to another\ncontext. This is not atomic compare-and-act. Use fresh links after known\ntopology changes."},"source":{"line":173,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_hook-run-2"},{"id":"tmux_hook:set/3","publicId":"tmux_hook:set/3","qualifiedName":"tmux_hook:set/3","name":"set/3","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"set(Scope, Key, Commands)\n-spec set(scope(),\n {binary(), non_neg_integer()},\n commands()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":36,"end":41,"target":"t:tmux_hook:scope/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":56,"end":62,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":66,"end":81,"target":"t:erlang:non_neg_integer/0"},{"start":96,"end":104,"target":"t:tmux_hook:commands/0"},{"start":129,"end":153,"target":"t:tmux_operation:completed/0"},{"start":180,"end":202,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Key","type":"{binary(), non_neg_integer()}","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":11,"end":26,"target":"t:erlang:non_neg_integer/0"}]},{"name":"Commands","type":"commands()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_hook:commands/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Replace one {Name, Index} entry with validated command values. An explicit index is required; other entries remain. Indexes range from zero to 2147483647. The rendered command text is bounded before dispatch. Native commands still interpret their arguments and formats when the hook later runs. Use `append/3` for native vacant-index selection and `clear/2` to mask inherited hooks with an empty local array.","body":"Performs I/O. tmux parses commands before replacing an existing entry, but a\nfailed first write can already create an empty local override. Registration\nand later execution are separate; this call promises no transaction, rollback\nor completion of future effects."},"source":{"line":99,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_hook-set-3"},{"id":"tmux_hook:unset/2","publicId":"tmux_hook:unset/2","qualifiedName":"tmux_hook:unset/2","name":"unset/2","namespace":"tmux_hook","parent":"tmux_hook","kind":"function","modifiers":[],"signatures":[{"raw":"unset(Scope, Key)\n-spec unset(scope(), tmux_option:key()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":30,"end":35,"target":"t:tmux_hook:scope/0"},{"start":39,"end":54,"target":"t:tmux_option:key/0"},{"start":81,"end":105,"target":"t:tmux_operation:completed/0"},{"start":134,"end":156,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_hook:scope/0"}]},{"name":"Key","type":"tmux_option:key()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_option:key/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove one indexed entry or the whole local array. Removing an entry leaves its local array, possibly empty. Removing the whole array restores inheritance; unsetting a global builtin resets its native default. Missing local values are a successful native no-op. Performs I/O; queued hook effects are unaffected."},"source":{"line":148,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_hook-unset-2"},{"id":"t:tmux_hook:commands/0","publicId":"t:tmux_hook:commands/0","qualifiedName":"tmux_hook:commands/0","name":"commands/0","namespace":"tmux_hook","parent":"tmux_hook","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type commands() ::\n tmux_command:t() | [tmux_command:t(), ...].","params":[],"references":[{"start":30,"end":44,"target":"t:tmux_command:t/0"},{"start":50,"end":64,"target":"t:tmux_command:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"One validated command or a nonempty list; at most 256 commands and 32 KiB rendered text."},"source":{"line":45,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_hook-commands-0"},{"id":"t:tmux_hook:context/0","publicId":"t:tmux_hook:context/0","qualifiedName":"tmux_hook:context/0","name":"context/0","namespace":"tmux_hook","parent":"tmux_hook","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type context() ::\n tmux_model:session() |\n tmux_model:window_link() |\n {pane,\n tmux_model:pane(),\n tmux_model:window_link()}.","params":[],"references":[{"start":29,"end":47,"target":"t:tmux_model:session/0"},{"start":62,"end":84,"target":"t:tmux_model:window_link/0"},{"start":117,"end":132,"target":"t:tmux_model:pane/0"},{"start":147,"end":169,"target":"t:tmux_model:window_link/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A session's current context, one observed membership, or a pane in that membership."},"source":{"line":39,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_hook-context-0"},{"id":"t:tmux_hook:scope/0","publicId":"t:tmux_hook:scope/0","qualifiedName":"tmux_hook:scope/0","name":"scope/0","namespace":"tmux_hook","parent":"tmux_hook","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type scope() ::\n tmux_model:session() |\n tmux_model:window() |\n tmux_model:pane() |\n {session_defaults | window_defaults,\n tmux_server:t()}.","params":[],"references":[{"start":27,"end":45,"target":"t:tmux_model:session/0"},{"start":60,"end":77,"target":"t:tmux_model:window/0"},{"start":92,"end":107,"target":"t:tmux_model:pane/0"},{"start":170,"end":183,"target":"t:tmux_server:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A registered local table or explicit global session/window defaults; see `t:tmux_option:scope/0`."},"source":{"line":33,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_hook-scope-0"},{"id":"t:tmux_hook:value/0","publicId":"t:tmux_hook:value/0","qualifiedName":"tmux_hook:value/0","name":"value/0","namespace":"tmux_hook","parent":"tmux_hook","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type value() ::\n binary() | #{non_neg_integer() => binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":40,"end":55,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":61,"end":67,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Canonical native command-list text, or a sparse map of indexes to that text."},"source":{"line":49,"file":"apps/libtmux_erlang/src/tmux_hook.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_hook-value-0"},{"id":"tmux_identity","publicId":"tmux_identity","qualifiedName":"tmux_identity","name":"tmux_identity","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Observe a Linux process incarnation using its PID, boot ID and start ticks.","body":"A successful check is an observation. It neither reserves a PID nor pins a\ntmux connection, and it never authorizes signalling a process. Endpoint owners\nin `m:tmux_server` compare the PID returned by the current connection as well.\nA server can still change between this check and a later one-shot command.\n\nUse `fingerprint/1` to compare captured incarnations across endpoint handles\nor persist that comparison in a plan. It performs no process observation;\nthe key grants neither liveness nor permission to act.","examples":[{"lang":"erlang","code":"1> Pid = list_to_integer(os:getpid()), ok.\nok\n2> {ok, Identity} = tmux_identity:observe(Pid), ok.\nok\n3> tmux_identity:check(Identity, Pid).\nok"}]},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_identity"},{"id":"tmux_identity:check/2","publicId":"tmux_identity:check/2","qualifiedName":"tmux_identity:check/2","name":"check/2","namespace":"tmux_identity","parent":"tmux_identity","kind":"function","modifiers":[],"signatures":[{"raw":"check/2\n-spec check(t(), pos_integer()) -> ok | {error, map()}.","references":[{"start":20,"end":21,"target":"t:tmux_identity:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":25,"end":36,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":56,"end":59,"target":"t:erlang:map/0"}],"params":[{"name":"Identity","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_identity:t/0"}]},{"name":"ObservedPid","type":"pos_integer()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":0,"end":11,"target":"t:erlang:pos_integer/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Re-observe the PID and compare its incarnation token. A successful result is a momentary observation, not ownership, permission to signal, or a same-connection guarantee."},"source":{"line":92,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_identity-check-2"},{"id":"tmux_identity:fingerprint/1","publicId":"tmux_identity:fingerprint/1","qualifiedName":"tmux_identity:fingerprint/1","name":"fingerprint/1","namespace":"tmux_identity","parent":"tmux_identity","kind":"function","modifiers":[],"signatures":[{"raw":"fingerprint/1\n-spec fingerprint(t()) ->\n {ok, fingerprint()} |\n {error, #{code := invalid_identity}}.","references":[{"start":32,"end":33,"target":"t:tmux_identity:t/0"},{"start":66,"end":77,"target":"t:tmux_identity:fingerprint/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_identity:t/0"}]}],"returns":"{ok, fingerprint()} |\n {error, #{code := invalid_identity}}","returnsReferences":[{"start":5,"end":16,"target":"t:tmux_identity:fingerprint/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Derive a portable `t:fingerprint/0` from a captured identity without I/O.","body":"The key includes PID, boot ID and process-start ticks. Reconnecting to the same\nprocess preserves it; changing any component changes it. The encoding is\nversioned for persisted plans. Use `check/2` for a fresh process observation.\nMalformed identity terms return invalid_identity before hashing.","examples":[{"lang":"erlang","code":"1> {ok, I} = tmux_identity:observe(list_to_integer(os:getpid())), ok.\nok\n2> {ok, Key} = tmux_identity:fingerprint(I), ok.\nok\n3> byte_size(Key).\n73"}]},"source":{"line":59,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_identity-fingerprint-1"},{"id":"tmux_identity:observe/1","publicId":"tmux_identity:observe/1","qualifiedName":"tmux_identity:observe/1","name":"observe/1","namespace":"tmux_identity","parent":"tmux_identity","kind":"function","modifiers":[],"signatures":[{"raw":"observe/1\n-spec observe(pos_integer()) -> {ok, t()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":24,"end":35,"target":"t:erlang:pos_integer/0"},{"start":47,"end":48,"target":"t:tmux_identity:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":62,"end":65,"target":"t:erlang:map/0"}],"params":[{"name":"Pid","type":"pos_integer()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":0,"end":11,"target":"t:erlang:pos_integer/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_identity:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Observe a Linux PID incarnation without signalling it. Returns a tagged error if the process cannot be identified; this performs local operating-system I/O."},"source":{"line":79,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_identity-observe-1"},{"id":"t:tmux_identity:fingerprint/0","publicId":"t:tmux_identity:fingerprint/0","qualifiedName":"tmux_identity:fingerprint/0","name":"fingerprint/0","namespace":"tmux_identity","parent":"tmux_identity","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type fingerprint() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":23,"end":29,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Versioned SHA-256 comparison key for a captured Linux process incarnation. The linux-v1 prefix identifies the canonical encoding, independent of Erlang term serialization. Keys compare identity observations, not endpoint ownership or current liveness. They are identifiers, not authentication tokens."},"source":{"line":38,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_identity-fingerprint-0"},{"id":"t:tmux_identity:t/0","publicId":"t:tmux_identity:t/0","qualifiedName":"tmux_identity:t/0","name":"t/0","namespace":"tmux_identity","parent":"tmux_identity","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Observed Linux PID, boot identity and process-start token. It does not pin a connection."},"source":{"line":30,"file":"apps/libtmux_erlang/src/tmux_identity.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_identity-t-0"},{"id":"tmux_json","publicId":"tmux_json","qualifiedName":"tmux_json","name":"tmux_json","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Decode bounded JSON using OTP's `m:json` parser and binary object keys.","body":"Documents are limited to 256 KiB before parsing and 32 nested containers\nduring parsing. Duplicate keys are rejected before overwriting values, even\nwhen different escapes spell the same key. Trailing input is rejected. Numbers\nstay in the shared exact integer range. Integral decimal tokens are converted\nexactly; fractional tokens that round to integers are rejected. Field\nvalidation decides whether a remaining float is permitted. Syntax and resource\nerrors have a root path; duplicate-key errors retain their complete document\npath. Use `tmux_filter:from_wire/2` to validate decoded filter data."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_json.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_json"},{"id":"tmux_json:decode/1","publicId":"tmux_json:decode/1","qualifiedName":"tmux_json:decode/1","name":"decode/1","namespace":"tmux_json","parent":"tmux_json","kind":"function","modifiers":[],"signatures":[{"raw":"decode/1\n-spec decode(binary()) ->\n {ok, json:decode_value()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":22,"end":28,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:decode_value/0","project":"Erlang/OTP"},"start":56,"end":73,"target":"t:json:decode_value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":87,"end":90,"target":"t:erlang:map/0"}],"params":[{"name":"Binary","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, json:decode_value()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/stdlib/json.html#t:decode_value/0","project":"Erlang/OTP"},"start":5,"end":22,"target":"t:json:decode_value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":36,"end":39,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a decoded value or a structured error without creating payload atoms.","examples":[{"lang":"erlang","code":"1> tmux_json:decode(<<\"{\\\"a\\\": [1, true, null]}\">>).\n{ok,#{<<\"a\">> => [1,true,null]}}\n2> tmux_json:decode(<<\"{\\\"a\\\": {\\\"x\\\": 1, \\\"x\\\": 2}}\">>).\n{error,#{code => duplicate_key,path => [<<\"a\">>,<<\"x\">>]}}\n3> tmux_json:decode(<<\"[] []\">>).\n{error,#{code => trailing_input,path => []}}"}]},"source":{"line":32,"file":"apps/libtmux_erlang/src/tmux_json.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_json-decode-1"},{"id":"tmux_key","publicId":"tmux_key","qualifiedName":"tmux_key","name":"tmux_key","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Register and remove bindings in explicit server key tables.","body":"`bind/3` uses the native prefix table; `bind/4` chooses a table, repeat flag\nand note. Command values use `tmux_command:to_config/1` for the stored parser\nboundary. Replacing a binding resets its commands, repeat flag and note.\nRegistration does not prove that a client later executed the binding.\n\nTables belong to the server. A session's key-table option selects its default\ntable through `m:tmux_option`; tmux's prefix and client table-switching rules\nstill apply. Registering a custom table does not select it for any client.\n`clear_table/2` requires an explicit name and can affect attached clients.\n\n`listing/2` returns native presentation bytes. Field padding, quoting, note\ncoverage and formatting vary by daemon release. It does not decode bindings\nor promise reusable configuration. Retain the original command values when\nan application needs to install the same binding again.\n\nKey names use tmux's own binary spellings, such as C-b, Enter and MouseDown1Pane.\nThe daemon validates actual names and modifiers. Library validation bounds\nbytes and rejects NUL before dispatch. Calls use registered endpoint identity,\nperform explicit I/O and never retry uncertain mutations. They do not attach\na client or refresh captured rows.\n\nThe [key-table guide](keys.md) installs and removes an application-owned table."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_key"},{"id":"tmux_key:bind/3","publicId":"tmux_key:bind/3","qualifiedName":"tmux_key:bind/3","name":"bind/3","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"bind(Server, Key, Commands)\n-spec bind(tmux_server:t(),\n key(),\n tmux_command:t() | [tmux_command:t(), ...]) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":39,"end":52,"target":"t:tmux_server:t/0"},{"start":67,"end":70,"target":"t:tmux_key:key/0"},{"start":85,"end":99,"target":"t:tmux_command:t/0"},{"start":105,"end":119,"target":"t:tmux_command:t/0"},{"start":151,"end":175,"target":"t:tmux_operation:completed/0"},{"start":203,"end":225,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_key:key/0"}]},{"name":"Commands","type":"tmux_command:t() | [tmux_command:t(), ...]","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:t/0"},{"start":20,"end":34,"target":"t:tmux_command:t/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Register commands in the native prefix table with default options. Performs I/O; see `bind/4` for replacement, command parsing and future execution."},"source":{"line":53,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_key-bind-3"},{"id":"tmux_key:bind/4","publicId":"tmux_key:bind/4","qualifiedName":"tmux_key:bind/4","name":"bind/4","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"bind(Server, Key0, Commands, Options)\n-spec bind(tmux_server:t(),\n key(),\n tmux_command:t() | [tmux_command:t(), ...],\n bind_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":49,"end":62,"target":"t:tmux_server:t/0"},{"start":77,"end":80,"target":"t:tmux_key:key/0"},{"start":95,"end":109,"target":"t:tmux_command:t/0"},{"start":115,"end":129,"target":"t:tmux_command:t/0"},{"start":150,"end":162,"target":"t:tmux_key:bind_options/0"},{"start":188,"end":212,"target":"t:tmux_operation:completed/0"},{"start":240,"end":262,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Key0","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_key:key/0"}]},{"name":"Commands","type":"tmux_command:t() | [tmux_command:t(), ...]","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:t/0"},{"start":20,"end":34,"target":"t:tmux_command:t/0"}]},{"name":"Options","type":"bind_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_key:bind_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Register or replace one binding with validated command values. Commands can be one value or a flat nonempty list; `tmux_command:to_config/1` applies the aggregate count and byte bounds. Options follow `t:bind_options/0`. Arguments, table names and notes are literal bytes at registration; stored commands still interpret their values and formats when a client executes them.","body":"Performs I/O. tmux parses the commands before replacing an existing binding.\nThe result confirms registration, while effects of future key presses need\ntheir own acknowledgement. Replacement resets the old repeat flag and note\nusing the supplied options. Errors preserve backend diagnostics and unknown\noutcomes; there is no rollback or automatic retry."},"source":{"line":70,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_key-bind-4"},{"id":"tmux_key:clear_table/2","publicId":"tmux_key:clear_table/2","qualifiedName":"tmux_key:clear_table/2","name":"clear_table/2","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"clear_table(Server, Table)\n-spec clear_table(tmux_server:t(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":45,"end":58,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":62,"end":68,"target":"t:erlang:binary/0"},{"start":101,"end":125,"target":"t:tmux_operation:completed/0"},{"start":160,"end":182,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Table","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove the entire explicitly named table through native unbind-key -a -T. Names use the bounds in `t:bind_options/0`. This can remove default bindings and affect attached clients. Missing tables remain native errors; this call does not restore factory defaults or cancel commands already queued. Performs I/O after endpoint and argument validation."},"source":{"line":114,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_key-clear_table-2"},{"id":"tmux_key:listing/1","publicId":"tmux_key:listing/1","qualifiedName":"tmux_key:listing/1","name":"listing/1","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"listing(Server)\n-spec listing(tmux_server:t()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":30,"end":43,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":72,"end":78,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":92,"end":95,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read all tables as native listing bytes. Performs I/O; see `listing/2`."},"source":{"line":122,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_key-listing-1"},{"id":"tmux_key:listing/2","publicId":"tmux_key:listing/2","qualifiedName":"tmux_key:listing/2","name":"listing/2","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"listing/2\n-spec listing(tmux_server:t(), listing_options()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":24,"end":37,"target":"t:tmux_server:t/0"},{"start":41,"end":56,"target":"t:tmux_key:listing_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":85,"end":91,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":105,"end":108,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Options","type":"listing_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_key:listing_options/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read native list-keys presentation output, optionally filtering by table and key through `t:listing_options/0`. Returns the command's stdout unchanged; spacing, quoting and included metadata follow that daemon. This is a text view, with no decoded-row, exact-note or configuration-round-trip guarantee.","body":"tmux 3.4 can escape dollar signs in this output. tmux 3.7c can send a single\nmatching entry to its status-message path, producing empty stdout without an\nattached target client. Empty presentation output does not prove absence.\nThe [key-table guide](keys.md) demonstrates a table with multiple bindings.\n\nThe baseline command has no custom format option on tmux 3.3. Deliberate\nnewer-server formatting is available through `tmux_command:raw/2`. Performs\nI/O; missing tables, invalid key spellings and backend errors remain errors."},"source":{"line":140,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_key-listing-2"},{"id":"tmux_key:unbind/2","publicId":"tmux_key:unbind/2","qualifiedName":"tmux_key:unbind/2","name":"unbind/2","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"unbind(Server, Key)\n-spec unbind(tmux_server:t(), key()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":33,"end":46,"target":"t:tmux_server:t/0"},{"start":50,"end":53,"target":"t:tmux_key:key/0"},{"start":81,"end":105,"target":"t:tmux_operation:completed/0"},{"start":135,"end":157,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_key:key/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove a binding from the native prefix table. Performs I/O; see `unbind/3`."},"source":{"line":83,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_key-unbind-2"},{"id":"tmux_key:unbind/3","publicId":"tmux_key:unbind/3","qualifiedName":"tmux_key:unbind/3","name":"unbind/3","namespace":"tmux_key","parent":"tmux_key","kind":"function","modifiers":[],"signatures":[{"raw":"unbind(Server, Key0, Options)\n-spec unbind(tmux_server:t(),\n key(),\n #{table => binary()}) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":43,"end":56,"target":"t:tmux_server:t/0"},{"start":73,"end":76,"target":"t:tmux_key:key/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":104,"end":110,"target":"t:erlang:binary/0"},{"start":139,"end":163,"target":"t:tmux_operation:completed/0"},{"start":193,"end":215,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Key0","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_key:key/0"}]},{"name":"Options","type":"#{table => binary()}","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":11,"end":17,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove one key from the explicit table, defaulting to prefix. Only table is accepted in the options map. A missing key in an existing table is a native no-op; a missing explicit table remains an error. Removing the final custom binding can remove its table, so a repeated call can then report that missing table. Invalid native key names are never quietly suppressed.","body":"Performs I/O. Effects already queued by a client are unaffected. Use\n`clear_table/2` to remove an entire explicitly named table."},"source":{"line":97,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_key-unbind-3"},{"id":"t:tmux_key:bind_options/0","publicId":"t:tmux_key:bind_options/0","qualifiedName":"tmux_key:bind_options/0","name":"bind_options/0","namespace":"tmux_key","parent":"tmux_key","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type bind_options() ::\n #{table => binary(),\n repeat => boolean(),\n note => binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":45,"end":51,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":77,"end":84,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":108,"end":114,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Default table is prefix and repeat is false. Tables contain 1..1024 NUL-free bytes. note is at most 32 KiB of NUL-free bytes; omitting it removes an old note when commands are replaced. Command-level aggregate bounds still apply."},"source":{"line":38,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_key-bind_options-0"},{"id":"t:tmux_key:key/0","publicId":"t:tmux_key:key/0","qualifiedName":"tmux_key:key/0","name":"key/0","namespace":"tmux_key","parent":"tmux_key","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type key() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":15,"end":21,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A nonempty NUL-free native key spelling, at most 128 bytes; tmux validates its meaning."},"source":{"line":32,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_key-key-0"},{"id":"t:tmux_key:listing_options/0","publicId":"t:tmux_key:listing_options/0","qualifiedName":"tmux_key:listing_options/0","name":"listing_options/0","namespace":"tmux_key","parent":"tmux_key","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type listing_options() ::\n #{table => binary(), key => key()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":48,"end":54,"target":"t:erlang:binary/0"},{"start":65,"end":68,"target":"t:tmux_key:key/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"No table filter lists all native tables. table restricts the listing to one nonempty NUL-free name of at most 1024 bytes; key restricts it to a native key spelling. Missing tables and invalid key spellings retain native errors. Unmatched filters can return empty output or a backend error by release."},"source":{"line":45,"file":"apps/libtmux_erlang/src/tmux_key.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_key-listing_options-0"},{"id":"tmux_matcher","publicId":"tmux_matcher","qualifiedName":"tmux_matcher","name":"tmux_matcher","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Prepare a trusted local predicate once for a captured snapshot.","body":"Use `tmux_select:matching/2` with `{Module, State}`. The application chooses\nModule; external filter documents cannot select the `c:prepare/2`\ncallback. Preparation returns a unary Boolean function or a tagged error.\nCallback exceptions propagate. The adapter does not make executable predicates\nportable or push them to tmux."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_matcher.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_matcher"},{"id":"c:tmux_matcher:prepare/2","publicId":"c:tmux_matcher:prepare/2","qualifiedName":"tmux_matcher:prepare/2","name":"prepare/2","namespace":"tmux_matcher","parent":"tmux_matcher","kind":"function","modifiers":["abstract"],"signatures":[{"raw":"-callback prepare(State :: term(),\n Snapshot :: tmux_snapshot:t()) ->\n {ok,\n fun((tmux_model:row()) ->\n boolean())} |\n {error, term()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":27,"end":31,"target":"t:erlang:term/0"},{"start":65,"end":80,"target":"t:tmux_snapshot:t/0"},{"start":140,"end":154,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":191,"end":198,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":234,"end":238,"target":"t:erlang:term/0"}],"params":[{"name":"State","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]},{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"{ok, fun((tmux_model:row()) -> boolean())} |\n {error, term()}","returnsReferences":[{"start":10,"end":24,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":31,"end":38,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":63,"end":67,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Prepare a local Boolean predicate once for this captured snapshot. Return a tagged preparation error when the matcher cannot operate. Callback exceptions remain application failures; this does not make a matcher portable or suitable for untrusted module selection."},"source":{"line":17,"file":"apps/libtmux_erlang/src/tmux_matcher.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"c-tmux_matcher-prepare-2"},{"id":"tmux_model","publicId":"tmux_model","qualifiedName":"tmux_model","name":"tmux_model","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Validated native domain records. Constructors perform no tmux I/O.","body":"Missing optional observations remain not_loaded; required identity fields\nmust be supplied. Unavailable capabilities remain\nunavailable. Neither state means an empty relation or known absence.\nRows created by `new/2` and the entity constructors are detached.\nEntity constructors accept generated input-map types such as\n`t:pane_input/0`. Use `new/2` to validate dynamic maps; Dialyzer checks\nknown constructor shapes but does not replace runtime validation.\nUse `tmux_server:bind/2` to register a fresh observed row for actions;\nuse `m:tmux_snapshot` for captured graph relationships.\n\nObserved rows carry a private `t:observation/0` value. Actions compare it\nwith the row's origin, snapshot identity and target fields, rejecting\nmismatched observations before I/O. Valid-shaped binding mismatches return\nobservation_mismatch; detached and malformed rows keep their validation\nerrors. Retarget through\n`tmux_server:bind/2`; it reads current values. This protects ordinary API\nuse, not authority against trusted code in the Erlang VM.\n\nNative model version 2 adds this association. Discard version-1 rows and\nsnapshots on upgrade and freshly observe them. `to_map/1` extracts domain\nfields for explicit schema validation; maps carry no actionable origin."},"source":{"line":2,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model"},{"id":"tmux_model:entity/1","publicId":"tmux_model:entity/1","qualifiedName":"tmux_model:entity/1","name":"entity/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"entity/1\n-spec entity(row()) -> tmux_schema:entity().","references":[{"start":22,"end":25,"target":"t:tmux_model:row/0"},{"start":32,"end":50,"target":"t:tmux_schema:entity/0"}],"params":[{"name":"Argument1","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"tmux_schema:entity()","returnsReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the built-in entity kind of a native row without I/O."},"source":{"line":233,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-entity-1"},{"id":"tmux_model:get/2","publicId":"tmux_model:get/2","qualifiedName":"tmux_model:get/2","name":"get/2","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"get/2\n-spec get(atom(), row()) -> term().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":16,"end":20,"target":"t:erlang:atom/0"},{"start":24,"end":27,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":34,"end":38,"target":"t:erlang:term/0"}],"params":[{"name":"Argument1","type":"atom()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:atom/0"}]},{"name":"Argument2","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"term()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read a permitted domain field without I/O. Unknown fields raise unknown_field; unloaded and unavailable values remain distinct."},"source":{"line":268,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-get-2"},{"id":"tmux_model:model_version/1","publicId":"tmux_model:model_version/1","qualifiedName":"tmux_model:model_version/1","name":"model_version/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"model_version/1\n-spec model_version(row()) -> pos_integer().","references":[{"start":36,"end":39,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":46,"end":57,"target":"t:erlang:pos_integer/0"}],"params":[{"name":"Argument1","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"pos_integer()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":0,"end":11,"target":"t:erlang:pos_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the native model version. Unknown versions fail validation; record internals are not a persistence format."},"source":{"line":254,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-model_version-1"},{"id":"tmux_model:new/2","publicId":"tmux_model:new/2","qualifiedName":"tmux_model:new/2","name":"new/2","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"new(Entity, Fields)\n-spec new(atom(), map()) ->\n {ok, row()} |\n {error, tmux_schema:error_detail()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":30,"end":34,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":38,"end":41,"target":"t:erlang:map/0"},{"start":66,"end":69,"target":"t:tmux_model:row/0"},{"start":96,"end":120,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"atom()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:atom/0"}]},{"name":"Fields","type":"map()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"}]}],"returns":"{ok, row()} | {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":8,"target":"t:tmux_model:row/0"},{"start":22,"end":46,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached row from validated observations.","body":"Accepts dynamic maps, including malformed input that returns a tagged\n`t:tmux_schema:error_detail/0`. For trusted typed code, prefer the entity\nconstructors such as `pane/1` and `t:pane_input/0`.","examples":[{"lang":"erlang","code":"1> {ok, Pane} = tmux_model:new(pane, #{id => <<\"%1\">>, width => 120}), ok.\nok\n2> tmux_model:get(width, Pane).\n120"}]},"source":{"line":192,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-new-2"},{"id":"tmux_model:origin/1","publicId":"tmux_model:origin/1","qualifiedName":"tmux_model:origin/1","name":"origin/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"origin/1\n-spec origin(row()) -> none | reference().","references":[{"start":22,"end":25,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":39,"end":48,"target":"t:erlang:reference/0"}],"params":[{"name":"Argument1","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"none | reference()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":7,"end":16,"target":"t:erlang:reference/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the opaque origin token, or none for a detached row. This does not revalidate endpoint lifetime."},"source":{"line":240,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-origin-1"},{"id":"tmux_model:pane/1","publicId":"tmux_model:pane/1","qualifiedName":"tmux_model:pane/1","name":"pane/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"pane(Fields)\n-spec pane(pane_input()) ->\n {ok, pane()} |\n {error, tmux_schema:error_detail()}.","references":[{"start":24,"end":34,"target":"t:tmux_model:pane_input/0"},{"start":60,"end":64,"target":"t:tmux_model:pane/0"},{"start":92,"end":116,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Fields","type":"pane_input()","typeReferences":[{"start":0,"end":10,"target":"t:tmux_model:pane_input/0"}]}],"returns":"{ok, pane()} |\n {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":9,"target":"t:tmux_model:pane/0"},{"start":33,"end":57,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached pane row, validating required fields and scalar bounds without tmux I/O."},"source":{"line":212,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-pane-1"},{"id":"tmux_model:session/1","publicId":"tmux_model:session/1","qualifiedName":"tmux_model:session/1","name":"session/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"session(Fields)\n-spec session(session_input()) ->\n {ok, session()} |\n {error, tmux_schema:error_detail()}.","references":[{"start":30,"end":43,"target":"t:tmux_model:session_input/0"},{"start":72,"end":79,"target":"t:tmux_model:session/0"},{"start":110,"end":134,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Fields","type":"session_input()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_model:session_input/0"}]}],"returns":"{ok, session()} |\n {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":12,"target":"t:tmux_model:session/0"},{"start":36,"end":60,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached session row, validating required fields and scalar bounds without tmux I/O."},"source":{"line":200,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-session-1"},{"id":"tmux_model:snapshot_id/1","publicId":"tmux_model:snapshot_id/1","qualifiedName":"tmux_model:snapshot_id/1","name":"snapshot_id/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"snapshot_id/1\n-spec snapshot_id(row()) -> none | reference().","references":[{"start":32,"end":35,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":49,"end":58,"target":"t:erlang:reference/0"}],"params":[{"name":"Argument1","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"none | reference()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":7,"end":16,"target":"t:erlang:reference/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the capture identity, or none when not associated with a snapshot. Performs no I/O."},"source":{"line":247,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-snapshot_id-1"},{"id":"tmux_model:to_map/1","publicId":"tmux_model:to_map/1","qualifiedName":"tmux_model:to_map/1","name":"to_map/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"to_map/1\n-spec to_map(row()) -> map().","references":[{"start":22,"end":25,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":32,"end":35,"target":"t:erlang:map/0"}],"params":[{"name":"Row","type":"row()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_model:row/0"}]}],"returns":"map()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return domain field values without origin or capture metadata. This is not the portable filter wire representation. Performs no I/O."},"source":{"line":261,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-to_map-1"},{"id":"tmux_model:validate/1","publicId":"tmux_model:validate/1","qualifiedName":"tmux_model:validate/1","name":"validate/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"validate(Row)\n-spec validate(term()) -> {ok, row()} | {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":29,"end":33,"target":"t:erlang:term/0"},{"start":45,"end":48,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":62,"end":65,"target":"t:erlang:map/0"}],"params":[{"name":"Row","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"returns":"{ok, row()} | {error, map()}","returnsReferences":[{"start":5,"end":8,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate native row shape, model version and normalized observations. Exported records do not enforce these invariants at construction. Performs no I/O."},"source":{"line":216,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-validate-1"},{"id":"tmux_model:window/1","publicId":"tmux_model:window/1","qualifiedName":"tmux_model:window/1","name":"window/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"window(Fields)\n-spec window(window_input()) ->\n {ok, window()} |\n {error, tmux_schema:error_detail()}.","references":[{"start":28,"end":40,"target":"t:tmux_model:window_input/0"},{"start":68,"end":74,"target":"t:tmux_model:window/0"},{"start":104,"end":128,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Fields","type":"window_input()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_model:window_input/0"}]}],"returns":"{ok, window()} |\n {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":11,"target":"t:tmux_model:window/0"},{"start":35,"end":59,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached window row, validating required fields and scalar bounds without tmux I/O."},"source":{"line":204,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-window-1"},{"id":"tmux_model:window_link/1","publicId":"tmux_model:window_link/1","qualifiedName":"tmux_model:window_link/1","name":"window_link/1","namespace":"tmux_model","parent":"tmux_model","kind":"function","modifiers":[],"signatures":[{"raw":"window_link(Fields)\n-spec window_link(window_link_input()) ->\n {ok, window_link()} |\n {error, tmux_schema:error_detail()}.","references":[{"start":38,"end":55,"target":"t:tmux_model:window_link_input/0"},{"start":88,"end":99,"target":"t:tmux_model:window_link/0"},{"start":134,"end":158,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Fields","type":"window_link_input()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window_link_input/0"}]}],"returns":"{ok, window_link()} |\n {error, tmux_schema:error_detail()}","returnsReferences":[{"start":5,"end":16,"target":"t:tmux_model:window_link/0"},{"start":40,"end":64,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Construct a detached window_link row, validating required fields and scalar bounds without tmux I/O."},"source":{"line":208,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-window_link-1"},{"id":"t:tmux_model:observation/0","publicId":"t:tmux_model:observation/0","qualifiedName":"tmux_model:observation/0","name":"observation/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque observation().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Private captured target association, created by observation. Retain with its row; construction and field access are internal. It is not an authorization or serialization format."},"source":{"line":46,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-observation-0"},{"id":"t:tmux_model:pane/0","publicId":"t:tmux_model:pane/0","qualifiedName":"tmux_model:pane/0","name":"pane/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type pane() :: #pane{}.","params":[],"references":[{"start":16,"end":21,"target":"#tmux_model:pane{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated pane observation. Native records are experimental in OTP 29."},"source":{"line":112,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-pane-0"},{"id":"t:tmux_model:pane_id/0","publicId":"t:tmux_model:pane_id/0","qualifiedName":"tmux_model:pane_id/0","name":"pane_id/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-nominal pane_id() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":22,"end":28,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A canonical pane ID binary in the percent namespace; nominal checking is by Dialyzer."},"source":{"line":37,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-pane_id-0"},{"id":"t:tmux_model:pane_input/0","publicId":"t:tmux_model:pane_input/0","qualifiedName":"tmux_model:pane_input/0","name":"pane_input/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type pane_input() ::\n #{id := pane_id(),\n window_id =>\n window_id() | not_loaded | unavailable,\n index =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n active => boolean() | not_loaded | unavailable,\n current_command =>\n binary() | not_loaded | unavailable,\n current_path =>\n binary() | not_loaded | unavailable,\n width =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n height =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n pid =>\n pos_integer() |\n float() |\n none | not_loaded | unavailable,\n title => binary() | not_loaded | unavailable,\n dead => boolean() | not_loaded | unavailable,\n exit_status =>\n integer() |\n float() |\n none | not_loaded | unavailable}.","params":[],"references":[{"start":40,"end":47,"target":"t:tmux_model:pane_id/0"},{"start":92,"end":101,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":169,"end":184,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":205,"end":210,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":279,"end":286,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":364,"end":370,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":445,"end":451,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":519,"end":534,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":555,"end":560,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":645,"end":660,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":681,"end":686,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":768,"end":779,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":800,"end":805,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":880,"end":886,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":937,"end":944,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":1018,"end":1025,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":1046,"end":1051,"target":"t:erlang:float/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Trusted constructor fields for `pane/1`. Required keys use :=; optional observations may be not_loaded or unavailable. Integral floats are normalized to integers. Runtime validation still checks ranges, IDs, UTF-8 and derived values. Use `new/2` for dynamically validated maps."},"source":{"line":162,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-pane_input-0"},{"id":"t:tmux_model:row/0","publicId":"t:tmux_model:row/0","qualifiedName":"tmux_model:row/0","name":"row/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type row() ::\n #session{} | #window{} | #window_link{} | #pane{}.","params":[],"references":[{"start":25,"end":33,"target":"#tmux_model:session{}"},{"start":38,"end":45,"target":"#tmux_model:window{}"},{"start":50,"end":62,"target":"#tmux_model:window_link{}"},{"start":67,"end":72,"target":"#tmux_model:pane{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"One schema-defined native domain record, with separate origin and capture metadata."},"source":{"line":104,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-row-0"},{"id":"t:tmux_model:session/0","publicId":"t:tmux_model:session/0","qualifiedName":"tmux_model:session/0","name":"session/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type session() :: #session{}.","params":[],"references":[{"start":19,"end":27,"target":"#tmux_model:session{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated session observation. Native records are experimental in OTP 29."},"source":{"line":106,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-session-0"},{"id":"t:tmux_model:session_id/0","publicId":"t:tmux_model:session_id/0","qualifiedName":"tmux_model:session_id/0","name":"session_id/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-nominal session_id() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":25,"end":31,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A canonical session ID binary in the dollar namespace."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-session_id-0"},{"id":"t:tmux_model:session_input/0","publicId":"t:tmux_model:session_input/0","qualifiedName":"tmux_model:session_input/0","name":"session_input/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type session_input() ::\n #{id := session_id(),\n name => binary() | not_loaded | unavailable,\n attached_count =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n attached =>\n boolean() | not_loaded | unavailable,\n created =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable}.","params":[],"references":[{"start":43,"end":53,"target":"t:tmux_model:session_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":77,"end":83,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":160,"end":175,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":196,"end":201,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":288,"end":295,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":365,"end":380,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":401,"end":406,"target":"t:erlang:float/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Trusted constructor fields for `session/1`. Required keys use :=; optional observations may be not_loaded or unavailable. Integral floats are normalized to integers. Runtime validation still checks ranges, IDs, UTF-8 and derived values. Use `new/2` for dynamically validated maps."},"source":{"line":120,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-session_input-0"},{"id":"t:tmux_model:window/0","publicId":"t:tmux_model:window/0","qualifiedName":"tmux_model:window/0","name":"window/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type window() :: #window{}.","params":[],"references":[{"start":18,"end":25,"target":"#tmux_model:window{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated window observation. Native records are experimental in OTP 29."},"source":{"line":108,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-window-0"},{"id":"t:tmux_model:window_id/0","publicId":"t:tmux_model:window_id/0","qualifiedName":"tmux_model:window_id/0","name":"window_id/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-nominal window_id() :: binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":24,"end":30,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A canonical physical-window ID binary in the at-sign namespace."},"source":{"line":39,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-window_id-0"},{"id":"t:tmux_model:window_input/0","publicId":"t:tmux_model:window_input/0","qualifiedName":"tmux_model:window_input/0","name":"window_input/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type window_input() ::\n #{id := window_id(),\n name => binary() | not_loaded | unavailable,\n width =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n height =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n pane_count =>\n non_neg_integer() |\n float() |\n not_loaded | unavailable,\n layout => binary() | not_loaded | unavailable}.","params":[],"references":[{"start":42,"end":51,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":75,"end":81,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":149,"end":164,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":185,"end":190,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":275,"end":290,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":311,"end":316,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":405,"end":420,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":441,"end":446,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":515,"end":521,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Trusted constructor fields for `window/1`. Required keys use :=; optional observations may be not_loaded or unavailable. Integral floats are normalized to integers. Runtime validation still checks ranges, IDs, UTF-8 and derived values. Use `new/2` for dynamically validated maps."},"source":{"line":134,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-window_input-0"},{"id":"t:tmux_model:window_link/0","publicId":"t:tmux_model:window_link/0","qualifiedName":"tmux_model:window_link/0","name":"window_link/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type window_link() :: #window_link{}.","params":[],"references":[{"start":23,"end":35,"target":"#tmux_model:window_link{}"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated window_link observation. Native records are experimental in OTP 29."},"source":{"line":110,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-window_link-0"},{"id":"t:tmux_model:window_link_input/0","publicId":"t:tmux_model:window_link_input/0","qualifiedName":"tmux_model:window_link_input/0","name":"window_link_input/0","namespace":"tmux_model","parent":"tmux_model","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type window_link_input() ::\n #{session_id := session_id(),\n window_id := window_id(),\n index := non_neg_integer() | float(),\n active => boolean() | not_loaded | unavailable}.","params":[],"references":[{"start":55,"end":65,"target":"t:tmux_model:session_id/0"},{"start":94,"end":103,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":128,"end":143,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:float/0","project":"Erlang/OTP"},"start":148,"end":153,"target":"t:erlang:float/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":179,"end":186,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Trusted constructor fields for `window_link/1`. Required keys use :=; optional observations may be not_loaded or unavailable. Integral floats are normalized to integers. Runtime validation still checks ranges, IDs, UTF-8 and derived values. Use `new/2` for dynamically validated maps."},"source":{"line":149,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_model-window_link_input-0"},{"id":"#tmux_model:session{}","publicId":"#tmux_model:session{}","qualifiedName":"#tmux_model:session{}","name":"#session{}","namespace":"tmux_model","parent":"tmux_model","kind":"struct","modifiers":[],"signatures":[{"raw":"-record #session{id :: session_id(),\n name =\n not_loaded ::\n binary() |\n not_loaded | unavailable,\n attached_count =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n attached =\n not_loaded ::\n boolean() |\n not_loaded | unavailable,\n created =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n origin = none :: none | reference(),\n snapshot_id = none :: none | reference(),\n model_version = 2 :: pos_integer(),\n observation =\n none :: none | observation()}.","params":[],"references":[{"start":23,"end":33,"target":"t:tmux_model:session_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":121,"end":127,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":277,"end":292,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":436,"end":443,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":586,"end":601,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":698,"end":707,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":757,"end":766,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":808,"end":819,"target":"t:erlang:pos_integer/0"},{"start":890,"end":901,"target":"t:tmux_model:observation/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","source":{"line":48,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-session"},{"id":"#tmux_model:window{}","publicId":"#tmux_model:window{}","qualifiedName":"#tmux_model:window{}","name":"#window{}","namespace":"tmux_model","parent":"tmux_model","kind":"struct","modifiers":[],"signatures":[{"raw":"-record #window{id :: window_id(),\n name =\n not_loaded ::\n binary() | not_loaded | unavailable,\n width =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n height =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n pane_count =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n layout =\n not_loaded ::\n binary() | not_loaded | unavailable,\n origin = none :: none | reference(),\n snapshot_id = none :: none | reference(),\n model_version = 2 :: pos_integer(),\n observation = none :: none | observation()}.","params":[],"references":[{"start":22,"end":31,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":116,"end":122,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":235,"end":250,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":388,"end":403,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":545,"end":560,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":698,"end":704,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":775,"end":784,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":833,"end":842,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":883,"end":894,"target":"t:erlang:pos_integer/0"},{"start":943,"end":954,"target":"t:tmux_model:observation/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","source":{"line":60,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-window"},{"id":"#tmux_model:window_link{}","publicId":"#tmux_model:window_link{}","qualifiedName":"#tmux_model:window_link{}","name":"#window_link{}","namespace":"tmux_model","parent":"tmux_model","kind":"struct","modifiers":[],"signatures":[{"raw":"-record #window_link{session_id :: session_id(),\n window_id :: window_id(),\n index :: non_neg_integer(),\n active =\n not_loaded ::\n boolean() |\n not_loaded | unavailable,\n origin = none :: none | reference(),\n snapshot_id =\n none :: none | reference(),\n model_version = 2 :: pos_integer(),\n observation =\n none :: none | observation()}.","params":[],"references":[{"start":35,"end":45,"target":"t:tmux_model:session_id/0"},{"start":83,"end":92,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":126,"end":141,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":243,"end":250,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":355,"end":364,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":443,"end":452,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":498,"end":509,"target":"t:erlang:pos_integer/0"},{"start":588,"end":599,"target":"t:tmux_model:observation/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","source":{"line":73,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-window_link"},{"id":"#tmux_model:pane{}","publicId":"#tmux_model:pane{}","qualifiedName":"#tmux_model:pane{}","name":"#pane{}","namespace":"tmux_model","parent":"tmux_model","kind":"struct","modifiers":[],"signatures":[{"raw":"-record #pane{id :: pane_id(),\n window_id =\n not_loaded ::\n window_id() |\n not_loaded | unavailable,\n index =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n active =\n not_loaded ::\n boolean() | not_loaded | unavailable,\n current_command =\n not_loaded ::\n binary() | not_loaded | unavailable,\n current_path =\n not_loaded ::\n binary() | not_loaded | unavailable,\n width =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n height =\n not_loaded ::\n non_neg_integer() |\n not_loaded | unavailable,\n pid =\n not_loaded ::\n pos_integer() |\n none | not_loaded | unavailable,\n title =\n not_loaded ::\n binary() | not_loaded | unavailable,\n dead =\n not_loaded ::\n boolean() | not_loaded | unavailable,\n exit_status =\n not_loaded ::\n integer() |\n none | not_loaded | unavailable,\n origin = none :: none | reference(),\n snapshot_id = none :: none | reference(),\n model_version = 2 :: pos_integer(),\n observation = none :: none | observation()}.","params":[],"references":[{"start":20,"end":27,"target":"t:tmux_model:pane_id/0"},{"start":111,"end":120,"target":"t:tmux_model:window_id/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":249,"end":264,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":394,"end":401,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":518,"end":524,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":638,"end":644,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":751,"end":766,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":896,"end":911,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":1038,"end":1049,"target":"t:erlang:pos_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":1185,"end":1191,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":1297,"end":1304,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":1417,"end":1424,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":1522,"end":1531,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":1578,"end":1587,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pos_integer/0","project":"Erlang/OTP"},"start":1626,"end":1637,"target":"t:erlang:pos_integer/0"},{"start":1684,"end":1695,"target":"t:tmux_model:observation/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","source":{"line":84,"file":"apps/libtmux_erlang/src/tmux_model.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_model-pane"},{"id":"tmux_operation","publicId":"tmux_operation","qualifiedName":"tmux_operation","name":"tmux_operation","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Own a command independently of an individual wait.","body":"`start/3` submits a validated command through the endpoint's\nbounded admission. The initiating process owns it. `await/2`\ntiming out abandons only that wait; `cancel/1` or owner death\nretires the client and may leave an unknown tmux outcome. The endpoint\nacknowledges `transfer/2` after monitoring the new owner and\nbefore replying to the old owner. The new process does not perform a\nhandshake. Retired results expire after 60 seconds or earlier when the\nendpoint exceeds 64 retained results or 4 MiB of retained stdout/stderr\n(oldest evicted first). Closing the endpoint clears its operation results\nimmediately. Each operation accepts at most 16 concurrent waiters; excess\nwaits return too_many_waiters. `await_started/2` returns\nlifecycle status once the operation leaves queued; dispatch authorization does\nnot establish a tmux aftereffect.\n\nSee `t:completed/0` and `t:failure/0` for\ncommand outcomes and `t:state/0` for lifecycle status. The [job\nguide](jobs.md) shows the complete workflow. Bounded OTP Logger reports\ncorrelate outcomes by operation and endpoint generation; see\n[runtime diagnostics](diagnostics.md) for levels, fields and data boundaries."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_operation"},{"id":"tmux_operation:await/2","publicId":"tmux_operation:await/2","qualifiedName":"tmux_operation:await/2","name":"await/2","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"await(Operation, Timeout)\n-spec await(t(), timeout()) ->\n {ok, completed()} | {error, failure()}.","references":[{"start":38,"end":39,"target":"t:tmux_operation:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:timeout/0","project":"Erlang/OTP"},"start":43,"end":50,"target":"t:erlang:timeout/0"},{"start":77,"end":86,"target":"t:tmux_operation:completed/0"},{"start":100,"end":107,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]},{"name":"Timeout","type":"timeout()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:timeout/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:timeout/0"}]}],"returns":"{ok, completed()} | {error, failure()}","returnsReferences":[{"start":5,"end":14,"target":"t:tmux_operation:completed/0"},{"start":28,"end":35,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Wait for a retained result for at most Timeout. An await_timeout removes only this waiter; the operation continues and its handle remains usable. Additional waiters do not become owners. Results preserve outcome and cleanup certainty."},"source":{"line":89,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_operation-await-2"},{"id":"tmux_operation:await_started/2","publicId":"tmux_operation:await_started/2","qualifiedName":"tmux_operation:await_started/2","name":"await_started/2","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"await_started(Operation, Timeout)\n-spec await_started(t(), timeout()) ->\n {ok, state()} | {error, failure()}.","references":[{"start":54,"end":55,"target":"t:tmux_operation:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:timeout/0","project":"Erlang/OTP"},"start":59,"end":66,"target":"t:erlang:timeout/0"},{"start":101,"end":106,"target":"t:tmux_operation:state/0"},{"start":120,"end":127,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]},{"name":"Timeout","type":"timeout()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:timeout/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:timeout/0"}]}],"returns":"{ok, state()} | {error, failure()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_operation:state/0"},{"start":24,"end":31,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Wait until the operation leaves queued, returning its lifecycle state even if it has already failed or retired. Inspect outcome and cleanup; call `await/2` for final command data. Authorization is not proof of a tmux aftereffect. A timeout abandons this wait without cancelling the operation."},"source":{"line":98,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_operation-await_started-2"},{"id":"tmux_operation:cancel/1","publicId":"tmux_operation:cancel/1","qualifiedName":"tmux_operation:cancel/1","name":"cancel/1","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"cancel(Operation)\n-spec cancel(t()) ->\n {ok,\n cancelled_before_send | cancel_requested |\n already_completed} |\n {error, map()}.","references":[{"start":31,"end":32,"target":"t:tmux_operation:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":182,"end":185,"target":"t:erlang:map/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]}],"returns":"{ok,\n cancelled_before_send | cancel_requested |\n already_completed} |\n {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":109,"end":112,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Request cancellation using this handle. Any holder can cancel; only the owner can transfer ownership. Queued work can be cancelled before submission; possibly sent work retires its client and can retain an unknown tmux outcome. Use `await/2` for the result and cleanup proof. Never infer rollback or automatically retry a mutation from cancellation alone. already_completed means a response exists; it does not establish complete cleanup."},"source":{"line":117,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_operation-cancel-1"},{"id":"tmux_operation:start/3","publicId":"tmux_operation:start/3","qualifiedName":"tmux_operation:start/3","name":"start/3","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"start(Server, Command, Options)\n-spec start(tmux_server:t(),\n tmux_command:t(),\n tmux_server:command_options()) ->\n {ok, t()} | {error, failure()}.","references":[{"start":44,"end":57,"target":"t:tmux_server:t/0"},{"start":73,"end":87,"target":"t:tmux_command:t/0"},{"start":103,"end":130,"target":"t:tmux_server:command_options/0"},{"start":157,"end":158,"target":"t:tmux_operation:t/0"},{"start":172,"end":179,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Command","type":"tmux_command:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:t/0"}]},{"name":"Options","type":"tmux_server:command_options()","typeReferences":[{"start":0,"end":27,"target":"t:tmux_server:command_options/0"}]}],"returns":"{ok, t()} | {error, failure()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_operation:t/0"},{"start":20,"end":27,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Submit a validated command under the endpoint's admission limits and return an operation handle. The initiating process owns it. Submission is non-blocking with respect to command completion; the handle does not prove that tmux has executed the command."},"source":{"line":77,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_operation-start-3"},{"id":"tmux_operation:status/1","publicId":"tmux_operation:status/1","qualifiedName":"tmux_operation:status/1","name":"status/1","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"status(Operation)\n-spec status(t()) -> {ok, state()} | {error, failure()}.","references":[{"start":31,"end":32,"target":"t:tmux_operation:t/0"},{"start":44,"end":49,"target":"t:tmux_operation:state/0"},{"start":63,"end":70,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]}],"returns":"{ok, state()} | {error, failure()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_operation:state/0"},{"start":24,"end":31,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the retained lifecycle state without starting a tmux command. Expired handles return operation_expired. Status is observation of the operation, not evidence that a possibly sent mutation was cancelled."},"source":{"line":106,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_operation-status-1"},{"id":"tmux_operation:transfer/2","publicId":"tmux_operation:transfer/2","qualifiedName":"tmux_operation:transfer/2","name":"transfer/2","namespace":"tmux_operation","parent":"tmux_operation","kind":"function","modifiers":[],"signatures":[{"raw":"transfer/2\n-spec transfer(t(), pid()) -> ok | {error, map()}.","references":[{"start":26,"end":27,"target":"t:tmux_operation:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:pid/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":54,"end":57,"target":"t:erlang:map/0"}],"params":[{"name":"Operation","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_operation:t/0"}]},{"name":"Owner","type":"pid()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:pid/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Transfer ownership to a live process on this Erlang node. The endpoint installs its new owner monitor before releasing the previous monitor and returns after the swap. The new process performs no handshake. Waiters and ownership remain separate; endpoint ownership does not change.","body":"An `await_timeout` abandons the reply, not the queued ownership change. The\ntransfer may complete later. Use `status/1` to read the current owner before\nrelying on ownership; a timeout does not prove that the old owner remains."},"source":{"line":130,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_operation-transfer-2"},{"id":"t:tmux_operation:cleanup/0","publicId":"t:tmux_operation:cleanup/0","qualifiedName":"tmux_operation:cleanup/0","name":"cleanup/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type cleanup() :: complete | incomplete | unverified.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"complete proves owned client retirement; incomplete or unverified does not."},"source":{"line":36,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_operation-cleanup-0"},{"id":"t:tmux_operation:completed/0","publicId":"t:tmux_operation:completed/0","qualifiedName":"tmux_operation:completed/0","name":"completed/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type completed() ::\n #{stdout := binary(),\n stderr := binary(),\n exit_status := 0,\n stdin_delivered := non_neg_integer(),\n outcome := success,\n cleanup := complete}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":43,"end":49,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":75,"end":81,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":146,"end":161,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A successful command result. stdout and stderr are separate byte strings; exit_status is zero. stdin_delivered counts bytes accepted by the client pipe, not bytes consumed by tmux. success does not prove a background aftereffect."},"source":{"line":42,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_operation-completed-0"},{"id":"t:tmux_operation:failure/0","publicId":"t:tmux_operation:failure/0","qualifiedName":"tmux_operation:failure/0","name":"failure/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type failure() ::\n #{code := atom(),\n outcome => outcome(),\n cleanup => cleanup(),\n stdout => binary(),\n stderr => binary(),\n stdin_delivered => non_neg_integer(),\n exit_status => integer(),\n submitted => boolean(),\n atom() => term()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":39,"end":43,"target":"t:erlang:atom/0"},{"start":70,"end":77,"target":"t:tmux_operation:outcome/0"},{"start":104,"end":111,"target":"t:tmux_operation:cleanup/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":137,"end":143,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":169,"end":175,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":210,"end":225,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":256,"end":263,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":292,"end":299,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":315,"end":319,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":325,"end":329,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A tagged error detail with a stable code and optional certainty/output data. Validation, admission and wait errors may contain only code. Command failures retain available stdout/stderr, stdin_delivered and exit_status. Other keys provide code-specific context. Never infer missing certainty fields.","body":"Common codes are busy, invalid_operation_options, command_error, deadline,\ncancelled, stale_server, cleanup_incomplete, await_timeout and\noperation_expired. command_error means a nonzero client exit; it does not roll\nback a mutation. await_timeout abandons only this wait. operation_expired\ncannot reconstruct a previous result or establish its remote outcome."},"source":{"line":56,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_operation-failure-0"},{"id":"t:tmux_operation:outcome/0","publicId":"t:tmux_operation:outcome/0","qualifiedName":"tmux_operation:outcome/0","name":"outcome/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type outcome() ::\n success | error | not_started |\n cancelled_before_send | unknown.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Command certainty, separate from resource cleanup. unknown must not trigger an automatic mutation retry."},"source":{"line":34,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_operation-outcome-0"},{"id":"t:tmux_operation:state/0","publicId":"t:tmux_operation:state/0","qualifiedName":"tmux_operation:state/0","name":"state/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type state() ::\n #{phase := queued | sent | responded | retired,\n stage :=\n pending | waiting | preflight | command,\n owner := pid(),\n outcome := pending | outcome(),\n cleanup := pending | cleanup()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":174,"end":177,"target":"t:erlang:pid/0"},{"start":214,"end":221,"target":"t:tmux_operation:outcome/0"},{"start":258,"end":265,"target":"t:tmux_operation:cleanup/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Observed lifecycle state, without command output. queued includes admission and identity preflight; sent means dispatch authorization, not a proven aftereffect. responded can retain incomplete cleanup; retired releases operation resources. pending certainty means no result yet. The owner is the initiating or transferred process; holding a waiter handle does not change it."},"source":{"line":66,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_operation-state-0"},{"id":"t:tmux_operation:t/0","publicId":"t:tmux_operation:t/0","qualifiedName":"tmux_operation:t/0","name":"t/0","namespace":"tmux_operation","parent":"tmux_operation","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A generation-bound operation handle. Possessing a waiter handle does not transfer ownership."},"source":{"line":31,"file":"apps/libtmux_erlang/src/tmux_operation.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_operation-t-0"},{"id":"tmux_option","publicId":"tmux_option","qualifiedName":"tmux_option","name":"tmux_option","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Read and change explicit tmux option tables through registered references.","body":"Session, physical window and pane records from `m:tmux_model` select their\nlocal tables. Global tables use {server, Server}, {session_defaults, Server}\nor {window_defaults, Server}. Built-in canonical names and scopes are checked\nagainst pinned source metadata; tmux otherwise lets a name override the\nsupplied scope flags. `m:tmux_hook` owns hook registration and execution;\nhooks are rejected here. Prefixes and aliases are rejected.\n\n`get/3` requires an explicit options map. Local-only reads are the\ndefault; inherit = true follows tmux's table parents (pane -> window -> window\ndefaults, or session -> session defaults). Server options have no parent. A\nmissing local value or array entry returns none; an empty binary or empty\narray is a value. Arrays return maps of indexes to binary values, preserving\nsparse indexes. There is no hidden capture refresh or cache of option values.\n`get_many/3` reads the same scalar key from up to seven local rows through one\nbounded native sequence, retaining local-only semantics by default.\n\nValues are NUL-free binary tmux text bytes, including non-UTF-8 bytes. No\nshell or format expansion is applied by this API. tmux still interprets a\nbuilt-in option according to its type: formats, shell commands and command\noptions may execute later when tmux uses them. This API is for trusted\napplication code. Numeric and flag values are canonical binary text on reads,\nnot Erlang numbers.\n\nBuilt-in metadata covers every released version in the supported tmux\n3.3a–3.8 range, including exact patch letters. Tracking and unknown versions\nfail closed. User options beginning @ do not need a built-in\ncatalogue. The raw `tmux_command:raw/2` remains available for deliberate\nnewer-server integration. All mutations are one-shot I/O with observed\nidentity checks, not transactions. Timeouts can leave an unknown remote\noutcome; mutations are never retried here. See the [scoped options\nguide](options.md) for ownership and inheritance."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_option"},{"id":"tmux_option:catalogue/1","publicId":"tmux_option:catalogue/1","qualifiedName":"tmux_option:catalogue/1","name":"catalogue/1","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"catalogue(Version)\n-spec catalogue(tmux_version:t()) ->\n {ok, #{binary() => metadata()}} |\n {error, map()}.","references":[{"start":35,"end":49,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":82,"end":88,"target":"t:erlang:binary/0"},{"start":94,"end":102,"target":"t:tmux_option:metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":136,"end":139,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]}],"returns":"{ok, #{binary() => metadata()}} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":7,"end":13,"target":"t:erlang:binary/0"},{"start":19,"end":27,"target":"t:tmux_option:metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":42,"end":45,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return all canonical built-in option and hook metadata for one exact parsed version, without I/O. Catalogues cover every release from 3.3a through 3.8; historical 3.3 metadata remains available for source discovery. The generated reference records each release's source commit and file digests."},"source":{"line":89,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_option-catalogue-1"},{"id":"tmux_option:describe/2","publicId":"tmux_option:describe/2","qualifiedName":"tmux_option:describe/2","name":"describe/2","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"describe(Version, Name)\n-spec describe(tmux_version:t(), binary()) ->\n {ok, metadata()} | {error, map()}.","references":[{"start":39,"end":53,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":57,"end":63,"target":"t:erlang:binary/0"},{"start":93,"end":101,"target":"t:tmux_option:metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":115,"end":118,"target":"t:erlang:map/0"}],"params":[{"name":"Version","type":"tmux_version:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_version:t/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, metadata()} | {error, map()}","returnsReferences":[{"start":5,"end":13,"target":"t:tmux_option:metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":27,"end":30,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return source metadata for a canonical built-in name and a parsed daemon version, without I/O. Unknown names, unavailable names, tracking builds and uncatalogued versions have distinct errors. The catalogue describes scopes and parser types; it does not qualify runtime behavior or authorize hook execution.","examples":[{"lang":"erlang","code":"1> {ok, V} = tmux_version:parse(<<\"tmux 3.3a\">>), ok.\nok\n2> {ok, M} = tmux_option:describe(V, <<\"exit-empty\">>), ok.\nok\n3> maps:get(scopes, M).\n[server]"}]},"source":{"line":73,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_option-describe-2"},{"id":"tmux_option:get/3","publicId":"tmux_option:get/3","qualifiedName":"tmux_option:get/3","name":"get/3","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"get(Scope, Key, Options)\n-spec get(scope(), key(), read_options()) ->\n {ok, value()} | none | {error, map()}.","references":[{"start":35,"end":40,"target":"t:tmux_option:scope/0"},{"start":44,"end":47,"target":"t:tmux_option:key/0"},{"start":51,"end":63,"target":"t:tmux_option:read_options/0"},{"start":88,"end":93,"target":"t:tmux_option:value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":114,"end":117,"target":"t:erlang:map/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_option:scope/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_option:key/0"}]},{"name":"Options","type":"read_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_option:read_options/0"}]}],"returns":"{ok, value()} | none | {error, map()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_option:value/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":31,"end":34,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read one option or array, performing I/O after validation. Missing local values and array entries return none; known empty strings and arrays return {ok, Value}. inherit = true reads through tmux's parent tables. Unknown fields are rejected. Errors retain backend diagnostics; a missing target never becomes absence. Use `set/4` to write a value and `unset/2` to restore inheritance."},"source":{"line":105,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_option-get-3"},{"id":"tmux_option:get_many/3","publicId":"tmux_option:get_many/3","qualifiedName":"tmux_option:get_many/3","name":"get_many/3","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"get_many(Scopes, Name, Options)\n-spec get_many([tmux_model:session() |\n tmux_model:window() |\n tmux_model:pane(),\n ...],\n binary(),\n read_options()) ->\n {ok, [binary() | none]} | {error, map()}.","references":[{"start":48,"end":66,"target":"t:tmux_model:session/0"},{"start":87,"end":104,"target":"t:tmux_model:window/0"},{"start":125,"end":140,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":181,"end":187,"target":"t:erlang:binary/0"},{"start":206,"end":218,"target":"t:tmux_option:read_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":249,"end":255,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":277,"end":280,"target":"t:erlang:map/0"}],"params":[{"name":"Scopes","type":"[tmux_model:session() |\n tmux_model:window() |\n tmux_model:pane(),\n ...]","typeReferences":[{"start":1,"end":19,"target":"t:tmux_model:session/0"},{"start":35,"end":52,"target":"t:tmux_model:window/0"},{"start":68,"end":83,"target":"t:tmux_model:pane/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Options","type":"read_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_option:read_options/0"}]}],"returns":"{ok, [binary() | none]} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":6,"end":12,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read one scalar option from one to seven local rows on the same registered endpoint. Performs one bounded native sequence after validating every scope. Results follow input order; each entry is binary text or none for a missing local value. `t:read_options/0` controls inheritance as in `get/3`.","body":"Names use ASCII letters, digits, dots, underscores and hyphens, with an\noptional leading @ for user options. Global tables, arrays, indexed keys,\nhooks and command options are unsupported. Use `get/3` for broader option\nreads and `tmux_hook:get/3` for hooks.\nInvalid scopes, unsupported keys and different owners fail before dispatch.\n\nEach read is bracketed by matching native target-ID observations. Unresolved\nor mismatched IDs reject the batch. The checks do not prove topology membership\nor completed destruction: older tmux may retain an unlinked pane through\nqueued references. The sequence provides interval observations and the same\nserver-incarnation guarantee as `get/3`. Ambient command configuration applies\nto both paths.\n\nStdout is bounded to 1 MiB and stderr to 64 KiB for the whole sequence, with\nthe endpoint's 2500 ms command deadline. Seven 32 KiB values fit even under\nthe qualified worst-case native quoting expansion. Larger external values\nmay exceed that aggregate output bound. Any command, framing or decoding\nfailure rejects the entire result, retaining native outcome and cleanup\nevidence. There is no partial-success result, hidden refresh or value cache."},"source":{"line":145,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_option-get_many-3"},{"id":"tmux_option:set/3","publicId":"tmux_option:set/3","qualifiedName":"tmux_option:set/3","name":"set/3","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"set(Scope, Key, Value)\n-spec set(scope(), key(), binary()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":33,"end":38,"target":"t:tmux_option:scope/0"},{"start":42,"end":45,"target":"t:tmux_option:key/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":49,"end":55,"target":"t:erlang:binary/0"},{"start":80,"end":104,"target":"t:tmux_operation:completed/0"},{"start":131,"end":153,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_option:scope/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_option:key/0"}]},{"name":"Value","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Set one scalar or indexed array entry with default write options. Performs I/O; see `set/4` for append, only-if-unset, parsing and unknown-outcome semantics."},"source":{"line":164,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_option-set-3"},{"id":"tmux_option:set/4","publicId":"tmux_option:set/4","qualifiedName":"tmux_option:set/4","name":"set/4","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"set(Scope, Key, Value, Options)\n-spec set(scope(), key(), binary(), write_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":42,"end":47,"target":"t:tmux_option:scope/0"},{"start":51,"end":54,"target":"t:tmux_option:key/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":58,"end":64,"target":"t:erlang:binary/0"},{"start":68,"end":81,"target":"t:tmux_option:write_options/0"},{"start":106,"end":130,"target":"t:tmux_operation:completed/0"},{"start":157,"end":179,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_option:scope/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_option:key/0"}]},{"name":"Value","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Options","type":"write_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_option:write_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Set a literal binary value, after scope/version/owner validation. Array writes require {Name, Index}; this avoids tmux's whole-array separator grammar. append uses tmux's type-specific -a semantics. only_if_unset checks the local table; already-set is a backend error, with no suppressed errors or compare-and-swap guarantee. Values must be supplied explicitly; an empty flag value retains tmux's native toggle behavior. A successful result proves command completion, not later effects of a stored command or format. Performs I/O; never retries."},"source":{"line":178,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_option-set-4"},{"id":"tmux_option:unset/2","publicId":"tmux_option:unset/2","qualifiedName":"tmux_option:unset/2","name":"unset/2","namespace":"tmux_option","parent":"tmux_option","kind":"function","modifiers":[],"signatures":[{"raw":"unset(Scope, Key)\n-spec unset(scope(), key()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":30,"end":35,"target":"t:tmux_option:scope/0"},{"start":39,"end":42,"target":"t:tmux_option:key/0"},{"start":69,"end":93,"target":"t:tmux_operation:completed/0"},{"start":122,"end":144,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Scope","type":"scope()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_option:scope/0"}]},{"name":"Key","type":"key()","typeReferences":[{"start":0,"end":3,"target":"t:tmux_option:key/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove a local option or one indexed entry. Removing a local option restores inheritance; removing an entry leaves a local array, possibly empty. Unsetting a global built-in resets tmux's default; user options are removed. Missing local values are a successful tmux no-op. No pane-wide -U action is implied. Performs I/O and returns the command result without refreshing captured rows."},"source":{"line":198,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_option-unset-2"},{"id":"t:tmux_option:key/0","publicId":"t:tmux_option:key/0","qualifiedName":"tmux_option:key/0","name":"key/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type key() :: binary() | {binary(), non_neg_integer()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":15,"end":21,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":37,"end":52,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Canonical binary name; arrays use a structured non-negative index, never bracket syntax."},"source":{"line":44,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_option-key-0"},{"id":"t:tmux_option:metadata/0","publicId":"t:tmux_option:metadata/0","qualifiedName":"tmux_option:metadata/0","name":"metadata/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type metadata() ::\n #{scopes := [server | session | window | pane],\n type :=\n choice | colour | command | flag | key |\n number | string,\n array := boolean(),\n hook := boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":209,"end":216,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":240,"end":247,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Source-derived scope, parser type, array and executable-hook metadata."},"source":{"line":46,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_option-metadata-0"},{"id":"t:tmux_option:read_options/0","publicId":"t:tmux_option:read_options/0","qualifiedName":"tmux_option:read_options/0","name":"read_options/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type read_options() :: #{inherit => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":37,"end":44,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Local-only unless inherit is true. Unknown options and non-Booleans are errors."},"source":{"line":50,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_option-read_options-0"},{"id":"t:tmux_option:scope/0","publicId":"t:tmux_option:scope/0","qualifiedName":"tmux_option:scope/0","name":"scope/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type scope() ::\n tmux_model:session() |\n tmux_model:window() |\n tmux_model:pane() |\n {server | session_defaults | window_defaults,\n tmux_server:t()}.","params":[],"references":[{"start":27,"end":45,"target":"t:tmux_model:session/0"},{"start":60,"end":77,"target":"t:tmux_model:window/0"},{"start":92,"end":107,"target":"t:tmux_model:pane/0"},{"start":179,"end":192,"target":"t:tmux_server:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A registered local entity or an explicitly selected global option table."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_option-scope-0"},{"id":"t:tmux_option:value/0","publicId":"t:tmux_option:value/0","qualifiedName":"tmux_option:value/0","name":"value/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type value() ::\n binary() | #{non_neg_integer() => binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":40,"end":55,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":61,"end":67,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Canonical tmux text bytes for a scalar/entry, or a sparse map for a whole array."},"source":{"line":54,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_option-value-0"},{"id":"t:tmux_option:write_options/0","publicId":"t:tmux_option:write_options/0","qualifiedName":"tmux_option:write_options/0","name":"write_options/0","namespace":"tmux_option","parent":"tmux_option","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type write_options() ::\n #{append => boolean(),\n only_if_unset => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":47,"end":54,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":87,"end":94,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"append maps to -a; only_if_unset maps to -o and reports already-set errors. Both default false."},"source":{"line":52,"file":"apps/libtmux_erlang/src/tmux_option.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_option-write_options-0"},{"id":"tmux_pane","publicId":"tmux_pane","qualifiedName":"tmux_pane","name":"tmux_pane","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Create, observe and rearrange panes using registered physical IDs.","body":"`split/2` accepts a pane or a window; a window means its active pane\nat execution. Options (`t:split_options/0`) are direction\n(horizontal or vertical), size ({cells, N} or {percent, N}), before,\nfull_size, zoom, cwd, env, launch and detach. It defaults to a detached\nvertical split. `get/2` returns newly observed fields; existing rows\nremain unchanged. Reads span several commands and do not claim atomicity.\nLaunch and environment options follow `tmux_session:create/2`. An absent or\nzero tmux pane_pid is represented as none. A captured positive PID is an\nobservation, not a guarantee that the process remains alive.\n\nA successful split followed by a failed observation retains the completed\nmutation and command result in its error. `kill/1` returns the\ncommand result. Detached or stale references cannot act. `resize_command/2`\nbuilds a reusable value without tmux I/O; the other calls perform I/O after\nvalidation.\n\n`send_text/2` sends up to 2,000 literal bytes, including NUL, in one\ncommand using tmux's hexadecimal key form. It adds no Enter key and never\nsplits a large input into partially applied commands. `send_keys/2`\naccepts up to 256 named keys, single UTF-8 characters, {function, 1..12} and\n{control, <>}. Named keys are enter, tab, escape, backspace, space,\nup, down, left, right, home, 'end', insert, delete, page_up, page_down and\nback_tab. Terminal modes still govern how input is consumed; command\ncompletion does not mean a program processed it.\n\n`capture/2` returns stdout bytes unchanged, including final\nnewlines. Options (`t:capture_options/0`) are start and 'end' (line\nintegers or all), join_lines, escape_sequences, escape_control,\nretain_trailing_spaces, alternate, pending and quiet. Defaults are tmux's\ncurrent-screen capture without escapes, joined wraps or padding. The\nendpoint's output limit applies; an oversized capture returns an error.\n\nUse `join/3`, `move/3` and `swap/3` to rearrange existing panes without\nrespawning their processes. `break/4` takes an explicit source window link:\nbreaking a window's only pane moves that membership, while breaking one of\nseveral panes creates a new physical window. The [topology guide](panes.md)\nshows the distinction. Use `get/2` or a new snapshot for updated parents and\nindexes; actions leave captured values unchanged.\n\n`pipe/3` connects a tmux-owned shell process to pane output, input or both.\nIt protects the shell text from tmux hash/strftime expansion; shell quoting\nremains the caller's responsibility. `stop_pipe/1` closes that native pipe.\nThese actions do not create an Erlang output subscription or transfer process\nownership to the endpoint. Use an application acknowledgement for consumer\nreadiness, delivered bytes and job completion."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane"},{"id":"tmux_pane:break/4","publicId":"tmux_pane:break/4","qualifiedName":"tmux_pane:break/4","name":"break/4","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"break(Pane, SourceLink, Session, Options)\n-spec break(tmux_model:pane(),\n tmux_model:window_link(),\n tmux_model:session(),\n break_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":54,"end":69,"target":"t:tmux_model:pane/0"},{"start":85,"end":107,"target":"t:tmux_model:window_link/0"},{"start":123,"end":141,"target":"t:tmux_model:session/0"},{"start":157,"end":170,"target":"t:tmux_pane:break_options/0"},{"start":197,"end":221,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":250,"end":253,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"SourceLink","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"break_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_pane:break_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Break a physical pane through its explicit source membership into a destination session/index. Source, link and session must have the same registered owner. The source link's expected window and the pane's observed parent are checked before dispatch. The source selector also includes the stable pane ID, never its positional index. Preflight and action are not atomic.","body":"With multiple panes, tmux creates a new physical window. With only one pane,\nit moves the selected source membership, preserving the existing window and\nits other links. Moving the final membership out can remove the source session.\nPane IDs and processes remain; indexes and option inheritance can change.\nname is a literal UTF-8 argument, subject to native name cleaning.\nAn occupied destination index is refused. detach defaults true; false selects\nthe destination membership. Session groups retain native synchronization.\n\nReturns the command result consistently for both cases. Use `get/2` or\n`tmux_window_link:get/3` for fresh observations. Even an eventual native error\ncan unzoom a window; this is not a transaction and is never retried."},"source":{"line":211,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-break-4"},{"id":"tmux_pane:capture/2","publicId":"tmux_pane:capture/2","qualifiedName":"tmux_pane:capture/2","name":"capture/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"capture(Pane, Options)\n-spec capture(tmux_model:pane(), capture_options()) ->\n {ok, binary()} | {error, map()}.","references":[{"start":37,"end":52,"target":"t:tmux_model:pane/0"},{"start":56,"end":71,"target":"t:tmux_pane:capture_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":100,"end":106,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":120,"end":123,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"capture_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_pane:capture_options/0"}]}],"returns":"{ok, binary()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":5,"end":11,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":25,"end":28,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture terminal bytes, preserving final newlines. Options select line range, joined wraps, escapes, alternate screen and padding; defaults follow tmux current-screen capture. Performs I/O and returns an explicit output-limit error instead of silently truncating."},"source":{"line":414,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-capture-2"},{"id":"tmux_pane:get/2","publicId":"tmux_pane:get/2","qualifiedName":"tmux_pane:get/2","name":"get/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"get(Server, Id)\n-spec get(tmux_server:t(), tmux_model:pane_id()) ->\n {ok, tmux_model:pane()} | {error, map()}.","references":[{"start":26,"end":39,"target":"t:tmux_server:t/0"},{"start":43,"end":61,"target":"t:tmux_model:pane_id/0"},{"start":86,"end":101,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":115,"end":118,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Id","type":"tmux_model:pane_id()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:pane_id/0"}]}],"returns":"{ok, tmux_model:pane()} | {error, map()}","returnsReferences":[{"start":5,"end":20,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read fresh fields for a physical pane ID. Performs I/O and returns target_gone for a vanished pane. A captured PID remains an observation, not a live-process guarantee."},"source":{"line":127,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-get-2"},{"id":"tmux_pane:join/3","publicId":"tmux_pane:join/3","qualifiedName":"tmux_pane:join/3","name":"join/3","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"join(Source, Destination, Options)\n-spec join(tmux_model:pane(),\n tmux_model:pane(),\n join_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":46,"end":61,"target":"t:tmux_model:pane/0"},{"start":76,"end":91,"target":"t:tmux_model:pane/0"},{"start":106,"end":118,"target":"t:tmux_pane:join_options/0"},{"start":144,"end":168,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":196,"end":199,"target":"t:erlang:map/0"}],"params":[{"name":"Source","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Destination","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"join_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:join_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Move a source pane into a split beside the destination pane. Both physical IDs must belong to the same registered owner and must differ. Geometry follows `t:join_options/0`. Existing processes and pane IDs survive; dimensions, indexes and inherited window options can change. Removing a window's last pane destroys that physical window and its links, and can remove sessions.","body":"Default detach true avoids selecting the resolved destination session; false\nuses tmux's resolved session context for the destination pane. Shared physical\nwindows affect all their memberships. Returns the command result without\nrefreshing either row. Use `get/2` for current fields. No retry is performed."},"source":{"line":236,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-join-3"},{"id":"tmux_pane:kill/1","publicId":"tmux_pane:kill/1","qualifiedName":"tmux_pane:kill/1","name":"kill/1","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"kill(Pane)\n-spec kill(tmux_model:pane()) ->\n {ok, map()} | {error, map()}.","references":[{"start":22,"end":37,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":63,"end":66,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":80,"end":83,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Destroy this registered pane. Performs I/O after validating its origin and stable ID; it never falls back to a positional target."},"source":{"line":134,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-kill-1"},{"id":"tmux_pane:move/3","publicId":"tmux_pane:move/3","qualifiedName":"tmux_pane:move/3","name":"move/3","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"move(Source, Destination, Options)\n-spec move(tmux_model:pane(),\n tmux_model:pane(),\n join_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":46,"end":61,"target":"t:tmux_model:pane/0"},{"start":76,"end":91,"target":"t:tmux_model:pane/0"},{"start":106,"end":118,"target":"t:tmux_pane:join_options/0"},{"start":144,"end":168,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":196,"end":199,"target":"t:erlang:map/0"}],"params":[{"name":"Source","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Destination","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"join_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:join_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Rearrange a source pane beside the destination, including within one window. Uses native move-pane, whose placement and lifetime behavior follow `join/3`. Both calls use explicit physical IDs and leave captured rows unchanged."},"source":{"line":245,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-move-3"},{"id":"tmux_pane:pipe/3","publicId":"tmux_pane:pipe/3","qualifiedName":"tmux_pane:pipe/3","name":"pipe/3","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"pipe/3\n-spec pipe(tmux_model:pane(),\n pipe_command(),\n pipe_options()) ->\n {ok, map()} | {error, map()}.","references":[{"start":18,"end":33,"target":"t:tmux_model:pane/0"},{"start":48,"end":60,"target":"t:tmux_pane:pipe_command/0"},{"start":75,"end":87,"target":"t:tmux_pane:pipe_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":113,"end":116,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":130,"end":133,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Command","type":"pipe_command()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:pipe_command/0"}]},{"name":"Options","type":"pipe_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:pipe_options/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Connect a shell process to this registered physical pane, performing I/O. An explicit nonempty `#{shell => Command}` is required (`t:pipe_command/0`). tmux hash formats and strftime directives are escaped so the shell receives the supplied text. This does not quote values interpolated into shell code; the caller owns that quoting. Executable argv is not accepted by this shell-only native command. Encoding follows `tmux_command:literal_format/2` in time mode. A percent-bearing command above its native 8191-byte intermediate limit returns `format_limit` before dispatch, preserving any existing pipe.","body":"`direction` (`t:pipe_options/0`) is `output` (default: pane output to child\nstdin), `input` (child stdout to pane input) or `both`. `toggle` defaults false,\nreplacing any existing pipe. True maps to native `-o`: close an existing pipe without\nstarting another, or open one when none exists. A stopped pipe and replacement\ncan discard pending output. Await consumer acknowledgements before closing\nif delivered bytes matter. This is a live PTY byte stream, not rendered\ncapture text or replay of terminal history; terminal modes affect its bytes.\n\nThe child is started by tmux through `/bin/sh -c`. Its stderr is discarded;\nunused directions are routed to the native null device. No pane cwd or\nenvironment copying is promised. A successful command result does not prove\nexec success, readiness, delivery or child exit. The process is tmux-owned;\n`tmux_server:close/1` preserves the borrowed pane and its pipe. This is not an\nErlang subscription with library flow control. Use `stop_pipe/1` to close the\npipe; stopping is not process cancellation or a wait for job completion."},"source":{"line":165,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-pipe-3"},{"id":"tmux_pane:resize/2","publicId":"tmux_pane:resize/2","qualifiedName":"tmux_pane:resize/2","name":"resize/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"resize(Pane, Options)\n-spec resize(tmux_model:pane(), resize_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":35,"end":50,"target":"t:tmux_model:pane/0"},{"start":54,"end":68,"target":"t:tmux_pane:resize_options/0"},{"start":96,"end":120,"target":"t:tmux_operation:completed/0"},{"start":150,"end":172,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"resize_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_pane:resize_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Request an absolute width, height or both for this registered physical pane. Performs I/O after validating dimensions and origin. tmux can clamp the request to its layout constraints and can resize neighboring panes. Resizing a tiled pane unzooms its window. Use `get/2` for actual dimensions; the input row is unchanged. The accepted library range is not a promise that every server accepts every dimension: tmux versions can impose tighter limits and return a command error.","body":"An empty request is rejected before dispatch:","examples":[{"lang":"erlang","code":"1> tmux_pane:resize(invalid_row, #{}).\n{error,#{code => empty_resize}}"}]},"source":{"line":317,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-resize-2"},{"id":"tmux_pane:resize_command/2","publicId":"tmux_pane:resize_command/2","qualifiedName":"tmux_pane:resize_command/2","name":"resize_command/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"resize_command(Pane, Options)\n-spec resize_command(tmux_model:pane(), resize_options()) ->\n {ok, tmux_command:t()} |\n {error, map()}.","references":[{"start":51,"end":66,"target":"t:tmux_model:pane/0"},{"start":70,"end":84,"target":"t:tmux_pane:resize_options/0"},{"start":120,"end":134,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":172,"end":175,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"resize_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_pane:resize_options/0"}]}],"returns":"{ok, tmux_command:t()} | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build a resize command without tmux I/O. Uses the dimensions and validation rules of `resize/2`, preserving the row's captured origin and stable pane ID. Endpoint liveness and native layout constraints are checked during execution. Submit through `tmux_server:command/3` or `tmux_operation:start/3`.","examples":[{"lang":"erlang","code":"1> tmux_pane:resize_command(invalid_row, #{}).\n{error,#{code => empty_resize}}"}]},"source":{"line":335,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-resize_command-2"},{"id":"tmux_pane:respawn/2","publicId":"tmux_pane:respawn/2","qualifiedName":"tmux_pane:respawn/2","name":"respawn/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"respawn(Pane, Options)\n-spec respawn(tmux_model:pane(), respawn_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":37,"end":52,"target":"t:tmux_model:pane/0"},{"start":56,"end":71,"target":"t:tmux_pane:respawn_options/0"},{"start":100,"end":124,"target":"t:tmux_operation:completed/0"},{"start":155,"end":177,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"respawn_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_pane:respawn_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Respawn this registered physical pane, keeping its pane ID. force defaults false and a running pane normally returns command_error. force = true lets tmux close its existing PTY before spawning again. This acknowledges the tmux command, not former-job termination or successful application initialization. The old PTY can already be closed if a later spawn step fails.","body":"launch defaults to previous, reusing tmux's saved argv or shell. An explicit\nargv or shell map replaces that command. default_shell is invalid here because\nabsent respawn arguments mean saved-command reuse. Omitted cwd retains the\nsaved launch directory, rather than the program's current directory. env\naugments the session environment tmux resolves for this physical pane; a\ncaptured membership does not pin that context. Prior per-spawn overrides are\nnot automatically reapplied. Other launch rules follow\n`tmux_session:create/2`.\n\nPerforms I/O after validation. Existing rows retain their observations; use\n`get/2` and an application readiness condition to inspect the new process. An\nuncertain result is not permission to replay this mutation automatically.\n\nUnsupported launch modes fail before dispatch:","examples":[{"lang":"erlang","code":"1> tmux_pane:respawn(invalid_row, #{launch => default_shell}).\n{error,#{code => invalid_launch}}"}]},"source":{"line":373,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-respawn-2"},{"id":"tmux_pane:send_keys/2","publicId":"tmux_pane:send_keys/2","qualifiedName":"tmux_pane:send_keys/2","name":"send_keys/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"send_keys(Pane, Keys)\n-spec send_keys(tmux_model:pane(), [key()]) ->\n {ok, map()} | {error, map()}.","references":[{"start":38,"end":53,"target":"t:tmux_model:pane/0"},{"start":58,"end":61,"target":"t:tmux_pane:key/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":93,"end":96,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":110,"end":113,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Keys","type":"[key()]","typeReferences":[{"start":1,"end":4,"target":"t:tmux_pane:key/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Send at most 256 validated key tokens. Named keys, single UTF-8 characters, function keys and control-letter tuples are supported. Performs I/O; terminal modes determine the resulting input bytes. Use `send_text/2` for arbitrary bytes."},"source":{"line":401,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-send_keys-2"},{"id":"tmux_pane:send_text/2","publicId":"tmux_pane:send_text/2","qualifiedName":"tmux_pane:send_text/2","name":"send_text/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"send_text/2\n-spec send_text(tmux_model:pane(), binary()) ->\n {ok, map()} | {error, map()}.","references":[{"start":28,"end":43,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":47,"end":53,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":84,"end":87,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":101,"end":104,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Bytes","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Send at most 2,000 literal bytes as hexadecimal tmux keys. Adds no Enter key and does not invoke a shell. Performs I/O in one command; oversized input is rejected before partial submission. Completion does not prove that a terminal program processed the input."},"source":{"line":388,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-send_text-2"},{"id":"tmux_pane:split/2","publicId":"tmux_pane:split/2","qualifiedName":"tmux_pane:split/2","name":"split/2","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"split(Row, Options)\n-spec split(tmux_model:pane() | tmux_model:window(),\n split_options()) ->\n {ok, tmux_model:pane()} | {error, map()}.","references":[{"start":32,"end":47,"target":"t:tmux_model:pane/0"},{"start":52,"end":69,"target":"t:tmux_model:window/0"},{"start":85,"end":98,"target":"t:tmux_pane:split_options/0"},{"start":125,"end":140,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":154,"end":157,"target":"t:erlang:map/0"}],"params":[{"name":"Row","type":"tmux_model:pane() | tmux_model:window()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"},{"start":20,"end":37,"target":"t:tmux_model:window/0"}]},{"name":"Options","type":"split_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_pane:split_options/0"}]}],"returns":"{ok, tmux_model:pane()} | {error, map()}","returnsReferences":[{"start":5,"end":20,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Split a pane, or the supplied window's active pane, and observe the new pane. Defaults to a detached vertical split. Options and launch semantics are described in the module docs. Performs I/O; a post-creation read error retains the completed mutation rather than pretending that no pane was created."},"source":{"line":109,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-split-2"},{"id":"tmux_pane:stop_pipe/1","publicId":"tmux_pane:stop_pipe/1","qualifiedName":"tmux_pane:stop_pipe/1","name":"stop_pipe/1","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"stop_pipe(Pane)\n-spec stop_pipe(tmux_model:pane()) ->\n {ok, map()} | {error, map()}.","references":[{"start":32,"end":47,"target":"t:tmux_model:pane/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":78,"end":81,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":95,"end":98,"target":"t:erlang:map/0"}],"params":[{"name":"Pane","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Close this registered pane's native pipe, performing I/O. On a live pane, closing an already closed pipe succeeds. An exited pane can produce a native command error; a vanished ID returns `target_gone`.","body":"Closing can discard pending bytes. It neither kills nor waits for an arbitrary\nshell job started by `pipe/3`; applications must verify consumption and\nprocess completion themselves. The endpoint does not own that shell process."},"source":{"line":188,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-stop_pipe-1"},{"id":"tmux_pane:swap/3","publicId":"tmux_pane:swap/3","qualifiedName":"tmux_pane:swap/3","name":"swap/3","namespace":"tmux_pane","parent":"tmux_pane","kind":"function","modifiers":[],"signatures":[{"raw":"swap(Source, Destination, Options)\n-spec swap(tmux_model:pane(),\n tmux_model:pane(),\n swap_options()) ->\n {ok, tmux_operation:completed()} |\n {error, map()}.","references":[{"start":46,"end":61,"target":"t:tmux_model:pane/0"},{"start":76,"end":91,"target":"t:tmux_model:pane/0"},{"start":106,"end":118,"target":"t:tmux_pane:swap_options/0"},{"start":144,"end":168,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":196,"end":199,"target":"t:erlang:map/0"}],"params":[{"name":"Source","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Destination","type":"tmux_model:pane()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_model:pane/0"}]},{"name":"Options","type":"swap_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_pane:swap_options/0"}]}],"returns":"{ok, tmux_operation:completed()} | {error, map()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":43,"end":46,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Exchange two panes' layout positions within or across physical windows. Preserves their IDs and processes; parent windows, dimensions, indexes and inherited options can change. Both rows require the same registered owner. detach defaults true; active positions can still receive different panes. zoom maps to native -Z. Identical IDs do not exchange panes, but native zoom handling still runs; the default can unzoom even a same-pane swap. Returns the command result; `get/2` observes the resulting values explicitly."},"source":{"line":258,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_pane-swap-3"},{"id":"t:tmux_pane:break_options/0","publicId":"t:tmux_pane:break_options/0","qualifiedName":"tmux_pane:break_options/0","name":"break_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type break_options() ::\n #{index := tmux_window_link:index(),\n name => binary(),\n detach => boolean()}.","params":[],"references":[{"start":46,"end":68,"target":"t:tmux_window_link:index/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":92,"end":98,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":124,"end":131,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Break placement: explicit destination index, optional literal window name. detach defaults true."},"source":{"line":66,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-break_options-0"},{"id":"t:tmux_pane:capture_options/0","publicId":"t:tmux_pane:capture_options/0","qualifiedName":"tmux_pane:capture_options/0","name":"capture_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type capture_options() ::\n #{start => coordinate(),\n 'end' => coordinate(),\n join_lines => boolean(),\n escape_sequences => boolean(),\n escape_control => boolean(),\n retain_trailing_spaces => boolean(),\n alternate => boolean(),\n pending => boolean(),\n quiet => boolean()}.","params":[],"references":[{"start":48,"end":58,"target":"t:tmux_pane:coordinate/0"},{"start":83,"end":93,"target":"t:tmux_pane:coordinate/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":123,"end":130,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":166,"end":173,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":207,"end":214,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":256,"end":263,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":292,"end":299,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":326,"end":333,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":358,"end":365,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture range and rendering flags. Byte output and its final newline are preserved."},"source":{"line":93,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-capture_options-0"},{"id":"t:tmux_pane:coordinate/0","publicId":"t:tmux_pane:coordinate/0","qualifiedName":"tmux_pane:coordinate/0","name":"coordinate/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type coordinate() :: -2147483648..32767 | all.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A capture line coordinate, or all for tmux's full available range."},"source":{"line":91,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-coordinate-0"},{"id":"t:tmux_pane:join_options/0","publicId":"t:tmux_pane:join_options/0","qualifiedName":"tmux_pane:join_options/0","name":"join_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type join_options() ::\n #{direction => horizontal | vertical,\n size =>\n {cells, 1..2147483647} | {percent, 1..100},\n detach => boolean(),\n before => boolean(),\n full_size => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":174,"end":181,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":207,"end":214,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":243,"end":250,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Join/move geometry: detach true, vertical split by default. before and full_size follow tmux layout rules."},"source":{"line":72,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-join_options-0"},{"id":"t:tmux_pane:key/0","publicId":"t:tmux_pane:key/0","qualifiedName":"tmux_pane:key/0","name":"key/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type key() ::\n binary() |\n enter | tab | escape | backspace | space | up |\n down | left | right | home | 'end' | insert |\n delete | page_up | page_down | back_tab |\n {function, 1..12} |\n {control, binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":25,"end":31,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":252,"end":258,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A validated named key, single UTF-8 character, function key or control-letter key."},"source":{"line":97,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-key-0"},{"id":"t:tmux_pane:pipe_command/0","publicId":"t:tmux_pane:pipe_command/0","qualifiedName":"tmux_pane:pipe_command/0","name":"pipe_command/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type pipe_command() :: #{shell := binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":35,"end":41,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Explicit shell code: a nonempty NUL-free binary, with no tmux format or strftime expansion."},"source":{"line":59,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-pipe_command-0"},{"id":"t:tmux_pane:pipe_options/0","publicId":"t:tmux_pane:pipe_options/0","qualifiedName":"tmux_pane:pipe_options/0","name":"pipe_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type pipe_options() ::\n #{direction => output | input | both,\n toggle => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":94,"end":101,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Pipe direction defaults to output. toggle defaults false; true closes an existing pipe instead of replacing it."},"source":{"line":61,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-pipe_options-0"},{"id":"t:tmux_pane:resize_options/0","publicId":"t:tmux_pane:resize_options/0","qualifiedName":"tmux_pane:resize_options/0","name":"resize_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type resize_options() ::\n #{width := 1..65535, height => 1..65535} |\n #{width => 1..65535, height := 1..65535}.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Requested absolute pane dimensions in cells. Supply at least one dimension; tmux can clamp it to fit the layout."},"source":{"line":85,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-resize_options-0"},{"id":"t:tmux_pane:respawn_options/0","publicId":"t:tmux_pane:respawn_options/0","qualifiedName":"tmux_pane:respawn_options/0","name":"respawn_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type respawn_options() ::\n #{force => boolean(),\n launch => tmux_command:respawn_spec(),\n cwd => binary(),\n env => #{binary() => binary()}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":48,"end":55,"target":"t:erlang:boolean/0"},{"start":81,"end":106,"target":"t:tmux_command:respawn_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":129,"end":135,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":160,"end":166,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":172,"end":178,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Respawn options. Defaults: force false, launch previous, saved cwd. Environment augments tmux's resolved session environment for this spawn."},"source":{"line":88,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-respawn_options-0"},{"id":"t:tmux_pane:split_options/0","publicId":"t:tmux_pane:split_options/0","qualifiedName":"tmux_pane:split_options/0","name":"split_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type split_options() ::\n #{direction => horizontal | vertical,\n size =>\n {cells, 1..2147483647} | {percent, 1..100},\n before => boolean(),\n full_size => boolean(),\n zoom => boolean(),\n cwd => binary(),\n env => #{binary() => binary()},\n launch => tmux_command:launch_spec(),\n detach => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":175,"end":182,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":211,"end":218,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":242,"end":249,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":272,"end":278,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":303,"end":309,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":315,"end":321,"target":"t:erlang:binary/0"},{"start":348,"end":372,"target":"t:tmux_command:launch_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":398,"end":405,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Split geometry, placement and explicit launch options. Defaults to a detached vertical split."},"source":{"line":80,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-split_options-0"},{"id":"t:tmux_pane:swap_options/0","publicId":"t:tmux_pane:swap_options/0","qualifiedName":"tmux_pane:swap_options/0","name":"swap_options/0","namespace":"tmux_pane","parent":"tmux_pane","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type swap_options() ::\n #{detach => boolean(), zoom => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":46,"end":53,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":65,"end":72,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Swap controls: detach defaults true; zoom maps to tmux -Z to retain zoom."},"source":{"line":78,"file":"apps/libtmux_erlang/src/tmux_pane.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_pane-swap_options-0"},{"id":"tmux_query","publicId":"tmux_query","qualifiedName":"tmux_query","name":"tmux_query","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Build and execute explicit queries over the tmux graph.","body":"Use `fetch/1` to execute a query. Constructors,\n`where/2`, `limit/2`, `pushdown/2` and\n`explain/1` perform no tmux I/O. Criteria are validated when added,\nand repeated conditions conjoin. Fetching returns an ordered `m:tmux_select`\nselection backed by a complete `m:tmux_snapshot` graph. By default the full\ncaptured view is filtered locally. Enable native candidate exclusion with\n`pushdown/2`: it can add a scan without reducing complete-graph hydration. The\ncandidate is a necessary condition; the full filter still runs before the limit.\n\nCaptures span commands and are not atomic. Candidate IDs excluded at one\nobservation cannot be recovered by later local filtering. Disabling\n`pushdown/2` evaluates the complete captured view without an\nearlier candidate exclusion. Numeric candidate fields come from the restricted\nscalar codec and must agree with the capture's scalar observations. Text and\nrelationships remain local.\n\nCaptures emit bounded OTP Logger reports with their snapshot ID and endpoint\ngeneration. See [runtime diagnostics](diagnostics.md) for observation cost,\nrejection reports and configuration.","examples":[{"lang":"erlang","code":"1> Q0 = tmux_query:panes(unopened), ok.\nok\n2> Q = tmux_query:where(#{width => #{gte => 120}}, Q0), ok.\nok\n3> maps:get(format, maps:get(candidate, tmux_query:explain(Q))).\n<<\"1\">>\n4> Pushed = tmux_query:pushdown(true, Q), ok.\nok\n5> maps:get(format, maps:get(candidate, tmux_query:explain(Pushed))).\n<<\"#{e|>=|:#{pane_width},120}\">>"}]},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query"},{"id":"tmux_query:explain/1","publicId":"tmux_query:explain/1","qualifiedName":"tmux_query:explain/1","name":"explain/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"explain/1\n-spec explain(t()) -> plan().","references":[{"start":24,"end":25,"target":"t:tmux_query:t/0"},{"start":32,"end":36,"target":"t:tmux_query:plan/0"}],"params":[{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"plan()","returnsReferences":[{"start":0,"end":4,"target":"t:tmux_query:plan/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Inspect command templates, necessary candidate conditions, full residual, hydration, required fields, ordering and temporal assumptions. Performs no I/O and does not contact the endpoint to claim dynamic capabilities."},"source":{"line":191,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-explain-1"},{"id":"tmux_query:fetch/1","publicId":"tmux_query:fetch/1","qualifiedName":"tmux_query:fetch/1","name":"fetch/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"fetch(Query)\n-spec fetch(t()) -> {ok, tmux_select:t()} | {error, map()}.","references":[{"start":25,"end":26,"target":"t:tmux_query:t/0"},{"start":38,"end":51,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":65,"end":68,"target":"t:erlang:map/0"}],"params":[{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"{ok, tmux_select:t()} | {error, map()}","returnsReferences":[{"start":5,"end":18,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":32,"end":35,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Execute with default capture bounds and no retry. Returns an ordered selection whose complete graph remains locally readable. See `fetch/2` for resource limits, requested retries and operational errors."},"source":{"line":215,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-fetch-1"},{"id":"tmux_query:fetch/2","publicId":"tmux_query:fetch/2","qualifiedName":"tmux_query:fetch/2","name":"fetch/2","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"fetch/2\n-spec fetch(t(), fetch_options()) ->\n {ok, tmux_select:t()} | {error, map()}.","references":[{"start":20,"end":21,"target":"t:tmux_query:t/0"},{"start":25,"end":38,"target":"t:tmux_query:fetch_options/0"},{"start":65,"end":78,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":92,"end":95,"target":"t:erlang:map/0"}],"params":[{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]},{"name":"Options","type":"fetch_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_query:fetch_options/0"}]}],"returns":"{ok, tmux_select:t()} | {error, map()}","returnsReferences":[{"start":5,"end":18,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":32,"end":35,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Execute the planned observation, full local predicate and final limit.","body":"Capture options are those of `tmux_server:snapshot/2`. retry is 0 (default) or\n1 and retries only inconsistent_capture, within the original capture deadline.\nThe retry is a new read-only capture. No mutations are retried. Invalid\ncapture requests return tagged errors, including unsupported consistency.","examples":[{"lang":"erlang","code":"1> tmux_query:fetch(tmux_query:panes(unopened), #{retry => 2}).\n{error,#{code => invalid_query_options}}"}]},"source":{"line":231,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-fetch-2"},{"id":"tmux_query:limit/2","publicId":"tmux_query:limit/2","qualifiedName":"tmux_query:limit/2","name":"limit/2","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"limit/2\n-spec limit(0..65536, t()) -> t().","references":[{"start":30,"end":31,"target":"t:tmux_query:t/0"},{"start":38,"end":39,"target":"t:tmux_query:t/0"}],"params":[{"name":"Count","type":"0..65536","typeReferences":[]},{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Set a final result limit from 0 through 65536, applied after residual filtering and identity handling. It is not a candidate-fetch limit. Performs no I/O; invalid counts raise bad_query_limit."},"source":{"line":172,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-limit-2"},{"id":"tmux_query:panes/1","publicId":"tmux_query:panes/1","qualifiedName":"tmux_query:panes/1","name":"panes/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"panes(Server)\n-spec panes(tmux_server:t()) -> t().","references":[{"start":26,"end":39,"target":"t:tmux_server:t/0"},{"start":46,"end":47,"target":"t:tmux_query:t/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe a future server-wide physical pane query. Performs no I/O; `fetch/1` is the execution boundary."},"source":{"line":128,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-panes-1"},{"id":"tmux_query:pushdown/2","publicId":"tmux_query:pushdown/2","qualifiedName":"tmux_query:pushdown/2","name":"pushdown/2","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"pushdown(Enabled, Query)\n-spec pushdown(boolean(), t()) -> t().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":40,"end":47,"target":"t:erlang:boolean/0"},{"start":51,"end":52,"target":"t:tmux_query:t/0"},{"start":59,"end":60,"target":"t:tmux_query:t/0"}],"params":[{"name":"Enabled","type":"boolean()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:boolean/0"}]},{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Enable or disable native candidate exclusion, returning a new query. The default is disabled: evaluate the complete captured view locally. Enabling it can add a candidate scan without reducing hydration; neither mode promises an atomic graph. Performs no I/O."},"source":{"line":183,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-pushdown-2"},{"id":"tmux_query:sessions/1","publicId":"tmux_query:sessions/1","qualifiedName":"tmux_query:sessions/1","name":"sessions/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"sessions(Server)\n-spec sessions(tmux_server:t()) -> t().","references":[{"start":32,"end":45,"target":"t:tmux_server:t/0"},{"start":52,"end":53,"target":"t:tmux_query:t/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe a future server-wide session query without executing tmux."},"source":{"line":144,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-sessions-1"},{"id":"tmux_query:where/2","publicId":"tmux_query:where/2","qualifiedName":"tmux_query:where/2","name":"where/2","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"where/2\n-spec where(map() | tmux_filter:t(), t()) -> t().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"},{"start":28,"end":41,"target":"t:tmux_filter:t/0"},{"start":45,"end":46,"target":"t:tmux_query:t/0"},{"start":53,"end":54,"target":"t:tmux_query:t/0"}],"params":[{"name":"Criteria","type":"map() | tmux_filter:t()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"},{"start":8,"end":21,"target":"t:tmux_filter:t/0"}]},{"name":"Query","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate trusted criteria for this entity and conjoin them with prior conditions. Successive calls share the same normalized resource limits as one flat conjunction. Each relationship quantifier retains its own scope. Returns a new immutable query; malformed criteria raise bad_filter. Performs no I/O."},"source":{"line":153,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-where-2"},{"id":"tmux_query:window_links/1","publicId":"tmux_query:window_links/1","qualifiedName":"tmux_query:window_links/1","name":"window_links/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"window_links(Server)\n-spec window_links(tmux_server:t()) -> t().","references":[{"start":40,"end":53,"target":"t:tmux_server:t/0"},{"start":60,"end":61,"target":"t:tmux_query:t/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe a future query over session-relative window memberships. Repeated physical windows retain distinct membership identity. Performs no I/O."},"source":{"line":139,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-window_links-1"},{"id":"tmux_query:windows/1","publicId":"tmux_query:windows/1","qualifiedName":"tmux_query:windows/1","name":"windows/1","namespace":"tmux_query","parent":"tmux_query","kind":"function","modifiers":[],"signatures":[{"raw":"windows(Server)\n-spec windows(tmux_server:t()) -> t().","references":[{"start":30,"end":43,"target":"t:tmux_server:t/0"},{"start":50,"end":51,"target":"t:tmux_query:t/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]}],"returns":"t()","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_query:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Describe a future query over unique physical windows. Performs no I/O."},"source":{"line":133,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_query-windows-1"},{"id":"t:tmux_query:candidate/0","publicId":"t:tmux_query:candidate/0","qualifiedName":"tmux_query:candidate/0","name":"candidate/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type candidate() ::\n #{format := binary(),\n exact := boolean(),\n local_only := [local_reason()],\n numeric_range => {0, 9007199254740991}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":43,"end":49,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":74,"end":81,"target":"t:erlang:boolean/0"},{"start":112,"end":124,"target":"t:tmux_query:local_reason/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Native necessary condition. format is a rendered tmux expression; exact means the translation covers the whole predicate for one observed state. A true fallback can admit every row. numeric_range describes qualified integer conversion, and is omitted for disabled/oversized fallback plans."},"source":{"line":65,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_query-candidate-0"},{"id":"t:tmux_query:command_plan/0","publicId":"t:tmux_query:command_plan/0","qualifiedName":"tmux_query:command_plan/0","name":"command_plan/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type command_plan() ::\n #{initial_spine := [source_command()],\n candidate := [source_command()],\n hydration := [source_command()],\n isolated_hydration := [source_command()],\n final_spine := [source_command()],\n empty_server := skip_window_and_pane_scans}.","params":[],"references":[{"start":54,"end":68,"target":"t:tmux_query:source_command/0"},{"start":99,"end":113,"target":"t:tmux_query:source_command/0"},{"start":144,"end":158,"target":"t:tmux_query:source_command/0"},{"start":198,"end":212,"target":"t:tmux_query:source_command/0"},{"start":245,"end":259,"target":"t:tmux_query:source_command/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture phases: initial identity/scalar scans, optional candidate scans, complete text/byte hydration and final identity/scalar scans. hydration gives the default batched templates; isolated_hydration describes the explicit isolated option and unqualified-field fallback. An empty server skips window/pane scans. Execution still validates capture bounds and can fail."},"source":{"line":92,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_query-command_plan-0"},{"id":"t:tmux_query:fetch_options/0","publicId":"t:tmux_query:fetch_options/0","qualifiedName":"tmux_query:fetch_options/0","name":"fetch_options/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type fetch_options() ::\n #{deadline_ms => 1..600000,\n max_rows => 1..65536,\n max_bytes => 1..67108864,\n hydration => tmux_server:hydration(),\n consistency => observed | atomic,\n retry => 0 | 1}.","params":[],"references":[{"start":160,"end":181,"target":"t:tmux_server:hydration/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture bounds plus an explicitly requested single inconsistent-capture retry; default retry is zero."},"source":{"line":48,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_query-fetch_options-0"},{"id":"t:tmux_query:local_reason/0","publicId":"t:tmux_query:local_reason/0","qualifiedName":"tmux_query:local_reason/0","name":"local_reason/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type local_reason() ::\n #{reason :=\n disabled | format_limit | inexact_negation |\n unqualified_scalar_codec |\n complete_relationship_required,\n field => binary(),\n relation => binary(),\n operator => tmux_schema:operator()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":219,"end":225,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":253,"end":259,"target":"t:erlang:binary/0"},{"start":287,"end":307,"target":"t:tmux_schema:operator/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Why part of a predicate stays local. field and relation contain stable schema IDs, not Erlang names or tmux formats. An unsupported leaf may broaden the native condition; it never removes the full local predicate."},"source":{"line":56,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_query-local_reason-0"},{"id":"t:tmux_query:plan/0","publicId":"t:tmux_query:plan/0","qualifiedName":"tmux_query:plan/0","name":"plan/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type plan() ::\n #{entity := tmux_schema:entity(),\n pushdown := boolean(),\n candidate := candidate(),\n residual := tmux_filter:wire_document(),\n required := [tmux_snapshot:requirement()],\n limit := infinity | 0..65536,\n commands := command_plan(),\n hydration := complete_graph,\n ordering := session_index_window | numeric_id,\n deduplication := membership | physical_id,\n capabilities :=\n #{minimum_tmux := binary(),\n transport := one_shot},\n consistency := observed,\n atomic := false,\n candidate_scalars :=\n same_row_checked_against_spine,\n text_and_relations := later_observations,\n temporal_limit :=\n excluded_rows_cannot_be_recovered}.","params":[],"references":[{"start":38,"end":56,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":84,"end":91,"target":"t:erlang:boolean/0"},{"start":120,"end":129,"target":"t:tmux_query:candidate/0"},{"start":157,"end":182,"target":"t:tmux_filter:wire_document/0"},{"start":211,"end":236,"target":"t:tmux_snapshot:requirement/0"},{"start":307,"end":319,"target":"t:tmux_query:command_plan/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":540,"end":546,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Pure explanation of a query. pushdown reports whether candidate exclusion is enabled (disabled by default). residual is the full portable predicate, required lists coverage requirements, and limit applies after residual evaluation. ordering and deduplication name the identity policy, not arbitrary map order. capabilities describes the planner baseline without probing a live endpoint.","body":"Capture spans commands. Candidate scalar values are checked against the first\nscan; text and relationships are later observations. Excluded rows cannot be\nrecovered after state changes. Even an exact candidate is not an atomic query."},"source":{"line":107,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_query-plan-0"},{"id":"t:tmux_query:source_command/0","publicId":"t:tmux_query:source_command/0","qualifiedName":"tmux_query:source_command/0","name":"source_command/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type source_command() ::\n #{entity := tmux_schema:entity(),\n command := binary(),\n format := binary(),\n transport := one_shot,\n codec := scalar_spine,\n kind := tmux_schema:entity(),\n args := [binary()],\n filter => binary()} |\n #{entity := tmux_schema:entity(),\n fields := [atom()],\n command := binary(),\n format := binary(),\n transport := one_shot,\n codec := escaped_columns_v1,\n args := [binary()]} |\n #{entity := tmux_schema:entity(),\n field := atom(),\n command := binary(),\n format := binary(),\n transport := one_shot,\n codec := id_prefixed_quoted_field,\n target := observed_id}.","params":[],"references":[{"start":48,"end":66,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":93,"end":99,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":125,"end":131,"target":"t:erlang:binary/0"},{"start":225,"end":243,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":268,"end":274,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":301,"end":307,"target":"t:erlang:binary/0"},{"start":335,"end":353,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":380,"end":384,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":412,"end":418,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":444,"end":450,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":551,"end":557,"target":"t:erlang:binary/0"},{"start":586,"end":604,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":629,"end":633,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":660,"end":666,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":692,"end":698,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Diagnostic command template, not executable argv. Scan templates carry args; text/byte hydration escapes each field once before column framing. Unqualified schema fields use isolated target = observed_id templates, resolved only while capturing. codec states how returned data is framed, including the version-specific print layer. This value grants no atomicity or persistent-connection guarantee."},"source":{"line":75,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_query-source_command-0"},{"id":"t:tmux_query:t/0","publicId":"t:tmux_query:t/0","qualifiedName":"tmux_query:t/0","name":"t/0","namespace":"tmux_query","parent":"tmux_query","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"An immutable description of future tmux reads. Only fetch executes it."},"source":{"line":121,"file":"apps/libtmux_erlang/src/tmux_query.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_query-t-0"},{"id":"tmux_schema","publicId":"tmux_schema","qualifiedName":"tmux_schema","name":"tmux_schema","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Validate schema-defined observations and normalize scalar values.","body":"Field names come from the generated registry, never record reflection or\npayload-created atoms. Text is validated UTF-8; byte fields preserve arbitrary\nbinaries. Integer normalization uses the shared exact JSON integer range.\n`m:tmux_model` validates rows and `m:tmux_filter` validates criteria through\nthis schema. The [field reference](fields.md) lists fields and relationships."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_schema"},{"id":"tmux_schema:field/2","publicId":"tmux_schema:field/2","qualifiedName":"tmux_schema:field/2","name":"field/2","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"field(Entity, Field)\n-spec field(entity(), atom()) ->\n {ok, field_metadata()} |\n {error, error_detail()}.","references":[{"start":33,"end":39,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":43,"end":47,"target":"t:erlang:atom/0"},{"start":74,"end":88,"target":"t:tmux_schema:field_metadata/0"},{"start":117,"end":129,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"entity()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_schema:entity/0"}]},{"name":"Field","type":"atom()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:atom/0"}]}],"returns":"{ok, field_metadata()} | {error, error_detail()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_schema:field_metadata/0"},{"start":33,"end":45,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Look up one permitted field by its Erlang atom name. Unknown names return a tagged error; this does not turn input strings into atoms."},"source":{"line":78,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_schema-field-2"},{"id":"tmux_schema:fields/1","publicId":"tmux_schema:fields/1","qualifiedName":"tmux_schema:fields/1","name":"fields/1","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"fields(Entity)\n-spec fields(entity()) ->\n {ok, #{atom() => field_metadata()}} |\n {error, error_detail()}.","references":[{"start":28,"end":34,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":64,"end":68,"target":"t:erlang:atom/0"},{"start":74,"end":88,"target":"t:tmux_schema:field_metadata/0"},{"start":119,"end":131,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"entity()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_schema:entity/0"}]}],"returns":"{ok, #{atom() => field_metadata()}} |\n {error, error_detail()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":7,"end":11,"target":"t:erlang:atom/0"},{"start":17,"end":31,"target":"t:tmux_schema:field_metadata/0"},{"start":56,"end":68,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return generated field metadata for a known entity, or a tagged unknown_entity error. Field names, wire names and stable IDs are allowlisted; this is not reflection over arbitrary record fields."},"source":{"line":56,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_schema-fields-1"},{"id":"tmux_schema:normalize/2","publicId":"tmux_schema:normalize/2","qualifiedName":"tmux_schema:normalize/2","name":"normalize/2","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"normalize/2\n-spec normalize(entity(), map()) ->\n {ok, map()} | {error, error_detail()}.","references":[{"start":28,"end":34,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":38,"end":41,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":72,"end":75,"target":"t:erlang:map/0"},{"start":89,"end":101,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"entity()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_schema:entity/0"}]},{"name":"Input","type":"map()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"}]}],"returns":"{ok, map()} | {error, error_detail()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"start":22,"end":34,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate a domain-field map and normalize its scalar observations, retaining not_loaded/unavailable distinctly and deriving schema-defined values. Performs no I/O; constructors and action boundaries still validate records."},"source":{"line":93,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_schema-normalize-2"},{"id":"tmux_schema:operators/1","publicId":"tmux_schema:operators/1","qualifiedName":"tmux_schema:operators/1","name":"operators/1","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"operators/1\n-spec operators(#{type := value_type(),\n nullable := boolean(),\n atom() => term()}) ->\n [operator()].","references":[{"start":38,"end":48,"target":"t:tmux_schema:value_type/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":82,"end":89,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":111,"end":115,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":121,"end":125,"target":"t:erlang:term/0"},{"start":153,"end":161,"target":"t:tmux_schema:operator/0"}],"params":[{"name":"Argument1","type":"#{type := value_type(),\n nullable := boolean(),\n atom() => term()}","typeReferences":[{"start":10,"end":20,"target":"t:tmux_schema:value_type/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":48,"end":55,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":71,"end":75,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":81,"end":85,"target":"t:erlang:term/0"}]}],"returns":"[operator()]","returnsReferences":[{"start":1,"end":9,"target":"t:tmux_schema:operator/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the permitted scalar operators for this field type and nullability. The generated field reference uses this same validator. Performs no I/O."},"source":{"line":149,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_schema-operators-1"},{"id":"tmux_schema:relations/1","publicId":"tmux_schema:relations/1","qualifiedName":"tmux_schema:relations/1","name":"relations/1","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"relations(Entity)\n-spec relations(entity()) ->\n {ok, #{atom() => relation_metadata()}} |\n {error, error_detail()}.","references":[{"start":34,"end":40,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":73,"end":77,"target":"t:erlang:atom/0"},{"start":83,"end":100,"target":"t:tmux_schema:relation_metadata/0"},{"start":134,"end":146,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Entity","type":"entity()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_schema:entity/0"}]}],"returns":"{ok, #{atom() => relation_metadata()}} |\n {error, error_detail()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":7,"end":11,"target":"t:erlang:atom/0"},{"start":17,"end":34,"target":"t:tmux_schema:relation_metadata/0"},{"start":59,"end":71,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return generated relationship metadata, including target entities and one/many cardinality. Performs no I/O."},"source":{"line":67,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_schema-relations-1"},{"id":"tmux_schema:value/2","publicId":"tmux_schema:value/2","qualifiedName":"tmux_schema:value/2","name":"value/2","namespace":"tmux_schema","parent":"tmux_schema","kind":"function","modifiers":[],"signatures":[{"raw":"value/2\n-spec value(map(), term()) ->\n {ok, term()} | {error, error_detail()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":27,"end":31,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":58,"end":62,"target":"t:erlang:term/0"},{"start":76,"end":88,"target":"t:tmux_schema:error_detail/0"}],"params":[{"name":"Argument1","type":"map()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":0,"end":3,"target":"t:erlang:map/0"}]},{"name":"Argument2","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]}],"returns":"{ok, term()} | {error, error_detail()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":5,"end":9,"target":"t:erlang:term/0"},{"start":23,"end":35,"target":"t:tmux_schema:error_detail/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate and normalize one value against generated field metadata. Integral JSON numbers obey the exact shared integer range and field bounds; text is validated UTF-8, while bytes remain arbitrary binaries. Performs no I/O."},"source":{"line":109,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_schema-value-2"},{"id":"t:tmux_schema:entity/0","publicId":"t:tmux_schema:entity/0","qualifiedName":"tmux_schema:entity/0","name":"entity/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type entity() :: session | window | window_link | pane.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"The built-in tmux graph entities; window_link represents a session membership."},"source":{"line":18,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_schema-entity-0"},{"id":"t:tmux_schema:error_detail/0","publicId":"t:tmux_schema:error_detail/0","qualifiedName":"tmux_schema:error_detail/0","name":"error_detail/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type error_detail() ::\n #{code := atom(),\n path := [term()],\n atom() => term()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":44,"end":48,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":73,"end":77,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":94,"end":98,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":104,"end":108,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Structured boundary validation errors with a code and input path."},"source":{"line":22,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_schema-error_detail-0"},{"id":"t:tmux_schema:field_metadata/0","publicId":"t:tmux_schema:field_metadata/0","qualifiedName":"tmux_schema:field_metadata/0","name":"field_metadata/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type field_metadata() ::\n #{type := value_type(),\n wire := binary(),\n stable := binary(),\n required := boolean(),\n nullable := boolean(),\n format => binary(),\n capture_codec => escaped_columns_v1,\n minimum => integer()}.","params":[],"references":[{"start":46,"end":56,"target":"t:tmux_schema:value_type/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":80,"end":86,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":112,"end":118,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":146,"end":153,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":181,"end":188,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":214,"end":220,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":296,"end":303,"target":"t:erlang:integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Generated field contract. stable is a versioned portable identity; wire is the JSON key. required controls construction and nullable permits known absence. format is present only for directly observed tmux fields; derived fields omit it. capture_codec identifies an admitted batched source encoding; its absence selects isolated reads for that entity. minimum tightens an integer field's lower bound. Field names themselves are the keys returned by `fields/1`, not this map's wire or stable values."},"source":{"line":35,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_schema-field_metadata-0"},{"id":"t:tmux_schema:operator/0","publicId":"t:tmux_schema:operator/0","qualifiedName":"tmux_schema:operator/0","name":"operator/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type operator() ::\n equals | 'not' | in | not_in | lt | lte | gt |\n gte | contains | starts_with | ends_with | regex |\n present.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validated scalar operators. The field's type and nullability restrict this set."},"source":{"line":46,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_schema-operator-0"},{"id":"t:tmux_schema:relation_metadata/0","publicId":"t:tmux_schema:relation_metadata/0","qualifiedName":"tmux_schema:relation_metadata/0","name":"relation_metadata/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type relation_metadata() ::\n #{kind := one | many,\n target := entity(),\n wire := binary(),\n stable := binary()}.","params":[],"references":[{"start":83,"end":89,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":113,"end":119,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":145,"end":151,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Generated relationship contract: kind is one or many; target names the related entity. wire and stable have the same roles as in `t:field_metadata/0`. Completeness belongs to snapshot coverage, not this static schema."},"source":{"line":43,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_schema-relation_metadata-0"},{"id":"t:tmux_schema:value_type/0","publicId":"t:tmux_schema:value_type/0","qualifiedName":"tmux_schema:value_type/0","name":"value_type/0","namespace":"tmux_schema","parent":"tmux_schema","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type value_type() ::\n session_id | window_id | pane_id | boolean |\n uint | integer | text | bytes.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Scalar categories used by normalization and operator validation; IDs remain binaries."},"source":{"line":24,"file":"apps/libtmux_erlang/src/tmux_schema.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_schema-value_type-0"},{"id":"tmux_scope","publicId":"tmux_scope","qualifiedName":"tmux_scope","name":"tmux_scope","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Run synchronous work and cleanup while preserving both outcomes.","body":"Use `run/2` around a resource whose handle remains in the caller's scope.\nUse `run_or_error/2` for nested scopes or fail-fast programs that need the\ncallback's value directly and raise when cleanup fails.\n`tmux_server:with_server/2` and `tmux_server:with_owned/2` also acquire their\nresources and add recovery handles when cleanup fails. This module owns no\nprocess, timeout or retry policy; the supplied functions own those contracts."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_scope"},{"id":"tmux_scope:run/2","publicId":"tmux_scope:run/2","qualifiedName":"tmux_scope:run/2","name":"run/2","namespace":"tmux_scope","parent":"tmux_scope","kind":"function","modifiers":[],"signatures":[{"raw":"run(Function, Cleanup)\n-spec run(fun(() -> Value),\n fun(() -> ok | {error, term()})) ->\n {ok, Value} | {error, failure()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":84,"end":88,"target":"t:erlang:term/0"},{"start":132,"end":139,"target":"t:tmux_scope:failure/0"}],"params":[{"name":"Function","type":"fun(() -> Value)","typeReferences":[]},{"name":"Cleanup","type":"fun(() -> ok | {error, term()})","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":23,"end":27,"target":"t:erlang:term/0"}]}],"returns":"{ok, Value} | {error, failure()}","returnsReferences":[{"start":22,"end":29,"target":"t:tmux_scope:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Run a callback, then attempt cleanup once, synchronously in the calling process. This function performs only the I/O supplied by those functions. The callback has no library duration timer. Abrupt uncatchable caller death remains subject to each resource's existing ownership policy.","body":"Only ok proves cleanup success. Normalize resource-specific successful replies\ninside the cleanup function. With successful cleanup, return {ok, Value} or\nre-raise the original callback exception with its reason and stack. A callback\nreturning an error tuple is an ordinary value. Cleanup failure instead returns\n{error, Failure} with `t:failure/0`, preserving both outcomes. An unexpected\ncleanup return is recorded as invalid_cleanup_result.\n\nHandle an inner scope's error explicitly when nesting scopes. Otherwise it is\nan ordinary outer callback value. Keep resource handles for recovery; this\nfunction does not infer ownership or retry cleanup.","examples":[{"lang":"erlang","code":"1> tmux_scope:run(fun() -> done end, fun() -> ok end).\n{ok,done}\n2> tmux_scope:run(fun() -> done end, fun() -> {error, enoent} end).\n{error,#{code => scope_cleanup_failed,\n primary => {ok,done},cleanup => {error,enoent}}}\n3> Work = fun() -> error(build_failed) end, ok.\nok\n4> {error, F} = tmux_scope:run(Work, fun() -> {error, busy} end), ok.\nok\n5> {exception, error, build_failed, [_ | _]} = maps:get(primary, F), ok.\nok\n6> maps:get(cleanup, F).\n{error,busy}"}]},"source":{"line":61,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_scope-run-2"},{"id":"tmux_scope:run_or_error/2","publicId":"tmux_scope:run_or_error/2","qualifiedName":"tmux_scope:run_or_error/2","name":"run_or_error/2","namespace":"tmux_scope","parent":"tmux_scope","kind":"function","modifiers":[],"signatures":[{"raw":"run_or_error(Function, Cleanup)\n-spec run_or_error(fun(() -> Value),\n fun(() -> ok | {error, term()})) ->\n Value.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":111,"end":115,"target":"t:erlang:term/0"}],"params":[{"name":"Function","type":"fun(() -> Value)","typeReferences":[]},{"name":"Cleanup","type":"fun(() -> ok | {error, term()})","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":23,"end":27,"target":"t:erlang:term/0"}]}],"returns":"Value","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Run work and cleanup with `run/2`, returning the callback value directly. Raises {scope_cleanup_failed, Failure} if cleanup fails, retaining both outcomes in `t:failure/0`. With successful cleanup, callback exceptions retain their original reason and stack. Nested raising scopes propagate an inner failure through the outer scope while still attempting outer cleanup."},"source":{"line":84,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_scope-run_or_error-2"},{"id":"t:tmux_scope:exception/0","publicId":"t:tmux_scope:exception/0","qualifiedName":"tmux_scope:exception/0","name":"exception/0","namespace":"tmux_scope","parent":"tmux_scope","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type exception() ::\n {exception,\n error | exit | throw,\n term(),\n erlang:stacktrace()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":87,"end":91,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":106,"end":123,"target":"t:erlang:stacktrace/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"The original exception class, reason and stack, retained as evidence."},"source":{"line":16,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_scope-exception-0"},{"id":"t:tmux_scope:failure/0","publicId":"t:tmux_scope:failure/0","qualifiedName":"tmux_scope:failure/0","name":"failure/0","namespace":"tmux_scope","parent":"tmux_scope","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type failure() ::\n #{code := scope_cleanup_failed,\n primary := {ok, term()} | exception(),\n cleanup := {error, term()} | exception(),\n atom() => term()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":89,"end":93,"target":"t:erlang:term/0"},{"start":99,"end":108,"target":"t:tmux_scope:exception/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":143,"end":147,"target":"t:erlang:term/0"},{"start":153,"end":162,"target":"t:tmux_scope:exception/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":178,"end":182,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":188,"end":192,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Both outcomes when cleanup failed. primary contains the callback's ordinary return or exception; cleanup contains its separate error or exception. Resource-specific wrappers may add recovery handles to this map."},"source":{"line":22,"file":"apps/libtmux_erlang/src/tmux_scope.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_scope-failure-0"},{"id":"tmux_select","publicId":"tmux_select","qualifiedName":"tmux_select","name":"tmux_select","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Filter ordered captured rows without tmux I/O.","body":"Use `panes/1`, `windows/1`,\n`window_links/1` or `sessions/1` with a\n`m:tmux_snapshot` to retain graph coverage. `from_list/2`\npreserves supplied order, duplicates and row origins; it establishes only\nfields present in every row and loads no relationships. Filtering and\n`take/2` retain the original coverage even if no rows remain.\n\n`where/2` accepts map criteria or a `t:tmux_filter:t/0` portable\nfilter. `filter/2` accepts a unary Boolean function, whose\nexceptions propagate. Cardinality criteria validate the whole expression and\nits coverage before stopping at sufficient evidence. Selections are opaque\nvalues; use `to_list/1` for functions in `m:lists`.\n\nA snapshot-backed selection retains the complete captured graph, including\nrows removed by filtering. After relationship evaluation, store the result of\n`to_list/1` and release other snapshot and selection references to allow that\ncontext to be collected. Row extraction preserves the supplied field binaries;\ncaller-created subbinaries can still retain their backing allocation."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select"},{"id":"tmux_select:count/1","publicId":"tmux_select:count/1","qualifiedName":"tmux_select:count/1","name":"count/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"count(Selection)\n-spec count(t()) -> non_neg_integer().","references":[{"start":29,"end":30,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":37,"end":52,"target":"t:erlang:non_neg_integer/0"}],"params":[{"name":"Selection","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"non_neg_integer()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":0,"end":15,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the current materialized row count without I/O."},"source":{"line":290,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-count-1"},{"id":"tmux_select:count/2","publicId":"tmux_select:count/2","qualifiedName":"tmux_select:count/2","name":"count/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"count/2\n-spec count(criteria(), t()) -> non_neg_integer().","references":[{"start":20,"end":28,"target":"t:tmux_select:criteria/0"},{"start":32,"end":33,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":40,"end":55,"target":"t:erlang:non_neg_integer/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"non_neg_integer()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":0,"end":15,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the exact local match count after full criteria and coverage validation. Performs no I/O."},"source":{"line":296,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-count-2"},{"id":"tmux_select:exists/1","publicId":"tmux_select:exists/1","qualifiedName":"tmux_select:exists/1","name":"exists/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"exists/1\n-spec exists(t()) -> boolean().","references":[{"start":22,"end":23,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":30,"end":37,"target":"t:erlang:boolean/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"boolean()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return whether this materialized selection is nonempty, without I/O."},"source":{"line":279,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-exists-1"},{"id":"tmux_select:exists/2","publicId":"tmux_select:exists/2","qualifiedName":"tmux_select:exists/2","name":"exists/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"exists(Criteria, Selection)\n-spec exists(criteria(), t()) -> boolean().","references":[{"start":41,"end":49,"target":"t:tmux_select:criteria/0"},{"start":53,"end":54,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":61,"end":68,"target":"t:erlang:boolean/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"boolean()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate all criteria/coverage first, then stop at the first local match. Performs no I/O; an empty selection does not bypass validation."},"source":{"line":285,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-exists-2"},{"id":"tmux_select:filter/2","publicId":"tmux_select:filter/2","qualifiedName":"tmux_select:filter/2","name":"filter/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"filter/2\n-spec filter(fun((Row) -> boolean()), t(Row)) -> t(Row)\n when Row :: tmux_model:row().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":35,"end":42,"target":"t:erlang:boolean/0"},{"start":47,"end":48,"target":"t:tmux_select:t/1"},{"start":58,"end":59,"target":"t:tmux_select:t/1"},{"start":93,"end":107,"target":"t:tmux_model:row/0"}],"params":[{"name":"Predicate","type":"fun((Row) -> boolean())","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":13,"end":20,"target":"t:erlang:boolean/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"t(Row)","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Apply an ordinary unary Boolean function locally, preserving row order and context. Non-Booleans and callback failures propagate; they are not false matches. This is executable application code, not portable filter data."},"source":{"line":142,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-filter-2"},{"id":"tmux_select:first/1","publicId":"tmux_select:first/1","qualifiedName":"tmux_select:first/1","name":"first/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"first/1\n-spec first(t(Row)) -> {ok, Row} | none\n when Row :: tmux_model:row().","references":[{"start":20,"end":21,"target":"t:tmux_select:t/1"},{"start":75,"end":89,"target":"t:tmux_model:row/0"}],"params":[{"name":"Argument1","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row} | none","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the first current row or none. Additional matches are allowed. Performs no I/O."},"source":{"line":219,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-first-1"},{"id":"tmux_select:first/2","publicId":"tmux_select:first/2","qualifiedName":"tmux_select:first/2","name":"first/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"first(Criteria, Selection)\n-spec first(criteria(), t(Row)) -> {ok, Row} | none\n when Row :: tmux_model:row().","references":[{"start":39,"end":47,"target":"t:tmux_select:criteria/0"},{"start":51,"end":52,"target":"t:tmux_select:t/1"},{"start":106,"end":120,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row} | none","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate criteria and coverage, then stop at the first local match. Returns none when no row matches; performs no I/O."},"source":{"line":226,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-first-2"},{"id":"tmux_select:fold/3","publicId":"tmux_select:fold/3","qualifiedName":"tmux_select:fold/3","name":"fold/3","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"fold/3\n-spec fold(fun((Row, Acc) -> Acc), Acc, t(Row)) -> Acc\n when Row :: tmux_model:row().","references":[{"start":47,"end":48,"target":"t:tmux_select:t/1"},{"start":88,"end":102,"target":"t:tmux_model:row/0"}],"params":[{"name":"Function","type":"fun((Row, Acc) -> Acc)","typeReferences":[]},{"name":"Accumulator","type":"Acc","typeReferences":[]},{"name":"Argument3","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"Acc","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Fold over current rows in order without I/O, using the function, accumulator, selection argument order. Arbitrary results are ordinary Erlang values."},"source":{"line":179,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-fold-3"},{"id":"tmux_select:from_list/2","publicId":"tmux_select:from_list/2","qualifiedName":"tmux_select:from_list/2","name":"from_list/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"from_list(Entity, Rows)\n-spec from_list(tmux_schema:entity(), [Row]) -> t(Row)\n when Row :: tmux_model:row().","references":[{"start":40,"end":58,"target":"t:tmux_schema:entity/0"},{"start":72,"end":73,"target":"t:tmux_select:t/1"},{"start":110,"end":124,"target":"t:tmux_model:row/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Rows","type":"[Row]","typeReferences":[]}],"returns":"t(Row)","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate an ordinary list without rebinding, reordering or deduplicating it.","examples":[{"lang":"erlang","code":"1> {ok, P} = tmux_model:pane(#{id => <<\"%1\">>, width => 120}), ok.\nok\n2> S = tmux_select:from_list(pane, [P, P]), ok.\nok\n3> tmux_select:size(tmux_select:where(#{width => #{gte => 120}}, S)).\n2\n4> tmux_select:one(S).\n{error,{multiple_matches,#{at_least => 2}}}"}]},"source":{"line":99,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-from_list-2"},{"id":"tmux_select:matching/2","publicId":"tmux_select:matching/2","qualifiedName":"tmux_select:matching/2","name":"matching/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"matching/2\n-spec matching({module(), term()}, t(Row)) ->\n {ok, t(Row)} | {error, term()}\n when Row :: tmux_model:row().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:module/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:module/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":37,"end":41,"target":"t:erlang:term/0"},{"start":46,"end":47,"target":"t:tmux_select:t/1"},{"start":80,"end":81,"target":"t:tmux_select:t/1"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":98,"end":102,"target":"t:erlang:term/0"},{"start":136,"end":150,"target":"t:tmux_model:row/0"}],"params":[{"name":"Argument1","type":"{module(), term()}","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:module/0","project":"Erlang/OTP"},"start":1,"end":7,"target":"t:erlang:module/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":11,"end":15,"target":"t:erlang:term/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, t(Row)} | {error, term()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_select:t/1"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":23,"end":27,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Prepare a trusted behaviour once, then apply its Boolean predicate.","body":"Uses `c:tmux_matcher:prepare/2`; preparation failure returns {error, Detail}.\nExceptions in either callback propagate. A matcher requires a captured\nsnapshot; a `from_list/2` selection returns matcher_requires_snapshot. The\napplication chooses Module."},"source":{"line":154,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-matching-2"},{"id":"tmux_select:one/1","publicId":"tmux_select:one/1","qualifiedName":"tmux_select:one/1","name":"one/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one/1\n-spec one(t(Row)) -> {ok, Row} | cardinality_error()\n when Row :: tmux_model:row().","references":[{"start":16,"end":17,"target":"t:tmux_select:t/1"},{"start":39,"end":56,"target":"t:tmux_select:cardinality_error/0"},{"start":84,"end":98,"target":"t:tmux_model:row/0"}],"params":[{"name":"Argument1","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row} | cardinality_error()","returnsReferences":[{"start":12,"end":29,"target":"t:tmux_select:cardinality_error/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the sole current row or a no_match/multiple_matches error. Ambiguity reports at_least = 2 rather than computing a needless exact count."},"source":{"line":233,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-one-1"},{"id":"tmux_select:one/2","publicId":"tmux_select:one/2","qualifiedName":"tmux_select:one/2","name":"one/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one(Criteria, Selection)\n-spec one(criteria(), t(Row)) ->\n {ok, Row} | cardinality_error()\n when Row :: tmux_model:row().","references":[{"start":35,"end":43,"target":"t:tmux_select:criteria/0"},{"start":47,"end":48,"target":"t:tmux_select:t/1"},{"start":83,"end":100,"target":"t:tmux_select:cardinality_error/0"},{"start":128,"end":142,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row} | cardinality_error()","returnsReferences":[{"start":12,"end":29,"target":"t:tmux_select:cardinality_error/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate criteria and coverage, then stop after enough local matches to establish cardinality. Returns a tagged cardinality result; performs no I/O."},"source":{"line":241,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-one-2"},{"id":"tmux_select:one_or_error/1","publicId":"tmux_select:one_or_error/1","qualifiedName":"tmux_select:one_or_error/1","name":"one_or_error/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one_or_error(Selection)\n-spec one_or_error(t(Row)) -> Row\n when Row :: tmux_model:row().","references":[{"start":43,"end":44,"target":"t:tmux_select:t/1"},{"start":92,"end":106,"target":"t:tmux_model:row/0"}],"params":[{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"Row","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the sole row directly, raising on zero or multiple matches. Use `one/1` for tagged cardinality errors."},"source":{"line":262,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-one_or_error-1"},{"id":"tmux_select:one_or_error/2","publicId":"tmux_select:one_or_error/2","qualifiedName":"tmux_select:one_or_error/2","name":"one_or_error/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one_or_error(Criteria, Selection)\n-spec one_or_error(criteria(), t(Row)) -> Row\n when Row :: tmux_model:row().","references":[{"start":53,"end":61,"target":"t:tmux_select:criteria/0"},{"start":65,"end":66,"target":"t:tmux_select:t/1"},{"start":114,"end":128,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"Row","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Filter locally with complete validation, then return the sole row directly. Raises on zero or multiple matches; performs no I/O."},"source":{"line":273,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-one_or_error-2"},{"id":"tmux_select:one_or_none/1","publicId":"tmux_select:one_or_none/1","qualifiedName":"tmux_select:one_or_none/1","name":"one_or_none/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one_or_none(Selection)\n-spec one_or_none(t(Row)) ->\n {ok, Row | none} | cardinality_error()\n when Row :: tmux_model:row().","references":[{"start":41,"end":42,"target":"t:tmux_select:t/1"},{"start":92,"end":109,"target":"t:tmux_select:cardinality_error/0"},{"start":145,"end":159,"target":"t:tmux_model:row/0"}],"params":[{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row | none} | cardinality_error()","returnsReferences":[{"start":19,"end":36,"target":"t:tmux_select:cardinality_error/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the sole current row, {ok, none} on absence, or a multiple-match error. Performs no I/O."},"source":{"line":248,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-one_or_none-1"},{"id":"tmux_select:one_or_none/2","publicId":"tmux_select:one_or_none/2","qualifiedName":"tmux_select:one_or_none/2","name":"one_or_none/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"one_or_none(Criteria, Selection)\n-spec one_or_none(criteria(), t(Row)) ->\n {ok, Row | none} | cardinality_error()\n when Row :: tmux_model:row().","references":[{"start":51,"end":59,"target":"t:tmux_select:criteria/0"},{"start":63,"end":64,"target":"t:tmux_select:t/1"},{"start":114,"end":131,"target":"t:tmux_select:cardinality_error/0"},{"start":167,"end":181,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, Row | none} | cardinality_error()","returnsReferences":[{"start":19,"end":36,"target":"t:tmux_select:cardinality_error/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate local criteria and return one row or known absence. A second match is an explicit ambiguity error; performs no I/O."},"source":{"line":255,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-one_or_none-2"},{"id":"tmux_select:panes/1","publicId":"tmux_select:panes/1","qualifiedName":"tmux_select:panes/1","name":"panes/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"panes(Snapshot)\n-spec panes(tmux_snapshot:t()) -> t(tmux_model:pane()).","references":[{"start":28,"end":43,"target":"t:tmux_snapshot:t/0"},{"start":50,"end":51,"target":"t:tmux_select:t/1"},{"start":52,"end":67,"target":"t:tmux_model:pane/0"}],"params":[{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"t(tmux_model:pane())","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"},{"start":2,"end":17,"target":"t:tmux_model:pane/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select captured physical panes while retaining snapshot graph and coverage. Performs no I/O and preserves the snapshot's deterministic order."},"source":{"line":64,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-panes-1"},{"id":"tmux_select:sessions/1","publicId":"tmux_select:sessions/1","qualifiedName":"tmux_select:sessions/1","name":"sessions/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"sessions(Snapshot)\n-spec sessions(tmux_snapshot:t()) ->\n t(tmux_model:session()).","references":[{"start":34,"end":49,"target":"t:tmux_snapshot:t/0"},{"start":74,"end":75,"target":"t:tmux_select:t/1"},{"start":76,"end":94,"target":"t:tmux_model:session/0"}],"params":[{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"t(tmux_model:session())","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"},{"start":2,"end":20,"target":"t:tmux_model:session/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select captured sessions with their relationship and coverage context. Performs no I/O."},"source":{"line":82,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-sessions-1"},{"id":"tmux_select:size/1","publicId":"tmux_select:size/1","qualifiedName":"tmux_select:size/1","name":"size/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"size/1\n-spec size(t()) -> non_neg_integer().","references":[{"start":18,"end":19,"target":"t:tmux_select:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":26,"end":41,"target":"t:erlang:non_neg_integer/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"non_neg_integer()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":0,"end":15,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the cached number of materialized rows in this selection without traversing tmux or re-evaluating criteria."},"source":{"line":192,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-size-1"},{"id":"tmux_select:summary/1","publicId":"tmux_select:summary/1","qualifiedName":"tmux_select:summary/1","name":"summary/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"summary/1\n-spec summary(t()) -> summary().","references":[{"start":24,"end":25,"target":"t:tmux_select:t/0"},{"start":32,"end":39,"target":"t:tmux_select:summary/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/0"}]}],"returns":"summary()","returnsReferences":[{"start":0,"end":7,"target":"t:tmux_select:summary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a compact Erlang diagnostic map with entity, size, capture identity, interval and coverage. Fetched queries include candidate/attempt information. Opaque snapshot references make this a diagnostic value, not a wire format."},"source":{"line":200,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-summary-1"},{"id":"tmux_select:take/2","publicId":"tmux_select:take/2","qualifiedName":"tmux_select:take/2","name":"take/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"take/2\n-spec take(non_neg_integer(), t(Row)) -> t(Row)\n when Row :: tmux_model:row().","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":18,"end":33,"target":"t:erlang:non_neg_integer/0"},{"start":37,"end":38,"target":"t:tmux_select:t/1"},{"start":48,"end":49,"target":"t:tmux_select:t/1"},{"start":81,"end":95,"target":"t:tmux_model:row/0"}],"params":[{"name":"Count","type":"non_neg_integer()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":0,"end":15,"target":"t:erlang:non_neg_integer/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"t(Row)","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Keep the first N rows and retain the original observation and coverage. Performs no I/O; taking a subset cannot establish missing field coverage."},"source":{"line":185,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-take-2"},{"id":"tmux_select:to_list/1","publicId":"tmux_select:to_list/1","qualifiedName":"tmux_select:to_list/1","name":"to_list/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"to_list/1\n-spec to_list(t(Row)) -> [Row] when Row :: tmux_model:row().","references":[{"start":24,"end":25,"target":"t:tmux_select:t/1"},{"start":53,"end":67,"target":"t:tmux_model:row/0"}],"params":[{"name":"Argument1","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"[Row]","returnsReferences":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the current ordered rows as an ordinary Erlang list without I/O. Use list functions or comprehensions for transformations to other value types. Returns the stored rows without copying their binary fields. Keeping only the list allows the selection's snapshot context to be collected; other references can still keep that context alive."},"source":{"line":173,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-to_list-1"},{"id":"tmux_select:try_where/2","publicId":"tmux_select:try_where/2","qualifiedName":"tmux_select:try_where/2","name":"try_where/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"try_where/2\n-spec try_where(criteria(), t(Row)) ->\n {ok, t(Row)} | {error, map()}\n when Row :: tmux_model:row().","references":[{"start":28,"end":36,"target":"t:tmux_select:criteria/0"},{"start":40,"end":41,"target":"t:tmux_select:t/1"},{"start":75,"end":76,"target":"t:tmux_select:t/1"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":93,"end":96,"target":"t:erlang:map/0"},{"start":131,"end":145,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"{ok, t(Row)} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_select:t/1"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":23,"end":26,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Apply the same local criteria and coverage checks as `where/2`, returning tagged validation or evaluation errors. It does not catch arbitrary application callback exceptions and never performs tmux I/O."},"source":{"line":129,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-try_where-2"},{"id":"tmux_select:where/2","publicId":"tmux_select:where/2","qualifiedName":"tmux_select:where/2","name":"where/2","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"where(Criteria, Selection)\n-spec where(criteria(), t(Row)) -> t(Row)\n when Row :: tmux_model:row().","references":[{"start":39,"end":47,"target":"t:tmux_select:criteria/0"},{"start":51,"end":52,"target":"t:tmux_select:t/1"},{"start":62,"end":63,"target":"t:tmux_select:t/1"},{"start":96,"end":110,"target":"t:tmux_model:row/0"}],"params":[{"name":"Criteria","type":"criteria()","typeReferences":[{"start":0,"end":8,"target":"t:tmux_select:criteria/0"}]},{"name":"Selection","type":"t(Row)","typeReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"returns":"t(Row)","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Validate portable criteria and coverage, then preserve matching rows in order. Performs no I/O. Malformed trusted criteria raise bad_filter; missing coverage and runtime evaluation failures remain distinct exceptions. Use `try_where/2` for tagged library errors."},"source":{"line":117,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-where-2"},{"id":"tmux_select:window_links/1","publicId":"tmux_select:window_links/1","qualifiedName":"tmux_select:window_links/1","name":"window_links/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"window_links(Snapshot)\n-spec window_links(tmux_snapshot:t()) ->\n t(tmux_model:window_link()).","references":[{"start":42,"end":57,"target":"t:tmux_snapshot:t/0"},{"start":86,"end":87,"target":"t:tmux_select:t/1"},{"start":88,"end":110,"target":"t:tmux_model:window_link/0"}],"params":[{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"t(tmux_model:window_link())","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"},{"start":2,"end":24,"target":"t:tmux_model:window_link/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select all captured session memberships, retaining repeated physical windows and session-relative indexes. Performs no I/O."},"source":{"line":76,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-window_links-1"},{"id":"tmux_select:windows/1","publicId":"tmux_select:windows/1","qualifiedName":"tmux_select:windows/1","name":"windows/1","namespace":"tmux_select","parent":"tmux_select","kind":"function","modifiers":[],"signatures":[{"raw":"windows(Snapshot)\n-spec windows(tmux_snapshot:t()) -> t(tmux_model:window()).","references":[{"start":32,"end":47,"target":"t:tmux_snapshot:t/0"},{"start":54,"end":55,"target":"t:tmux_select:t/1"},{"start":56,"end":73,"target":"t:tmux_model:window/0"}],"params":[{"name":"Snapshot","type":"tmux_snapshot:t()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_snapshot:t/0"}]}],"returns":"t(tmux_model:window())","returnsReferences":[{"start":0,"end":1,"target":"t:tmux_select:t/1"},{"start":2,"end":19,"target":"t:tmux_model:window/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select unique captured physical windows with their complete graph context. Performs no I/O; session memberships remain separate window-link rows."},"source":{"line":70,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_select-windows-1"},{"id":"t:tmux_select:cardinality_error/0","publicId":"t:tmux_select:cardinality_error/0","qualifiedName":"tmux_select:cardinality_error/0","name":"cardinality_error/0","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type cardinality_error() ::\n {error,\n no_match | {multiple_matches, #{at_least := 2}}}.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"supporting","source":{"line":47,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_select-cardinality_error-0"},{"id":"t:tmux_select:criteria/0","publicId":"t:tmux_select:criteria/0","qualifiedName":"tmux_select:criteria/0","name":"criteria/0","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type criteria() :: map() | tmux_filter:t().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"},{"start":28,"end":41,"target":"t:tmux_filter:t/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"supporting","source":{"line":46,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_select-criteria-0"},{"id":"t:tmux_select:summary/0","publicId":"t:tmux_select:summary/0","qualifiedName":"tmux_select:summary/0","name":"summary/0","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type summary() ::\n #{entity := tmux_schema:entity(),\n size := non_neg_integer(),\n snapshot_id := reference() | none,\n coverage := tmux_snapshot:entity_coverage(),\n capture_started => integer(),\n capture_finished => integer(),\n time_unit => microsecond,\n query => tmux_snapshot:query_metadata()}.","params":[],"references":[{"start":41,"end":59,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":83,"end":98,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":129,"end":138,"target":"t:erlang:reference/0"},{"start":173,"end":202,"target":"t:tmux_snapshot:entity_coverage/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":237,"end":244,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":280,"end":287,"target":"t:erlang:integer/0"},{"start":350,"end":378,"target":"t:tmux_snapshot:query_metadata/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Compact local inspection. size counts current materialized rows; coverage still describes the original captured context after filtering or take. snapshot_id is none for a list-backed selection. Capture bounds and query diagnostics are included only when that source metadata exists."},"source":{"line":54,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_select-summary-0"},{"id":"t:tmux_select:t/0","publicId":"t:tmux_select:t/0","qualifiedName":"tmux_select:t/0","name":"t/0","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type t() :: t(tmux_model:row()).","params":[],"references":[{"start":13,"end":14,"target":"t:tmux_select:t/1"},{"start":15,"end":29,"target":"t:tmux_model:row/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A selection over schema-defined native domain records."},"source":{"line":45,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_select-t-0"},{"id":"t:tmux_select:t/1","publicId":"t:tmux_select:t/1","qualifiedName":"tmux_select:t/1","name":"t/1","namespace":"tmux_select","parent":"tmux_select","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t(Row).","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Ordered captured rows with observation and coverage context, not an extensible list protocol. The parameter describes the intended row type. OTP 29 Dialyzer can widen generic return variables to their declared bounds; it does not prove every entity relationship through `one/1` or `to_list/1`. Runtime schema, coverage and action checks remain necessary."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_select.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_select-t-1"},{"id":"tmux_server","publicId":"tmux_server","qualifiedName":"tmux_server","name":"tmux_server","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Open tmux endpoints and execute explicit command values.","body":"`open/1` validates an absolute socket path and the\nexecutable/server versions. It never creates a tmux server or attaches a\ncontrol client. Each command rechecks the observed Linux process incarnation\nbefore dispatch. Replacement between that observation and a later client\nconnection remains possible; same_connection requests are rejected until\npersistent dispatch qualifies.\n\n`start_owned/1` creates a separate private daemon and returns an ownership\ntoken for `stop_owned/1`. The [ownership guide](ownership.md) explains caller\ndeath, application shutdown and namespace cleanup.\n\nUse `with_server/2` or `with_owned/2` for a callback scope. They attempt cleanup\nafter its return or exception and preserve both outcomes if cleanup fails.\n\nThe calling process owns the endpoint. `close/1` cancels queued\nwork, retires its one-shot clients and preserves the borrowed server. Cleanup\nfailure remains explicit and keeps the supervised owner alive. Successful close is\nidempotent during the 60-second handle retention period. Separate\n`m:tmux_control` attachments receive an invalidation notice and begin their\nown retirement. Close those attachments explicitly to prove their native\ncleanup. Command results preserve stdout, stderr and status; cancellation\nafter dispatch cannot undo\nremote effects. Clients explicitly select tmux's UTF-8 mode so Unicode and the\nidentity probe's tab do not depend on the caller's locale. Command-specific\nescaping still applies to raw command output.\n\nUse `snapshot/1` to capture a graph for `m:tmux_snapshot` and\n`m:tmux_select`. Use `m:tmux_operation` for non-blocking submission and\nexplicit waits; the [job guide](jobs.md) explains ownership and cleanup."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server"},{"id":"tmux_server:bind/2","publicId":"tmux_server:bind/2","qualifiedName":"tmux_server:bind/2","name":"bind/2","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"bind(Server, Row)\n-spec bind(t(), tmux_model:row()) ->\n {ok, tmux_model:row()} | {error, map()}.","references":[{"start":29,"end":30,"target":"t:tmux_server:t/0"},{"start":34,"end":48,"target":"t:tmux_model:row/0"},{"start":74,"end":88,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":102,"end":105,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]},{"name":"Row","type":"tmux_model:row()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_model:row/0"}]}],"returns":"{ok, tmux_model:row()} | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Explicitly read current fields from this server and register the new value. For sessions, physical windows and panes, the read uses the stable ID and discards the supplied field observations. This explicit call accepts an edited target; ordinary actions require its captured target association to match and reject mismatches before dispatch. The returned row carries a new private observation association; see `m:tmux_model`. It provides no atomic identity check. Window-link binding checks its session/index and expected physical window. A replaced or missing membership returns stale_link. This observed preflight does not make a later action atomic.","body":"Invalid rows are rejected before I/O:","examples":[{"lang":"erlang","code":"1> tmux_server:bind(invalid_server, invalid_row).\n{error,#{code => invalid_row,path => []}}"}]},"source":{"line":350,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-bind-2"},{"id":"tmux_server:close/1","publicId":"tmux_server:close/1","qualifiedName":"tmux_server:close/1","name":"close/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"close(Server)\n-spec close(t()) -> ok | {error, map()}.","references":[{"start":26,"end":27,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":47,"end":50,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Retire this endpoint's operations and one-shot clients, preserving the borrowed tmux server. Returns ok only after their cleanup completes; incomplete cleanup remains an explicit error. Closing an already closed retained handle is idempotent. The initiator controls endpoint lifetime. Separate control attachments are invalidated and asked to retire; use `tmux_control:close/1` before this call to verify those clients' cleanup too."},"source":{"line":267,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-close-1"},{"id":"tmux_server:command/3","publicId":"tmux_server:command/3","qualifiedName":"tmux_server:command/3","name":"command/3","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"command(Server, Command, Options)\n-spec command(t(), tmux_command:t(), command_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":48,"end":49,"target":"t:tmux_server:t/0"},{"start":53,"end":67,"target":"t:tmux_command:t/0"},{"start":71,"end":86,"target":"t:tmux_server:command_options/0"},{"start":115,"end":139,"target":"t:tmux_operation:completed/0"},{"start":170,"end":192,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]},{"name":"Command","type":"tmux_command:t()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_command:t/0"}]},{"name":"Options","type":"command_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_server:command_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Execute one validated command and await its result. Performs I/O. The result preserves stdout, stderr, exit status and cleanup certainty. Use `tmux_operation:start/3` to submit without blocking this caller. A timeout or cancellation cannot reverse effects that may already have reached tmux. Values from domain command builders keep their captured endpoint origin. Another endpoint returns different_owner with submitted = false before any native preflight or execution. Raw commands do not carry that origin."},"source":{"line":252,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-command-3"},{"id":"tmux_server:open/1","publicId":"tmux_server:open/1","qualifiedName":"tmux_server:open/1","name":"open/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"open(Options)\n-spec open(open_options()) -> {ok, t()} | {error, map()}.","references":[{"start":25,"end":37,"target":"t:tmux_server:open_options/0"},{"start":49,"end":50,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":64,"end":67,"target":"t:erlang:map/0"}],"params":[{"name":"Options","type":"open_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_server:open_options/0"}]}],"returns":"{ok, t()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":20,"end":23,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Open a borrowed socket endpoint and start its supervised library owner. The caller owns that handle. This probes the executable, daemon version and observed Linux process incarnation; it never starts a tmux server or attaches a control client. Pass an absolute socket_path and optionally an executable."},"source":{"line":114,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-open-1"},{"id":"tmux_server:origin/1","publicId":"tmux_server:origin/1","qualifiedName":"tmux_server:origin/1","name":"origin/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"origin(Server)\n-spec origin(t()) -> {ok, reference()} | {error, map()}.","references":[{"start":28,"end":29,"target":"t:tmux_server:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":41,"end":50,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":64,"end":67,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, reference()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":5,"end":14,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":28,"end":31,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the registered opaque origin for this open endpoint. The token provides library provenance and generation checks, not authorization against trusted Erlang code. It is not a portable identifier."},"source":{"line":282,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-origin-1"},{"id":"tmux_server:snapshot/1","publicId":"tmux_server:snapshot/1","qualifiedName":"tmux_server:snapshot/1","name":"snapshot/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"snapshot(Server)\n-spec snapshot(t()) ->\n {ok, tmux_snapshot:t()} | {error, map()}.","references":[{"start":32,"end":33,"target":"t:tmux_server:t/0"},{"start":63,"end":78,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":92,"end":95,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, tmux_snapshot:t()} | {error, map()}","returnsReferences":[{"start":5,"end":20,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture a complete immutable graph with default capture limits. Performs I/O. See `snapshot/2` for bounds, consistency and conflict errors."},"source":{"line":297,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-snapshot-1"},{"id":"tmux_server:snapshot/2","publicId":"tmux_server:snapshot/2","qualifiedName":"tmux_server:snapshot/2","name":"snapshot/2","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"snapshot(Server, Options)\n-spec snapshot(t(), capture_options()) ->\n {ok, tmux_snapshot:t()} | {error, map()}.","references":[{"start":41,"end":42,"target":"t:tmux_server:t/0"},{"start":46,"end":61,"target":"t:tmux_server:capture_options/0"},{"start":91,"end":106,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":120,"end":123,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]},{"name":"Options","type":"capture_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_server:capture_options/0"}]}],"returns":"{ok, tmux_snapshot:t()} | {error, map()}","returnsReferences":[{"start":5,"end":20,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":34,"end":37,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture the server's sessions, physical windows, window links and panes.","body":"This performs explicit I/O and records each command's observation interval.\nIdentity scans bracket field reads; detected topology or value disagreements\nreturn inconsistent_capture. Changes between reads can remain undetected,\nincluding changes followed by a reversal. Atomic capture is unsupported.\n\nOptions are consistency (observed only), deadline_ms (default 2500, maximum\n600000), max_rows (4096, maximum 65536 raw observations per scan and aggregate\nspine) and max_bytes (8 MiB, maximum 64 MiB total stdout across capture\ncommands). Repeated memberships count before deduplication. The\n`t:hydration/0` strategy defaults to batched. Each command is limited to 1 MiB;\nisolated hydration distributes larger entity output across individual fields.\nThese are data limits, not a VM heap limit. Capturing performs no retry. Local\nreads of the resulting value do no I/O. `tmux_snapshot:metadata/1` records the\nstrategy and actual source calls.\n\nUnsupported consistency is rejected before contacting a server:","examples":[{"lang":"erlang","code":"1> tmux_server:snapshot(invalid_server, #{consistency => atomic}).\n{error,#{code => unsupported_consistency}}"}]},"source":{"line":325,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-snapshot-2"},{"id":"tmux_server:start_owned/1","publicId":"tmux_server:start_owned/1","qualifiedName":"tmux_server:start_owned/1","name":"start_owned/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"start_owned(Options)\n-spec start_owned(owned_options()) ->\n {ok, t(), ownership()} |\n {error, map()}.","references":[{"start":39,"end":52,"target":"t:tmux_server:owned_options/0"},{"start":85,"end":86,"target":"t:tmux_server:t/0"},{"start":90,"end":99,"target":"t:tmux_server:ownership/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":134,"end":137,"target":"t:erlang:map/0"}],"params":[{"name":"Options","type":"owned_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:owned_options/0"}]}],"returns":"{ok, t(), ownership()} | {error, map()}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_server:t/0"},{"start":10,"end":19,"target":"t:tmux_server:ownership/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Start an empty owned daemon in a fresh private Linux socket directory. Performs I/O and waits for bounded startup; no session or attached observer is created. Returns an ordinary endpoint and a separate `t:ownership/0` token. The caller owns the daemon lifetime: caller death or `stop_owned/1` retires its helper tree. `close/1` only closes the endpoint and preserves the daemon.","body":"The daemon starts without a user config, with `exit-empty` disabled. One idle,\nunattached bootstrap client keeps the owned helper tree alive. Startup includes\nreadiness and endpoint incarnation binding, not just executable launch.\nIncomplete cleanup remains explicit; it is never permission to kill by path.\nAn incomplete startup error includes an ownership token and captured resources\nfor `stop_owned/1` recovery. The token does not serialize across VM lifetimes."},"source":{"line":142,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-start_owned-1"},{"id":"tmux_server:status/1","publicId":"tmux_server:status/1","qualifiedName":"tmux_server:status/1","name":"status/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"status(Server)\n-spec status(t()) ->\n {ok, state()} |\n {error, tmux_operation:failure()}.","references":[{"start":28,"end":29,"target":"t:tmux_server:t/0"},{"start":57,"end":62,"target":"t:tmux_server:state/0"},{"start":92,"end":114,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, state()} | {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":10,"target":"t:tmux_server:state/0"},{"start":24,"end":46,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read the endpoint owner's lifecycle and resource summary. This contacts the library owner, not tmux, and does not refresh captured rows."},"source":{"line":274,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-status-1"},{"id":"tmux_server:stop_owned/1","publicId":"tmux_server:stop_owned/1","qualifiedName":"tmux_server:stop_owned/1","name":"stop_owned/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"stop_owned(Ownership)\n-spec stop_owned(ownership()) -> ok | {error, map()}.","references":[{"start":39,"end":48,"target":"t:tmux_server:ownership/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":68,"end":71,"target":"t:erlang:map/0"}],"params":[{"name":"Ownership","type":"ownership()","typeReferences":[{"start":0,"end":9,"target":"t:tmux_server:ownership/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Stop the daemon and endpoint associated with a `t:ownership/0` token. Performs I/O and returns ok only after endpoint/client/helper retirement and namespace cleanup are proved. It never sends kill-server to a socket path.","body":"A replaced socket/directory or unexpected directory contents are preserved and\nreturn `cleanup_incomplete` with process and namespace details. A supervised\ntombstone retains uncertain cleanup; call again to inspect/retry after external\nrepair. Filesystem identity checks are observations, not atomic reservations\nagainst another trusted process replacing a path during unlink.\n\nSuccessful stop is idempotent during the 60-second token retention period.\nAfter token expiry or application shutdown, returns `ownership_expired`.\nStop explicitly before application shutdown when the caller needs a verified\ncleanup result. OTP application shutdown itself does not prove native cleanup.\nIncomplete shutdown writes a private recovery report outside the owned socket\ndirectory and logs its location or write failure; no automatic recovery runs."},"source":{"line":163,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-stop_owned-1"},{"id":"tmux_server:version/1","publicId":"tmux_server:version/1","qualifiedName":"tmux_server:version/1","name":"version/1","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"version(Server)\n-spec version(t()) ->\n {ok, tmux_version:t()} | {error, map()}.","references":[{"start":30,"end":31,"target":"t:tmux_server:t/0"},{"start":60,"end":74,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":88,"end":91,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, tmux_version:t()} | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return the daemon version observed when the endpoint opened. This reads owner state and does not execute a fresh version command or qualify another tmux release."},"source":{"line":290,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-version-1"},{"id":"tmux_server:with_owned/2","publicId":"tmux_server:with_owned/2","qualifiedName":"tmux_server:with_owned/2","name":"with_owned/2","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"with_owned(Options, Function)\n-spec with_owned(owned_options(), fun((t()) -> Value)) ->\n {ok, Value} |\n {error, scope_failure() | map()}.","references":[{"start":47,"end":60,"target":"t:tmux_server:owned_options/0"},{"start":69,"end":70,"target":"t:tmux_server:t/0"},{"start":150,"end":163,"target":"t:tmux_server:scope_failure/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":168,"end":171,"target":"t:erlang:map/0"}],"params":[{"name":"Options","type":"owned_options()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:owned_options/0"}]},{"name":"Function","type":"fun((t()) -> Value)","typeReferences":[{"start":5,"end":6,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, Value} | {error, scope_failure() | map()}","returnsReferences":[{"start":22,"end":35,"target":"t:tmux_server:scope_failure/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":40,"end":43,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Start an owned daemon, run a callback in the calling process, then stop it. Performs `start_owned/1` and token-based `stop_owned/1` around the callback. With successful cleanup, returns {ok, Value} or re-raises the original callback exception. A returned error tuple is an ordinary callback value. Startup failure passes through without invoking the callback.","body":"Cleanup failure returns `t:scope_failure/0`, including both server and ownership\nhandles for inspection and an explicit stop retry. It preserves the callback\noutcome and cleanup evidence separately; it never claims timeout is retirement.\nSee `with_server/2` for callback and separately allocated resource obligations."},"source":{"line":204,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-with_owned-2"},{"id":"tmux_server:with_server/2","publicId":"tmux_server:with_server/2","qualifiedName":"tmux_server:with_server/2","name":"with_server/2","namespace":"tmux_server","parent":"tmux_server","kind":"function","modifiers":[],"signatures":[{"raw":"with_server(Options, Function)\n-spec with_server(open_options(), fun((t()) -> Value)) ->\n {ok, Value} |\n {error, scope_failure() | map()}.","references":[{"start":49,"end":61,"target":"t:tmux_server:open_options/0"},{"start":70,"end":71,"target":"t:tmux_server:t/0"},{"start":153,"end":166,"target":"t:tmux_server:scope_failure/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":171,"end":174,"target":"t:erlang:map/0"}],"params":[{"name":"Options","type":"open_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_server:open_options/0"}]},{"name":"Function","type":"fun((t()) -> Value)","typeReferences":[{"start":5,"end":6,"target":"t:tmux_server:t/0"}]}],"returns":"{ok, Value} | {error, scope_failure() | map()}","returnsReferences":[{"start":22,"end":35,"target":"t:tmux_server:scope_failure/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":40,"end":43,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Open a borrowed endpoint, run a callback in the calling process, then close it. Performs the same I/O as `open/1` and `close/1`; the borrowed daemon survives. Startup failure passes through without invoking the callback.","body":"With successful cleanup, returns {ok, Value} for any callback return value,\nincluding a returned error tuple. Callback error, throw and exit exceptions\nare re-raised with their original reason and stack. If cleanup fails, returns\n{error, Failure} with `t:scope_failure/0`, preserving both outcomes and the\nendpoint for explicit recovery. It attempts cleanup once; a timeout does not\nprove retirement. Existing supervised cleanup ownership remains in force.\n\nThe callback must retire separately created resources such as `m:tmux_control`\nattachments. This scope closes its endpoint, not every resource the callback\nmay allocate. Use `with_owned/2` when the scope should own the daemon too."},"source":{"line":183,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_server-with_server-2"},{"id":"t:tmux_server:capture_options/0","publicId":"t:tmux_server:capture_options/0","qualifiedName":"tmux_server:capture_options/0","name":"capture_options/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type capture_options() ::\n #{deadline_ms => 1..600000,\n max_rows => 1..65536,\n max_bytes => 1..67108864,\n hydration => hydration(),\n consistency => observed | atomic}.","params":[],"references":[{"start":162,"end":171,"target":"t:tmux_server:hydration/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture bounds, hydration strategy and consistency request. Atomic capture is unsupported."},"source":{"line":85,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_server-capture_options-0"},{"id":"t:tmux_server:command_options/0","publicId":"t:tmux_server:command_options/0","qualifiedName":"tmux_server:command_options/0","name":"command_options/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type command_options() ::\n #{deadline_ms => 1..600000,\n max_stdout => 0..1048576,\n max_stderr => 0..65536,\n stdin => binary(),\n identity => observed | same_connection}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":160,"end":166,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Command options: deadline_ms defaults to 2500, max_stdout to 1 MiB, max_stderr to 64 KiB, stdin to an empty binary and identity to observed. The deadline includes admission, preflight and execution. stdin is limited to 256 KiB; stdin plus the rendered argument reservation must also fit 256 KiB. Each endpoint admits at most 64 operations and 256 KiB of command payload; exhaustion returns busy. same_connection is recognized but unsupported."},"source":{"line":74,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_server-command_options-0"},{"id":"t:tmux_server:hydration/0","publicId":"t:tmux_server:hydration/0","qualifiedName":"tmux_server:hydration/0","name":"hydration/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type hydration() :: batched | isolated.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture text/bytes with one framed scan per entity (batched, the default), or one field per physical row (isolated). Both retain complete graph coverage and interval semantics. Each command has the same 1 MiB stdout bound; isolated can distribute large entity output across commands at greater source cost. See `snapshot/2` and `tmux_query:explain/1`."},"source":{"line":83,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_server-hydration-0"},{"id":"t:tmux_server:open_options/0","publicId":"t:tmux_server:open_options/0","qualifiedName":"tmux_server:open_options/0","name":"open_options/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type open_options() ::\n #{socket_path := binary(),\n executable => binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":51,"end":57,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":87,"end":93,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"An explicit absolute socket endpoint and optional absolute tmux executable path."},"source":{"line":58,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_server-open_options-0"},{"id":"t:tmux_server:owned_options/0","publicId":"t:tmux_server:owned_options/0","qualifiedName":"tmux_server:owned_options/0","name":"owned_options/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type owned_options() ::\n #{executable => binary(),\n startup_timeout_ms => 1..600000}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":51,"end":57,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Owned startup options. The finite startup budget defaults to 2500 milliseconds."},"source":{"line":60,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_server-owned_options-0"},{"id":"t:tmux_server:ownership/0","publicId":"t:tmux_server:ownership/0","qualifiedName":"tmux_server:ownership/0","name":"ownership/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque ownership().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Opaque ownership token for `stop_owned/1`. An ordinary endpoint or row origin does not convey this token. Trusted code can pass it to another process."},"source":{"line":65,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_server-ownership-0"},{"id":"t:tmux_server:scope_failure/0","publicId":"t:tmux_server:scope_failure/0","qualifiedName":"tmux_server:scope_failure/0","name":"scope_failure/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type scope_failure() ::\n #{code := scope_cleanup_failed,\n primary :=\n {ok, term()} |\n {exception,\n error | exit | throw,\n term(),\n erlang:stacktrace()},\n cleanup :=\n {error, map()} |\n {exception,\n error | exit | throw,\n term(),\n erlang:stacktrace()},\n server := t(),\n ownership => ownership()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":111,"end":115,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":205,"end":209,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":230,"end":247,"target":"t:erlang:stacktrace/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":299,"end":302,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":392,"end":396,"target":"t:erlang:term/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:stacktrace/0","project":"Erlang/OTP"},"start":417,"end":434,"target":"t:erlang:stacktrace/0"},{"start":461,"end":462,"target":"t:tmux_server:t/0"},{"start":491,"end":500,"target":"t:tmux_server:ownership/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Both callback and cleanup evidence when a scope cannot prove retirement. primary is the callback value or its exception class, reason and original stack. cleanup preserves the operational error or a separate cleanup exception. server permits `close/1` reconciliation; owned scopes also include ownership for `stop_owned/1`. Retain these handles until cleanup is resolved."},"source":{"line":53,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_server-scope_failure-0"},{"id":"t:tmux_server:state/0","publicId":"t:tmux_server:state/0","qualifiedName":"tmux_server:state/0","name":"state/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type state() ::\n #{phase := open | closing | closed,\n generation := reference(),\n owner := pid(),\n operations := non_neg_integer(),\n command_bytes := non_neg_integer(),\n active_bytes := non_neg_integer(),\n retained_results := non_neg_integer(),\n result_bytes := non_neg_integer()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":89,"end":98,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:pid/0","project":"Erlang/OTP"},"start":123,"end":126,"target":"t:erlang:pid/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":156,"end":171,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":204,"end":219,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":251,"end":266,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":302,"end":317,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":349,"end":364,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Endpoint resource summary. owner is the supervised endpoint process, not its initiating caller. operations and command_bytes count active admission leases; active_bytes reserves output capacity. Retired results are bounded separately by retained_results and result_bytes. These are accounting limits, not VM heap measurements. generation identifies this endpoint handle's lifetime."},"source":{"line":94,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_server-state-0"},{"id":"t:tmux_server:t/0","publicId":"t:tmux_server:t/0","qualifiedName":"tmux_server:t/0","name":"t/0","namespace":"tmux_server","parent":"tmux_server","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A supervised borrowed-endpoint handle bound to an owner generation and admission state."},"source":{"line":103,"file":"apps/libtmux_erlang/src/tmux_server.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_server-t-0"},{"id":"tmux_session","publicId":"tmux_session","qualifiedName":"tmux_session","name":"tmux_session","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Create and observe sessions, or act on a session's registered stable ID.","body":"`create/2` accepts name, window_name, width, height, cwd, env,\nlaunch and detach. Creation defaults to detached with tmux's configured\nshell/command. launch is default_shell, an argv map, or an explicit shell map.\nenv augments tmux's inherited environment. tmux supplies PATH, SHELL, PWD and\nTMUX_PANE after that merge, so those entries may be replaced. Names and cwd\nare literal format values; tmux's stored name rules still apply. Creation\nnever adopts an existing session by name.\n\nAn empty shell command can exit immediately and remove its session. It does\nnot request the empty-pane behavior of split-window. Use a running program\nwhen later operations require the session to remain alive.\n\n`create/2` and `get/2` explicitly read the\nnew/current row through several one-shot commands. These reads are not atomic.\nIf creation succeeds but observation fails, the error retains mutation =\ncompleted and the original command result. `rename/2` and\n`kill/1` return command results without refreshing the input\nrecord. Detached rows require `tmux_server:bind/2` before actions.\n`rename_command/2` builds a reusable value without tmux I/O; the other calls\nperform I/O after validation.\n\n`select/2` switches one explicitly named attached client to a session. It\nnever attaches a client or infers the current client. Use\n`tmux_window_link:select/1` to select a session's window membership instead."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_session"},{"id":"tmux_session:create/2","publicId":"tmux_session:create/2","qualifiedName":"tmux_session:create/2","name":"create/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"create(Server, Options)\n-spec create(tmux_server:t(), create_options()) ->\n {ok, tmux_model:session()} | {error, map()}.","references":[{"start":37,"end":50,"target":"t:tmux_server:t/0"},{"start":54,"end":68,"target":"t:tmux_session:create_options/0"},{"start":96,"end":114,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":128,"end":131,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Options","type":"create_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_session:create_options/0"}]}],"returns":"{ok, tmux_model:session()} | {error, map()}","returnsReferences":[{"start":5,"end":23,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":37,"end":40,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Create a detached session by default and explicitly observe the returned row. Options include name, window_name, dimensions, cwd, env and launch. Performs I/O; an observation failure after successful creation retains mutation = completed and the original command result. Existing names are not adopted."},"source":{"line":48,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_session-create-2"},{"id":"tmux_session:get/2","publicId":"tmux_session:get/2","qualifiedName":"tmux_session:get/2","name":"get/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"get(Server, Id)\n-spec get(tmux_server:t(), tmux_model:session_id()) ->\n {ok, tmux_model:session()} | {error, map()}.","references":[{"start":26,"end":39,"target":"t:tmux_server:t/0"},{"start":43,"end":64,"target":"t:tmux_model:session_id/0"},{"start":89,"end":107,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":121,"end":124,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Id","type":"tmux_model:session_id()","typeReferences":[{"start":0,"end":21,"target":"t:tmux_model:session_id/0"}]}],"returns":"{ok, tmux_model:session()} | {error, map()}","returnsReferences":[{"start":5,"end":23,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":37,"end":40,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read fresh session fields through explicit one-shot commands. The session ID is stable within the observed server incarnation. Returns target_gone when tmux no longer has that session; it never refreshes an existing record."},"source":{"line":64,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_session-get-2"},{"id":"tmux_session:kill/1","publicId":"tmux_session:kill/1","qualifiedName":"tmux_session:kill/1","name":"kill/1","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"kill(Session)\n-spec kill(tmux_model:session()) ->\n {ok, map()} | {error, map()}.","references":[{"start":25,"end":43,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":69,"end":72,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":86,"end":89,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Destroy this registered session. Performs I/O and returns the command result; this is a destructive session action, not endpoint cleanup. References must belong to a live registered owner."},"source":{"line":170,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_session-kill-1"},{"id":"tmux_session:rename/2","publicId":"tmux_session:rename/2","qualifiedName":"tmux_session:rename/2","name":"rename/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"rename(Session, Name)\n-spec rename(tmux_model:session(), binary()) ->\n {ok, map()} | {error, map()}.","references":[{"start":35,"end":53,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":57,"end":63,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":91,"end":94,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":108,"end":111,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Rename the registered session using a literal name and return the command result. Performs I/O. Previously captured records keep their old names; detached or stale references fail validation before the action."},"source":{"line":72,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_session-rename-2"},{"id":"tmux_session:rename_command/2","publicId":"tmux_session:rename_command/2","qualifiedName":"tmux_session:rename_command/2","name":"rename_command/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"rename_command(Session, Name)\n-spec rename_command(tmux_model:session(), binary()) ->\n {ok, tmux_command:t()} |\n {error, map()}.","references":[{"start":51,"end":69,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":73,"end":79,"target":"t:erlang:binary/0"},{"start":115,"end":129,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":167,"end":170,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, tmux_command:t()} | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_command:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":33,"end":36,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Build a literal rename command without tmux I/O. Validates the row and keeps its captured origin; endpoint liveness is checked during execution. Submit the value to `tmux_server:command/3` or `tmux_operation:start/3` with its original endpoint. Existing session records retain their captured name.","body":"Detached rows require `tmux_server:bind/2` first. Building a command does not\nexecute it or make a repeated mutation safe.","examples":[{"lang":"erlang","code":"1> tmux_session:rename_command(invalid_row, <<\"work\">>).\n{error,#{code => invalid_row,path => []}}"}]},"source":{"line":93,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_session-rename_command-2"},{"id":"tmux_session:select/2","publicId":"tmux_session:select/2","qualifiedName":"tmux_session:select/2","name":"select/2","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"select(Session, Client)\n-spec select(tmux_model:session(), binary()) ->\n {ok, map()} | {error, map()}.","references":[{"start":37,"end":55,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":59,"end":65,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":93,"end":96,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":110,"end":113,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Client","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Switch an explicitly named attached client to this registered session, preserving the session environment. Performs I/O. See `select/3` for client lookup, environment updates and disconnection races.","body":"An empty client name cannot select an implicit current client:","examples":[{"lang":"erlang","code":"1> tmux_session:select(invalid_session, <<>>).\n{error,#{code => invalid_client,path => [client]}}"}]},"source":{"line":113,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_session-select-2"},{"id":"tmux_session:select/3","publicId":"tmux_session:select/3","qualifiedName":"tmux_session:select/3","name":"select/3","namespace":"tmux_session","parent":"tmux_session","kind":"function","modifiers":[],"signatures":[{"raw":"select(Session, Client, Options)\n-spec select(tmux_model:session(),\n binary(),\n select_options()) ->\n {ok, map()} | {error, map()}.","references":[{"start":46,"end":64,"target":"t:tmux_model:session/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":81,"end":87,"target":"t:erlang:binary/0"},{"start":104,"end":118,"target":"t:tmux_session:select_options/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":146,"end":149,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":163,"end":166,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Client","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]},{"name":"Options","type":"select_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_session:select_options/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Switch one attached client, selected by its literal native client name or TTY path, to the session's registered stable ID. Performs I/O and returns the command result; existing rows remain captured values. Obtain the name from the caller's own client context, such as tmux's `client_name` format. There is no default client and this call never attaches one.","body":"`update_environment` defaults to false (`switch-client -E`). When true, tmux\nupdates the destination session environment using its `update-environment`\noption and that client's environment; listed variables absent from the client\ncan be marked for removal. Running pane processes retain their environment.\n\nNames are nonempty NUL-free binaries of at most 32 KiB. Trailing-colon aliases\nare rejected. Native lookup matches an exact name or TTY path, including its\n`/dev/`-relative alias; there is no prefix or pattern matching. A disconnected\nname returns `client_not_found`. Names and TTY paths can be reused by a later\nconnection; this API does not identify a client incarnation atomically. A\nmissing destination returns `target_gone`. See `tmux_server:bind/2` for detached\nsession rows and `tmux_window_link:select/1` for window selection."},"source":{"line":137,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_session-select-3"},{"id":"t:tmux_session:create_options/0","publicId":"t:tmux_session:create_options/0","qualifiedName":"tmux_session:create_options/0","name":"create_options/0","namespace":"tmux_session","parent":"tmux_session","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type create_options() ::\n #{name => binary(),\n window_name => binary(),\n width => 1..65535,\n height => 1..65535,\n cwd => binary(),\n env => #{binary() => binary()},\n launch => tmux_command:launch_spec(),\n detach => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":46,"end":52,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":83,"end":89,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":175,"end":181,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":206,"end":212,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":218,"end":224,"target":"t:erlang:binary/0"},{"start":251,"end":275,"target":"t:tmux_command:launch_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":301,"end":308,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Session creation options. Launch defaults to the configured shell; creation defaults to detached."},"source":{"line":34,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_session-create_options-0"},{"id":"t:tmux_session:select_options/0","publicId":"t:tmux_session:select_options/0","qualifiedName":"tmux_session:select_options/0","name":"select_options/0","namespace":"tmux_session","parent":"tmux_session","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type select_options() ::\n #{update_environment => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":60,"end":67,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Session selection options. update_environment defaults to false, preserving the destination environment."},"source":{"line":39,"file":"apps/libtmux_erlang/src/tmux_session.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_session-select_options-0"},{"id":"tmux_snapshot","publicId":"tmux_snapshot","qualifiedName":"tmux_snapshot","name":"tmux_snapshot","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Read an immutable captured graph without performing tmux I/O.","body":"Server-wide lists use numeric ID order. Window links retain every membership,\nincluding multiple indexes for the same window in one session. Session windows\nare unique in first-link order; panes within a window use pane index order.\n`related/3` accepts a row from this snapshot and returns a\ntagged result. A row from another observation cannot silently select a\nrelationship in this one.\n\n`metadata/1` records source calls, the capture interval,\nendpoint generation and the observed server incarnation. Captures span\ncommands and are not atomic. Values remain readable after their endpoint\ncloses; actions still validate the row's registered origin. Coverage\ndistinguishes unloaded data from an empty collection and unavailable fields\nfrom known absence. See the [graph guide](graph.md) for physical windows and\nsession memberships."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot"},{"id":"tmux_snapshot:coverage/1","publicId":"tmux_snapshot:coverage/1","qualifiedName":"tmux_snapshot:coverage/1","name":"coverage/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"coverage/1\n-spec coverage(t()) -> coverage().","references":[{"start":26,"end":27,"target":"t:tmux_snapshot:t/0"},{"start":34,"end":42,"target":"t:tmux_snapshot:coverage/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"coverage()","returnsReferences":[{"start":0,"end":8,"target":"t:tmux_snapshot:coverage/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return per-collection, field and relationship coverage. Loaded values, known absence, not_loaded and unavailable capabilities have distinct meanings. Performs no I/O."},"source":{"line":181,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-coverage-1"},{"id":"tmux_snapshot:get/3","publicId":"tmux_snapshot:get/3","qualifiedName":"tmux_snapshot:get/3","name":"get/3","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"get/3\n-spec get(tmux_schema:entity(), term(), t()) ->\n {ok, tmux_model:row()} | none | {error, map()}.","references":[{"start":16,"end":34,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":38,"end":42,"target":"t:erlang:term/0"},{"start":46,"end":47,"target":"t:tmux_snapshot:t/0"},{"start":72,"end":86,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":107,"end":110,"target":"t:erlang:map/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Key","type":"term()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:term/0"}]},{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"{ok, tmux_model:row()} | none | {error, map()}","returnsReferences":[{"start":5,"end":19,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":40,"end":43,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Look up a row in this capture by ID, or a session/index/window tuple for a window link. Returns none for a known missing identity and a tagged coverage error for an unloaded collection. Performs no I/O."},"source":{"line":132,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-get-3"},{"id":"tmux_snapshot:metadata/1","publicId":"tmux_snapshot:metadata/1","qualifiedName":"tmux_snapshot:metadata/1","name":"metadata/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"metadata/1\n-spec metadata(t()) -> metadata().","references":[{"start":26,"end":27,"target":"t:tmux_snapshot:t/0"},{"start":34,"end":42,"target":"t:tmux_snapshot:metadata/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"metadata()","returnsReferences":[{"start":0,"end":8,"target":"t:tmux_snapshot:metadata/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return capture identity, server generation, source calls, capabilities and read interval metadata. Does not refresh the graph or imply atomic capture."},"source":{"line":174,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-metadata-1"},{"id":"tmux_snapshot:panes/1","publicId":"tmux_snapshot:panes/1","qualifiedName":"tmux_snapshot:panes/1","name":"panes/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"panes(Snapshot)\n-spec panes(t()) -> [tmux_model:pane()].","references":[{"start":28,"end":29,"target":"t:tmux_snapshot:t/0"},{"start":37,"end":52,"target":"t:tmux_model:pane/0"}],"params":[{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:pane()]","returnsReferences":[{"start":1,"end":16,"target":"t:tmux_model:pane/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return unique captured physical panes in numeric ID order without I/O. `related/3` orders panes within a window by pane index."},"source":{"line":111,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-panes-1"},{"id":"tmux_snapshot:related/3","publicId":"tmux_snapshot:related/3","qualifiedName":"tmux_snapshot:related/3","name":"related/3","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"related/3\n-spec related(atom(), tmux_model:row(), t()) ->\n {ok,\n [tmux_model:row()] |\n tmux_model:row() |\n none} |\n {error, map()}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":24,"end":28,"target":"t:erlang:atom/0"},{"start":32,"end":46,"target":"t:tmux_model:row/0"},{"start":50,"end":51,"target":"t:tmux_snapshot:t/0"},{"start":99,"end":113,"target":"t:tmux_model:row/0"},{"start":137,"end":151,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":207,"end":210,"target":"t:erlang:map/0"}],"params":[{"name":"Relation","type":"atom()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":0,"end":4,"target":"t:erlang:atom/0"}]},{"name":"Row","type":"tmux_model:row()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_model:row/0"}]},{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"{ok,\n [tmux_model:row()] | tmux_model:row() | none} |\n {error, map()}","returnsReferences":[{"start":17,"end":31,"target":"t:tmux_model:row/0"},{"start":37,"end":51,"target":"t:tmux_model:row/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":82,"end":85,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Traverse a complete captured relationship without I/O. To-many relations return lists; to-one relations return a row or known absence. The input row must belong to this snapshot. Unloaded relations and mismatched rows return tagged errors."},"source":{"line":149,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-related-3"},{"id":"tmux_snapshot:require/2","publicId":"tmux_snapshot:require/2","qualifiedName":"tmux_snapshot:require/2","name":"require/2","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"require/2\n-spec require([requirement()], t()) -> ok | {error, map()}.","references":[{"start":25,"end":36,"target":"t:tmux_snapshot:requirement/0"},{"start":41,"end":42,"target":"t:tmux_snapshot:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":62,"end":65,"target":"t:erlang:map/0"}],"params":[{"name":"Requirements","type":"[requirement()]","typeReferences":[{"start":1,"end":12,"target":"t:tmux_snapshot:requirement/0"}]},{"name":"Argument2","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"ok | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":13,"end":16,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Check every declared collection/field/relationship requirement before local evaluation. Returns an incomplete_snapshot error with missing requirements when the capture cannot answer faithfully. Performs no I/O, even on empty data."},"source":{"line":190,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-require-2"},{"id":"tmux_snapshot:rows/2","publicId":"tmux_snapshot:rows/2","qualifiedName":"tmux_snapshot:rows/2","name":"rows/2","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"rows/2\n-spec rows(tmux_schema:entity(), t()) -> [tmux_model:row()].","references":[{"start":18,"end":36,"target":"t:tmux_schema:entity/0"},{"start":40,"end":41,"target":"t:tmux_snapshot:t/0"},{"start":49,"end":63,"target":"t:tmux_model:row/0"}],"params":[{"name":"Entity","type":"tmux_schema:entity()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_schema:entity/0"}]},{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:row()]","returnsReferences":[{"start":1,"end":15,"target":"t:tmux_model:row/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return a captured collection by schema entity. Performs no I/O. An unloaded collection raises incomplete_snapshot rather than appearing empty."},"source":{"line":118,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-rows-2"},{"id":"tmux_snapshot:sessions/1","publicId":"tmux_snapshot:sessions/1","qualifiedName":"tmux_snapshot:sessions/1","name":"sessions/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"sessions(Snapshot)\n-spec sessions(t()) -> [tmux_model:session()].","references":[{"start":34,"end":35,"target":"t:tmux_snapshot:t/0"},{"start":43,"end":61,"target":"t:tmux_model:session/0"}],"params":[{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:session()]","returnsReferences":[{"start":1,"end":19,"target":"t:tmux_model:session/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return captured sessions in numeric ID order. Performs no I/O and raises incomplete_snapshot when that collection was not captured."},"source":{"line":92,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-sessions-1"},{"id":"tmux_snapshot:window_links/1","publicId":"tmux_snapshot:window_links/1","qualifiedName":"tmux_snapshot:window_links/1","name":"window_links/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"window_links(Snapshot)\n-spec window_links(t()) -> [tmux_model:window_link()].","references":[{"start":42,"end":43,"target":"t:tmux_snapshot:t/0"},{"start":51,"end":73,"target":"t:tmux_model:window_link/0"}],"params":[{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:window_link()]","returnsReferences":[{"start":1,"end":23,"target":"t:tmux_model:window_link/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return every captured membership, ordered by numeric session ID, index and window ID. Multiple links to the same physical window are preserved. Performs no I/O; link identity belongs to this snapshot."},"source":{"line":105,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-window_links-1"},{"id":"tmux_snapshot:windows/1","publicId":"tmux_snapshot:windows/1","qualifiedName":"tmux_snapshot:windows/1","name":"windows/1","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"function","modifiers":[],"signatures":[{"raw":"windows(Snapshot)\n-spec windows(t()) -> [tmux_model:window()].","references":[{"start":32,"end":33,"target":"t:tmux_snapshot:t/0"},{"start":41,"end":58,"target":"t:tmux_model:window/0"}],"params":[{"name":"Snapshot","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_snapshot:t/0"}]}],"returns":"[tmux_model:window()]","returnsReferences":[{"start":1,"end":18,"target":"t:tmux_model:window/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Return unique captured physical windows in numeric ID order. Performs no I/O. Use `window_links/1` for session-relative membership and indexes."},"source":{"line":98,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_snapshot-windows-1"},{"id":"t:tmux_snapshot:coverage/0","publicId":"t:tmux_snapshot:coverage/0","qualifiedName":"tmux_snapshot:coverage/0","name":"coverage/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type coverage() ::\n #{tmux_schema:entity() => entity_coverage()}.","params":[],"references":[{"start":32,"end":50,"target":"t:tmux_schema:entity/0"},{"start":56,"end":71,"target":"t:tmux_snapshot:entity_coverage/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Per-entity coverage. Use `require/2` to check requirements before evaluation."},"source":{"line":53,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_snapshot-coverage-0"},{"id":"t:tmux_snapshot:entity_coverage/0","publicId":"t:tmux_snapshot:entity_coverage/0","qualifiedName":"tmux_snapshot:entity_coverage/0","name":"entity_coverage/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type entity_coverage() ::\n #{collection := complete | not_loaded,\n fields :=\n #{atom() =>\n loaded | not_loaded | unavailable},\n relations :=\n #{atom() => complete | not_loaded}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":116,"end":120,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":227,"end":231,"target":"t:erlang:atom/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Collection completeness, field availability and relationship completeness. A loaded field can hold a known value or known absence; inspect the row to distinguish them. not_loaded never means empty, and unavailable never means known absence. Completeness is relative to the captured source collection."},"source":{"line":49,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_snapshot-entity_coverage-0"},{"id":"t:tmux_snapshot:metadata/0","publicId":"t:tmux_snapshot:metadata/0","qualifiedName":"tmux_snapshot:metadata/0","name":"metadata/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type metadata() ::\n #{id := reference(),\n origin := reference(),\n model_version := 2,\n graph := complete | partial,\n generation => reference(),\n endpoint => #{socket_path := binary()},\n server_instance => tmux_identity:t(),\n tmux_version => tmux_version:t(),\n capture_started => integer(),\n capture_finished => integer(),\n time_unit => microsecond,\n source_calls => [source_call()],\n observed_bytes => non_neg_integer(),\n consistency => observed,\n hydration => tmux_server:hydration(),\n capabilities =>\n #{field_schema := 1,\n identity := observed,\n capture := observed},\n query => query_metadata(),\n atom() => term()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":38,"end":47,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":73,"end":82,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:reference/0","project":"Erlang/OTP"},"start":185,"end":194,"target":"t:erlang:reference/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":239,"end":245,"target":"t:erlang:binary/0"},{"start":281,"end":296,"target":"t:tmux_identity:t/0"},{"start":328,"end":342,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":377,"end":384,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":420,"end":427,"target":"t:erlang:integer/0"},{"start":498,"end":509,"target":"t:tmux_snapshot:source_call/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":544,"end":559,"target":"t:erlang:non_neg_integer/0"},{"start":625,"end":646,"target":"t:tmux_server:hydration/0"},{"start":816,"end":830,"target":"t:tmux_snapshot:query_metadata/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":846,"end":850,"target":"t:erlang:atom/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":856,"end":860,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Capture identity and provenance. id identifies this snapshot, origin its registered endpoint and generation the endpoint lifetime. model_version names the row representation. graph describes relationship coverage, not atomicity.","body":"Live captures include endpoint, observed server_instance, tmux_version,\nmonotonic capture bounds in time_unit, source_calls, observed stdout bytes and\ncapabilities. Those fields can be absent in internally constructed partial\ncaptures. Query captures also include `t:query_metadata/0`. Opaque references\nand process identities are local values, not portable wire identifiers.\nhydration records the requested `t:tmux_server:hydration/0` strategy; source_calls\nshows which commands actually ran, including any schema-driven fallback."},"source":{"line":77,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_snapshot-metadata-0"},{"id":"t:tmux_snapshot:query_metadata/0","publicId":"t:tmux_snapshot:query_metadata/0","qualifiedName":"tmux_snapshot:query_metadata/0","name":"query_metadata/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type query_metadata() ::\n #{candidate_count := non_neg_integer(),\n pushed_down := boolean(),\n attempt := 1 | 2,\n consistency := observed}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":57,"end":72,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":103,"end":110,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Source-query capture diagnostics. candidate_count is the deduplicated candidate identity count before local residuals and limits. pushed_down records a nontrivial native condition in the plan, not proof that its command ran: empty collections can skip it. source_calls records actual capture commands. The flag does not mean the full predicate was translated. attempt starts at one and increases only for an explicitly requested retry."},"source":{"line":62,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_snapshot-query_metadata-0"},{"id":"t:tmux_snapshot:requirement/0","publicId":"t:tmux_snapshot:requirement/0","qualifiedName":"tmux_snapshot:requirement/0","name":"requirement/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type requirement() ::\n {collection, tmux_schema:entity()} |\n {field | relation, tmux_schema:entity(), atom()}.","params":[],"references":[{"start":46,"end":64,"target":"t:tmux_schema:entity/0"},{"start":99,"end":117,"target":"t:tmux_schema:entity/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:atom/0","project":"Erlang/OTP"},"start":121,"end":125,"target":"t:erlang:atom/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A collection, field or complete relationship needed for faithful local evaluation."},"source":{"line":34,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_snapshot-requirement-0"},{"id":"t:tmux_snapshot:source_call/0","publicId":"t:tmux_snapshot:source_call/0","qualifiedName":"tmux_snapshot:source_call/0","name":"source_call/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type source_call() ::\n #{command := binary(),\n args := [binary()],\n started := integer(),\n finished := integer(),\n stdout_bytes := non_neg_integer()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":46,"end":52,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":77,"end":83,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":111,"end":118,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:integer/0","project":"Erlang/OTP"},"start":146,"end":153,"target":"t:erlang:integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":185,"end":200,"target":"t:erlang:non_neg_integer/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"One completed capture command and its stdout byte count. started and finished are local monotonic microseconds, not wall-clock timestamps. The interval includes identity preflight and command completion; it is not an atomic read."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_snapshot-source_call-0"},{"id":"t:tmux_snapshot:t/0","publicId":"t:tmux_snapshot:t/0","qualifiedName":"tmux_snapshot:t/0","name":"t/0","namespace":"tmux_snapshot","parent":"tmux_snapshot","kind":"typealias","modifiers":["opaque"],"signatures":[{"raw":"-opaque t().","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"An immutable captured graph with identity, indexes, coverage and source intervals."},"source":{"line":28,"file":"apps/libtmux_erlang/src/tmux_snapshot.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_snapshot-t-0"},{"id":"tmux_version","publicId":"tmux_version","qualifiedName":"tmux_version","name":"tmux_version","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Parse the output of tmux -V without invoking tmux.","body":"Support covers tmux 3.3a through 3.8, including intermediate releases. The\nminimum-version check includes the patch letter; numeric feature comparisons\nuse major/minor components. CI tests the endpoints of the supported range. Use\n`tmux_server:version/1` for the daemon version observed by an endpoint."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_version"},{"id":"tmux_version:at_least/2","publicId":"tmux_version:at_least/2","qualifiedName":"tmux_version:at_least/2","name":"at_least/2","namespace":"tmux_version","parent":"tmux_version","kind":"function","modifiers":[],"signatures":[{"raw":"at_least/2\n-spec at_least(t(),\n {non_neg_integer(), non_neg_integer()}) ->\n boolean().","references":[{"start":26,"end":27,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":47,"end":62,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":66,"end":81,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":107,"end":114,"target":"t:erlang:boolean/0"}],"params":[{"name":"Argument1","type":"t()","typeReferences":[{"start":0,"end":1,"target":"t:tmux_version:t/0"}]},{"name":"Argument2","type":"{non_neg_integer(), non_neg_integer()}","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":1,"end":16,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":20,"end":35,"target":"t:erlang:non_neg_integer/0"}]}],"returns":"boolean()","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":0,"end":7,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Compare numeric major/minor components with a required floor. Patch letters do not promote an older minor release. Performs no I/O."},"source":{"line":73,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_version-at_least-2"},{"id":"tmux_version:parse/1","publicId":"tmux_version:parse/1","qualifiedName":"tmux_version:parse/1","name":"parse/1","namespace":"tmux_version","parent":"tmux_version","kind":"function","modifiers":[],"signatures":[{"raw":"parse/1\n-spec parse(binary()) ->\n {ok, t()} |\n {error, {invalid_tmux_version, term()}}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":20,"end":26,"target":"t:erlang:binary/0"},{"start":53,"end":54,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":106,"end":110,"target":"t:erlang:term/0"}],"params":[{"name":"Raw","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, t()} |\n {error, {invalid_tmux_version, term()}}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":53,"end":57,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Parse bounded tmux -V output into numeric components and patch/tracking metadata. This is pure parsing, not a probe or compatibility qualification."},"source":{"line":25,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_version-parse-1"},{"id":"tmux_version:require/1","publicId":"tmux_version:require/1","qualifiedName":"tmux_version:require/1","name":"require/1","namespace":"tmux_version","parent":"tmux_version","kind":"function","modifiers":[],"signatures":[{"raw":"require(Raw)\n-spec require(binary()) ->\n {ok, t()} |\n {error,\n {invalid_tmux_version |\n unsupported_tmux_version,\n term()}}.","references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":27,"end":33,"target":"t:erlang:binary/0"},{"start":62,"end":63,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":200,"end":204,"target":"t:erlang:term/0"}],"params":[{"name":"Raw","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, t()} |\n {error,\n {invalid_tmux_version | unsupported_tmux_version,\n term()}}","returnsReferences":[{"start":5,"end":6,"target":"t:tmux_version:t/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:term/0","project":"Erlang/OTP"},"start":103,"end":107,"target":"t:erlang:term/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Reject a tmux release below the supported floor.","examples":[{"lang":"erlang","code":"1> {ok, Version} = tmux_version:require(<<\"tmux 3.3a\">>), ok.\nok\n2> tmux_version:at_least(Version, {3, 4}).\nfalse"}]},"source":{"line":58,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_version-require-1"},{"id":"t:tmux_version:t/0","publicId":"t:tmux_version:t/0","qualifiedName":"tmux_version:t/0","name":"t/0","namespace":"tmux_version","parent":"tmux_version","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type t() ::\n #{major := non_neg_integer(),\n minor := non_neg_integer(),\n patch := binary(),\n tracking := boolean(),\n raw := binary()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":34,"end":49,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:non_neg_integer/0","project":"Erlang/OTP"},"start":74,"end":89,"target":"t:erlang:non_neg_integer/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":114,"end":120,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":148,"end":155,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":178,"end":184,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Parsed numeric daemon version plus patch, tracking and original-output metadata."},"source":{"line":17,"file":"apps/libtmux_erlang/src/tmux_version.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_version-t-0"},{"id":"tmux_window","publicId":"tmux_window","qualifiedName":"tmux_window","name":"tmux_window","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Create physical windows in a session and act through their registered IDs.","body":"`create/2` accepts name, cwd, env, launch and detach, using the\nsession's next available index. It defaults to detached. `get/2`\nreads current fields; `rename/2` returns the command result and\nleaves previous records unchanged. Launch and environment options follow\n`tmux_session:create/2`. An empty shell command does not portably keep the\nwindow alive: older tmux releases execute it as a shell command. Use a running\nprogram when needed. Creation returns a fresh observed row or an error\nretaining a completed mutation and its result if the follow-up observation\nfails.\n\n`kill/1` destroys the physical window and all its links. Use\n`tmux_window_link:unlink/2` to remove one session membership. These calls\nperform I/O after validating their inputs. `select_layout/2`\nchanges the physical window's layout across all its session links; previously\nobserved pane geometry remains unchanged in captured values."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window"},{"id":"tmux_window:create/2","publicId":"tmux_window:create/2","qualifiedName":"tmux_window:create/2","name":"create/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"create(Session, Options)\n-spec create(tmux_model:session(), create_options()) ->\n {ok, tmux_model:window()} | {error, map()}.","references":[{"start":38,"end":56,"target":"t:tmux_model:session/0"},{"start":60,"end":74,"target":"t:tmux_window:create_options/0"},{"start":102,"end":119,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":133,"end":136,"target":"t:erlang:map/0"}],"params":[{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"create_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_window:create_options/0"}]}],"returns":"{ok, tmux_model:window()} | {error, map()}","returnsReferences":[{"start":5,"end":22,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":36,"end":39,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Create a physical window in the session's next free index and observe it. Defaults to detached. Launch, cwd and environment follow `tmux_session:create/2`. Performs I/O and retains completed-mutation details if observation fails."},"source":{"line":41,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window-create-2"},{"id":"tmux_window:get/2","publicId":"tmux_window:get/2","qualifiedName":"tmux_window:get/2","name":"get/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"get(Server, Id)\n-spec get(tmux_server:t(), tmux_model:window_id()) ->\n {ok, tmux_model:window()} | {error, map()}.","references":[{"start":26,"end":39,"target":"t:tmux_server:t/0"},{"start":43,"end":63,"target":"t:tmux_model:window_id/0"},{"start":88,"end":105,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":119,"end":122,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"Id","type":"tmux_model:window_id()","typeReferences":[{"start":0,"end":20,"target":"t:tmux_model:window_id/0"}]}],"returns":"{ok, tmux_model:window()} | {error, map()}","returnsReferences":[{"start":5,"end":22,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":36,"end":39,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Explicitly read a physical window by stable ID. Returns a fresh record or target_gone. Physical windows do not have a universal session or window index."},"source":{"line":56,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window-get-2"},{"id":"tmux_window:kill/1","publicId":"tmux_window:kill/1","qualifiedName":"tmux_window:kill/1","name":"kill/1","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"kill(Window)\n-spec kill(tmux_model:window()) ->\n {ok, map()} | {error, map()}.","references":[{"start":24,"end":41,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":67,"end":70,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":84,"end":87,"target":"t:erlang:map/0"}],"params":[{"name":"Window","type":"tmux_model:window()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Destroy the physical window and all of its session links. This does not unlink only one membership. Performs I/O after origin and target validation."},"source":{"line":74,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window-kill-1"},{"id":"tmux_window:rename/2","publicId":"tmux_window:rename/2","qualifiedName":"tmux_window:rename/2","name":"rename/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"rename(Window, Name)\n-spec rename(tmux_model:window(), binary()) ->\n {ok, map()} | {error, map()}.","references":[{"start":34,"end":51,"target":"t:tmux_model:window/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":55,"end":61,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":89,"end":92,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":106,"end":109,"target":"t:erlang:map/0"}],"params":[{"name":"Window","type":"tmux_model:window()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window/0"}]},{"name":"Name","type":"binary()","typeReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":0,"end":6,"target":"t:erlang:binary/0"}]}],"returns":"{ok, map()} | {error, map()}","returnsReferences":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":5,"end":8,"target":"t:erlang:map/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":22,"end":25,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Rename the registered physical window with a literal name. Performs I/O and returns the command result. Captured rows and snapshots remain unchanged."},"source":{"line":63,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window-rename-2"},{"id":"tmux_window:respawn/2","publicId":"tmux_window:respawn/2","qualifiedName":"tmux_window:respawn/2","name":"respawn/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"respawn(Window, Options)\n-spec respawn(tmux_model:window(), respawn_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":39,"end":56,"target":"t:tmux_model:window/0"},{"start":60,"end":75,"target":"t:tmux_window:respawn_options/0"},{"start":104,"end":128,"target":"t:tmux_operation:completed/0"},{"start":159,"end":181,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Window","type":"tmux_model:window()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window/0"}]},{"name":"Options","type":"respawn_options()","typeReferences":[{"start":0,"end":15,"target":"t:tmux_window:respawn_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Respawn a registered physical window across all its session links. tmux keeps the first pane's ID, removes the other panes and rebuilds a single-pane layout. force defaults false: a window with a running pane normally returns command_error. force = true permits closing existing PTYs. Command completion does not establish former-job termination or application readiness. Other panes can already be removed if a later spawn step fails. Respawn also selects this window in tmux's resolved session. For a window linked into several sessions, tmux chooses that context from the physical ID; this facade does not pin selection or environment to a captured membership.","body":"launch defaults to previous and reuses the retained pane's saved command.\nExplicit argv and shell maps, saved cwd and fresh-spawn environment rules\nfollow `tmux_pane:respawn/2`, using the resolved session's environment. This\nphysical-window mutation affects every link. Performs I/O after validation and\nreturns the command result without refreshing rows. Use `get/2` or a new\nsnapshot for current data."},"source":{"line":96,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window-respawn-2"},{"id":"tmux_window:select_layout/2","publicId":"tmux_window:select_layout/2","qualifiedName":"tmux_window:select_layout/2","name":"select_layout/2","namespace":"tmux_window","parent":"tmux_window","kind":"function","modifiers":[],"signatures":[{"raw":"select_layout(Window, Layout)\n-spec select_layout(tmux_model:window(), layout()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":50,"end":67,"target":"t:tmux_model:window/0"},{"start":71,"end":77,"target":"t:tmux_window:layout/0"},{"start":112,"end":136,"target":"t:tmux_operation:completed/0"},{"start":173,"end":195,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Window","type":"tmux_model:window()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_model:window/0"}]},{"name":"Layout","type":"layout()","typeReferences":[{"start":0,"end":6,"target":"t:tmux_window:layout/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select a built-in arrangement or restore a literal serialized layout for this registered physical window. Binary names must exactly match one of the five built-ins; abbreviations and other names are rejected. Legacy serialized layouts need four hexadecimal checksum digits, a comma and nonempty data. This guard avoids a malformed-header crash in tmux 3.3 and 3.3a.","body":"Native JSON v2 layouts require a bounded JSON object with V = 2 and an L\nobject. They return unsupported_capability on tmux before 3.8 without\ndispatching a tmux command. This preserves `get/2` layout restoration on newer\nservers.\n\nExecution unzooms the window and changes it in every linked session. tmux\nvalidates serialized geometry; malformed geometry can return a command error.\nThe layout argument uses no shell or format expansion. Existing rows are not\nrefreshed; use `get/2` or a fresh snapshot to observe layout and pane\ngeometry.\n\nUnsupported atom names fail before dispatch:","examples":[{"lang":"erlang","code":"1> tmux_window:select_layout(invalid_row, unknown_layout).\n{error,#{code => invalid_layout,path => [layout]}}"}]},"source":{"line":131,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window-select_layout-2"},{"id":"t:tmux_window:create_options/0","publicId":"t:tmux_window:create_options/0","qualifiedName":"tmux_window:create_options/0","name":"create_options/0","namespace":"tmux_window","parent":"tmux_window","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type create_options() ::\n #{name => binary(),\n cwd => binary(),\n env => #{binary() => binary()},\n launch => tmux_command:launch_spec(),\n detach => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":46,"end":52,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":75,"end":81,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":106,"end":112,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":118,"end":124,"target":"t:erlang:binary/0"},{"start":151,"end":175,"target":"t:tmux_command:launch_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":201,"end":208,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Physical-window creation options; defaults to a detached window at the next free session index."},"source":{"line":25,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_window-create_options-0"},{"id":"t:tmux_window:layout/0","publicId":"t:tmux_window:layout/0","qualifiedName":"tmux_window:layout/0","name":"layout/0","namespace":"tmux_window","parent":"tmux_window","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type layout() ::\n even_horizontal | even_vertical |\n main_horizontal | main_vertical | tiled |\n binary().","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":124,"end":130,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"A built-in arrangement, its exact binary name, or a serialized layout. Native JSON v2 requires tmux 3.8."},"source":{"line":31,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_window-layout-0"},{"id":"t:tmux_window:respawn_options/0","publicId":"t:tmux_window:respawn_options/0","qualifiedName":"tmux_window:respawn_options/0","name":"respawn_options/0","namespace":"tmux_window","parent":"tmux_window","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type respawn_options() ::\n #{force => boolean(),\n launch => tmux_command:respawn_spec(),\n cwd => binary(),\n env => #{binary() => binary()}}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":48,"end":55,"target":"t:erlang:boolean/0"},{"start":81,"end":106,"target":"t:tmux_command:respawn_spec/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":129,"end":135,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":160,"end":166,"target":"t:erlang:binary/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:binary/0","project":"Erlang/OTP"},"start":172,"end":178,"target":"t:erlang:binary/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Physical-window respawn options. Defaults: force false, launch previous, saved cwd. A forced respawn removes other panes."},"source":{"line":28,"file":"apps/libtmux_erlang/src/tmux_window.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_window-respawn_options-0"},{"id":"tmux_window_link","publicId":"tmux_window_link","qualifiedName":"tmux_window_link","name":"tmux_window_link","kind":"module","modifiers":[],"signatures":[],"apiScope":"exported","package":"libtmux_erlang","product":"core","doc":{"summary":"Act on a physical window's observed membership in a particular session.","body":"A window link is identified by session ID, window index and expected physical\nwindow ID. It has no stable tmux link ID. These calls check that the observed\nmembership still names the expected window before dispatching an action.\nMissing or replaced membership returns stale_link. A link that moves away and\nback to the same coordinates and physical window cannot be distinguished.\n\nThe preflight and action use separate one-shot commands. Concurrent changes\nafter preflight can still affect the action; this is not atomic\ncompare-and-act. All input rows must belong to the same registered owner.\nRe-read or explicitly bind rows when using another owner. Closed owners and\nknown restarts invalidate their rows. Every call performs explicit I/O after\nvalidating its arguments.\n\nUse `tmux_window:kill/1` to destroy a physical window across all memberships.\nUse `unlink/2` to remove one membership. Existing rows and\nsnapshots are never refreshed by actions; use `get/3` or a\nnew snapshot for current memberships."},"source":{"line":1,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window_link"},{"id":"tmux_window_link:get/3","publicId":"tmux_window_link:get/3","qualifiedName":"tmux_window_link:get/3","name":"get/3","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"get(Server, SessionId, Index)\n-spec get(tmux_server:t(),\n tmux_model:session_id(),\n index()) ->\n {ok, tmux_model:window_link()} |\n {error, map()}.","references":[{"start":40,"end":53,"target":"t:tmux_server:t/0"},{"start":67,"end":88,"target":"t:tmux_model:session_id/0"},{"start":102,"end":107,"target":"t:tmux_window_link:index/0"},{"start":132,"end":154,"target":"t:tmux_model:window_link/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":181,"end":184,"target":"t:erlang:map/0"}],"params":[{"name":"Server","type":"tmux_server:t()","typeReferences":[{"start":0,"end":13,"target":"t:tmux_server:t/0"}]},{"name":"SessionId","type":"tmux_model:session_id()","typeReferences":[{"start":0,"end":21,"target":"t:tmux_model:session_id/0"}]},{"name":"Index","type":"index()","typeReferences":[{"start":0,"end":5,"target":"t:tmux_window_link:index/0"}]}],"returns":"{ok, tmux_model:window_link()} | {error, map()}","returnsReferences":[{"start":5,"end":27,"target":"t:tmux_model:window_link/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:map/0","project":"Erlang/OTP"},"start":41,"end":44,"target":"t:erlang:map/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Read a current membership at the explicit session ID and index. The returned native row carries its registered owner and a new observation identity. Returns target_gone if the session or index is absent. This read does not make later actions atomic and does not refresh previously captured links.","body":"Invalid indexes are rejected before I/O:","examples":[{"lang":"erlang","code":"1> tmux_window_link:get(invalid_server, <<\"$0\">>, -1).\n{error,#{code => invalid_option,path => [index]}}"}]},"source":{"line":50,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window_link-get-3"},{"id":"tmux_window_link:link/3","publicId":"tmux_window_link:link/3","qualifiedName":"tmux_window_link:link/3","name":"link/3","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"link(Link, Session, Options)\n-spec link(tmux_model:window_link(),\n tmux_model:session(),\n placement_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":40,"end":62,"target":"t:tmux_model:window_link/0"},{"start":77,"end":95,"target":"t:tmux_model:session/0"},{"start":110,"end":127,"target":"t:tmux_window_link:placement_options/0"},{"start":153,"end":177,"target":"t:tmux_operation:completed/0"},{"start":205,"end":227,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Link","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"placement_options()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_window_link:placement_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Add another membership of this link's physical window to the destination session and explicit index. Defaults to detached and refuses an occupied index. replace = true maps to tmux -k and can destroy the occupied window. Returns the command result; use `get/3` to observe the new membership. The source membership remains. Session groups and renumber-windows retain their tmux semantics. Performs I/O after owner and membership checks."},"source":{"line":87,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window_link-link-3"},{"id":"tmux_window_link:move/3","publicId":"tmux_window_link:move/3","qualifiedName":"tmux_window_link:move/3","name":"move/3","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"move(Link, Session, Options)\n-spec move(tmux_model:window_link(),\n tmux_model:session(),\n placement_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":40,"end":62,"target":"t:tmux_model:window_link/0"},{"start":77,"end":95,"target":"t:tmux_model:session/0"},{"start":110,"end":127,"target":"t:tmux_window_link:placement_options/0"},{"start":153,"end":177,"target":"t:tmux_operation:completed/0"},{"start":205,"end":227,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Link","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Session","type":"tmux_model:session()","typeReferences":[{"start":0,"end":18,"target":"t:tmux_model:session/0"}]},{"name":"Options","type":"placement_options()","typeReferences":[{"start":0,"end":17,"target":"t:tmux_window_link:placement_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Move this membership to the destination session and explicit index, leaving its physical window's other links intact. Placement options follow `link/3`. Moving the final window out of a session can destroy that session; automatic renumbering and session groups can change other memberships. Captured rows remain unchanged. Returns the command result after observed preflight."},"source":{"line":98,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window_link-move-3"},{"id":"tmux_window_link:select/1","publicId":"tmux_window_link:select/1","qualifiedName":"tmux_window_link:select/1","name":"select/1","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"select(Link)\n-spec select(tmux_model:window_link()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":26,"end":48,"target":"t:tmux_model:window_link/0"},{"start":76,"end":100,"target":"t:tmux_operation:completed/0"},{"start":130,"end":152,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Link","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Select this membership as its session's current window after checking the expected physical window. Performs I/O and returns the command result."},"source":{"line":70,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window_link-select-1"},{"id":"tmux_window_link:swap/3","publicId":"tmux_window_link:swap/3","qualifiedName":"tmux_window_link:swap/3","name":"swap/3","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"swap(Source, Destination, Options)\n-spec swap(tmux_model:window_link(),\n tmux_model:window_link(),\n swap_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":46,"end":68,"target":"t:tmux_model:window_link/0"},{"start":83,"end":105,"target":"t:tmux_model:window_link/0"},{"start":120,"end":132,"target":"t:tmux_window_link:swap_options/0"},{"start":158,"end":182,"target":"t:tmux_operation:completed/0"},{"start":210,"end":232,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Source","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Destination","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Options","type":"swap_options()","typeReferences":[{"start":0,"end":12,"target":"t:tmux_window_link:swap_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Swap the physical windows at two checked memberships. Other links to either window remain intact. detach maps to tmux -d and defaults true. tmux applies its session-selection and group-synchronization rules. Returns the command result; old rows still name their original expected windows and can become stale. Performs I/O, with the documented gap between preflight and action."},"source":{"line":109,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window_link-swap-3"},{"id":"tmux_window_link:unlink/2","publicId":"tmux_window_link:unlink/2","qualifiedName":"tmux_window_link:unlink/2","name":"unlink/2","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"function","modifiers":[],"signatures":[{"raw":"unlink(Link, Options)\n-spec unlink(tmux_model:window_link(), unlink_options()) ->\n {ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}.","references":[{"start":35,"end":57,"target":"t:tmux_model:window_link/0"},{"start":61,"end":75,"target":"t:tmux_window_link:unlink_options/0"},{"start":103,"end":127,"target":"t:tmux_operation:completed/0"},{"start":157,"end":179,"target":"t:tmux_operation:failure/0"}],"params":[{"name":"Link","type":"tmux_model:window_link()","typeReferences":[{"start":0,"end":22,"target":"t:tmux_model:window_link/0"}]},{"name":"Options","type":"unlink_options()","typeReferences":[{"start":0,"end":14,"target":"t:tmux_window_link:unlink_options/0"}]}],"returns":"{ok, tmux_operation:completed()} |\n {error, tmux_operation:failure()}","returnsReferences":[{"start":5,"end":29,"target":"t:tmux_operation:completed/0"},{"start":53,"end":75,"target":"t:tmux_operation:failure/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Remove one checked membership. force defaults false, retaining tmux's protection for windows linked to only one session. force = true permits removing the last link, destroying that physical window and possibly its session. Duplicate links within one session retain tmux's native protection rules. Performs I/O and returns the command result without refreshing rows."},"source":{"line":128,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"tmux_window_link-unlink-2"},{"id":"t:tmux_window_link:index/0","publicId":"t:tmux_window_link:index/0","qualifiedName":"tmux_window_link:index/0","name":"index/0","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type index() :: 0..2147483647.","params":[],"references":[]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"An explicit tmux window index; relative and next-free selectors are not accepted."},"source":{"line":27,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_window_link-index-0"},{"id":"t:tmux_window_link:placement_options/0","publicId":"t:tmux_window_link:placement_options/0","qualifiedName":"tmux_window_link:placement_options/0","name":"placement_options/0","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type placement_options() ::\n #{index := index(),\n detach => boolean(),\n replace => boolean()}.","params":[],"references":[{"start":50,"end":55,"target":"t:tmux_window_link:index/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":81,"end":88,"target":"t:erlang:boolean/0"},{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":115,"end":122,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Destination index is required. Defaults: detach true, replace false. Replacement may destroy the destination window."},"source":{"line":29,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_window_link-placement_options-0"},{"id":"t:tmux_window_link:swap_options/0","publicId":"t:tmux_window_link:swap_options/0","qualifiedName":"tmux_window_link:swap_options/0","name":"swap_options/0","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type swap_options() :: #{detach => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":36,"end":43,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Maps detach to tmux's -d flag, default true."},"source":{"line":31,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_window_link-swap_options-0"},{"id":"t:tmux_window_link:unlink_options/0","publicId":"t:tmux_window_link:unlink_options/0","qualifiedName":"tmux_window_link:unlink_options/0","name":"unlink_options/0","namespace":"tmux_window_link","parent":"tmux_window_link","kind":"typealias","modifiers":[],"signatures":[{"raw":"-type unlink_options() :: #{force => boolean()}.","params":[],"references":[{"external":{"href":"https://www.erlang.org/doc/apps/erts/erlang.html#t:boolean/0","project":"Erlang/OTP"},"start":37,"end":44,"target":"t:erlang:boolean/0"}]}],"package":"libtmux_erlang","product":"core","apiScope":"exported","doc":{"summary":"Force defaults false. Force permits unlinking the last membership and destroying its physical window."},"source":{"line":33,"file":"apps/libtmux_erlang/src/tmux_window_link.erl","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","extractedRevision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64"},"slug":"t-tmux_window_link-unlink_options-0"}]} diff --git a/site/src/data/api/erlang.paths.json b/site/src/data/api/erlang.paths.json index c33a94f10..3a0fe6506 100644 --- a/site/src/data/api/erlang.paths.json +++ b/site/src/data/api/erlang.paths.json @@ -1 +1 @@ -{"port":"erlang","repo":"libtmux/libtmux-erlang","revision":"e858027b2b204c3e621b1f74e9419c9b71e3f2f5","paths":[".github/CONTRIBUTING.md",".github/WRITING.md",".github/dependabot.yml",".github/example-width.toml",".github/repository.json",".github/social-preview.png",".github/workflows/ci.yml",".github/workflows/docs.yml",".gitignore",".tool-versions","AGENTS.md","CHANGELOG.md","CLAUDE.md","LICENSE","README.md","apps/libtmux_erlang/CHANGELOG.md","apps/libtmux_erlang/LICENSE","apps/libtmux_erlang/README.md","apps/libtmux_erlang/assets/logo-128.png","apps/libtmux_erlang/assets/logo.svg","apps/libtmux_erlang/assets/source.json","apps/libtmux_erlang/c_src/LICENSE","apps/libtmux_erlang/c_src/Makefile","apps/libtmux_erlang/c_src/README.md","apps/libtmux_erlang/c_src/owned_io.c","apps/libtmux_erlang/c_src/provenance.json","apps/libtmux_erlang/rebar.config","apps/libtmux_erlang/src/libtmux_erlang.app.src","apps/libtmux_erlang/src/libtmux_erlang_app.erl","apps/libtmux_erlang/src/tmux_admission.erl","apps/libtmux_erlang/src/tmux_args.erl","apps/libtmux_erlang/src/tmux_buffer.erl","apps/libtmux_erlang/src/tmux_buffer_codec.erl","apps/libtmux_erlang/src/tmux_capability.erl","apps/libtmux_erlang/src/tmux_capability_data.erl","apps/libtmux_erlang/src/tmux_command.erl","apps/libtmux_erlang/src/tmux_control.erl","apps/libtmux_erlang/src/tmux_control_codec.erl","apps/libtmux_erlang/src/tmux_error.erl","apps/libtmux_erlang/src/tmux_filter.erl","apps/libtmux_erlang/src/tmux_filter_eval.erl","apps/libtmux_erlang/src/tmux_hook.erl","apps/libtmux_erlang/src/tmux_identity.erl","apps/libtmux_erlang/src/tmux_json.erl","apps/libtmux_erlang/src/tmux_key.erl","apps/libtmux_erlang/src/tmux_log.erl","apps/libtmux_erlang/src/tmux_matcher.erl","apps/libtmux_erlang/src/tmux_model.erl","apps/libtmux_erlang/src/tmux_observe.erl","apps/libtmux_erlang/src/tmux_operation.erl","apps/libtmux_erlang/src/tmux_option.erl","apps/libtmux_erlang/src/tmux_option_batch.erl","apps/libtmux_erlang/src/tmux_option_codec.erl","apps/libtmux_erlang/src/tmux_option_data.erl","apps/libtmux_erlang/src/tmux_option_scope.erl","apps/libtmux_erlang/src/tmux_owned_server.erl","apps/libtmux_erlang/src/tmux_pane.erl","apps/libtmux_erlang/src/tmux_query.erl","apps/libtmux_erlang/src/tmux_query_plan.erl","apps/libtmux_erlang/src/tmux_regex.erl","apps/libtmux_erlang/src/tmux_registry.erl","apps/libtmux_erlang/src/tmux_schema.erl","apps/libtmux_erlang/src/tmux_schema_data.erl","apps/libtmux_erlang/src/tmux_scope.erl","apps/libtmux_erlang/src/tmux_select.erl","apps/libtmux_erlang/src/tmux_server.erl","apps/libtmux_erlang/src/tmux_session.erl","apps/libtmux_erlang/src/tmux_snapshot.erl","apps/libtmux_erlang/src/tmux_sup.erl","apps/libtmux_erlang/src/tmux_target.erl","apps/libtmux_erlang/src/tmux_text_codec.erl","apps/libtmux_erlang/src/tmux_transport.erl","apps/libtmux_erlang/src/tmux_transport_codec.erl","apps/libtmux_erlang/src/tmux_version.erl","apps/libtmux_erlang/src/tmux_window.erl","apps/libtmux_erlang/src/tmux_window_link.erl","apps/libtmux_erlang/test/tmux_admission_tests.erl","apps/libtmux_erlang/test/tmux_buffer_tests.erl","apps/libtmux_erlang/test/tmux_capability_tests.erl","apps/libtmux_erlang/test/tmux_command_tests.erl","apps/libtmux_erlang/test/tmux_domain_tests.erl","apps/libtmux_erlang/test/tmux_error_tests.erl","apps/libtmux_erlang/test/tmux_filter_fixture_tests.erl","apps/libtmux_erlang/test/tmux_filter_tests.erl","apps/libtmux_erlang/test/tmux_hook_tests.erl","apps/libtmux_erlang/test/tmux_identity_tests.erl","apps/libtmux_erlang/test/tmux_json_tests.erl","apps/libtmux_erlang/test/tmux_key_tests.erl","apps/libtmux_erlang/test/tmux_model_tests.erl","apps/libtmux_erlang/test/tmux_option_tests.erl","apps/libtmux_erlang/test/tmux_query_tests.erl","apps/libtmux_erlang/test/tmux_regex_tests.erl","apps/libtmux_erlang/test/tmux_registry_tests.erl","apps/libtmux_erlang/test/tmux_scope_tests.erl","apps/libtmux_erlang/test/tmux_select_tests.erl","apps/libtmux_erlang/test/tmux_snapshot_tests.erl","apps/libtmux_erlang/test/tmux_text_codec_tests.erl","apps/libtmux_erlang/test/tmux_transport_codec_tests.erl","apps/libtmux_erlang/test/tmux_version_tests.erl","docs/adr-0001-architecture.md","docs/adr-0002-batched-hydration.md","docs/adr-0003-scoped-option-batches.md","docs/api.md","docs/assets/app-icon-1024-dark.png","docs/assets/app-icon-1024-light.png","docs/assets/apple-touch-icon-dark.png","docs/assets/apple-touch-icon-light.png","docs/assets/browserconfig-dark.xml","docs/assets/browserconfig.xml","docs/assets/favicon.ico","docs/assets/logo-1024.png","docs/assets/logo-128.png","docs/assets/logo-144.png","docs/assets/logo-152.png","docs/assets/logo-16.png","docs/assets/logo-167.png","docs/assets/logo-180.png","docs/assets/logo-192.png","docs/assets/logo-24.png","docs/assets/logo-256.png","docs/assets/logo-32.png","docs/assets/logo-384.png","docs/assets/logo-48.png","docs/assets/logo-512.png","docs/assets/logo-64.png","docs/assets/logo-96.png","docs/assets/logo.svg","docs/assets/maskable-192-dark.png","docs/assets/maskable-192-light.png","docs/assets/maskable-512-dark.png","docs/assets/maskable-512-light.png","docs/assets/mstile-150-dark.png","docs/assets/mstile-150-light.png","docs/assets/mstile-310-dark.png","docs/assets/mstile-310-light.png","docs/assets/opengraph-dark.jpg","docs/assets/opengraph-dark.png","docs/assets/opengraph-light.jpg","docs/assets/opengraph-light.png","docs/assets/safari-pinned-tab.svg","docs/assets/site-dark.webmanifest","docs/assets/site.webmanifest","docs/assets/social-square-dark.png","docs/assets/social-square-light.png","docs/assets/source.json","docs/assets/twitter-dark.png","docs/assets/twitter-light.png","docs/branding.md","docs/buffers.md","docs/commands-reference.md","docs/commands.md","docs/compatibility.md","docs/configuration.md","docs/control.md","docs/diagnostics.md","docs/fields.md","docs/graph.md","docs/guides.md","docs/hooks.md","docs/installation.md","docs/jobs.md","docs/keys.md","docs/options-reference.md","docs/options.md","docs/ownership.md","docs/panes.md","docs/pipe.md","docs/project-policy.md","docs/querying.md","examples/buffer_demo.erl","examples/command_demo.erl","examples/config_demo.erl","examples/control_demo.erl","examples/filter_demo.erl","examples/hook_demo.erl","examples/inspect_demo.erl","examples/job_demo.erl","examples/key_demo.erl","examples/linked_graph.erl","examples/native_consumer.erl","examples/options_demo.erl","examples/pane_demo.erl","examples/pipe_demo.erl","examples/readme_demo.erl","examples/terminal_job.py","llms.txt","property/prop_tmux_filter.erl","property/prop_tmux_graph.erl","rebar.config","rebar.lock","schema/commands.json","schema/entities.json","schema/options.json","test/ci_cache_tests.py","test/command_catalogue_tests.py","test/consumers/model_types_bad.erl","test/consumers/model_types_ok.erl","test/example_protocol_tests.py","test/fixtures/README.md","test/fixtures/filters-v1.json","test/fixtures/regex-v1.json","test/helper_fuzz.c","test/helper_protocol.py","test/tmux_buffer_SUITE.erl","test/tmux_channel_SUITE.erl","test/tmux_command_SUITE.erl","test/tmux_control_SUITE.erl","test/tmux_control_codec_SUITE.erl","test/tmux_control_codec_tests.erl","test/tmux_diagnostics_SUITE.erl","test/tmux_docs_SUITE.erl","test/tmux_domain_SUITE.erl","test/tmux_fixture_SUITE.erl","test/tmux_fixture_watch.py","test/tmux_hook_SUITE.erl","test/tmux_key_SUITE.erl","test/tmux_key_SUITE_data/client.py","test/tmux_option_SUITE.erl","test/tmux_owned_server_SUITE.erl","test/tmux_pipe_SUITE.erl","test/tmux_query_SUITE.erl","test/tmux_server_SUITE.erl","test/tmux_test_fixture.erl","test/tmux_topology_SUITE.erl","test/tmux_transport_SUITE.erl","tools/build_docs.py","tools/check.py","tools/check_api_docs.escript","tools/check_docs.py","tools/check_example_width.py","tools/check_helper_native.py","tools/check_model_types.escript","tools/check_package.py","tools/check_regex.py","tools/check_source_package.py","tools/ci/README.md","tools/ci/build_tmux.py","tools/ci/tmux-sources.json","tools/docs-tool.json","tools/filter-conformance/README.md","tools/filter-conformance/check.py","tools/filter-conformance/consumer.exs","tools/generate_commands.py","tools/generate_options.py","tools/generate_reference.escript","tools/generate_schema.escript","tools/package-tool.json","tools/regex-conformance/Cargo.lock","tools/regex-conformance/Cargo.toml","tools/regex-conformance/README.md","tools/regex-conformance/generate_fixture.py","tools/regex-conformance/javascript.mjs","tools/regex-conformance/src/main.rs","tools/regex_fixture.escript","tools/run_examples.escript","tools/source_package_registry.escript"]} +{"port":"erlang","repo":"libtmux/libtmux-erlang","revision":"539c7297ceae65a1cf683e0836eae0a1ccd34d64","paths":[".github/CONTRIBUTING.md",".github/RELEASE.md",".github/WRITING.md",".github/dependabot.yml",".github/example-width.toml",".github/repository.json",".github/social-preview.png",".github/workflows/ci.yml",".github/workflows/docs.yml",".github/workflows/release.yml",".gitignore",".tool-versions","AGENTS.md","CHANGELOG.md","CLAUDE.md","LICENSE","README.md","apps/libtmux_erlang/CHANGELOG.md","apps/libtmux_erlang/LICENSE","apps/libtmux_erlang/README.md","apps/libtmux_erlang/assets/logo-128.png","apps/libtmux_erlang/assets/logo-512.png","apps/libtmux_erlang/assets/logo.svg","apps/libtmux_erlang/assets/source.json","apps/libtmux_erlang/c_src/LICENSE","apps/libtmux_erlang/c_src/Makefile","apps/libtmux_erlang/c_src/README.md","apps/libtmux_erlang/c_src/owned_io.c","apps/libtmux_erlang/c_src/provenance.json","apps/libtmux_erlang/rebar.config","apps/libtmux_erlang/src/libtmux_erlang.app.src","apps/libtmux_erlang/src/libtmux_erlang_app.erl","apps/libtmux_erlang/src/tmux_admission.erl","apps/libtmux_erlang/src/tmux_args.erl","apps/libtmux_erlang/src/tmux_buffer.erl","apps/libtmux_erlang/src/tmux_buffer_codec.erl","apps/libtmux_erlang/src/tmux_capability.erl","apps/libtmux_erlang/src/tmux_capability_data.erl","apps/libtmux_erlang/src/tmux_command.erl","apps/libtmux_erlang/src/tmux_control.erl","apps/libtmux_erlang/src/tmux_control_codec.erl","apps/libtmux_erlang/src/tmux_error.erl","apps/libtmux_erlang/src/tmux_filter.erl","apps/libtmux_erlang/src/tmux_filter_eval.erl","apps/libtmux_erlang/src/tmux_hook.erl","apps/libtmux_erlang/src/tmux_identity.erl","apps/libtmux_erlang/src/tmux_json.erl","apps/libtmux_erlang/src/tmux_key.erl","apps/libtmux_erlang/src/tmux_log.erl","apps/libtmux_erlang/src/tmux_matcher.erl","apps/libtmux_erlang/src/tmux_model.erl","apps/libtmux_erlang/src/tmux_observe.erl","apps/libtmux_erlang/src/tmux_operation.erl","apps/libtmux_erlang/src/tmux_option.erl","apps/libtmux_erlang/src/tmux_option_batch.erl","apps/libtmux_erlang/src/tmux_option_codec.erl","apps/libtmux_erlang/src/tmux_option_data.erl","apps/libtmux_erlang/src/tmux_option_scope.erl","apps/libtmux_erlang/src/tmux_owned_server.erl","apps/libtmux_erlang/src/tmux_pane.erl","apps/libtmux_erlang/src/tmux_query.erl","apps/libtmux_erlang/src/tmux_query_plan.erl","apps/libtmux_erlang/src/tmux_regex.erl","apps/libtmux_erlang/src/tmux_registry.erl","apps/libtmux_erlang/src/tmux_schema.erl","apps/libtmux_erlang/src/tmux_schema_data.erl","apps/libtmux_erlang/src/tmux_scope.erl","apps/libtmux_erlang/src/tmux_select.erl","apps/libtmux_erlang/src/tmux_server.erl","apps/libtmux_erlang/src/tmux_session.erl","apps/libtmux_erlang/src/tmux_snapshot.erl","apps/libtmux_erlang/src/tmux_sup.erl","apps/libtmux_erlang/src/tmux_target.erl","apps/libtmux_erlang/src/tmux_text_codec.erl","apps/libtmux_erlang/src/tmux_transport.erl","apps/libtmux_erlang/src/tmux_transport_codec.erl","apps/libtmux_erlang/src/tmux_version.erl","apps/libtmux_erlang/src/tmux_window.erl","apps/libtmux_erlang/src/tmux_window_link.erl","apps/libtmux_erlang/test/tmux_admission_tests.erl","apps/libtmux_erlang/test/tmux_buffer_tests.erl","apps/libtmux_erlang/test/tmux_capability_tests.erl","apps/libtmux_erlang/test/tmux_command_tests.erl","apps/libtmux_erlang/test/tmux_domain_tests.erl","apps/libtmux_erlang/test/tmux_error_tests.erl","apps/libtmux_erlang/test/tmux_filter_fixture_tests.erl","apps/libtmux_erlang/test/tmux_filter_tests.erl","apps/libtmux_erlang/test/tmux_hook_tests.erl","apps/libtmux_erlang/test/tmux_identity_tests.erl","apps/libtmux_erlang/test/tmux_json_tests.erl","apps/libtmux_erlang/test/tmux_key_tests.erl","apps/libtmux_erlang/test/tmux_model_tests.erl","apps/libtmux_erlang/test/tmux_option_tests.erl","apps/libtmux_erlang/test/tmux_query_tests.erl","apps/libtmux_erlang/test/tmux_regex_tests.erl","apps/libtmux_erlang/test/tmux_registry_tests.erl","apps/libtmux_erlang/test/tmux_scope_tests.erl","apps/libtmux_erlang/test/tmux_select_tests.erl","apps/libtmux_erlang/test/tmux_snapshot_tests.erl","apps/libtmux_erlang/test/tmux_text_codec_tests.erl","apps/libtmux_erlang/test/tmux_transport_codec_tests.erl","apps/libtmux_erlang/test/tmux_version_tests.erl","docs/adr-0001-architecture.md","docs/adr-0002-batched-hydration.md","docs/adr-0003-scoped-option-batches.md","docs/api.md","docs/assets/app-icon-1024-dark.png","docs/assets/app-icon-1024-light.png","docs/assets/apple-touch-icon-dark.png","docs/assets/apple-touch-icon-light.png","docs/assets/browserconfig-dark.xml","docs/assets/browserconfig.xml","docs/assets/favicon.ico","docs/assets/logo-1024.png","docs/assets/logo-128.png","docs/assets/logo-144.png","docs/assets/logo-152.png","docs/assets/logo-16.png","docs/assets/logo-167.png","docs/assets/logo-180.png","docs/assets/logo-192.png","docs/assets/logo-24.png","docs/assets/logo-256.png","docs/assets/logo-32.png","docs/assets/logo-384.png","docs/assets/logo-48.png","docs/assets/logo-512.png","docs/assets/logo-64.png","docs/assets/logo-96.png","docs/assets/logo.svg","docs/assets/maskable-192-dark.png","docs/assets/maskable-192-light.png","docs/assets/maskable-512-dark.png","docs/assets/maskable-512-light.png","docs/assets/mstile-150-dark.png","docs/assets/mstile-150-light.png","docs/assets/mstile-310-dark.png","docs/assets/mstile-310-light.png","docs/assets/opengraph-dark.jpg","docs/assets/opengraph-dark.png","docs/assets/opengraph-light.jpg","docs/assets/opengraph-light.png","docs/assets/safari-pinned-tab.svg","docs/assets/site-dark.webmanifest","docs/assets/site.webmanifest","docs/assets/social-square-dark.png","docs/assets/social-square-light.png","docs/assets/source.json","docs/assets/twitter-dark.png","docs/assets/twitter-light.png","docs/branding.md","docs/buffers.md","docs/commands-reference.md","docs/commands.md","docs/compatibility.md","docs/configuration.md","docs/control.md","docs/diagnostics.md","docs/fields.md","docs/graph.md","docs/guides.md","docs/hooks.md","docs/installation.md","docs/jobs.md","docs/keys.md","docs/options-reference.md","docs/options.md","docs/ownership.md","docs/panes.md","docs/pipe.md","docs/project-policy.md","docs/querying.md","examples/buffer_demo.erl","examples/command_demo.erl","examples/config_demo.erl","examples/control_demo.erl","examples/filter_demo.erl","examples/hook_demo.erl","examples/inspect_demo.erl","examples/job_demo.erl","examples/key_demo.erl","examples/linked_graph.erl","examples/native_consumer.erl","examples/options_demo.erl","examples/pane_demo.erl","examples/pipe_demo.erl","examples/readme_demo.erl","examples/terminal_job.py","llms.txt","property/prop_tmux_filter.erl","property/prop_tmux_graph.erl","rebar.config","rebar.lock","schema/commands.json","schema/entities.json","schema/options.json","test/ci_cache_tests.py","test/command_catalogue_tests.py","test/consumers/model_types_bad.erl","test/consumers/model_types_ok.erl","test/example_protocol_tests.py","test/fixtures/README.md","test/fixtures/filters-v1.json","test/fixtures/regex-v1.json","test/helper_fuzz.c","test/helper_protocol.py","test/release_tests.py","test/tmux_buffer_SUITE.erl","test/tmux_channel_SUITE.erl","test/tmux_command_SUITE.erl","test/tmux_control_SUITE.erl","test/tmux_control_codec_SUITE.erl","test/tmux_control_codec_tests.erl","test/tmux_diagnostics_SUITE.erl","test/tmux_docs_SUITE.erl","test/tmux_domain_SUITE.erl","test/tmux_fixture_SUITE.erl","test/tmux_fixture_watch.py","test/tmux_hook_SUITE.erl","test/tmux_key_SUITE.erl","test/tmux_key_SUITE_data/client.py","test/tmux_option_SUITE.erl","test/tmux_owned_server_SUITE.erl","test/tmux_pipe_SUITE.erl","test/tmux_query_SUITE.erl","test/tmux_server_SUITE.erl","test/tmux_test_fixture.erl","test/tmux_topology_SUITE.erl","test/tmux_transport_SUITE.erl","tools/build_docs.py","tools/check.py","tools/check_api_docs.escript","tools/check_docs.py","tools/check_example_width.py","tools/check_helper_native.py","tools/check_hex_install.py","tools/check_model_types.escript","tools/check_package.py","tools/check_regex.py","tools/check_release.py","tools/check_source_package.py","tools/ci/README.md","tools/ci/build_tmux.py","tools/ci/tmux-sources.json","tools/docs-tool.json","tools/filter-conformance/README.md","tools/filter-conformance/check.py","tools/filter-conformance/consumer.exs","tools/generate_commands.py","tools/generate_options.py","tools/generate_reference.escript","tools/generate_schema.escript","tools/package-tool.json","tools/regex-conformance/Cargo.lock","tools/regex-conformance/Cargo.toml","tools/regex-conformance/README.md","tools/regex-conformance/generate_fixture.py","tools/regex-conformance/javascript.mjs","tools/regex-conformance/src/main.rs","tools/regex_fixture.escript","tools/run_examples.escript","tools/source_package_registry.escript"]} diff --git a/site/src/data/manifest-packages.json b/site/src/data/manifest-packages.json index 31d352134..c90cac62f 100644 --- a/site/src/data/manifest-packages.json +++ b/site/src/data/manifest-packages.json @@ -142,14 +142,14 @@ }, "erlang": { "repo": "libtmux/libtmux-erlang", - "revision": "f1a2e66c0fa15d1e8d4efa2725a159121815293b", + "revision": "539c7297ceae65a1cf683e0836eae0a1ccd34d64", "distributions": [ { "name": "libtmux_erlang", - "version": "0.0.0+development", + "version": "0.0.1", "manifest": "apps/libtmux_erlang/src/libtmux_erlang.app.src", "repo": "libtmux/libtmux-erlang", - "revision": "f1a2e66c0fa15d1e8d4efa2725a159121815293b" + "revision": "539c7297ceae65a1cf683e0836eae0a1ccd34d64" } ], "units": [] diff --git a/site/src/data/mentions.json b/site/src/data/mentions.json index 67ccf9c14..9f61b8082 100644 --- a/site/src/data/mentions.json +++ b/site/src/data/mentions.json @@ -3780,6 +3780,13 @@ "title": "Native API documentation", "section": "guides" }, + { + "port": "erlang", + "symbol": "tmux_query", + "page": "/erlang/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "erlang", "symbol": "tmux_query:explain/1", @@ -3843,6 +3850,13 @@ "title": "Native API documentation", "section": "guides" }, + { + "port": "erlang", + "symbol": "tmux_select", + "page": "/erlang/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "erlang", "symbol": "tmux_select:filter/2", @@ -3878,6 +3892,13 @@ "title": "Native API documentation", "section": "guides" }, + { + "port": "erlang", + "symbol": "tmux_server", + "page": "/erlang/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "erlang", "symbol": "tmux_server:bind/2", @@ -4053,6 +4074,13 @@ "title": "Native API documentation", "section": "guides" }, + { + "port": "erlang", + "symbol": "tmux_snapshot", + "page": "/erlang/latest/guides/getting-started/", + "title": "Getting started", + "section": "guides" + }, { "port": "erlang", "symbol": "tmux_snapshot:metadata/1", diff --git a/site/src/data/port-guides/erlang.json b/site/src/data/port-guides/erlang.json index 97ee54582..0ffc3e439 100644 --- a/site/src/data/port-guides/erlang.json +++ b/site/src/data/port-guides/erlang.json @@ -1,16 +1,16 @@ { "source": { "repository": "libtmux/libtmux-erlang", - "revision": "f1a2e66c0fa15d1e8d4efa2725a159121815293b" + "revision": "539c7297ceae65a1cf683e0836eae0a1ccd34d64" }, "guides": [ { "path": "README.md", - "content": "\n
\n \n \n \"libtmux\n \n
\n\n\n
\n\n# libtmux for Erlang\n\n
\n\nlibtmux for Erlang is a tmux client library. Create sessions, windows and panes,\ncapture their object graph, filter it as immutable data, and execute source\nqueries and owned operations explicitly.\n\n[Documentation](https://libtmux.org/en/erlang/latest/) ·\n[Core package](apps/libtmux_erlang/README.md) ·\n[Changelog](CHANGELOG.md)\n\n## Install\n\nUse Erlang/OTP **29.1.2**, Rebar3 **3.28.0**, Linux, tmux **3.3a–3.8**, and\n`make` with a C11 compiler. Native records are experimental in OTP 29. The core\nuses OTP libraries and a compiled external helper, with no NIF or third-party\nruntime packages.\n\nThis checkout is unreleased. Add its core application to your `rebar.config`:\n\n\n\n```erlang\n{deps, [\n {libtmux_erlang, {git_subdir,\n \"https://github.com/libtmux/libtmux-erlang.git\",\n {branch, \"master\"}, \"apps/libtmux_erlang\"}}\n]}.\n```\n\nCommit `rebar.lock` to keep the resolved commit. The\n[installation guide](docs/installation.md) covers application startup and\nbuilding a consumer. No Hex release is advertised.\n\n## Create, capture and query\n\nFrom this checkout, compile with the pinned tools:\n\n```console\n$ mise exec -- rebar3 compile\n```\n\nRun the complete program below on a private tmux server:\n\n```console\n$ mise exec -- escript tools/run_examples.escript readme\n```\n\nThe program starts an empty daemon on a unique private socket, verifies its\nassertions, and retires the owned server and clients. It leaves your existing\ntmux sessions alone. It uses only public core APIs and OTP runtime libraries;\nthe archive check also runs it outside this checkout.\nSave it as `readme_demo.erl` when reusing it in an application.\n\n\n\n```erlang\n-module(readme_demo).\n-moduledoc \"Create a workspace, query its graph and preserve captured values.\".\n-export([run/1]).\n-import_record(tmux_model, [pane]).\n\n-spec run(binary()) -> map().\nrun(Executable) ->\n Options = #{executable => Executable},\n {ok, Result} = tmux_server:with_owned(Options, fun(Server) ->\n {ok, Session} = tmux_session:create(Server, #{name => <<\"workspace\">>,\n window_name => <<\"editor\">>, width => 120, height => 30,\n launch => #{argv => [<<\"/bin/cat\">>]}}),\n {ok, Worker} = tmux_window:create(Session,\n #{name => <<\"workers\">>,\n launch => #{argv => [<<\"/bin/cat\">>]}}),\n {ok, Right} = tmux_pane:split(Worker, #{direction => horizontal,\n launch => #{argv => [<<\"/bin/cat\">>]}}),\n {ok, _} = tmux_window:select_layout(Worker, even_horizontal),\n {ok, _} = tmux_pane:resize(Right, #{width => 40}),\n {ok, Snapshot} = tmux_server:snapshot(Server),\n Windows = tmux_select:windows(Snapshot),\n Workers = #{name => <<\"workers\">>, panes => #{count => 2,\n every => #{current_command => <<\"cat\">>}}},\n {ok, Captured} = tmux_select:one(Workers, Windows),\n {ok, Children} = tmux_snapshot:related(panes, Captured, Snapshot),\n Ids = [Id || #pane{id = Id} <:- Children],\n 2 = length(Ids),\n Criteria = #{width => #{gte => 20},\n window => #{is => #{name => <<\"workers\">>}}},\n Query = tmux_query:where(Criteria, tmux_query:panes(Server)),\n {ok, Fetched} = tmux_query:fetch(Query),\n 2 = tmux_select:size(Fetched),\n {ok, _} = tmux_window:rename(Worker, <<\"finished\">>),\n <<\"workers\">> = tmux_model:get(name, Captured),\n {ok, Fresh} = tmux_query:fetch(tmux_query:where(\n #{name => <<\"finished\">>}, tmux_query:windows(Server))),\n {ok, Renamed} = tmux_select:one(Fresh),\n <<\"finished\">> = tmux_model:get(name, Renamed),\n 1 = length(tmux_snapshot:sessions(Snapshot)),\n 2 = length(tmux_snapshot:windows(Snapshot)),\n 3 = length(tmux_snapshot:panes(Snapshot)),\n #{sessions => 1, windows => 2, panes => 3, matched_panes => 2,\n captured_name => <<\"workers\">>, immutable => true}\n end),\n Result.\n```\n\nThe result includes this checked output. Captured rows keep their original\nvalues after a rename; actions and `fetch` perform explicit I/O.\n`tmux_server:with_owned/2` returns success after verified daemon cleanup. If cleanup fails,\nits error preserves the callback outcome and ownership token for recovery.\n\n\n\n```json\n{\n \"sessions\": 1,\n \"windows\": 2,\n \"panes\": 3,\n \"matched_panes\": 2,\n \"captured_name\": \"workers\",\n \"immutable\": true\n}\n```\n\n## Follow the graph\n\nA window can have several links in one session and belong to more than one\nsession. Physical windows and panes remain unique; window links retain each\nsession/index membership.\n\n- [Linked windows and relationship queries](docs/graph.md): build two sessions,\n link a shared window twice, and verify physical and membership counts.\n- [Daemon ownership](docs/ownership.md): choose private startup or a borrowed\n socket, keep their lifetimes explicit and handle incomplete cleanup.\n- [Build command values](docs/commands.md): prepare a rename and resize, submit\n them explicitly and inspect fresh state without changing captured rows.\n- [Control attachments](docs/control.md): verify connection identity, inspect\n attachment effects and retire the client explicitly.\n- [Run a job and capture its result](docs/jobs.md): wait for a pane's completion\n event, check its exit status, capture bytes, and cancel a separate operation.\n- [Local filters and source queries](docs/querying.md): Boolean criteria,\n quantifiers, portable JSON, cardinality, coverage and execution plans.\n- [Fields and operators](docs/fields.md): generated from the runtime schema.\n- [Scoped options](docs/options.md): local ownership markers, explicit\n inheritance and sparse arrays, with a source-pinned option catalogue.\n- [Buffers and paste](docs/buffers.md): preserve binary artifacts, inspect\n names and control terminal delivery.\n- [Rearrange panes](docs/panes.md): isolate a running job in a window and join\n it back, preserving its process and the original snapshot.\n- [Apply configuration and await a signal](docs/configuration.md): load settings\n from stdin, observe the event and verify parse-only behavior.\n- [Pipe terminal output](docs/pipe.md): save a job's bytes, await its consumer\n acknowledgement and verify the resulting log.\n- [Hooks and completion](docs/hooks.md): register a split callback, await its\n acknowledgement and remove the local hook.\n- [Key tables](docs/keys.md): register application bindings, inspect native\n listings and remove the owned table.\n- [Native commands](docs/commands-reference.md): source-derived parser metadata\n and feature minimums, separate from library API and runtime qualification.\n- [API browser and source docs](docs/api.md): build searchable native reference\n pages with specs, types and links to the exact source revision.\n\n## Decide whether it fits\n\nThe current path uses bounded one-shot tmux clients. Operations support\nnon-blocking submission, explicit waits, cancellation and ownership transfer.\nAn await timeout abandons that wait; it does not cancel the operation.\nCancellation after dispatch can leave the tmux outcome unknown.\n\nAn explicit control attachment verifies identity on its persistent connection\nand owns its client cleanup. Control command submission and output streams remain\nimplementation work. The\n[support and gaps](docs/compatibility.md) page lists\nwhat is exercised, what remains open, and the required Linux/tmux matrix.\nThere is no control-versus-streaming performance claim.\n\nThe [project policy](docs/project-policy.md) records the OTP application\nboundary and runtime dependencies.\n\n## Verify and contribute\n\n```console\n$ time python3 tools/check.py mid\n```\n\n```console\n$ time python3 tools/check.py outer\n```\n\nThe outer check owns its tmux fixtures and tests installed consumers. See\n[contributor setup](.github/CONTRIBUTING.md) for prerequisites and test budgets,\n[CI](https://github.com/libtmux/libtmux-erlang/actions/workflows/ci.yml) for\nindividual release/architecture results, and the [MIT license](LICENSE).\n\n[Branding assets](docs/branding.md) include the logo, icons, and social cards.\n" + "content": "\n
\n \n \n \"libtmux\n \n
\n\n\n
\n\n# libtmux for Erlang\n\n

\n Hex.pm ·\n Documentation ·\n API reference ·\n Examples\n

\n\n[![Erlang checks](https://github.com/libtmux/libtmux-erlang/actions/workflows/ci.yml/badge.svg)](https://github.com/libtmux/libtmux-erlang/actions/workflows/ci.yml)\n\n
\n\nlibtmux for Erlang is a tmux client library. Create\n[sessions](https://libtmux.org/en/erlang/latest/reference/tmux_session/),\n[windows](https://libtmux.org/en/erlang/latest/reference/tmux_window/) and\n[panes](https://libtmux.org/en/erlang/latest/reference/tmux_pane/), capture their\n[object graph](https://libtmux.org/en/erlang/latest/reference/tmux_snapshot/),\nfilter it as immutable data, and execute source queries and owned operations\nexplicitly.\n\n[Create, capture and query](#create-capture-and-query) ·\n[Core package](apps/libtmux_erlang/README.md) ·\n[Changelog](CHANGELOG.md)\n\n## Install\n\nUse Erlang/OTP **29.1.2**, Rebar3 **3.28.0**, Linux, tmux **3.3a–3.8**, and\n`make` with a C11 compiler. Native records are experimental in OTP 29. The core\nuses OTP libraries and a compiled external helper, with no NIF or third-party\nruntime packages.\n\nAdd the published core application from [Hex](https://hex.pm/packages/libtmux_erlang)\nto your `rebar.config`:\n\n\n\n```erlang\n{deps, [{libtmux_erlang, \"0.0.1\"}]}.\n```\n\nThe API is still developing; pin an exact version and commit `rebar.lock`.\nThe\n[installation guide](docs/installation.md) covers application startup and\nbuilding a consumer from Hex or a source checkout.\n\n## Create, capture and query\n\n### [`tmux_server:with_owned/2`][api-with-owned]: create a private tmux graph\n\nFrom this checkout, compile with the pinned tools:\n\n```console\n$ mise exec -- rebar3 compile\n```\n\nRun the complete program below on a private tmux server:\n\n```console\n$ mise exec -- escript tools/run_examples.escript readme\n```\n\nThe program starts an empty daemon on a unique private socket, verifies its\nassertions, and retires the owned server and clients. It leaves your existing\ntmux sessions alone. It uses only public core APIs and OTP runtime libraries;\nthe archive check also runs it outside this checkout.\nSave it as `readme_demo.erl` when reusing it in an application.\n\n[`tmux_server`](https://libtmux.org/en/erlang/latest/reference/tmux_server/)\nowns the connection and scoped server lifetime.\n[`tmux_snapshot`](https://libtmux.org/en/erlang/latest/reference/tmux_snapshot/)\nholds captured rows;\n[`tmux_select`](https://libtmux.org/en/erlang/latest/reference/tmux_select/)\nfilters those rows locally. A\n[`tmux_query`](https://libtmux.org/en/erlang/latest/reference/tmux_query/)\nexecutes a new observation when fetched.\n\n\n\n```erlang\n-module(readme_demo).\n-moduledoc \"Create a workspace, query its graph and preserve captured values.\".\n-export([run/1]).\n-import_record(tmux_model, [pane]).\n\n-spec run(binary()) -> map().\nrun(Executable) ->\n Options = #{executable => Executable},\n {ok, Result} = tmux_server:with_owned(Options, fun(Server) ->\n {ok, Session} = tmux_session:create(Server, #{name => <<\"workspace\">>,\n window_name => <<\"editor\">>, width => 120, height => 30,\n launch => #{argv => [<<\"/bin/cat\">>]}}),\n {ok, Worker} = tmux_window:create(Session,\n #{name => <<\"workers\">>,\n launch => #{argv => [<<\"/bin/cat\">>]}}),\n {ok, Right} = tmux_pane:split(Worker, #{direction => horizontal,\n launch => #{argv => [<<\"/bin/cat\">>]}}),\n {ok, _} = tmux_window:select_layout(Worker, even_horizontal),\n {ok, _} = tmux_pane:resize(Right, #{width => 40}),\n {ok, Snapshot} = tmux_server:snapshot(Server),\n Windows = tmux_select:windows(Snapshot),\n Workers = #{name => <<\"workers\">>, panes => #{count => 2,\n every => #{current_command => <<\"cat\">>}}},\n {ok, Captured} = tmux_select:one(Workers, Windows),\n {ok, Children} = tmux_snapshot:related(panes, Captured, Snapshot),\n Ids = [Id || #pane{id = Id} <:- Children],\n 2 = length(Ids),\n Criteria = #{width => #{gte => 20},\n window => #{is => #{name => <<\"workers\">>}}},\n Query = tmux_query:where(Criteria, tmux_query:panes(Server)),\n {ok, Fetched} = tmux_query:fetch(Query),\n 2 = tmux_select:size(Fetched),\n {ok, _} = tmux_window:rename(Worker, <<\"finished\">>),\n <<\"workers\">> = tmux_model:get(name, Captured),\n {ok, Fresh} = tmux_query:fetch(tmux_query:where(\n #{name => <<\"finished\">>}, tmux_query:windows(Server))),\n {ok, Renamed} = tmux_select:one(Fresh),\n <<\"finished\">> = tmux_model:get(name, Renamed),\n 1 = length(tmux_snapshot:sessions(Snapshot)),\n 2 = length(tmux_snapshot:windows(Snapshot)),\n 3 = length(tmux_snapshot:panes(Snapshot)),\n #{sessions => 1, windows => 2, panes => 3, matched_panes => 2,\n captured_name => <<\"workers\">>, immutable => true}\n end),\n Result.\n```\n\nThe result includes this checked output. Captured rows keep their original\nvalues after a rename; actions and `fetch` perform explicit I/O.\n`tmux_server:with_owned/2` returns success after verified daemon cleanup. If cleanup fails,\nits error preserves the callback outcome and ownership token for recovery.\n\n\n\n```json\n{\n \"sessions\": 1,\n \"windows\": 2,\n \"panes\": 3,\n \"matched_panes\": 2,\n \"captured_name\": \"workers\",\n \"immutable\": true\n}\n```\n\n## Follow the graph\n\n### [`tmux_snapshot:related/3`][api-related]: follow shared windows\n\nA window can have several links in one session and belong to more than one\nsession. Physical windows and panes remain unique; window links retain each\nsession/index membership.\n\n- [Linked windows and relationship queries](docs/graph.md): build two sessions,\n link a shared window twice, and verify physical and membership counts.\n\n### [`tmux_select:where/2`][api-where]: filter captured rows\n\n- [Local filters and source queries](docs/querying.md): Boolean criteria,\n quantifiers, portable JSON, cardinality, coverage and execution plans.\n- [Fields and operators](docs/fields.md): generated from the runtime schema.\n\n### [`tmux_query:fetch/1`][api-fetch]: observe tmux explicitly\n\nThe [querying guide](docs/querying.md) follows a source query through planning,\nexecution and a new immutable selection. Local filtering preserves its\ncaptured values; fetching performs I/O.\n\n### [`tmux_server:with_server/2`][api-with-server]: borrow an existing server\n\n- [Daemon ownership](docs/ownership.md): choose private startup or a borrowed\n socket, keep their lifetimes explicit and handle incomplete cleanup.\n- [Control attachments](docs/control.md): verify connection identity, inspect\n attachment effects and retire the client explicitly.\n\n### [`tmux_operation:await/2`][api-await]: wait for submitted work\n\n- [Run a job and capture its result](docs/jobs.md): wait for a pane's completion\n event, check its exit status, capture bytes, and cancel a separate operation.\n- [Build command values](docs/commands.md): prepare a rename and resize, submit\n them explicitly and inspect fresh state without changing captured rows.\n\n## More examples\n\n- [Scoped options](docs/options.md): local ownership markers, explicit\n inheritance and sparse arrays, with a source-pinned option catalogue.\n- [Buffers and paste](docs/buffers.md): preserve binary artifacts, inspect\n names and control terminal delivery.\n- [Rearrange panes](docs/panes.md): isolate a running job in a window and join\n it back, preserving its process and the original snapshot.\n- [Apply configuration and await a signal](docs/configuration.md): load settings\n from stdin, observe the event and verify parse-only behavior.\n- [Pipe terminal output](docs/pipe.md): save a job's bytes, await its consumer\n acknowledgement and verify the resulting log.\n- [Hooks and completion](docs/hooks.md): register a split callback, await its\n acknowledgement and remove the local hook.\n- [Key tables](docs/keys.md): register application bindings, inspect native\n listings and remove the owned table.\n- [Native commands](docs/commands-reference.md): source-derived parser metadata\n and feature minimums, separate from library API and runtime qualification.\n- [API browser and source docs](docs/api.md): build searchable native reference\n pages with specs, types and links to the exact source revision.\n\n## Decide whether it fits\n\nThe current path uses bounded one-shot tmux clients. Operations support\nnon-blocking submission, explicit waits, cancellation and ownership transfer.\nAn await timeout abandons that wait; it does not cancel the operation.\nCancellation after dispatch can leave the tmux outcome unknown.\n\nAn explicit control attachment verifies identity on its persistent connection\nand owns its client cleanup. Control command submission and output streams remain\nimplementation work. The\n[support and gaps](docs/compatibility.md) page lists\nwhat is exercised, what remains open, and the required Linux/tmux matrix.\nThere is no control-versus-streaming performance claim.\n\nThe [project policy](docs/project-policy.md) records the OTP application\nboundary and runtime dependencies.\n\n## Verify and contribute\n\n```console\n$ time python3 tools/check.py mid\n```\n\n```console\n$ time python3 tools/check.py outer\n```\n\nThe outer check owns its tmux fixtures and tests installed consumers. See\n[contributor setup](.github/CONTRIBUTING.md) for prerequisites and test budgets,\n[CI](https://github.com/libtmux/libtmux-erlang/actions/workflows/ci.yml) for\nindividual release/architecture results, and the [MIT license](LICENSE).\nMaintainers can follow the [Hex release instructions](.github/RELEASE.md).\n\n[Branding assets](docs/branding.md) include the logo, icons, and social cards.\n\n[api-with-owned]: https://libtmux.org/en/erlang/latest/reference/tmux_server-with_owned-2/\n[api-related]: https://libtmux.org/en/erlang/latest/reference/tmux_snapshot-related-3/\n[api-where]: https://libtmux.org/en/erlang/latest/reference/tmux_select-where-2/\n[api-fetch]: https://libtmux.org/en/erlang/latest/reference/tmux_query-fetch-1/\n[api-with-server]: https://libtmux.org/en/erlang/latest/reference/tmux_server-with_server-2/\n[api-await]: https://libtmux.org/en/erlang/latest/reference/tmux_operation-await-2/\n" }, { "path": "docs/installation.md", - "content": "# Install the core application\n\nThe core OTP application is `libtmux_erlang`. It lives in an umbrella, so a\nRebar3 source dependency must use `git_subdir` with `apps/libtmux_erlang`.\nUsing the repository root as an ordinary single-app Git dependency does not\nselect the core application.\n\nThe [README](../README.md#install) contains the dependency declaration tested\nin an isolated Rebar3 consumer. Rebar3 resolves the branch to a commit in\n`rebar.lock`; commit that file. To choose a reviewed commit directly, use\nRebar3's `{ref, Commit}` form instead of `{branch, \"master\"}`.\n\nAdd `libtmux_erlang` to your application's `applications` list in its\n`.app.src`. For an interactive consumer, compile and start the Rebar3 shell:\n\n```console\n$ rebar3 compile\n```\n\n```console\n$ rebar3 shell\n```\n\n## Inspect an existing server\n\n`open/1` borrows an existing daemon. It does not start tmux or create a session.\nFrom a shell attached to the server you intend to inspect, obtain its socket:\n\n```console\n$ export LIBTMUX_SOCKET=\"$(tmux display-message -p '#{socket_path}')\"\n```\n\nSave this module as `src/inspect_demo.erl` in the consumer application:\n\n\n\n```erlang\n-module(inspect_demo).\n-moduledoc \"Inspect an existing tmux socket without changing its sessions.\".\n-export([run/2]).\n\n-spec run(binary(), binary()) -> map().\nrun(Socket, Executable) ->\n {ok, _} = application:ensure_all_started(libtmux_erlang),\n Endpoint = #{socket_path => Socket, executable => Executable},\n {ok, Result} = tmux_server:with_server(Endpoint, fun(Server) ->\n {ok, Snapshot} = tmux_server:snapshot(Server),\n #{sessions => length(tmux_snapshot:sessions(Snapshot)),\n windows => length(tmux_snapshot:windows(Snapshot)),\n panes => length(tmux_snapshot:panes(Snapshot))}\n end),\n Result.\n```\n\nRun it through the consumer's Rebar shell. The executable path comes from PATH;\nthe socket must be the absolute path selected above:\n\n```console\n$ rebar3 shell \\\n --eval '\n Socket = list_to_binary(os:getenv(\"LIBTMUX_SOCKET\")),\n Tmux = list_to_binary(os:find_executable(\"tmux\")),\n io:format(\"~p~n\", [inspect_demo:run(Socket, Tmux)]),\n halt().'\n```\n\nThe returned map counts physical objects in one captured view. Closing the\nlibrary handle preserves the borrowed daemon and its sessions. This module\nalso runs against the installed archive in the outer check. The private-server\n[README program](../README.md#create-capture-and-query) adds creation, native\nrecord patterns, graph traversal and a fresh query.\n\nDirect native-record construction needs `tmux_model` loaded first; its\nconstructors load normally and validate observations. Do not distribute record\nheaders or serialize record internals as a wire format.\n\n## Requirements\n\n| Component | Current requirement |\n| --- | --- |\n| Erlang/OTP | Exactly the qualified latest-stable baseline, 29.1.2 |\n| Build tool | Rebar3 3.28.0 |\n| tmux | 3.3a–3.8, including intermediate releases; CI tests both endpoints |\n| Runtime platform | Linux x86_64 and arm64 qualification cells |\n| Native build | C11 compiler, libc headers and make |\n| Core dependencies | OTP kernel, stdlib and crypto; no JSON package or NIF |\n| Checkout example runner | Python 3.12+ for owned-server readiness observation |\n\nThe helper builds from its packaged C source. Installation must fail if that\nbuild fails; there is no runtime executable download. The helper's original\nlicense is retained separately from the project's MIT license.\n\nThere is no published Hex package or release artifact for this checkout.\n[API docs](api.md) describe the local browser build. [Compatibility](compatibility.md)\nseparates current checks from the remaining suite and delivery gates.\n" + "content": "# Install the core application\n\nThe core OTP application is\n[`libtmux_erlang`](https://hex.pm/packages/libtmux_erlang) on Hex.\n\nThe [README](../README.md#install) contains the dependency declaration tested\nin an isolated Rebar3 consumer. Pin an exact version while the API develops\nand commit `rebar.lock` to retain the resolved package checksum.\n\nAdd `libtmux_erlang` to your application's `applications` list in its\n`.app.src`. For an interactive consumer, compile and start the Rebar3 shell:\n\n```console\n$ rebar3 compile\n```\n\n```console\n$ rebar3 shell\n```\n\n## Install a source checkout\n\nThe repository is an umbrella. For development from source, use `git_subdir`\nto select `apps/libtmux_erlang`:\n\n\n\n```erlang\n{deps, [\n {libtmux_erlang, {git_subdir,\n \"https://github.com/libtmux/libtmux-erlang.git\",\n {branch, \"master\"}, \"apps/libtmux_erlang\"}}\n]}.\n```\n\nRebar3 records the branch's resolved commit in `rebar.lock`. To select a\nreviewed commit directly, use `{ref, Commit}` instead of `{branch, \"master\"}`.\n\n## Inspect an existing server\n\n`open/1` borrows an existing daemon. It does not start tmux or create a session.\nFrom a shell attached to the server you intend to inspect, obtain its socket:\n\n```console\n$ export LIBTMUX_SOCKET=\"$(tmux display-message -p '#{socket_path}')\"\n```\n\nSave this module as `src/inspect_demo.erl` in the consumer application:\n\n\n\n```erlang\n-module(inspect_demo).\n-moduledoc \"Inspect an existing tmux socket without changing its sessions.\".\n-export([run/2]).\n\n-spec run(binary(), binary()) -> map().\nrun(Socket, Executable) ->\n {ok, _} = application:ensure_all_started(libtmux_erlang),\n Endpoint = #{socket_path => Socket, executable => Executable},\n {ok, Result} = tmux_server:with_server(Endpoint, fun(Server) ->\n {ok, Snapshot} = tmux_server:snapshot(Server),\n #{sessions => length(tmux_snapshot:sessions(Snapshot)),\n windows => length(tmux_snapshot:windows(Snapshot)),\n panes => length(tmux_snapshot:panes(Snapshot))}\n end),\n Result.\n```\n\nRun it through the consumer's Rebar shell. The executable path comes from PATH;\nthe socket must be the absolute path selected above:\n\n```console\n$ rebar3 shell \\\n --eval '\n Socket = list_to_binary(os:getenv(\"LIBTMUX_SOCKET\")),\n Tmux = list_to_binary(os:find_executable(\"tmux\")),\n io:format(\"~p~n\", [inspect_demo:run(Socket, Tmux)]),\n halt().'\n```\n\nThe returned map counts physical objects in one captured view. Closing the\nlibrary handle preserves the borrowed daemon and its sessions. This module\nalso runs against the installed archive in the outer check. The private-server\n[README program](../README.md#create-capture-and-query) adds creation, native\nrecord patterns, graph traversal and a fresh query.\n\nDirect native-record construction needs `tmux_model` loaded first; its\nconstructors load normally and validate observations. Do not distribute record\nheaders or serialize record internals as a wire format.\n\n## Requirements\n\n| Component | Current requirement |\n| --- | --- |\n| Erlang/OTP | Exactly the qualified latest-stable baseline, 29.1.2 |\n| Build tool | Rebar3 3.28.0 |\n| tmux | 3.3a–3.8, including intermediate releases; CI tests both endpoints |\n| Runtime platform | Linux x86_64 and arm64 qualification cells |\n| Native build | C11 compiler, libc headers and make |\n| Core dependencies | OTP kernel, stdlib and crypto; no JSON package or NIF |\n| Checkout example runner | Python 3.12+ for owned-server readiness observation |\n\nThe helper builds from its packaged C source. Installation must fail if that\nbuild fails; there is no runtime executable download. The helper's original\nlicense is retained separately from the project's MIT license.\n\nHex serves the core package; HexDocs is not published. The hosted\n[API reference](https://libtmux.org/en/erlang/latest/reference/) lives on the\n[shared documentation site](https://libtmux.org/en/erlang/), and\n[API docs](api.md) describe the local browser build.\n[Compatibility](compatibility.md) separates current checks from the remaining\nsuite and delivery gates.\n" }, { "path": "docs/graph.md", @@ -74,7 +74,7 @@ }, { "path": "docs/compatibility.md", - "content": "# Support and remaining gaps\n\nSupport covers tmux **3.3a–3.8**, including intermediate releases, on Linux\nx86_64 and arm64. The [workflow](../.github/workflows/ci.yml) tests the oldest\nsupported and newest stable tmux releases on both architectures.\nOTP 29.1.2 is the only supported Erlang baseline;\nolder-OTP compatibility branches are not maintained. Native records remain an\nexperimental language dependency in OTP 29. Do not persist their internals or\nassume compatibility with another OTP line.\n\n| Platform | tmux releases in the required matrix |\n| --- | --- |\n| Ubuntu 24.04 x86_64 | 3.3a, 3.8 |\n| Ubuntu 24.04 arm64 | 3.3a, 3.8 |\n\nCI uses only the latest stable Erlang/OTP release. Testing the endpoints keeps\nthe routine matrix small; it does not exclude releases between them from\nsupport. Earlier intermediate-version results retain their recorded scope.\n\nInspect the individual jobs at the commit you will consume. A minimum-version\ncheck does not prove runtime support on every newer release. Tracking builds,\nmacOS, native Windows and psmux are not advertised as qualified platforms.\n\nLinux must provide readable `/proc/self/task//children`, enabled by\nCONFIG_PROC_CHILDREN. The helper checks this interface before launching a\nchild. An unavailable interface returns `unsupported_capability` with\n`capability => proc_children`, the OS `errno` and `outcome => not_started`.\nSee the [helper protocol](../apps/libtmux_erlang/c_src/README.md) for cleanup\nevidence and the limits of native process ownership.\n\n## Retained rows and upgrades\n\nNative model version 2 adds a private captured target association to each\nobserved row. Actions check the entity, stable ID, origin and snapshot ID;\npane associations also retain the observed window and index, and window-link\nassociations retain their session, index and expected physical window.\nActions reject edited target fields before dispatch. Valid-shaped binding\nmismatches return `observation_mismatch`; detached and malformed rows retain\ntheir validation errors. `tmux_server:bind/2` reads the requested target and returns\na new actionable row. Ordinary record matching and detached constructors\nremain available.\n\nThe private value retains identifiers, not the snapshot graph. It prevents\naccidental retargeting through public row updates; it is not an authorization\nboundary against trusted code running inside the VM. The internal construction\nfunctions remain implementation details.\n\nDiscard version-1 rows and snapshots when upgrading to model version 2. Stop\nconsumers that retain them, clear their process/ETS state and freshly observe\nthe server after restart. This release supplies no `appup`/`relup` conversion.\nOld or unknown model versions fail row validation. New code must validate a\nretained value before accessing fields added by another model version.\n\nEvery exported-field addition, rename, removal or default change requires a\nmodel compatibility review independently of the OTP version. Its changelog\nmust state whether retained values remain usable, need an explicit validated\nconversion, or must be discarded. Do not assume hot loading changes fields in\nexisting native values.\n\n`tmux_model:to_map/1` extracts the documented domain fields from a valid row.\nValidate those fields with the destination model's constructor when migrating\ndata. The map loses actionable provenance; bind it through a freshly\nconstructed row before an action. It is not a versioned storage or cross-port\nwire format: absence atoms, binary bytes and field inventories still require\nan application-defined schema.\n\n## Implemented surfaces\n\n| Surface | Current behavior |\n| --- | --- |\n| Model | Exported native session/window/window-link/pane records; runtime validation |\n| Capture | Immutable complete graph, coverage, ordering, conflict detection and read intervals |\n| Local query | Map predicates, Boolean callbacks, quantifiers, cardinality and bounded JSON |\n| Source query | Explicit plans/fetch, conservative candidates, full residuals and final limits |\n| Operations | Bounded one-shot submission, waits, cancellation, transfer and cleanup |\n| Control attachment | Explicit session, same-connection identity, no-output/ignore-size, skipped environment update and separate native cleanup |\n| Daemon ownership | Empty private startup, separate ownership token, caller lifetime, explicit stop and identity-checked namespace cleanup |\n| Domain commands | Initial create/read/rename/kill calls, explicit client/session selection, checked window memberships, pane split/break/join/move/swap/resize, pane/window respawn, window layouts, literal/key input and capture |\n| Options | Explicit local/global tables, local or inherited reads, indexed writes/unsets and generated source metadata; hooks remain outside the option API |\n| Hooks | Versioned builtin arrays, indexed command values, inheritance and explicit execution contexts |\n| Buffers | Named or automatic binary load, exact show, metadata lists, delete/rename and paste; native version differences are explicit |\n| Server utilities | Command values for literal source-file/stdin configuration and native wait-for signals, waits and explicit advisory locks |\n| Pane pipe | Literal shell command, output/input/both directions, native toggle and explicit stop; tmux-owned process and delivery checks |\n\nThe [examples](../examples) exercise the current public API. Real integration\nchecks use private sockets and verify owned process retirement. A captured row\ncan disappear before an action; stable IDs are not permission to reinterpret a\nmissing target positionally.\n\n## Not yet shipped\n\nControl command submission and groups and output subscriptions/streams remain\nimplementation work. Complete performance qualification remains open.\n\nTyped command coverage, generated capability inventory, registry delivery,\npublic cross-port filter conformance, published native API pages, shared-site documentation and\nindependent implementation reviews remain open. Current test success does not\npass those unfinished surfaces. No registry or documentation publication is\nclaimed.\n\n## Source installation\n\nThe [source-package check](../tools/check_source_package.py) builds the core\napplication with pinned `rebar3_hex` tooling. It serves the exact tarball\nthrough a signed local registry, then creates a fresh Rebar3 consumer whose\nonly dependency is the core. The core must compile its helper from packaged C\nsource. Missing compiler support fails installation.\nThe installed examples, native-record imports, model-upgrade check and owned\ntransport checks run against that consumer.\n\nCI runs this gate on both supported architectures with tmux 3.3a and 3.8.\nInspect its receipt for the commit being consumed. These local source artifacts\nretain the development version; the check neither publishes to Hex nor proves\nan independently retrieved registry release. The older compiled-archive check\nremains separate evidence for its own payload.\n\n## Performance evidence\n\nThe current suite checks behavior and resource limits. It does not establish a\ncontrol/grouping/streaming comparison because those execution lanes are not implemented.\nAny published benchmark must compare equal workloads and values, state the\nsource/tool/platform identities, and report errors and cleanup as well as time.\nTest-loop durations are not throughput benchmarks.\n" + "content": "# Support and remaining gaps\n\nSupport covers tmux **3.3a–3.8**, including intermediate releases, on Linux\nx86_64 and arm64. The [workflow](../.github/workflows/ci.yml) tests the oldest\nsupported and newest stable tmux releases on both architectures.\nOTP 29.1.2 is the only supported Erlang baseline;\nolder-OTP compatibility branches are not maintained. Native records remain an\nexperimental language dependency in OTP 29. Do not persist their internals or\nassume compatibility with another OTP line.\n\n| Platform | tmux releases in the required matrix |\n| --- | --- |\n| Ubuntu 24.04 x86_64 | 3.3a, 3.8 |\n| Ubuntu 24.04 arm64 | 3.3a, 3.8 |\n\nCI uses only the latest stable Erlang/OTP release. Testing the endpoints keeps\nthe routine matrix small; it does not exclude releases between them from\nsupport. Earlier intermediate-version results retain their recorded scope.\n\nInspect the individual jobs at the commit you will consume. A minimum-version\ncheck does not prove runtime support on every newer release. Tracking builds,\nmacOS, native Windows and psmux are not advertised as qualified platforms.\n\nLinux must provide readable `/proc/self/task//children`, enabled by\nCONFIG_PROC_CHILDREN. The helper checks this interface before launching a\nchild. An unavailable interface returns `unsupported_capability` with\n`capability => proc_children`, the OS `errno` and `outcome => not_started`.\nSee the [helper protocol](../apps/libtmux_erlang/c_src/README.md) for cleanup\nevidence and the limits of native process ownership.\n\n## Retained rows and upgrades\n\nNative model version 2 adds a private captured target association to each\nobserved row. Actions check the entity, stable ID, origin and snapshot ID;\npane associations also retain the observed window and index, and window-link\nassociations retain their session, index and expected physical window.\nActions reject edited target fields before dispatch. Valid-shaped binding\nmismatches return `observation_mismatch`; detached and malformed rows retain\ntheir validation errors. `tmux_server:bind/2` reads the requested target and returns\na new actionable row. Ordinary record matching and detached constructors\nremain available.\n\nThe private value retains identifiers, not the snapshot graph. It prevents\naccidental retargeting through public row updates; it is not an authorization\nboundary against trusted code running inside the VM. The internal construction\nfunctions remain implementation details.\n\nDiscard version-1 rows and snapshots when upgrading to model version 2. Stop\nconsumers that retain them, clear their process/ETS state and freshly observe\nthe server after restart. This release supplies no `appup`/`relup` conversion.\nOld or unknown model versions fail row validation. New code must validate a\nretained value before accessing fields added by another model version.\n\nEvery exported-field addition, rename, removal or default change requires a\nmodel compatibility review independently of the OTP version. Its changelog\nmust state whether retained values remain usable, need an explicit validated\nconversion, or must be discarded. Do not assume hot loading changes fields in\nexisting native values.\n\n`tmux_model:to_map/1` extracts the documented domain fields from a valid row.\nValidate those fields with the destination model's constructor when migrating\ndata. The map loses actionable provenance; bind it through a freshly\nconstructed row before an action. It is not a versioned storage or cross-port\nwire format: absence atoms, binary bytes and field inventories still require\nan application-defined schema.\n\n## Implemented surfaces\n\n| Surface | Current behavior |\n| --- | --- |\n| Model | Exported native session/window/window-link/pane records; runtime validation |\n| Capture | Immutable complete graph, coverage, ordering, conflict detection and read intervals |\n| Local query | Map predicates, Boolean callbacks, quantifiers, cardinality and bounded JSON |\n| Source query | Explicit plans/fetch, conservative candidates, full residuals and final limits |\n| Operations | Bounded one-shot submission, waits, cancellation, transfer and cleanup |\n| Control attachment | Explicit session, same-connection identity, no-output/ignore-size, skipped environment update and separate native cleanup |\n| Daemon ownership | Empty private startup, separate ownership token, caller lifetime, explicit stop and identity-checked namespace cleanup |\n| Domain commands | Initial create/read/rename/kill calls, explicit client/session selection, checked window memberships, pane split/break/join/move/swap/resize, pane/window respawn, window layouts, literal/key input and capture |\n| Options | Explicit local/global tables, local or inherited reads, indexed writes/unsets and generated source metadata; hooks remain outside the option API |\n| Hooks | Versioned builtin arrays, indexed command values, inheritance and explicit execution contexts |\n| Buffers | Named or automatic binary load, exact show, metadata lists, delete/rename and paste; native version differences are explicit |\n| Server utilities | Command values for literal source-file/stdin configuration and native wait-for signals, waits and explicit advisory locks |\n| Pane pipe | Literal shell command, output/input/both directions, native toggle and explicit stop; tmux-owned process and delivery checks |\n\nThe [examples](../examples) exercise the current public API. Real integration\nchecks use private sockets and verify owned process retirement. A captured row\ncan disappear before an action; stable IDs are not permission to reinterpret a\nmissing target positionally.\n\n## Not yet shipped\n\nControl command submission and groups and output subscriptions/streams remain\nimplementation work. Complete performance qualification remains open.\n\nTyped command coverage, generated capability inventory, public cross-port\nfilter conformance, published native API pages, shared-site documentation and\nindependent implementation reviews remain open. Current test success does not\npass those unfinished surfaces. The only registry publication is the core\npackage on [Hex](https://hex.pm/packages/libtmux_erlang); HexDocs is not\npublished.\n\n## Source installation\n\nThe [source-package check](../tools/check_source_package.py) builds the core\napplication with pinned `rebar3_hex` tooling. It serves the exact tarball\nthrough a signed local registry, then creates a fresh Rebar3 consumer whose\nonly dependency is the core. The core must compile its helper from packaged C\nsource. Missing compiler support fails installation.\nThe installed examples, native-record imports, model-upgrade check and owned\ntransport checks run against that consumer.\n\nCI runs this gate on both supported architectures with tmux 3.3a and 3.8.\nInspect its receipt for the commit being consumed. These local source artifacts\nretain the development version; the check neither publishes to Hex nor proves\nan independently retrieved registry release. The older compiled-archive check\nremains separate evidence for its own payload.\n\n## Performance evidence\n\nThe current suite checks behavior and resource limits. It does not establish a\ncontrol/grouping/streaming comparison because those execution lanes are not implemented.\nAny published benchmark must compare equal workloads and values, state the\nsource/tool/platform identities, and report errors and cleanup as well as time.\nTest-loop durations are not throughput benchmarks.\n" }, { "path": "docs/pipe.md", diff --git a/site/src/data/tmux-usage/erlang.json b/site/src/data/tmux-usage/erlang.json index a28b84f27..d6e9cbbf3 100644 --- a/site/src/data/tmux-usage/erlang.json +++ b/site/src/data/tmux-usage/erlang.json @@ -94,7 +94,7 @@ ], "port": "erlang", "repo": "libtmux/libtmux-erlang", - "revision": "f1a2e66c0fa15d1e8d4efa2725a159121815293b", + "revision": "539c7297ceae65a1cf683e0836eae0a1ccd34d64", "schemaVersion": 1, "symbols": { "tmux_buffer:delete/2": [ From 04bb4522d166b667a501abbd32565e1f5edc61c5 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Fri, 13 Nov 2026 22:59:05 -0600 Subject: [PATCH 13/41] raku(feat[reference]) Place Raku in the shared reference vocabulary why: The Raku reference needs the same sidebar buckets, short names and index cards as the other ports, so a reader finds Server, Pane and the options facades in the same places. what: - Name a top-level class by its last path segment and keep its package path in the id, as Perl does - Place the 27 declarations the shared buckets did not match, and explain the seven that span several tasks - List a type declared under its exporting module as a card, as Common Lisp does - Keep an exception's X:: path as its short name, because it is written in full and not through the module that exports it - Write Raku symbols as authored and extend the name and form tests - Regenerate the model and sidebar sidecars from libtmux-raku at 9a9838047f15 --- packages/api-model/src/languages/raku.ts | 2 ++ packages/api-model/src/nav-config.ts | 22 +++++++++++++++++++++- site/src/data/api/raku.json | 2 +- site/src/data/api/raku.nav.json | 2 +- site/src/lib/api-models.ts | 5 +++-- site/src/lib/native-name.ts | 2 ++ site/src/lib/symbol-form.ts | 1 + site/test/native-name.test.ts | 3 ++- site/test/symbol-form.test.ts | 1 + 9 files changed, 34 insertions(+), 6 deletions(-) diff --git a/packages/api-model/src/languages/raku.ts b/packages/api-model/src/languages/raku.ts index 298dc7751..acba4256e 100644 --- a/packages/api-model/src/languages/raku.ts +++ b/packages/api-model/src/languages/raku.ts @@ -79,6 +79,8 @@ export function extractRakuArtifact(input: unknown, expectedRevision?: string): symbol.source.line! <= artifact.generatedSources[symbol.source.file]!.split('\n').length && symbol.source.revision === artifact.revision, `source identity differs: ${symbol.id}`) check(Array.isArray(symbol.signatures), `missing signatures: ${symbol.id}`) + // Raku declares a top-level class by its package path; the shared model names a type by its last segment. + symbol.name = symbol.name.split('::').at(-1)! for (const signature of symbol.signatures) { check(typeof signature.raw === 'string' && signature.raw.length > 0 && Array.isArray(signature.params), `invalid native signature: ${symbol.id}`) let previous = -1 diff --git a/packages/api-model/src/nav-config.ts b/packages/api-model/src/nav-config.ts index e2fcde918..e97da27e7 100644 --- a/packages/api-model/src/nav-config.ts +++ b/packages/api-model/src/nav-config.ts @@ -605,6 +605,17 @@ const OVERRIDES: Record }> = { 'libtmux.Watch': 'watch handle shared by several tmux objects', }, }, + raku: { + unsettled: { + LibTmux: 'public module spanning the task buckets; its exported declarations have their own placements', + 'LibTmux::Configuration': 'namespace of the options, hooks, environment, buffer and key-binding facades; each facade has its own placement', + 'LibTmux::Engine': 'module holding connection and daemon identity values placed under Server', + 'LibTmux::Model': 'module of the captured objects and their references; each object has its own placement', + 'LibTmux::Types': 'module of value types shared by every object; the outcome and state enums sit with their tasks', + 'LibTmux::Types::Count': 'nonnegative count shared by every object, owned by none', + 'LibTmux::Types::Positive': 'positive dimension shared by every object, owned by none', + }, + }, perl: { unsettled: { LibTmux: 'distribution namespace and version; concrete packages have their own placements', @@ -893,6 +904,15 @@ const LANGUAGE_PLACEMENTS: Record> = { cxx: { workspace: ['BuildEvent', 'BuildPhase', 'BuildStop'].map((name) => `libtmux::workspace::${name}`), }, + raku: { + client: ['LibTmux::Attachment'], + commands: ['LibTmux::Batch', 'LibTmux::Batch::Batch', 'LibTmux::Batch::Evidence', 'LibTmux::Batch::Operation', 'LibTmux::Batch::Report', 'LibTmux::Types::Outcome'], + version: ['LibTmux::Catalogue', 'LibTmux::Catalogue.catalogue', 'LibTmux::Catalogue.parse-tmux-version', 'LibTmux::Catalogue.support-policy', + 'LibTmux::Catalogue::CatalogueData', 'LibTmux::Catalogue::SupportPolicy', 'LibTmux::Types::SupportState'], + server: ['LibTmux::Engine::Endpoint', 'LibTmux::Engine::Incarnation', 'LibTmux::Engine::Observation'], + queries: ['LibTmux::Selection', 'LibTmux::Selection::Selection'], + snapshots: ['LibTmux::Model::View', 'LibTmux::Types::ValueState'], + }, } /** Free functions and cmdlets need the same discovery-first order as object members. */ @@ -960,7 +980,7 @@ function languageBucket(bucket: Bucket, port: string, root = bucket.id): Bucket } export const NAV: Record = Object.fromEntries( - ['perl', 'powershell', 'julia', 'elixir', 'lisp', 'erlang', 'py', 'ruby', 'lua', 'ts', 'rs', 'go', 'java', 'clojure', 'kotlin', 'scala', 'fsharp', 'csharp', 'cxx', 'swift', 'ocaml', 'haskell'].map((port) => [ + ['perl', 'powershell', 'julia', 'elixir', 'lisp', 'erlang', 'py', 'ruby', 'lua', 'ts', 'rs', 'go', 'java', 'clojure', 'kotlin', 'scala', 'fsharp', 'csharp', 'cxx', 'swift', 'ocaml', 'haskell', 'raku'].map((port) => [ port, { port, diff --git a/site/src/data/api/raku.json b/site/src/data/api/raku.json index 0ee072e3d..f41b3f68e 100644 --- a/site/src/data/api/raku.json +++ b/site/src/data/api/raku.json @@ -1 +1 @@ -{"port":"raku","repo":"libtmux/libtmux-raku","revision":"9a9838047f1585c2c790b011cb708670999b7bdd","extractor":"Rakudo RakuAST and RakuDoc/v1","symbols":[{"apiScope":"exported","doc":{"body":"# LibTmux\n\nTyped tmux snapshots, local selections and explicit commands for Raku programs.\n\n\n\n# Create a session and split a pane\n\n:obj:`Server ` starts and owns a private daemon. Split the first pane,\nset pane titles, then capture the new state. Both panes run ` cat ` as an echo\nprocess. ` LEAVE ` closes the owner on normal or exceptional exit.\n\n\n\n```raku\nuse LibTmux;\n\nmy $server = Server.start(:name, :shell-command('exec cat'));\nLEAVE $server.close if $server.defined;\n\nmy $before = $server.snapshot;\nmy $left = $before.panes.single.ref;\nmy $right = $left.split(:horizontal, :shell-command('exec cat'));\n$left.set-title('editor');\n$right.set-title('logs');\n\nmy $after = $server.snapshot;\nmy $editor = $after.panes.filter(*.title eq 'editor').single;\nsay \"{$editor.title}: {$after.panes.elems} panes\";\n```\n\nThe program prints ` editor: 2 panes `. The earlier snapshot retains\none pane. ` .ref ` constructs an explicit command target; mutation does not change\nan earlier observation. ` snapshot ` performs I/O, while reading a captured field\nor relationship stays local.\n\n\n\n# Follow the captured graph\n\nA :obj:`Snapshot ` contains sessions, session groups, physical\nwindows, window links, panes, clients and buffer metadata. A physical window can\nappear at several indexes, including twice in the same session. Its\n` WindowLink ` owns the session-relative index and active state. ` windows ` and\n` panes ` enumerate physical identities once; ` window-links ` preserves placements.\n\nA pane's ` window ` and a window's ` panes ` resolve against the retained graph.\nKeeping an observation after closing its acquisition owner remains useful:\nfield reads, relationship traversal and selection operations make no tmux calls.\nUse ` .ref.inspect ` or a new snapshot when fresh information is needed.\nReferences include daemon incarnation evidence, so a replacement daemon does\nnot inherit an old pane reference merely by reusing its ID.\n\n\n\n# Query captured values\n\nCombine validated query data with native Raku predicates and transformations:\n\n\n\n```raku\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(160), :height(40), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $editor = $server.snapshot.panes.single.ref;\n my $tests = $editor.split(:horizontal, :shell-command('exec cat'));\n my $logs = $tests.split(:shell-command('exec cat'));\n $editor.set-title('editor');\n $tests.set-title('tests');\n $logs.set-title('logs');\n\n my $snapshot = $server.snapshot;\n my @wide := $snapshot.panes.where(%(width => %(gte => 60)));\n my $selected = @wide.filter(*.title eq 'editor').single;\n say \"Wide pane: {$selected.title}\";\n\n my @others = $snapshot.panes.grep(*.id ne $selected.id).map(*.title).sort;\n say 'Other panes: ' ~ @others.join(', ');\n}\n```\n\nIt prints ` Wide pane: editor ` and\n` Other panes: logs, tests `.\n\nBinding with ` := ` preserves a typed selection. Array assignment materializes\nordinary Raku values; scalar assignment itemizes the collection. ` where `\nvalidates fields and operators even on an empty selection. ` filter ` evaluates a\ncallback eagerly and returns the same entity selection type. ` grep `, including\n` :k `, ` :kv ` and ` :p `, retains its native ` Seq ` contract. ` map `, ` sort `,\n` first ` and junction operations also retain ordinary Raku behavior. Mapping\npanes to titles does not produce a pane selection of strings.\n\nUse ` single ` for exactly one member and ` single-or-nil ` for zero or one;\nmultiple matches throw :obj:`Cardinality `. ` one ` remains a\njunction. A directly returned ` Failure ` from a ` filter ` callback throws its\nwrapped exception before Boolean coercion.\n\nCompile reusable criteria with :obj:`Filter `. Its ` ACCEPTS `\nmethod permits native matching, and ` to-json `/` from-json ` preserve the bounded\nportable data grammar. Closures, regexes and junctions remain local Raku\nmatchers. Data equality follows field types; it does not use generic smartmatch.\nRelations use ` some `, ` every `, ` none `, ` is ` and ` is-not `. An unloaded\nrelation raises :obj:`MissingData ` instead of behaving like\nan empty relation.\n\nFor explicit live acquisition, ` query-panes ` accepts ` where ` and a pushdown\npolicy. ` auto ` pushes proven exact restrictions and evaluates residual work\nlocally; ` never ` evaluates locally after acquisition; ` require ` refuses an\ninexact translation. ` explain-panes ` describes projections, scope, pushed\nconditions and residual work. Arbitrary callbacks are not translated to tmux.\n\n\n\n# Choose an operation from capabilities\n\nCapabilities describe the observed daemon separately from the client executable.\nAsk ` supports ` before offering a newer operation, or use ` require ` to obtain a\ntyped refusal with its reason. This program creates an empty ` status ` pane\nas a floating pane when supported and a tiled split otherwise:\n\n\n\n```raku\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(120), :height(36), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $snapshot = $server.snapshot;\n my $main = $snapshot.panes.single.ref;\n my $floating = $snapshot.capabilities.supports('pane-floating');\n my $auxiliary = $floating\n ?? $main.new-floating(:width(40), :height(12), :x(2), :y(2), :empty)\n !! $main.split(:horizontal, :empty);\n $auxiliary.set-title('status');\n\n my $after = $server.snapshot;\n die 'The auxiliary pane was not captured' unless $after.panes.elems == 2;\n say 'Status pane: ' ~ ($floating ?? 'floating' !! 'tiled');\n say $after.panes.where(%(id => $auxiliary.id)).single.title;\n}\n```\n\nThe selected placement and ` status ` are printed. An empty pane can\nhave no child PID; its ` pid ` is then null rather than a fabricated integer.\n` state('pid') ` distinguishes known null from a field that was not acquired.\nUnknown release profiles are refused conservatively. Field, codec, layout and\ncommand decisions come from the same packaged catalogue.\n\n\n\n# React to terminal output\n\nSynchronous acquisition returns a snapshot or selection. An ` -async ` method\nreturns a ` Promise ` resolving to that result. A\n:obj:`ControlConnection ` owns one persistent client;\nits event ` Supply ` is shared by its subscribers. Native ` react ` and ` whenever `\ncan consume the output without polling:\n\n\n\n```raku\nuse v6.d;\nuse LibTmux;\nuse LibTmux::Control;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name, :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $snapshot = await $server.snapshot-async;\n my $pane = $snapshot.panes.single.ref;\n my $connection = await $server.open-control-async(:session-id($snapshot.sessions.single.id));\n LEAVE $connection.close if $connection.defined;\n\n my $message = 'hello from Raku';\n my $received = '';\n react {\n whenever $connection.events.grep(PaneOutput) -> $event {\n if $event.pane-id eq $pane.id {\n $received ~= $event.data.decode('utf8-c8');\n die 'Pane output exceeded its bound' if $received.chars > 65536;\n done if $received.contains($message);\n }\n }\n whenever start { $pane.send-text($message); $pane.send-keys('Enter') } { }\n whenever Promise.in(2) { die 'Pane output timed out' }\n }\n\n die 'The captured screen did not contain the message'\n unless $pane.capture.decode('utf8').contains($message);\n say $message;\n say 'Screen capture confirmed';\n}\n```\n\nIt prints ` hello from Raku ` and ` Screen capture confirmed `.\nThe pane runs ` cat ` as an echo process. Subscribing precedes input.\nReceived pane bytes establish the screen-capture\nprecondition; the deadline bounds the wait. ` send-text ` never appends Enter.\nOutput remains bytes until an explicit decoder is selected, so fragmented and\ninvalid UTF-8 remains available. Unknown notification types retain their raw\nrepresentation.\n\nConnections need explicit close. Cancellation terminates and joins owned client\nwork, but does not undo commands that the daemon already executed. Reconnection\nrequires a fresh observation; event delivery does not imply a complete current\ngraph. :obj:`Attachment ` is a separate terminal client owner.\n\n\n\n# Recover from partial completion\n\n:obj:`Batch ` reports each operation's completion scope and\noutcome. The\n[batch recovery program](https://github.com/libtmux/libtmux-raku/blob/master/examples/batch-recovery.raku)\nchecks ` Complete `, ` Failed ` and ` Skipped `, verifies the successful first\neffect, then removes it explicitly. Acknowledgement alone does not prove an\napplication effect. A failed batch offers no rollback guarantee.\n\nThe\n[session workflow program](https://github.com/libtmux/libtmux-raku/blob/master/examples/session-workflow.raku)\ncombines creation, a control-output subscription, screen capture, local\nfiltering and an explained source query in one checked lifecycle.\n\n\n\n# Ownership and operational errors\n\n` Server.start ` owns its private daemon. ` Server.new ` configures a borrowed\nendpoint; closing that facade leaves the daemon running. Both need explicit\nclose. A connection or terminal attachment has its own lifetime and must also\nbe closed. An observation retains values and the captured graph, not a live\nacquisition process.\n\nCommands pass an argument vector. Literal pane text, explicit key presses,\nFORMAT expressions, tmux command templates and deliberate shell commands have\nseparate entry points. Operational errors retain typed context and captured\nbytes. Optional lookup absence never disguises a failed command. Fields retain\nknown null, false, zero, empty text, unsupported, unavailable and unloaded data\nas distinct states.","summary":""},"id":"LibTmux","kind":"module","modifiers":[],"name":"LibTmux","package":"LibTmux","product":"core","publicId":"LibTmux","signatures":[],"source":{"file":"lib/LibTmux.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux"},{"apiScope":"exported","doc":{"body":"# Explicit interactive terminal ownership\n\nspawn binds stdin and stdout to the supplied open terminal handle. It never\ninherits the calling program's terminal implicitly. The caller owns that handle\nand its terminal output; Attachment owns the child and bounded binary stderr.\nclose stops and reaps only that child, leaves the handle open, and does not stop\nthe daemon or other clients. Cancellation applies to startup, not the later\ninteractive lifetime. Use close to end that lifetime.\n\nspawn proves OS process creation only. state starts as AttachmentPending;\ninspect-client makes one explicit listing and records AttachmentAttached when\nthe owned PID is present. Child exit independently records AttachmentExited.\nThere is no polling loop or implicit readiness claim. An event from a separately\nowned control connection may supply application-specific readiness evidence.\n\nThe initial session read checks Linux daemon identity, and the attach command\nruns in a PID/start-time fence. The Engine's documented same-PID/same-second\nreplacement and normal builtin-dispatch assumptions also apply here. An exit\nResult describes the tmux client process, not the lifetime of its session.","summary":""},"id":"LibTmux::Attachment","kind":"class","modifiers":[],"name":"LibTmux::Attachment","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Attachment","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment"},{"apiScope":"exported","doc":{"body":"Refuse copying an owner, which would duplicate cleanup authority over one child.","summary":"Refuse copying an owner, which would duplicate cleanup authority over one child."},"id":"LibTmux::Attachment.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":52,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-clone"},{"apiScope":"exported","doc":{"body":"Terminate and reap only this child. The caller's terminal handle stays open.","summary":"Terminate and reap only this child. The caller's terminal handle stays open."},"id":"LibTmux::Attachment.close","kind":"method","modifiers":[],"name":"close","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.close","signatures":[{"params":[],"raw":"method close(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":220,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-close"},{"apiScope":"exported","doc":{"body":"Share idempotent child cleanup; failure to reap breaks the returned Promise.","summary":"Share idempotent child cleanup; failure to reap breaks the returned Promise."},"id":"LibTmux::Attachment.close-async","kind":"method","modifiers":[],"name":"close-async","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.close-async","signatures":[{"params":[],"raw":"method close-async(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-async","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":222,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-close-async"},{"apiScope":"exported","doc":{"body":"Socket and executable configuration used for this child and explicit inspections.","summary":"Socket and executable configuration used for this child and explicit inspections."},"id":"LibTmux::Attachment.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-attachment-endpoint"},{"apiScope":"exported","doc":{"body":"Daemon identity captured before attachment; a replacement daemon is rejected.","summary":"Daemon identity captured before attachment; a replacement daemon is rejected."},"id":"LibTmux::Attachment.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Incarnation:D","slug":"libtmux-attachment-incarnation"},{"apiScope":"exported","doc":{"body":"Perform one explicit listing. Nil means no matching attached client was observed.","summary":"Perform one explicit listing. Nil means no matching attached client was observed."},"id":"LibTmux::Attachment.inspect-client","kind":"method","modifiers":[],"name":"inspect-client","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.inspect-client","signatures":[{"params":[{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true,"type":"Positive:D"}],"raw":"method inspect-client(Positive:D :$timeout-ms = 10_000 --> Mu)","references":[{"end":32,"start":22,"target":"LibTmux::Types::Positive"}],"returns":"Mu","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect-client","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms = 10_000 --> Mu)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":196,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-inspect-client"},{"apiScope":"exported","doc":{"body":"Retained stderr byte limit; exceeding it terminates the child and fails when-exited.","summary":"Retained stderr byte limit; exceeding it terminates the child and fails when-exited."},"id":"LibTmux::Attachment.max-stderr-bytes","kind":"property","modifiers":[],"name":"max-stderr-bytes","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.max-stderr-bytes","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-attachment-max-stderr-bytes"},{"apiScope":"exported","doc":{"body":"Construction requires spawn so an unstarted process owner cannot escape.","summary":"Construction requires spawn so an unstarted process owner cannot escape."},"id":"LibTmux::Attachment.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":50,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-new"},{"apiScope":"exported","doc":{"body":"Owned OS child identity; a nonzero PID does not establish attachment readiness.","summary":"Owned OS child identity; a nonzero PID does not establish attachment readiness."},"id":"LibTmux::Attachment.pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.pid","signatures":[{"params":[],"raw":"method pid(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pid","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":189,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-pid"},{"apiScope":"exported","doc":{"body":"Initial session ID; later interactive switching does not change this value.","summary":"Initial session ID; later interactive switching does not change this value."},"id":"LibTmux::Attachment.session","kind":"property","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.session","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":29,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SessionId:D","slug":"libtmux-attachment-session"},{"apiScope":"exported","doc":{"body":"Spawn a tmux client on a supplied terminal. This does not prove attachment.","summary":"Spawn a tmux client on a supplied terminal. This does not prove attachment."},"id":"LibTmux::Attachment.spawn","kind":"method","modifiers":[],"name":"spawn","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.spawn","signatures":[{"params":[{"keywordOnly":true,"name":"$endpoint","optional":false,"type":"Endpoint:D"},{"keywordOnly":true,"name":"$incarnation","optional":false,"type":"Incarnation:D"},{"keywordOnly":true,"name":"$session","optional":false,"type":"SessionId:D"},{"keywordOnly":true,"name":"$terminal","optional":false,"type":"IO::Handle:D"},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true,"type":"Positive:D"},{"default":"64 * 1024","keywordOnly":true,"name":"$max-stderr-bytes","optional":true,"type":"Positive:D"},{"default":"False","keywordOnly":true,"name":"$read-only","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$detach-others","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$update-environment","optional":true,"type":"Bool:D"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method spawn(Endpoint:D :$endpoint!, Incarnation:D :$incarnation!,\n SessionId:D :$session!, IO::Handle:D :$terminal!,\n Positive:D :$timeout-ms = 10_000, Positive:D :$max-stderr-bytes = 64 * 1024,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n Cancellation :$cancel = Cancellation --> LibTmux::Attachment:D)","references":[{"end":23,"start":13,"target":"LibTmux::Engine::Endpoint"},{"end":50,"start":37,"target":"LibTmux::Engine::Incarnation"},{"end":91,"start":80,"target":"LibTmux::Types::SessionId"},{"end":153,"start":143,"target":"LibTmux::Types::Positive"},{"end":187,"start":177,"target":"LibTmux::Types::Positive"},{"end":368,"start":356,"target":"LibTmux::Transport::Cancellation"},{"end":392,"start":380,"target":"LibTmux::Transport::Cancellation"},{"end":418,"start":397,"target":"LibTmux::Attachment"}],"returns":"LibTmux::Attachment:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"spawn","declaration":true},{"text":"("},{"text":"Endpoint:D","target":"LibTmux::Engine::Endpoint"},{"text":" :$endpoint!, "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":" :$incarnation!,\n "},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session!, IO::Handle:D :$terminal!,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms = 10_000, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-stderr-bytes = 64 * 1024,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"LibTmux::Attachment:D","target":"LibTmux::Attachment"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-spawn"},{"apiScope":"exported","doc":{"body":"Last explicit attachment observation, or the independently observed process exit.","summary":"Last explicit attachment observation, or the independently observed process exit."},"id":"LibTmux::Attachment.state","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.state","signatures":[{"params":[],"raw":"method state(--> AttachmentState:D)","references":[{"end":34,"start":17,"target":"LibTmux::Attachment::AttachmentState"}],"returns":"AttachmentState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(--> "},{"text":"AttachmentState:D","target":"LibTmux::Attachment::AttachmentState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":191,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-state"},{"apiScope":"exported","doc":{"body":"Resolve after the child exits and stderr is drained, preserving its exit status.","summary":"Resolve after the child exits and stderr is drained, preserving its exit status."},"id":"LibTmux::Attachment.when-exited","kind":"method","modifiers":[],"name":"when-exited","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment.when-exited","signatures":[{"params":[],"raw":"method when-exited(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"when-exited","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":193,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-when-exited"},{"apiScope":"exported","doc":{"body":"State established by process completion or the most recent explicit inspection.","summary":"State established by process completion or the most recent explicit inspection."},"id":"LibTmux::Attachment::AttachmentState","kind":"enum","modifiers":[],"name":"AttachmentState","package":"LibTmux","parent":"LibTmux::Attachment","product":"core","publicId":"LibTmux::Attachment::AttachmentState","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-attachment-attachmentstate"},{"apiScope":"exported","doc":{"body":"State established by process completion or the most recent explicit inspection.","summary":"State established by process completion or the most recent explicit inspection."},"id":"LibTmux::Attachment::AttachmentState.AttachmentAttached","kind":"constant","modifiers":[],"name":"AttachmentAttached","package":"LibTmux","parent":"LibTmux::Attachment::AttachmentState","product":"core","publicId":"LibTmux::Attachment::AttachmentState.AttachmentAttached","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"1","slug":"libtmux-attachment-attachmentstate-attachmentattached"},{"apiScope":"exported","doc":{"body":"State established by process completion or the most recent explicit inspection.","summary":"State established by process completion or the most recent explicit inspection."},"id":"LibTmux::Attachment::AttachmentState.AttachmentExited","kind":"constant","modifiers":[],"name":"AttachmentExited","package":"LibTmux","parent":"LibTmux::Attachment::AttachmentState","product":"core","publicId":"LibTmux::Attachment::AttachmentState.AttachmentExited","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"2","slug":"libtmux-attachment-attachmentstate-attachmentexited"},{"apiScope":"exported","doc":{"body":"State established by process completion or the most recent explicit inspection.","summary":"State established by process completion or the most recent explicit inspection."},"id":"LibTmux::Attachment::AttachmentState.AttachmentPending","kind":"constant","modifiers":[],"name":"AttachmentPending","package":"LibTmux","parent":"LibTmux::Attachment::AttachmentState","product":"core","publicId":"LibTmux::Attachment::AttachmentState.AttachmentPending","signatures":[],"source":{"file":"lib/LibTmux/Attachment.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"0","slug":"libtmux-attachment-attachmentstate-attachmentpending"},{"apiScope":"exported","doc":{"body":"# Partial outcomes, not transactions\n\nOperation requires either acknowledgement-only or a Promise of Evidence. In\ncommand scope, Complete means a successful command acknowledgement; it does not\nprove an asynchronous external effect. In effect scope, Complete additionally\nrequires matching named Evidence with satisfied=True. Evidence is supplied by\nthe caller, who must arm and correlate its operation-specific observer before\ndispatch. A name match is not proof of causation. No caller callback runs inside\nthe batch. Its deadline bounds waiting, not the caller's independent work.\nEvidence Promises are one-shot: rerunning effect-aware commands requires newly\narmed evidence, rather than treating an old observation as a new completion.\n\nThe immutable Batch captures finite membership, preserving order and rejecting\nduplicate names. Empty membership is a no-op. run/run-async accept an existing\nRuntime, Control connection or compatible CommandExecutor and never close it.\nAdapters must validate without effects, honor absolute deadlines and cancellation,\nsettle their execution Promises with Receipt values, and preserve effect certainty\nin typed errors.\nAll operations share one absolute deadline. A supplied ` :deadline(Instant) `\ncan shorten the local ` timeout-ms ` budget; it never extends that budget. The\nsame Instant is passed to every command and retained in the report. An already\nexpired deadline skips dispatch. The executor may use a shorter local limit. Cleanup retains\nthe executor's own separate bounds. Cancelling a dispatched Control request can\nclose that connection according to its documented delivery contract.\n\nEvery position receives an OperationResult. Failure stops subsequent dispatch\nby default; on-error=continue attempts remaining operations while time and\ncancellation permit. Never-dispatched suffixes are Skipped. A timed out or lost\nin-flight effect is Indeterminate, even if acknowledgement was received. The\noriginal exception and its outcome remain available through error/error-outcome.\nNo rollback is attempted or promised, and reports retain no executor owner.\n\noutput-budget-bytes defaults to 8 MiB. After each operation, Batch counts receipt\noutput and Command exception stdout/stderr, following shared Command causes only\nonce. Reaching or exceeding the threshold stops further dispatch even under\non-error=continue. The complete threshold-crossing receipt/error is retained and\nthe undispatched suffix is Skipped. This is an admission threshold: retained\noutput can reach the budget plus one executor-bounded response. It is not a hard\nRSS cap; object overhead, arbitrary adapter/evidence exceptions and independent\ncaller-owned tasks remain outside that bound. Such adapters must accurately\nreport Receipt.output-bytes and bound their own responses.","summary":""},"id":"LibTmux::Batch","kind":"module","modifiers":[],"name":"LibTmux::Batch","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Batch","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch"},{"apiScope":"exported","doc":{"body":"A finite replayable sequence of explicit commands, without transaction semantics.","summary":"A finite replayable sequence of explicit commands, without transaction semantics."},"id":"LibTmux::Batch::Batch","kind":"class","modifiers":[],"name":"Batch","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::Batch","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":206,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch"},{"apiScope":"exported","doc":{"body":"Revalidate changed membership or limits; unchanged evidence is not rearmed.","summary":"Revalidate changed membership or limits; unchanged evidence is not rearmed."},"id":"LibTmux::Batch::Batch.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Batch:D)","references":[{"end":34,"start":27,"target":"LibTmux::Batch::Batch"}],"returns":"Batch:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Batch:D","target":"LibTmux::Batch::Batch"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":248,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch-clone"},{"apiScope":"exported","doc":{"body":"Maximum sum of encoded Invocation source bytes before executor guard encoding.","summary":"Maximum sum of encoded Invocation source bytes before executor guard encoding."},"id":"LibTmux::Batch::Batch.max-command-bytes","kind":"property","modifiers":[],"name":"max-command-bytes","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.max-command-bytes","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":212,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-batch-batch-max-command-bytes"},{"apiScope":"exported","doc":{"body":"Maximum admitted operation count, enforced during incremental traversal.","summary":"Maximum admitted operation count, enforced during incremental traversal."},"id":"LibTmux::Batch::Batch.max-operations","kind":"property","modifiers":[],"name":"max-operations","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.max-operations","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":210,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-batch-batch-max-operations"},{"apiScope":"exported","doc":{"body":"Copy finite membership and validate all size/name limits without I/O.","summary":"Copy finite membership and validate all size/name limits without I/O."},"id":"LibTmux::Batch::Batch.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.new","signatures":[{"params":[{"keywordOnly":true,"name":"$operations","optional":false,"type":"Mu"},{"default":"256","keywordOnly":true,"name":"$max-operations","optional":true,"type":"Mu"},{"default":"1024 * 1024","keywordOnly":true,"name":"$max-command-bytes","optional":true,"type":"Mu"},{"default":"8 * 1024 * 1024","keywordOnly":true,"name":"$output-budget-bytes","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method new(Mu :$operations!, Mu :$max-operations = 256,\n Mu :$max-command-bytes = 1024 * 1024,\n Mu :$output-budget-bytes = 8 * 1024 * 1024, *%unknown)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(Mu :$operations!, Mu :$max-operations = 256,\n Mu :$max-command-bytes = 1024 * 1024,\n Mu :$output-budget-bytes = 8 * 1024 * 1024, *%unknown)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":217,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch-new"},{"apiScope":"exported","doc":{"body":"Captured eager Operation membership; replay preserves this order.","summary":"Captured eager Operation membership; replay preserves this order."},"id":"LibTmux::Batch::Batch.operations","kind":"property","modifiers":[],"name":"operations","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.operations","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":208,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-batch-batch-operations"},{"apiScope":"exported","doc":{"body":"Stop further dispatch once retained output reaches this byte threshold.","summary":"Stop further dispatch once retained output reaches this byte threshold."},"id":"LibTmux::Batch::Batch.output-budget-bytes","kind":"property","modifiers":[],"name":"output-budget-bytes","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.output-budget-bytes","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":214,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-batch-batch-output-budget-bytes"},{"apiScope":"exported","doc":{"body":"Run sequentially through a caller-owned executor; collect every position.","summary":"Run sequentially through a caller-owned executor; collect every position."},"id":"LibTmux::Batch::Batch.run","kind":"method","modifiers":[],"name":"run","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.run","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method run(*%options --> Report:D)","references":[{"end":33,"start":25,"target":"LibTmux::Batch::Report"}],"returns":"Report:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run","declaration":true},{"text":"(*%options --> "},{"text":"Report:D","target":"LibTmux::Batch::Report"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":259,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch-run"},{"apiScope":"exported","doc":{"body":"Share one deadline across commands and evidence; never invoke caller callbacks.","summary":"Share one deadline across commands and evidence; never invoke caller callbacks."},"id":"LibTmux::Batch::Batch.run-async","kind":"method","modifiers":[],"name":"run-async","package":"LibTmux","parent":"LibTmux::Batch::Batch","product":"core","publicId":"LibTmux::Batch::Batch.run-async","signatures":[{"params":[{"keywordOnly":true,"name":"$executor","optional":false,"type":"Mu"},{"keywordOnly":true,"name":"$incarnation","optional":false,"type":"Mu"},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true,"type":"Mu"},{"default":"Instant","keywordOnly":true,"name":"$requested-deadline","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Mu"},{"default":"'stop'","keywordOnly":true,"name":"$on-error","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method run-async(Mu :$executor!, Mu :$incarnation!, Mu :$timeout-ms = 10_000,\n Mu :deadline($requested-deadline) = Instant,\n Mu :$cancel = Cancellation, Mu :$on-error = 'stop',\n *%unknown --> Promise:D)","references":[{"end":191,"start":179,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-async","declaration":true},{"text":"(Mu :$executor!, Mu :$incarnation!, Mu :$timeout-ms = 10_000,\n Mu :deadline($requested-deadline) = Instant,\n Mu :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":", Mu :$on-error = 'stop',\n *%unknown --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":262,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-batch-run-async"},{"apiScope":"exported","doc":{"body":"Caller-supplied evidence for one named operation, not a command acknowledgement.","summary":"Caller-supplied evidence for one named operation, not a command acknowledgement."},"id":"LibTmux::Batch::Evidence","kind":"class","modifiers":[],"name":"Evidence","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::Evidence","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-evidence"},{"apiScope":"exported","doc":{"body":"Validate replacement observation data; cloning does not reobserve an effect.","summary":"Validate replacement observation data; cloning does not reobserve an effect."},"id":"LibTmux::Batch::Evidence.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::Evidence","product":"core","publicId":"LibTmux::Batch::Evidence.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Evidence:D)","references":[{"end":37,"start":27,"target":"LibTmux::Batch::Evidence"}],"returns":"Evidence:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Evidence:D","target":"LibTmux::Batch::Evidence"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":42,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-evidence-clone"},{"apiScope":"exported","doc":{"body":"Caller description of the observed postcondition, limited to 4096 characters.","summary":"Caller description of the observed postcondition, limited to 4096 characters."},"id":"LibTmux::Batch::Evidence.description","kind":"property","modifiers":[],"name":"description","package":"LibTmux","parent":"LibTmux::Batch::Evidence","product":"core","publicId":"LibTmux::Batch::Evidence.description","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-evidence-description"},{"apiScope":"exported","doc":{"body":"Unique batch operation name this observation was armed to verify.","summary":"Unique batch operation name this observation was armed to verify."},"id":"LibTmux::Batch::Evidence.operation","kind":"property","modifiers":[],"name":"operation","package":"LibTmux","parent":"LibTmux::Batch::Evidence","product":"core","publicId":"LibTmux::Batch::Evidence.operation","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":29,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-evidence-operation"},{"apiScope":"exported","doc":{"body":"Whether that postcondition held; False records a failed effect contract.","summary":"Whether that postcondition held; False records a failed effect contract."},"id":"LibTmux::Batch::Evidence.satisfied","kind":"property","modifiers":[],"name":"satisfied","package":"LibTmux","parent":"LibTmux::Batch::Evidence","product":"core","publicId":"LibTmux::Batch::Evidence.satisfied","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-batch-evidence-satisfied"},{"apiScope":"exported","doc":{"body":"One immutable command and an explicit completion contract.","summary":"One immutable command and an explicit completion contract."},"id":"LibTmux::Batch::Operation","kind":"class","modifiers":[],"name":"Operation","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::Operation","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operation"},{"apiScope":"exported","doc":{"body":"Accept command acknowledgement as completion without external effect proof.","summary":"Accept command acknowledgement as completion without external effect proof."},"id":"LibTmux::Batch::Operation.acknowledgement-only","kind":"property","modifiers":[],"name":"acknowledgement-only","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.acknowledgement-only","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-batch-operation-acknowledgement-only"},{"apiScope":"exported","doc":{"body":"Revalidate replacements; unchanged evidence retains its one-shot Promise.","summary":"Revalidate replacements; unchanged evidence retains its one-shot Promise."},"id":"LibTmux::Batch::Operation.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Operation:D)","references":[{"end":38,"start":27,"target":"LibTmux::Batch::Operation"}],"returns":"Operation:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Operation:D","target":"LibTmux::Batch::Operation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":70,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operation-clone"},{"apiScope":"exported","doc":{"body":"Immutable command admitted before any batch entry is dispatched.","summary":"Immutable command admitted before any batch entry is dispatched."},"id":"LibTmux::Batch::Operation.command","kind":"property","modifiers":[],"name":"command","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.command","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Invocation:D","slug":"libtmux-batch-operation-command"},{"apiScope":"exported","doc":{"body":"Caller-owned Promise of Evidence; undefined in acknowledgement-only mode.","summary":"Caller-owned Promise of Evidence; undefined in acknowledgement-only mode."},"id":"LibTmux::Batch::Operation.evidence","kind":"property","modifiers":[],"name":"evidence","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.evidence","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Promise","slug":"libtmux-batch-operation-evidence"},{"apiScope":"exported","doc":{"body":"Batch-unique correlation name, limited to 256 characters without NUL.","summary":"Batch-unique correlation name, limited to 256 characters without NUL."},"id":"LibTmux::Batch::Operation.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Batch::Operation","product":"core","publicId":"LibTmux::Batch::Operation.name","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-operation-name"},{"apiScope":"exported","doc":{"body":"One position's outcome, preserving its acknowledgement and original exception.","summary":"One position's outcome, preserving its acknowledgement and original exception."},"id":"LibTmux::Batch::OperationResult","kind":"class","modifiers":[],"name":"OperationResult","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::OperationResult","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":82,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult"},{"apiScope":"exported","doc":{"body":"Whether a successful command acknowledgement was received before any later failure.","summary":"Whether a successful command acknowledgement was received before any later failure."},"id":"LibTmux::Batch::OperationResult.acknowledged","kind":"method","modifiers":[],"name":"acknowledged","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.acknowledged","signatures":[{"params":[],"raw":"method acknowledged(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"acknowledged","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":109,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-acknowledged"},{"apiScope":"exported","doc":{"body":"Successful executor Receipt, or an undefined value when none was received.","summary":"Successful executor Receipt, or an undefined value when none was received."},"id":"LibTmux::Batch::OperationResult.acknowledgement","kind":"property","modifiers":[],"name":"acknowledgement","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.acknowledgement","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":92,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-acknowledgement"},{"apiScope":"exported","doc":{"body":"Refuse altered copies of recorded execution outcomes.","summary":"Refuse altered copies of recorded execution outcomes."},"id":"LibTmux::Batch::OperationResult.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":107,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-clone"},{"apiScope":"exported","doc":{"body":"command means acknowledgement; effect additionally requires satisfied Evidence.","summary":"command means acknowledgement; effect additionally requires satisfied Evidence."},"id":"LibTmux::Batch::OperationResult.completion-scope","kind":"property","modifiers":[],"name":"completion-scope","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.completion-scope","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-operationresult-completion-scope"},{"apiScope":"exported","doc":{"body":"Original execution/evidence exception; undefined for complete or skipped work.","summary":"Original execution/evidence exception; undefined for complete or skipped work."},"id":"LibTmux::Batch::OperationResult.error","kind":"property","modifiers":[],"name":"error","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.error","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":96,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Exception","slug":"libtmux-batch-operationresult-error"},{"apiScope":"exported","doc":{"body":"Preserve backend effect certainty even when batch classification differs.","summary":"Preserve backend effect certainty even when batch classification differs."},"id":"LibTmux::Batch::OperationResult.error-outcome","kind":"method","modifiers":[],"name":"error-outcome","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.error-outcome","signatures":[{"params":[],"raw":"method error-outcome(--> Outcome)","references":[{"end":32,"start":25,"target":"LibTmux::Types::Outcome"}],"returns":"Outcome","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"error-outcome","declaration":true},{"text":"(--> "},{"text":"Outcome","target":"LibTmux::Types::Outcome"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":111,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-error-outcome"},{"apiScope":"exported","doc":{"body":"Observed caller Evidence when received, including an unsatisfied observation.","summary":"Observed caller Evidence when received, including an unsatisfied observation."},"id":"LibTmux::Batch::OperationResult.evidence","kind":"property","modifiers":[],"name":"evidence","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.evidence","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Evidence","slug":"libtmux-batch-operationresult-evidence"},{"apiScope":"exported","doc":{"body":"Time its outcome was recorded, not proof that an uncertain effect stopped.","summary":"Time its outcome was recorded, not proof that an uncertain effect stopped."},"id":"LibTmux::Batch::OperationResult.finished","kind":"property","modifiers":[],"name":"finished","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.finished","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":102,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-operationresult-finished"},{"apiScope":"exported","doc":{"body":"Zero-based position in the admitted batch, including skipped entries.","summary":"Zero-based position in the admitted batch, including skipped entries."},"id":"LibTmux::Batch::OperationResult.index","kind":"property","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.index","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":84,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-batch-operationresult-index"},{"apiScope":"exported","doc":{"body":"Correlation name copied from the admitted operation.","summary":"Correlation name copied from the admitted operation."},"id":"LibTmux::Batch::OperationResult.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.name","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":86,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-operationresult-name"},{"apiScope":"exported","doc":{"body":"Refuse fabricated results; only Batch.run constructs execution observations.","summary":"Refuse fabricated results; only Batch.run constructs execution observations."},"id":"LibTmux::Batch::OperationResult.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":105,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-operationresult-new"},{"apiScope":"exported","doc":{"body":"Complete, Failed, Skipped or Indeterminate under this entry's completion scope.","summary":"Complete, Failed, Skipped or Indeterminate under this entry's completion scope."},"id":"LibTmux::Batch::OperationResult.outcome","kind":"property","modifiers":[],"name":"outcome","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.outcome","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Outcome:D","slug":"libtmux-batch-operationresult-outcome"},{"apiScope":"exported","doc":{"body":"Why dispatch was omitted; empty for an operation that was attempted.","summary":"Why dispatch was omitted; empty for an operation that was attempted."},"id":"LibTmux::Batch::OperationResult.skip-reason","kind":"property","modifiers":[],"name":"skip-reason","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.skip-reason","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":98,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-batch-operationresult-skip-reason"},{"apiScope":"exported","doc":{"body":"Admission time for this position, even when dispatch was skipped.","summary":"Admission time for this position, even when dispatch was skipped."},"id":"LibTmux::Batch::OperationResult.started","kind":"property","modifiers":[],"name":"started","package":"LibTmux","parent":"LibTmux::Batch::OperationResult","product":"core","publicId":"LibTmux::Batch::OperationResult.started","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":100,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-operationresult-started"},{"apiScope":"exported","doc":{"body":"Captured per-operation results. No runtime, control owner or caller task is retained.","summary":"Captured per-operation results. No runtime, control owner or caller task is retained."},"id":"LibTmux::Batch::Report","kind":"class","modifiers":[],"name":"Report","package":"LibTmux","parent":"LibTmux::Batch","product":"core","publicId":"LibTmux::Batch::Report","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":117,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-report"},{"apiScope":"exported","doc":{"body":"Refuse altered copies of recorded batch outcomes.","summary":"Refuse altered copies of recorded batch outcomes."},"id":"LibTmux::Batch::Report.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":136,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-report-clone"},{"apiScope":"exported","doc":{"body":"One absolute deadline shared by execution and caller-evidence waiting.","summary":"One absolute deadline shared by execution and caller-evidence waiting."},"id":"LibTmux::Batch::Report.deadline","kind":"property","modifiers":[],"name":"deadline","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.deadline","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":125,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-report-deadline"},{"apiScope":"exported","doc":{"body":"Time all positions were classified, including the undispatched suffix.","summary":"Time all positions were classified, including the undispatched suffix."},"id":"LibTmux::Batch::Report.finished","kind":"property","modifiers":[],"name":"finished","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.finished","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":123,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-report-finished"},{"apiScope":"exported","doc":{"body":"Refuse fabricated reports; only Batch.run records a complete batch attempt.","summary":"Refuse fabricated reports; only Batch.run records a complete batch attempt."},"id":"LibTmux::Batch::Report.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":134,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-report-new"},{"apiScope":"exported","doc":{"body":"Eager immutable membership containing one OperationResult per admitted entry.","summary":"Eager immutable membership containing one OperationResult per admitted entry."},"id":"LibTmux::Batch::Report.operations","kind":"property","modifiers":[],"name":"operations","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.operations","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":119,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-batch-report-operations"},{"apiScope":"exported","doc":{"body":"Aggregate uncertainty first, then failure, skipped work, and complete work.","summary":"Aggregate uncertainty first, then failure, skipped work, and complete work."},"id":"LibTmux::Batch::Report.outcome","kind":"method","modifiers":[],"name":"outcome","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.outcome","signatures":[{"params":[],"raw":"method outcome(--> Outcome:D)","references":[{"end":28,"start":19,"target":"LibTmux::Types::Outcome"}],"returns":"Outcome:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"outcome","declaration":true},{"text":"(--> "},{"text":"Outcome:D","target":"LibTmux::Types::Outcome"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Batch.rakumod","line":138,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-batch-report-outcome"},{"apiScope":"exported","doc":{"body":"Admission threshold in bytes; the final retained response may exceed it.","summary":"Admission threshold in bytes; the final retained response may exceed it."},"id":"LibTmux::Batch::Report.output-budget-bytes","kind":"property","modifiers":[],"name":"output-budget-bytes","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.output-budget-bytes","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":131,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-batch-report-output-budget-bytes"},{"apiScope":"exported","doc":{"body":"Counted receipt and Command-error bytes, with shared causes counted once.","summary":"Counted receipt and Command-error bytes, with shared causes counted once."},"id":"LibTmux::Batch::Report.output-bytes","kind":"property","modifiers":[],"name":"output-bytes","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.output-bytes","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":129,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-batch-report-output-bytes"},{"apiScope":"exported","doc":{"body":"Time before command preflight began; the overall deadline starts here.","summary":"Time before command preflight began; the overall deadline starts here."},"id":"LibTmux::Batch::Report.started","kind":"property","modifiers":[],"name":"started","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.started","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":121,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-batch-report-started"},{"apiScope":"exported","doc":{"body":"Cause that requested a stop; undefined when no stopping condition occurred.","summary":"Cause that requested a stop; undefined when no stopping condition occurred."},"id":"LibTmux::Batch::Report.stop-error","kind":"property","modifiers":[],"name":"stop-error","package":"LibTmux","parent":"LibTmux::Batch::Report","product":"core","publicId":"LibTmux::Batch::Report.stop-error","signatures":[],"source":{"file":"lib/LibTmux/Batch.rakumod","line":127,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Exception","slug":"libtmux-batch-report-stop-error"},{"apiScope":"exported","doc":{"body":"# Capability observations\nConstruction consumes explicit observations and packaged catalogue data. It\nnever launches tmux. Replacing a daemon or negotiating connection flags needs\na new capability object. The engine binds these observations to actual\ndaemon identity; this class does not establish that identity by itself.\n\n` supports ` and ` require ` describe native features. A fallback identifies an\nalternative which the caller must choose explicitly. ` workaround ` describes\nrequired handling; it never claims the repair was performed. Field support\ndoes not mean the field was acquired or is available in every context.","summary":""},"id":"LibTmux::Capabilities","kind":"class","modifiers":[],"name":"LibTmux::Capabilities","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Capabilities","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities"},{"apiScope":"exported","doc":{"body":"Independently observed executable version, retained for diagnostics.","summary":"Independently observed executable version, retained for diagnostics."},"id":"LibTmux::Capabilities.client-version","kind":"property","modifiers":[],"name":"client-version","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.client-version","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-client-version"},{"apiScope":"exported","doc":{"body":"Reconstruct copies so changed observations cannot retain stale parsed evidence.","summary":"Reconstruct copies so changed observations cannot retain stale parsed evidence."},"id":"LibTmux::Capabilities.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> LibTmux::Capabilities:D)","references":[{"end":50,"start":27,"target":"LibTmux::Capabilities"}],"returns":"LibTmux::Capabilities:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"LibTmux::Capabilities:D","target":"LibTmux::Capabilities"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":60,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-clone"},{"apiScope":"exported","doc":{"body":"Codec identifier selected through catalogue policy: qa or t6.","summary":"Codec identifier selected through catalogue policy: qa or t6."},"id":"LibTmux::Capabilities.codec-profile","kind":"method","modifiers":[],"name":"codec-profile","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.codec-profile","signatures":[{"params":[],"raw":"method codec-profile(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"codec-profile","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":160,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-codec-profile"},{"apiScope":"exported","doc":{"body":"Version observed from the daemon; client version does not establish support.","summary":"Version observed from the daemon; client version does not establish support."},"id":"LibTmux::Capabilities.daemon-version","kind":"property","modifiers":[],"name":"daemon-version","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.daemon-version","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-daemon-version"},{"apiScope":"exported","doc":{"body":"All discoverable feature decisions for this immutable observation.","summary":"All discoverable feature decisions for this immutable observation."},"id":"LibTmux::Capabilities.features","kind":"method","modifiers":[],"name":"features","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.features","signatures":[{"params":[],"raw":"method features(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"features","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":150,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-features"},{"apiScope":"exported","doc":{"body":"Availability of a registered field, independent of acquisition completeness.","summary":"Availability of a registered field, independent of acquisition completeness."},"id":"LibTmux::Capabilities.field-status","kind":"method","modifiers":[],"name":"field-status","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.field-status","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method field-status(Str:D $entity, Str:D $name --> Decision:D)","references":[{"end":61,"start":51,"target":"LibTmux::Capabilities::Decision"}],"returns":"Decision:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"field-status","declaration":true},{"text":"(Str:D $entity, Str:D $name --> "},{"text":"Decision:D","target":"LibTmux::Capabilities::Decision"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":183,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-field-status"},{"apiScope":"exported","doc":{"body":"Opaque immutable identity supplied by the engine's explicit identity probe.","summary":"Opaque immutable identity supplied by the engine's explicit identity probe."},"id":"LibTmux::Capabilities.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":40,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-incarnation"},{"apiScope":"exported","doc":{"body":"Default captured-layout dialect. Control negotiation remains explicit.","summary":"Default captured-layout dialect. Control negotiation remains explicit."},"id":"LibTmux::Capabilities.layout-profile","kind":"method","modifiers":[],"name":"layout-profile","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.layout-profile","signatures":[{"params":[],"raw":"method layout-profile(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"layout-profile","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":175,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-layout-profile"},{"apiScope":"exported","doc":{"body":"Flags already negotiated by an explicitly owned connection.","summary":"Flags already negotiated by an explicitly owned connection."},"id":"LibTmux::Capabilities.negotiated-features","kind":"property","modifiers":[],"name":"negotiated-features","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.negotiated-features","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":44,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-capabilities-negotiated-features"},{"apiScope":"exported","doc":{"body":"Required legacy decoding stage: vis or none. No repair has run here.","summary":"Required legacy decoding stage: vis or none. No repair has run here."},"id":"LibTmux::Capabilities.output-repair","kind":"method","modifiers":[],"name":"output-repair","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.output-repair","signatures":[{"params":[],"raw":"method output-repair(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"output-repair","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":169,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-output-repair"},{"apiScope":"exported","doc":{"body":"Parsed executable release retained for diagnostics, not daemon feature decisions.","summary":"Parsed executable release retained for diagnostics, not daemon feature decisions."},"id":"LibTmux::Capabilities.parsed-client-version","kind":"method","modifiers":[],"name":"parsed-client-version","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.parsed-client-version","signatures":[{"params":[],"raw":"method parsed-client-version(--> TmuxVersion:D)","references":[{"end":46,"start":33,"target":"LibTmux::Catalogue::TmuxVersion"}],"returns":"TmuxVersion:D","nativeSyntax":[{"start":7,"end":28,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"parsed-client-version","declaration":true},{"text":"(--> "},{"text":"TmuxVersion:D","target":"LibTmux::Catalogue::TmuxVersion"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-parsed-client-version"},{"apiScope":"exported","doc":{"body":"Parsed daemon release; syntactic stability does not establish a support profile.","summary":"Parsed daemon release; syntactic stability does not establish a support profile."},"id":"LibTmux::Capabilities.parsed-daemon-version","kind":"method","modifiers":[],"name":"parsed-daemon-version","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.parsed-daemon-version","signatures":[{"params":[],"raw":"method parsed-daemon-version(--> TmuxVersion:D)","references":[{"end":46,"start":33,"target":"LibTmux::Catalogue::TmuxVersion"}],"returns":"TmuxVersion:D","nativeSyntax":[{"start":7,"end":28,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"parsed-daemon-version","declaration":true},{"text":"(--> "},{"text":"TmuxVersion:D","target":"LibTmux::Catalogue::TmuxVersion"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-parsed-daemon-version"},{"apiScope":"exported","doc":{"body":"Require native support or throw a typed, reason-bearing refusal.","summary":"Require native support or throw a typed, reason-bearing refusal."},"id":"LibTmux::Capabilities.require","kind":"method","modifiers":[],"name":"require","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.require","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method require(Str:D $id --> Decision:D)","references":[{"end":39,"start":29,"target":"LibTmux::Capabilities::Decision"}],"returns":"Decision:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"require","declaration":true},{"text":"(Str:D $id --> "},{"text":"Decision:D","target":"LibTmux::Capabilities::Decision"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":129,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-require"},{"apiScope":"exported","doc":{"body":"Return the supported field specification or throw Unsupported with its reason.","summary":"Return the supported field specification or throw Unsupported with its reason."},"id":"LibTmux::Capabilities.require-field","kind":"method","modifiers":[],"name":"require-field","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.require-field","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method require-field(Str:D $entity, Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"require-field","declaration":true},{"text":"(Str:D $entity, Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":205,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-require-field"},{"apiScope":"exported","doc":{"body":"How the caller acquired the daemon observation.","summary":"How the caller acquired the daemon observation."},"id":"LibTmux::Capabilities.source","kind":"property","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.source","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":42,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-source"},{"apiScope":"exported","doc":{"body":"Inspect one feature without I/O. Unknown names remain explicitly unknown.","summary":"Inspect one feature without I/O. Unknown names remain explicitly unknown."},"id":"LibTmux::Capabilities.status","kind":"method","modifiers":[],"name":"status","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.status","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method status(Str:D $id --> Decision:D)","references":[{"end":38,"start":28,"target":"LibTmux::Capabilities::Decision"}],"returns":"Decision:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"status","declaration":true},{"text":"(Str:D $id --> "},{"text":"Decision:D","target":"LibTmux::Capabilities::Decision"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":118,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-status"},{"apiScope":"exported","doc":{"body":"Native support only; an available fallback does not make the feature native.","summary":"Native support only; an available fallback does not make the feature native."},"id":"LibTmux::Capabilities.supports","kind":"method","modifiers":[],"name":"supports","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.supports","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method supports(Str:D $id --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"supports","declaration":true},{"text":"(Str:D $id --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":126,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-supports"},{"apiScope":"exported","doc":{"body":"Whether the observed daemon supports the registered field; unknown means False.","summary":"Whether the observed daemon supports the registered field; unknown means False."},"id":"LibTmux::Capabilities.supports-field","kind":"method","modifiers":[],"name":"supports-field","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.supports-field","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method supports-field(Str:D $entity, Str:D $name --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"supports-field","declaration":true},{"text":"(Str:D $entity, Str:D $name --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":200,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-supports-field"},{"apiScope":"exported","doc":{"body":"Inspect an upstream defect. applies means handling is needed, not completed.","summary":"Inspect an upstream defect. applies means handling is needed, not completed."},"id":"LibTmux::Capabilities.workaround","kind":"method","modifiers":[],"name":"workaround","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.workaround","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method workaround(Str:D $id --> Decision:D)","references":[{"end":42,"start":32,"target":"LibTmux::Capabilities::Decision"}],"returns":"Decision:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"workaround","declaration":true},{"text":"(Str:D $id --> "},{"text":"Decision:D","target":"LibTmux::Capabilities::Decision"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":142,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-workaround"},{"apiScope":"exported","doc":{"body":"All declared defects, including those which do not apply to this release.","summary":"All declared defects, including those which do not apply to this release."},"id":"LibTmux::Capabilities.workarounds","kind":"method","modifiers":[],"name":"workarounds","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities.workarounds","signatures":[{"params":[],"raw":"method workarounds(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"workarounds","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-workarounds"},{"apiScope":"exported","doc":{"body":"Evidence and required handling; a repair policy never means repair ran.","summary":"Evidence and required handling; a repair policy never means repair ran."},"id":"LibTmux::Capabilities::Decision","kind":"class","modifiers":[],"name":"Decision","package":"LibTmux","parent":"LibTmux::Capabilities","product":"core","publicId":"LibTmux::Capabilities::Decision","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":11,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-decision"},{"apiScope":"exported","doc":{"body":"Whether this defect needs handling; True does not mean a repair has run.","summary":"Whether this defect needs handling; True does not mean a repair has run."},"id":"LibTmux::Capabilities::Decision.applies","kind":"method","modifiers":[],"name":"applies","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.applies","signatures":[{"params":[],"raw":"method applies(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"applies","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-decision-applies"},{"apiScope":"exported","doc":{"body":"Provenance label from the immutable daemon capability observation.","summary":"Provenance label from the immutable daemon capability observation."},"id":"LibTmux::Capabilities::Decision.evidence","kind":"property","modifiers":[],"name":"evidence","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.evidence","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-evidence"},{"apiScope":"exported","doc":{"body":"Explicit alternative capability identifier; empty when no fallback is declared.","summary":"Explicit alternative capability identifier; empty when no fallback is declared."},"id":"LibTmux::Capabilities::Decision.fallback","kind":"property","modifiers":[],"name":"fallback","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.fallback","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-fallback"},{"apiScope":"exported","doc":{"body":"Refusal, fallback or repair policy; it does not record an executed action.","summary":"Refusal, fallback or repair policy; it does not record an executed action."},"id":"LibTmux::Capabilities::Decision.handling","kind":"property","modifiers":[],"name":"handling","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.handling","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-handling"},{"apiScope":"exported","doc":{"body":"Catalogue feature, field or defect identifier used by this decision.","summary":"Catalogue feature, field or defect identifier used by this decision."},"id":"LibTmux::Capabilities::Decision.id","kind":"property","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.id","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":13,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-id"},{"apiScope":"exported","doc":{"body":"Whether the decision concerns a feature, field or known upstream defect.","summary":"Whether the decision concerns a feature, field or known upstream defect."},"id":"LibTmux::Capabilities::Decision.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.kind","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":15,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-kind"},{"apiScope":"exported","doc":{"body":"Explanation of availability, missing evidence or a blocking defect.","summary":"Explanation of availability, missing evidence or a blocking defect."},"id":"LibTmux::Capabilities::Decision.reason","kind":"property","modifiers":[],"name":"reason","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.reason","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-reason"},{"apiScope":"exported","doc":{"body":"Pinned upstream source supporting the policy, or empty when no rule exists.","summary":"Pinned upstream source supporting the policy, or empty when no rule exists."},"id":"LibTmux::Capabilities::Decision.source","kind":"property","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.source","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":23,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-capabilities-decision-source"},{"apiScope":"exported","doc":{"body":"Qualified support state; Unknown is distinct from an unsupported release.","summary":"Qualified support state; Unknown is distinct from an unsupported release."},"id":"LibTmux::Capabilities::Decision.state","kind":"property","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.state","signatures":[],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SupportState:D","slug":"libtmux-capabilities-decision-state"},{"apiScope":"exported","doc":{"body":"True only for a supported feature or field, never for a known defect.","summary":"True only for a supported feature or field, never for a known defect."},"id":"LibTmux::Capabilities::Decision.supported","kind":"method","modifiers":[],"name":"supported","package":"LibTmux","parent":"LibTmux::Capabilities::Decision","product":"core","publicId":"LibTmux::Capabilities::Decision.supported","signatures":[{"params":[],"raw":"method supported(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"supported","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Capabilities.rakumod","line":30,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-capabilities-decision-supported"},{"apiScope":"exported","doc":{"body":"Packaged, source-qualified fields, relationships, options and release profiles.\n\n# LibTmux field and capability catalogue\n\nGenerated from the packaged resources. Edit the resources and regenerate this file.\n\nAvailability identifies source support; it does not establish acquisition completeness.\n\n\n\n## session\n\n\n\n- ` id ` / ` id `\n\nFORMAT ` session_id `; session-id; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` session_name `; text; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` windows-count ` / ` windowsCount `\n\nFORMAT ` session_windows `; uint; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` attached-count ` / ` attachedCount `\n\nFORMAT ` session_attached `; uint; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` created ` / ` created `\n\nFORMAT ` session_created `; uint; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` activity ` / ` activity `\n\nFORMAT ` session_activity `; uint; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` path ` / ` path `\n\nFORMAT ` session_path `; text; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` grouped ` / ` grouped `\n\nFORMAT ` session_grouped `; bool; context session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` group-name ` / ` groupName `\n\nFORMAT ` session_group `; text; context session; nullable True; since 3.3a.\n\nNull policy: not-grouped; dependency: grouped.\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` window-links ` relation\n\nmany window-link; nullable False.\n\n\n\n- ` current-link ` relation\n\none window-link; nullable False.\n\n\n\n- ` group ` relation\n\none session-group; nullable True.\n\n\n\n## window-link\n\n\n\n- ` session-id ` / ` sessionId `\n\nFORMAT ` session_id `; session-id; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` window-id ` / ` windowId `\n\nFORMAT ` window_id `; window-id; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` index ` / ` index `\n\nFORMAT ` window_index `; uint; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 2147483647.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` active ` / ` active `\n\nFORMAT ` window_active `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` last ` / ` last `\n\nFORMAT ` window_last_flag `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` activity ` / ` activity `\n\nFORMAT ` window_activity_flag `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` bell ` / ` bell `\n\nFORMAT ` window_bell_flag `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` silence ` / ` silence `\n\nFORMAT ` window_silence_flag `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` session ` relation\n\none session; nullable False.\n\n\n\n- ` window ` relation\n\none window; nullable False.\n\n\n\n## window\n\n\n\n- ` id ` / ` id `\n\nFORMAT ` window_id `; window-id; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` window_name `; text; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` width ` / ` width `\n\nFORMAT ` window_width `; uint; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 4294967295.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` height ` / ` height `\n\nFORMAT ` window_height `; uint; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 4294967295.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` panes-count ` / ` panesCount `\n\nFORMAT ` window_panes `; uint; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` layout ` / ` layout `\n\nFORMAT ` window_layout `; text; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` visible-layout ` / ` visibleLayout `\n\nFORMAT ` window_visible_layout `; text; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` zoomed ` / ` zoomed `\n\nFORMAT ` window_zoomed_flag `; bool; context window; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` linked ` / ` linked `\n\nFORMAT ` window_linked `; bool; context window-link; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` modal-pane-id ` / ` modalPaneId `\n\nFORMAT ` window_modal_pane `; pane-id; context window; nullable True; since 3.8.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` panes ` relation\n\nmany pane; nullable False.\n\n\n\n- ` links ` relation\n\nmany window-link; nullable False.\n\n\n\n- ` active-pane ` relation\n\none pane; nullable False.\n\n\n\n## pane\n\n\n\n- ` id ` / ` id `\n\nFORMAT ` pane_id `; pane-id; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` window-id ` / ` windowId `\n\nFORMAT ` window_id `; window-id; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` index ` / ` index `\n\nFORMAT ` pane_index `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` active ` / ` active `\n\nFORMAT ` pane_active `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` width ` / ` width `\n\nFORMAT ` pane_width `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 4294967295.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` height ` / ` height `\n\nFORMAT ` pane_height `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nExact source operators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\nSource numeric domain: 0 through 4294967295.\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/tmux.h)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` left ` / ` left `\n\nFORMAT ` pane_left `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` top ` / ` top `\n\nFORMAT ` pane_top `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` pid ` / ` pid `\n\nFORMAT ` pane_pid `; uint; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` tty ` / ` tty `\n\nFORMAT ` pane_tty `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` title ` / ` title `\n\nFORMAT ` pane_title `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` current-command ` / ` currentCommand `\n\nFORMAT ` pane_current_command `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` current-path ` / ` currentPath `\n\nFORMAT ` pane_current_path `; text; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` start-command ` / ` startCommand `\n\nFORMAT ` pane_start_command `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` start-path ` / ` startPath `\n\nFORMAT ` pane_start_path `; text; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` dead ` / ` dead `\n\nFORMAT ` pane_dead `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\nExact source operators: equals, not-equals, in, not-in.\n\n\n\nPushdown evidence: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` dead-status ` / ` deadStatus `\n\nFORMAT ` pane_dead_status `; uint; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` dead-signal ` / ` deadSignal `\n\nFORMAT ` pane_dead_signal `; text; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` dead-time ` / ` deadTime `\n\nFORMAT ` pane_dead_time `; uint; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` in-mode ` / ` inMode `\n\nFORMAT ` pane_in_mode `; uint; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` mode ` / ` mode `\n\nFORMAT ` pane_mode `; text; context pane; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` pipe ` / ` pipe `\n\nFORMAT ` pane_pipe `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` synchronized ` / ` synchronized `\n\nFORMAT ` pane_synchronized `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` floating ` / ` floating `\n\nFORMAT ` pane_floating_flag `; bool; context pane; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` modal ` / ` modal `\n\nFORMAT ` pane_modal_flag `; bool; context pane; nullable False; since 3.8.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` x ` / ` x `\n\nFORMAT ` pane_x `; int; context pane; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` y ` / ` y `\n\nFORMAT ` pane_y `; int; context pane; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` z ` / ` z `\n\nFORMAT ` pane_z `; uint; context pane; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` command-running ` / ` commandRunning `\n\nFORMAT ` pane_command_running `; bool; context pane; nullable False; since 3.8.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` command-status ` / ` commandStatus `\n\nFORMAT ` pane_command_status `; int; context pane; nullable True; since 3.8.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/format.c)\n\n\n\n- ` at-top ` / ` atTop `\n\nFORMAT ` pane_at_top `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` at-bottom ` / ` atBottom `\n\nFORMAT ` pane_at_bottom `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` at-left ` / ` atLeft `\n\nFORMAT ` pane_at_left `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` at-right ` / ` atRight `\n\nFORMAT ` pane_at_right `; bool; context pane; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` window ` relation\n\none window; nullable False.\n\n\n\n## client\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` client_name `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` session-id ` / ` sessionId `\n\nFORMAT ` session_id `; session-id; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` session-name ` / ` sessionName `\n\nFORMAT ` client_session `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` tty ` / ` tty `\n\nFORMAT ` client_tty `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` pid ` / ` pid `\n\nFORMAT ` client_pid `; uint; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` width ` / ` width `\n\nFORMAT ` client_width `; uint; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` height ` / ` height `\n\nFORMAT ` client_height `; uint; context client; nullable True; since 3.3a.\n\nNull policy: empty; dependency: none.\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte, is-null.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c#L1283](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c#L1283)\n\n\n\n- ` created ` / ` created `\n\nFORMAT ` client_created `; uint; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` activity ` / ` activity `\n\nFORMAT ` client_activity `; uint; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` control-mode ` / ` controlMode `\n\nFORMAT ` client_control_mode `; bool; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` read-only ` / ` readOnly `\n\nFORMAT ` client_readonly `; bool; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` terminal-name ` / ` terminalName `\n\nFORMAT ` client_termname `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` key-table ` / ` keyTable `\n\nFORMAT ` client_key_table `; text; context client; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` session ` relation\n\none session; nullable False.\n\n\n\n## session-group\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` session_group `; text; context grouped-session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` size ` / ` size `\n\nFORMAT ` session_group_size `; uint; context grouped-session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` attached-count ` / ` attachedCount `\n\nFORMAT ` session_group_attached `; uint; context grouped-session; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` sessions ` relation\n\nmany session; nullable False.\n\n\n\n## buffer\n\n\n\n- ` name ` / ` name `\n\nFORMAT ` buffer_name `; text; context buffer; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` size ` / ` size `\n\nFORMAT ` buffer_size `; uint; context buffer; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` created ` / ` created `\n\nFORMAT ` buffer_created `; uint; context buffer; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, lt, lte, gt, gte.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` sample ` / ` sample `\n\nFORMAT ` buffer_sample `; text; context buffer; nullable False; since 3.3a.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n## key-binding\n\n\n\n- ` table ` / ` table `\n\nFORMAT ` key_table `; text; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n- ` key ` / ` key `\n\nFORMAT ` key_string `; text; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n- ` repeat ` / ` repeat `\n\nFORMAT ` key_repeat `; bool; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n- ` command-source ` / ` commandSource `\n\nFORMAT ` key_command `; text; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n- ` note ` / ` note `\n\nFORMAT ` key_note `; text; context key-binding; nullable False; since 3.7.\n\n\n\nOperators: equals, not-equals, in, not-in, contains, starts-with, ends-with.\n\n\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n## Features and required handling\n\n\n\n- ` managed-commands `\n\nfeature; refuse; since 3.3a. Managed commands require an exact declared daemon release profile.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/cmd.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/cmd.c)\n\n\n\n- ` format-tilde `\n\nfeature; refuse; since 3.3a. Six ordered substitutions encode delimiters, backslashes and dollar signs.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/format.c)\n\n\n\n- ` format-argument-quote `\n\nfeature; fallback; since 3.7. q/a is introduced in 3.7; older profiles use the tested tilde codec.\n\nFallback: ` format-tilde `.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/format.c)\n\n\n\n- ` format-output-vis `\n\ndefect; repair; exact releases 3.4, 3.5, 3.5a. Reverse one VIS output layer before decoding the tilde field.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/server-client.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/server-client.c)\n\n\n\n- ` layout-classic `\n\nfeature; refuse; since 3.3a. Classic layouts remain available for old layouts and unnegotiated control clients.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/layout-custom.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/layout-custom.c)\n\n\n\n- ` layout-json `\n\nfeature; refuse; since 3.8. JSON layouts include floating placements in the current profile.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/layout-custom.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/layout-custom.c)\n\n\n\n- ` control-mode `\n\nfeature; refuse; since 3.3a. Control framing is available at the support floor.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/control.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/control.c)\n\n\n\n- ` control-new-layouts `\n\nfeature; refuse; since 3.8. Enable new-layouts explicitly before interpreting new control layouts.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/server-client.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/server-client.c)\n\n\n\n- ` pane-floating `\n\nfeature; refuse; since 3.7. Floating panes and their coordinates are available starting in 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-split-window.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-split-window.c)\n\n\n\n- ` pane-modal `\n\nfeature; refuse; since 3.8. Modal panes and modal-window fields require 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-split-window.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-split-window.c)\n\n\n\n- ` buffer-full `\n\nfeature; fallback; since 3.6. Use save-buffer when buffer_full is unavailable.\n\nFallback: ` buffer-save `.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/format.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/format.c)\n\n\n\n- ` buffer-save `\n\nfeature; refuse; since 3.3a. Binary save-buffer capture is separate from FORMAT framing.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/cmd-save-buffer.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/cmd-save-buffer.c)\n\n\n\n- ` layout-mirrored-main `\n\nfeature; refuse; since 3.5. Mirrored main-horizontal and main-vertical layouts require 3.5.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/layout-set.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/layout-set.c)\n\n\n\n- ` split-percent-defect `\n\ndefect; refuse; exact releases 3.4. split-window -p is broken in 3.4; use the explicit -l percentage form.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/cmd-split-window.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/cmd-split-window.c)\n\n\n\n- ` break-pane-name-defect `\n\ndefect; refuse; exact releases 3.7. tmux 3.7 ignores explicit break-pane names and dereferences a null name in the unnamed multi-pane path; refuse break-pane before dispatch.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-break-pane.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-break-pane.c)\n\n\n\n- ` name-separator-defect `\n\ndefect; refuse; exact releases 3.7. tmux 3.7 rejects colon and dot names; validate their capability before dispatch.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/tmux.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/tmux.c)\n\n\n\n- ` session-name-separators `\n\nfeature; refuse; since 3.7a. Literal dot and colon in session names require 3.7a; earlier releases replace or reject them.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0e418b62d259ce8da8970f75732cc6632ee4c3a0/tmux.c#L285](https://github.com/tmux/tmux/blob/0e418b62d259ce8da8970f75732cc6632ee4c3a0/tmux.c#L285)\n\n\n\n- ` window-name-separators `\n\nfeature; refuse; since 3.3a. Literal dot and colon in window names are supported unless the declared separator defect applies.\n\n\n\nBlocked by: name-separator-defect.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/window.c#L405](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/window.c#L405)\n\n\n\n- ` pane-empty-flag `\n\nfeature; refuse; since 3.7. Explicit empty split panes use -E from 3.7; older releases require the declared empty-argument adapter.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-split-window.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-split-window.c)\n\n\n\n- ` window-empty `\n\nfeature; refuse; since 3.8. Empty window creation requires the new-window -E flag from 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-new-window.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-new-window.c)\n\n\n\n- ` break-pane-single-print `\n\nfeature; refuse; since 3.6. Breaking the only pane prints its returned identity from 3.6; older releases need an explicit scoped identity acquisition.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-break-pane.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-break-pane.c)\n\n\n\n- ` pane-floating-move `\n\nfeature; refuse; since 3.8. Floating pane position and stack changes require move-pane placement flags from 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-join-pane.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/cmd-join-pane.c)\n\n\n\n- ` control-job-output `\n\nfeature; refuse; since 3.5. Foreground run-shell job output is delivered to the command client from 3.5; earlier releases send it to pane view mode. This does not guarantee shell-output framing.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/cmd-run-shell.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/cmd-run-shell.c)\n\n\n\n- ` menu-appearance `\n\nfeature; refuse; since 3.4. Menu border, style, selected style and initial choice flags are available from 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/cmd-display-menu.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/cmd-display-menu.c)\n\n\n\n- ` menu-mouse `\n\nfeature; refuse; since 3.5. The display-menu -M flag enables mouse selection without a triggering mouse event from 3.5.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/cmd-display-menu.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/cmd-display-menu.c)\n\n\n\n- ` popup-close-on-key `\n\nfeature; refuse; since 3.6. The display-popup -k flag requests close on any key from 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-display-menu.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-display-menu.c)\n\n\n\n- ` popup-reset-flags `\n\nfeature; refuse; since 3.6. The display-popup -N flag resets existing popup flags from 3.6; omitted flags otherwise preserve the existing popup policy.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-display-menu.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-display-menu.c)\n\n\n\n- ` prompt-literal-commas `\n\nfeature; refuse; since 3.6. The command-prompt -l flag retains commas in one prompt and initial input from 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-command-prompt.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/cmd-command-prompt.c)\n\n\n\n- ` key-binding-format `\n\nfeature; refuse; since 3.7. Key table, key, repeat, note and native command source can be projected with list-keys -F from 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/cmd-list-keys.c)\n\n\n\n## Option types and scopes\n\n\n\n- ` activity-action `\n\nchoice; scope session; since 3.3a.\n\nChoices: none, any, current, other.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-bind-key `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-capture-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-copy-mode `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-display-message `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-display-panes `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-kill-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-buffers `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-clients `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-keys `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-panes `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-sessions `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-list-windows `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-load-buffer `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-lock-server `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-new-session `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-new-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-paste-buffer `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-pipe-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-queue `\n\ncommand; scope session; since 3.3a, before 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-refresh-client `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-rename-session `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-rename-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-resize-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-resize-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-save-buffer `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-select-layout `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-select-pane `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-select-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-send-keys `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-set-buffer `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-set-environment `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-set-hook `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-set-option `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-show-environment `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-show-messages `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-show-options `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-split-window `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` after-swap-window `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` after-unbind-key `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` aggressive-resize `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` alert-activity `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` alert-bell `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` alert-silence `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` allow-passthrough `\n\nflag; scope window, pane; since 3.3a, before 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` allow-passthrough `\n\nchoice; scope window, pane; since 3.4.\n\nChoices: off, on, all.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` allow-rename `\n\nflag; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` allow-set-title `\n\nflag; scope window, pane; since 3.5.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c)\n\n\n\n- ` alternate-screen `\n\nflag; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` assume-paste-time `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` automatic-rename `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` automatic-rename-format `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` backspace `\n\nkey; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` base-index `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` bell-action `\n\nchoice; scope session; since 3.3a.\n\nChoices: none, any, current, other.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` buffer-limit `\n\nnumber; scope server; since 3.3a.\n\n\n\nRange: 1 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` clear-on-attach `\n\nflag; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` client-active `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-attached `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-closed `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` client-created `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` client-dark-theme `\n\ncommand; scope session; since 3.6. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` client-detached `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-focus-in `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-focus-out `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-light-theme `\n\ncommand; scope session; since 3.6. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` client-resized `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` client-session-changed `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` clock-mode-colour `\n\ncolour; scope window; since 3.3a, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` clock-mode-colour `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` clock-mode-style `\n\nchoice; scope window; since 3.3a, before 3.6.\n\nChoices: 12, 24.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` clock-mode-style `\n\nchoice; scope window; since 3.6.\n\nChoices: 12, 24, 12-with-seconds, 24-with-seconds.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` codepoint-widths `\n\nstring; scope server; since 3.6. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` command-alias `\n\nstring; scope server; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` command-error `\n\ncommand; scope session; since 3.5. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c)\n\n\n\n- ` copy-command `\n\nstring; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` copy-mode-current-line-number-style `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` copy-mode-current-line-style `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` copy-mode-current-match-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` copy-mode-line-number-style `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` copy-mode-line-numbers `\n\nchoice; scope window; since 3.7.\n\nChoices: off, default, absolute, relative, hybrid.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` copy-mode-mark-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` copy-mode-match-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` copy-mode-position-format `\n\nstring; scope window, pane; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` copy-mode-position-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` copy-mode-selection-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` cursor-colour `\n\ncolour; scope window, pane; since 3.3a, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` cursor-colour `\n\nstring; scope window, pane; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` cursor-style `\n\nchoice; scope window, pane; since 3.3a.\n\nChoices: default, blinking-block, block, blinking-underline, underline, blinking-bar, bar.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` dark-theme-black `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-blue `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-cyan `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-dark-grey `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-green `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-light-grey `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-magenta `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-red `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-white `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` dark-theme-yellow `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` default-client-command `\n\ncommand; scope server; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` default-command `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` default-shell `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` default-size `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` default-terminal `\n\nstring; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` destroy-unattached `\n\nflag; scope session; since 3.3a, before 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` destroy-unattached `\n\nchoice; scope session; since 3.4.\n\nChoices: off, on, keep-last, keep-group.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` detach-on-destroy `\n\nchoice; scope session; since 3.3a, before 3.4.\n\nChoices: off, on, no-detached.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` detach-on-destroy `\n\nchoice; scope session; since 3.4.\n\nChoices: off, on, no-detached, previous, next.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` display-panes-active-colour `\n\ncolour; scope session; since 3.3a, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` display-panes-active-colour `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-panes-border-style `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-panes-colour `\n\ncolour; scope session; since 3.3a, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` display-panes-colour `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-panes-format `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-panes-time `\n\nnumber; scope session; since 3.3a, before 3.8.\n\n\n\nRange: 1 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` display-panes-time `\n\nnumber; scope window; since 3.8.\n\n\n\nRange: 1 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` display-time `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` editor `\n\nstring; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` escape-time `\n\nnumber; scope server; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` exit-empty `\n\nflag; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` exit-unattached `\n\nflag; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` extended-keys `\n\nchoice; scope server; since 3.3a.\n\nChoices: off, on, always.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` extended-keys-format `\n\nchoice; scope server; since 3.5.\n\nChoices: csi-u, xterm.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c)\n\n\n\n- ` fill-character `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` focus-events `\n\nflag; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` focus-follows-mouse `\n\nflag; scope session; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` get-clipboard `\n\nchoice; scope server; since 3.7.\n\nChoices: off, buffer, request, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` history-file `\n\nstring; scope server; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` history-limit `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` initial-repeat-time `\n\nnumber; scope session; since 3.6.\n\n\n\nRange: 0 through 2000000.\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` input-buffer-size `\n\nnumber; scope server; since 3.6.\n\n\n\nRange: 1048576 through 4294967295.\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` key-table `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` light-theme-black `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-blue `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-cyan `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-dark-grey `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-green `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-light-grey `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-magenta `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-red `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-white `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` light-theme-yellow `\n\nstring; scope server; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` lock-after-time `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` lock-command `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` main-pane-height `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` main-pane-width `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` marked-pane-changed `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` menu-border-lines `\n\nchoice; scope window; since 3.4.\n\nChoices: single, double, heavy, simple, rounded, padded, none.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` menu-border-style `\n\nstring; scope window; since 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` menu-selected-style `\n\nstring; scope window; since 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` menu-style `\n\nstring; scope window; since 3.4.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` message-command-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` message-format `\n\nstring; scope session; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` message-limit `\n\nnumber; scope server; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` message-line `\n\nchoice; scope session; since 3.4.\n\nChoices: 0, 1, 2, 3, 4.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c](https://github.com/tmux/tmux/blob/9ae69c3795ab5ef6b4d760f6398cd9281151f632/options-table.c)\n\n\n\n- ` message-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` mode-keys `\n\nchoice; scope window; since 3.3a.\n\nChoices: emacs, vi.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` mode-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` monitor-activity `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` monitor-bell `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` monitor-silence `\n\nnumber; scope window; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` mouse `\n\nflag; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` other-pane-height `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` other-pane-width `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-active-border-style `\n\nstring; scope window; since 3.3a, before 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-active-border-style `\n\nstring; scope window, pane; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` pane-activity `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-base-index `\n\nnumber; scope window; since 3.3a.\n\n\n\nRange: 0 through 65535.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-bell `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-border-format `\n\nstring; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-indicators `\n\nchoice; scope window; since 3.3a.\n\nChoices: off, colour, arrows, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-lines `\n\nchoice; scope window; since 3.3a, before 3.6.\n\nChoices: single, double, heavy, simple, number.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-lines `\n\nchoice; scope window; since 3.6, before 3.8.\n\nChoices: single, double, heavy, simple, number, spaces.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-border-lines `\n\nchoice; scope window, pane; since 3.8.\n\nChoices: single, double, heavy, simple, number, spaces, none.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-border-status `\n\nchoice; scope window; since 3.3a, before 3.8.\n\nChoices: off, top, bottom.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-status `\n\nchoice; scope window, pane; since 3.8.\n\nChoices: off, top, bottom, top-floating, bottom-floating.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-border-style `\n\nstring; scope window; since 3.3a, before 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-border-style `\n\nstring; scope window, pane; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` pane-colours `\n\ncolour; scope window, pane; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-command-finished `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-command-started `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-created `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-died `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-exited `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-focus-in `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-focus-out `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-mode-changed `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-mode-entered `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-mode-exited `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-moved `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-prompt-closed `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-prompt-opened `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-resized `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-scrollbars `\n\nchoice; scope window; since 3.6, before 3.8.\n\nChoices: off, modal, on.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-scrollbars `\n\nchoice; scope window; since 3.8.\n\nChoices: off, modal, on, auto-hide.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-scrollbars-position `\n\nchoice; scope window; since 3.6.\n\nChoices: right, left.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-scrollbars-style `\n\nstring; scope window, pane; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-scrollbars-timeout `\n\nnumber; scope window; since 3.8.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-set-clipboard `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` pane-shell-prompt `\n\ncommand; scope window, pane; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` pane-status-current-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-status-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` pane-title-changed `\n\ncommand; scope window, pane; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` popup-border-lines `\n\nchoice; scope window; since 3.3a.\n\nChoices: single, double, heavy, simple, rounded, padded, none.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` popup-border-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` popup-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` prefix `\n\nkey; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` prefix-timeout `\n\nnumber; scope server; since 3.5.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c](https://github.com/tmux/tmux/blob/ac44566c9c7e3e94d23be6def4c7ae83472543f5/options-table.c)\n\n\n\n- ` prefix2 `\n\nkey; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` prompt-command-cursor-colour `\n\nstring; scope session; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` prompt-command-cursor-style `\n\nchoice; scope session; since 3.7.\n\nChoices: default, blinking-block, block, blinking-underline, underline, blinking-bar, bar.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` prompt-cursor-colour `\n\ncolour; scope session; since 3.6, before 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` prompt-cursor-colour `\n\nstring; scope session; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` prompt-cursor-style `\n\nchoice; scope session; since 3.6.\n\nChoices: default, blinking-block, block, blinking-underline, underline, blinking-bar, bar.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` prompt-history-limit `\n\nnumber; scope server; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` remain-on-exit `\n\nchoice; scope window, pane; since 3.3a, before 3.7.\n\nChoices: off, on, failed.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` remain-on-exit `\n\nchoice; scope window, pane; since 3.7, before 3.8.\n\nChoices: off, on, failed, key.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` remain-on-exit `\n\nchoice; scope window, pane; since 3.8.\n\nChoices: off, on, failed, key, failed-key.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` remain-on-exit-format `\n\nstring; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` renumber-windows `\n\nflag; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` repeat-time `\n\nnumber; scope session; since 3.3a, before 3.6.\n\n\n\nRange: 0 through 32767.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` repeat-time `\n\nnumber; scope session; since 3.6.\n\n\n\nRange: 0 through 2000000.\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` scroll-on-clear `\n\nflag; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` session-added-to-group `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` session-closed `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` session-created `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` session-removed-from-group `\n\ncommand; scope session; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` session-renamed `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` session-status-current-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` session-status-style `\n\nstring; scope window; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` session-window-changed `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` set-clipboard `\n\nchoice; scope server; since 3.3a.\n\nChoices: off, external, on.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` set-titles `\n\nflag; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` set-titles-string `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` silence-action `\n\nchoice; scope session; since 3.3a.\n\nChoices: none, any, current, other.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status `\n\nchoice; scope session; since 3.3a.\n\nChoices: off, on, 2, 3, 4, 5.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-bg `\n\ncolour; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-fg `\n\ncolour; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-format `\n\nstring; scope session; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-interval `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 2147483647.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-justify `\n\nchoice; scope session; since 3.3a.\n\nChoices: left, centre, right, absolute-centre.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-keys `\n\nchoice; scope session; since 3.3a.\n\nChoices: emacs, vi.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-left `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-left-length `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 32767.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-left-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-position `\n\nchoice; scope session; since 3.3a.\n\nChoices: top, bottom.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-right `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-right-length `\n\nnumber; scope session; since 3.3a.\n\n\n\nRange: 0 through 32767.\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-right-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` status-style `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` switch-mode-match-style `\n\nstring; scope window, pane; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` synchronize-panes `\n\nflag; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` terminal-features `\n\nstring; scope server; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` terminal-overrides `\n\nstring; scope server; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` theme `\n\nchoice; scope server; since 3.8.\n\nChoices: detect, terminal, light, dark.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` tiled-layout-max-columns `\n\nnumber; scope window; since 3.6.\n\n\n\nRange: 0 through 65535.\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` tree-mode-border-style `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` tree-mode-preview-format `\n\nstring; scope window, pane; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` tree-mode-preview-style `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` tree-mode-selection-style `\n\nstring; scope window; since 3.8.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` update-environment `\n\nstring; scope session; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` user-keys `\n\nstring; scope server; since 3.3a. Array.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` variation-selector-always-wide `\n\nflag; scope server; since 3.6.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c](https://github.com/tmux/tmux/blob/0dac7fe434d029a4f0b819cba8eb7963df291990/options-table.c)\n\n\n\n- ` visual-activity `\n\nchoice; scope session; since 3.3a.\n\nChoices: off, on, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` visual-bell `\n\nchoice; scope session; since 3.3a.\n\nChoices: off, on, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` visual-silence `\n\nchoice; scope session; since 3.3a.\n\nChoices: off, on, both.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-active-style `\n\nstring; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-closed `\n\ncommand; scope window; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` window-created `\n\ncommand; scope window; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` window-layout-changed `\n\ncommand; scope window; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-linked `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-pane-changed `\n\ncommand; scope window; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-pane-current-status-format `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` window-pane-status-format `\n\nstring; scope window; since 3.7.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c](https://github.com/tmux/tmux/blob/81f88f8517c9fc5371b56cf117530c6b477c96ac/options-table.c)\n\n\n\n- ` window-renamed `\n\ncommand; scope window; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-resized `\n\ncommand; scope window; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-size `\n\nchoice; scope window; since 3.3a.\n\nChoices: largest, smallest, manual, latest.\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-activity-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-bell-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-current-format `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-current-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-format `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-last-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-separator `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-status-style `\n\nstring; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-style `\n\nstring; scope window, pane; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-unlinked `\n\ncommand; scope session; since 3.3a. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` window-unzoomed `\n\ncommand; scope window; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` window-zoomed `\n\ncommand; scope window; since 3.8. Array. Hook.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c](https://github.com/tmux/tmux/blob/7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53/options-table.c)\n\n\n\n- ` word-separators `\n\nstring; scope session; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` wrap-search `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)\n\n\n\n- ` xterm-keys `\n\nflag; scope window; since 3.3a.\n\n\n\n\n\nSource: [https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c](https://github.com/tmux/tmux/blob/0b355ae8114511e1ff6359272b164f1cdf718e80/options-table.c)","summary":"Packaged, source-qualified fields, relationships, options and release profiles."},"id":"LibTmux::Catalogue","kind":"module","modifiers":[],"name":"LibTmux::Catalogue","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Catalogue","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue"},{"apiScope":"exported","doc":{"body":"Return the validated packaged catalogue; no tmux command is executed.","summary":"Return the validated packaged catalogue; no tmux command is executed."},"id":"LibTmux::Catalogue.catalogue","kind":"function","modifiers":[],"name":"catalogue","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue.catalogue","signatures":[{"params":[],"raw":"sub catalogue(--> CatalogueData:D)","references":[{"end":33,"start":18,"target":"LibTmux::Catalogue::CatalogueData"}],"returns":"CatalogueData:D","nativeSyntax":[{"start":4,"end":13,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"catalogue","declaration":true},{"text":"(--> "},{"text":"CatalogueData:D","target":"LibTmux::Catalogue::CatalogueData"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":459,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-catalogue"},{"apiScope":"exported","doc":{"body":"Preserve the raw string and reject vendor/development suffixes as unqualified.","summary":"Preserve the raw string and reject vendor/development suffixes as unqualified."},"id":"LibTmux::Catalogue.parse-tmux-version","kind":"function","modifiers":[],"name":"parse-tmux-version","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue.parse-tmux-version","signatures":[{"params":[{"keywordOnly":false,"name":"$raw","optional":false,"type":"Str:D"}],"raw":"sub parse-tmux-version(Str:D $raw --> TmuxVersion:D)","references":[{"end":51,"start":38,"target":"LibTmux::Catalogue::TmuxVersion"}],"returns":"TmuxVersion:D","nativeSyntax":[{"start":4,"end":22,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"parse-tmux-version","declaration":true},{"text":"(Str:D $raw --> "},{"text":"TmuxVersion:D","target":"LibTmux::Catalogue::TmuxVersion"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-parse-tmux-version"},{"apiScope":"exported","doc":{"body":"Return the immutable release policy without reading configuration or contacting tmux.","summary":"Return the immutable release policy without reading configuration or contacting tmux."},"id":"LibTmux::Catalogue.support-policy","kind":"function","modifiers":[],"name":"support-policy","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue.support-policy","signatures":[{"params":[],"raw":"sub support-policy(--> SupportPolicy:D)","references":[{"end":38,"start":23,"target":"LibTmux::Catalogue::SupportPolicy"}],"returns":"SupportPolicy:D","nativeSyntax":[{"start":4,"end":18,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"support-policy","declaration":true},{"text":"(--> "},{"text":"SupportPolicy:D","target":"LibTmux::Catalogue::SupportPolicy"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":203,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-support-policy"},{"apiScope":"exported","doc":{"body":"Typed schema lookup used by acquisition, local criteria and documentation.","summary":"Typed schema lookup used by acquisition, local criteria and documentation."},"id":"LibTmux::Catalogue::CatalogueData","kind":"class","modifiers":[],"name":"CatalogueData","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue::CatalogueData","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":209,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata"},{"apiScope":"exported","doc":{"body":"Read-only feature and defect policies with upstream provenance.","summary":"Read-only feature and defect policies with upstream provenance."},"id":"LibTmux::Catalogue::CatalogueData.all-capabilities","kind":"property","modifiers":[],"name":"all-capabilities","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.all-capabilities","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":215,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-cataloguedata-all-capabilities"},{"apiScope":"exported","doc":{"body":"Read-only field records across all registered entity schemas.","summary":"Read-only field records across all registered entity schemas."},"id":"LibTmux::Catalogue::CatalogueData.all-fields","kind":"property","modifiers":[],"name":"all-fields","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.all-fields","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":211,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-cataloguedata-all-fields"},{"apiScope":"exported","doc":{"body":"All option variants; use options(release) to select a qualified profile.","summary":"All option variants; use options(release) to select a qualified profile."},"id":"LibTmux::Catalogue::CatalogueData.all-options","kind":"property","modifiers":[],"name":"all-options","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.all-options","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":217,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-cataloguedata-all-options"},{"apiScope":"exported","doc":{"body":"Read-only graph relation records, independent of snapshot completeness.","summary":"Read-only graph relation records, independent of snapshot completeness."},"id":"LibTmux::Catalogue::CatalogueData.all-relations","kind":"property","modifiers":[],"name":"all-relations","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.all-relations","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":213,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-cataloguedata-all-relations"},{"apiScope":"exported","doc":{"body":"Feature policy or Nil; defect identifiers belong to workaround.","summary":"Feature policy or Nil; defect identifiers belong to workaround."},"id":"LibTmux::Catalogue::CatalogueData.capability","kind":"method","modifiers":[],"name":"capability","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.capability","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method capability(Str:D $id)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capability","declaration":true},{"text":"(Str:D $id)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":246,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-capability"},{"apiScope":"exported","doc":{"body":"Registered schema names in catalogue order, without duplicates.","summary":"Registered schema names in catalogue order, without duplicates."},"id":"LibTmux::Catalogue::CatalogueData.entities","kind":"method","modifiers":[],"name":"entities","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.entities","signatures":[{"params":[],"raw":"method entities(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entities","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":220,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-entities"},{"apiScope":"exported","doc":{"body":"One field record or Nil; an unknown entity schema throws InvalidFilter.","summary":"One field record or Nil; an unknown entity schema throws InvalidFilter."},"id":"LibTmux::Catalogue::CatalogueData.field","kind":"method","modifiers":[],"name":"field","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.field","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method field(Str:D $entity, Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"field","declaration":true},{"text":"(Str:D $entity, Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":236,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-field"},{"apiScope":"exported","doc":{"body":"Registered field records; an unknown entity schema throws InvalidFilter.","summary":"Registered field records; an unknown entity schema throws InvalidFilter."},"id":"LibTmux::Catalogue::CatalogueData.fields","kind":"method","modifiers":[],"name":"fields","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.fields","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method fields(Str:D $entity --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"fields","declaration":true},{"text":"(Str:D $entity --> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":226,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-fields"},{"apiScope":"exported","doc":{"body":"Whether a schema is registered, without inspecting any captured entities.","summary":"Whether a schema is registered, without inspecting any captured entities."},"id":"LibTmux::Catalogue::CatalogueData.has-entity","kind":"method","modifiers":[],"name":"has-entity","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.has-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method has-entity(Str:D $entity --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"has-entity","declaration":true},{"text":"(Str:D $entity --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":222,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-has-entity"},{"apiScope":"exported","doc":{"body":"One active option variant, or Nil for an unknown option or unqualified release.","summary":"One active option variant, or Nil for an unknown option or unqualified release."},"id":"LibTmux::Catalogue::CatalogueData.option","kind":"method","modifiers":[],"name":"option","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.option","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$release","optional":false,"type":"Str:D"}],"raw":"method option(Str:D $name, Str:D $release)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"option","declaration":true},{"text":"(Str:D $name, Str:D $release)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":263,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-option"},{"apiScope":"exported","doc":{"body":"Active option variants for an exact support profile; empty for an unqualified release.","summary":"Active option variants for an exact support profile; empty for an unqualified release."},"id":"LibTmux::Catalogue::CatalogueData.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.options","signatures":[{"params":[{"keywordOnly":false,"name":"$release","optional":false,"type":"Str:D"}],"raw":"method options(Str:D $release --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(Str:D $release --> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":254,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-options"},{"apiScope":"exported","doc":{"body":"One relation record or Nil; an unknown entity schema throws InvalidFilter.","summary":"One relation record or Nil; an unknown entity schema throws InvalidFilter."},"id":"LibTmux::Catalogue::CatalogueData.relation","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $entity, Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $entity, Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":241,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-relation"},{"apiScope":"exported","doc":{"body":"Registered relation records; an unknown entity schema throws InvalidFilter.","summary":"Registered relation records; an unknown entity schema throws InvalidFilter."},"id":"LibTmux::Catalogue::CatalogueData.relations","kind":"method","modifiers":[],"name":"relations","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.relations","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method relations(Str:D $entity --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relations","declaration":true},{"text":"(Str:D $entity --> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":231,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-relations"},{"apiScope":"exported","doc":{"body":"Defect policy or Nil, without claiming that handling has occurred.","summary":"Defect policy or Nil, without claiming that handling has occurred."},"id":"LibTmux::Catalogue::CatalogueData.workaround","kind":"method","modifiers":[],"name":"workaround","package":"LibTmux","parent":"LibTmux::Catalogue::CatalogueData","product":"core","publicId":"LibTmux::Catalogue::CatalogueData.workaround","signatures":[{"params":[{"keywordOnly":false,"name":"$id","optional":false,"type":"Str:D"}],"raw":"method workaround(Str:D $id)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"workaround","declaration":true},{"text":"(Str:D $id)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":250,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-cataloguedata-workaround"},{"apiScope":"exported","doc":{"body":"One source-qualified option type, scope and operand range.","summary":"One source-qualified option type, scope and operand range."},"id":"LibTmux::Catalogue::OptionSpec","kind":"class","modifiers":[],"name":"OptionSpec","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue::OptionSpec","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":103,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-optionspec"},{"apiScope":"exported","doc":{"body":"Exclusive ending profile; empty when this variant has no declared end.","summary":"Exclusive ending profile; empty when this variant has no declared end."},"id":"LibTmux::Catalogue::OptionSpec.before","kind":"property","modifiers":[],"name":"before","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.before","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":111,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-before"},{"apiScope":"exported","doc":{"body":"Closed native choice vocabulary; empty for other operand categories.","summary":"Closed native choice vocabulary; empty for other operand categories."},"id":"LibTmux::Catalogue::OptionSpec.choices","kind":"property","modifiers":[],"name":"choices","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.choices","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":117,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-optionspec-choices"},{"apiScope":"exported","doc":{"body":"Whether callers must address individual numeric array elements.","summary":"Whether callers must address individual numeric array elements."},"id":"LibTmux::Catalogue::OptionSpec.is-array","kind":"property","modifiers":[],"name":"is-array","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.is-array","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":119,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-catalogue-optionspec-is-array"},{"apiScope":"exported","doc":{"body":"Whether the option stores hook command lists.","summary":"Whether the option stores hook command lists."},"id":"LibTmux::Catalogue::OptionSpec.is-hook","kind":"property","modifiers":[],"name":"is-hook","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.is-hook","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":121,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-catalogue-optionspec-is-hook"},{"apiScope":"exported","doc":{"body":"Whether string values use tmux style syntax.","summary":"Whether string values use tmux style syntax."},"id":"LibTmux::Catalogue::OptionSpec.is-style","kind":"property","modifiers":[],"name":"is-style","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.is-style","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":123,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-catalogue-optionspec-is-style"},{"apiScope":"exported","doc":{"body":"Native operand category used by typed option validation and decoding.","summary":"Native operand category used by typed option validation and decoding."},"id":"LibTmux::Catalogue::OptionSpec.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.kind","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":107,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-kind"},{"apiScope":"exported","doc":{"body":"Highest accepted integer in the option's native units; undefined outside numeric schemas.","summary":"Highest accepted integer in the option's native units; undefined outside numeric schemas."},"id":"LibTmux::Catalogue::OptionSpec.maximum","kind":"property","modifiers":[],"name":"maximum","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.maximum","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":127,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-catalogue-optionspec-maximum"},{"apiScope":"exported","doc":{"body":"Lowest accepted integer in the option's native units; undefined outside numeric schemas.","summary":"Lowest accepted integer in the option's native units; undefined outside numeric schemas."},"id":"LibTmux::Catalogue::OptionSpec.minimum","kind":"property","modifiers":[],"name":"minimum","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.minimum","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":125,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-catalogue-optionspec-minimum"},{"apiScope":"exported","doc":{"body":"Native option name, without an array index.","summary":"Native option name, without an array index."},"id":"LibTmux::Catalogue::OptionSpec.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.name","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":105,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-name"},{"apiScope":"exported","doc":{"body":"Permitted server, session, window or pane scopes; membership is read-only.","summary":"Permitted server, session, window or pane scopes; membership is read-only."},"id":"LibTmux::Catalogue::OptionSpec.scopes","kind":"property","modifiers":[],"name":"scopes","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.scopes","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":115,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-optionspec-scopes"},{"apiScope":"exported","doc":{"body":"First declared support profile using this exact option variant.","summary":"First declared support profile using this exact option variant."},"id":"LibTmux::Catalogue::OptionSpec.since","kind":"property","modifiers":[],"name":"since","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.since","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":109,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-since"},{"apiScope":"exported","doc":{"body":"Pinned options-table.c source from which this variant was extracted.","summary":"Pinned options-table.c source from which this variant was extracted."},"id":"LibTmux::Catalogue::OptionSpec.source","kind":"property","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Catalogue::OptionSpec","product":"core","publicId":"LibTmux::Catalogue::OptionSpec.source","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":113,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-optionspec-source"},{"apiScope":"exported","doc":{"body":"Ordered release profiles are the sole source of the floor and CI endpoints.","summary":"Ordered release profiles are the sole source of the floor and CI endpoints."},"id":"LibTmux::Catalogue::SupportPolicy","kind":"class","modifiers":[],"name":"SupportPolicy","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy"},{"apiScope":"exported","doc":{"body":"Oldest and newest profiles for required CI, deduplicated for a single release.","summary":"Oldest and newest profiles for required CI, deduplicated for a single release."},"id":"LibTmux::Catalogue::SupportPolicy.endpoints","kind":"method","modifiers":[],"name":"endpoints","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.endpoints","signatures":[{"params":[],"raw":"method endpoints(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"endpoints","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":166,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy-endpoints"},{"apiScope":"exported","doc":{"body":"Newest declared supported release, independent of unqualified future releases.","summary":"Newest declared supported release, independent of unqualified future releases."},"id":"LibTmux::Catalogue::SupportPolicy.latest","kind":"method","modifiers":[],"name":"latest","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.latest","signatures":[{"params":[],"raw":"method latest(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"latest","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":162,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy-latest"},{"apiScope":"exported","doc":{"body":"Oldest declared supported release; no older compatibility is inferred.","summary":"Oldest declared supported release; no older compatibility is inferred."},"id":"LibTmux::Catalogue::SupportPolicy.minimum","kind":"method","modifiers":[],"name":"minimum","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.minimum","signatures":[{"params":[],"raw":"method minimum(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"minimum","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":160,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy-minimum"},{"apiScope":"exported","doc":{"body":"Exact declared profile, or Nil for an undeclared spelling.","summary":"Exact declared profile, or Nil for an undeclared spelling."},"id":"LibTmux::Catalogue::SupportPolicy.profile","kind":"method","modifiers":[],"name":"profile","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.profile","signatures":[{"params":[{"keywordOnly":false,"name":"$version","optional":false,"type":"Str:D"}],"raw":"method profile(Str:D $version)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"profile","declaration":true},{"text":"(Str:D $version)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":164,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-supportpolicy-profile"},{"apiScope":"exported","doc":{"body":"Read-only profiles in strictly increasing release order, each with pinned source identity.","summary":"Read-only profiles in strictly increasing release order, each with pinned source identity."},"id":"LibTmux::Catalogue::SupportPolicy.releases","kind":"property","modifiers":[],"name":"releases","package":"LibTmux","parent":"LibTmux::Catalogue::SupportPolicy","product":"core","publicId":"LibTmux::Catalogue::SupportPolicy.releases","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":157,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-catalogue-supportpolicy-releases"},{"apiScope":"exported","doc":{"body":"Parsed release spelling; an exact release can still lack a support profile.","summary":"Parsed release spelling; an exact release can still lack a support profile."},"id":"LibTmux::Catalogue::TmuxVersion","kind":"class","modifiers":[],"name":"TmuxVersion","package":"LibTmux","parent":"LibTmux::Catalogue","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":10,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-tmuxversion"},{"apiScope":"exported","doc":{"body":"Compare stable release components, including tmux's letter suffix.","summary":"Compare stable release components, including tmux's letter suffix."},"id":"LibTmux::Catalogue::TmuxVersion.at-least","kind":"method","modifiers":[],"name":"at-least","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.at-least","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"TmuxVersion:D"}],"raw":"method at-least(TmuxVersion:D $other --> Bool:D)","references":[{"end":29,"start":16,"target":"LibTmux::Catalogue::TmuxVersion"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-least","declaration":true},{"text":"("},{"text":"TmuxVersion:D","target":"LibTmux::Catalogue::TmuxVersion"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-catalogue-tmuxversion-at-least"},{"apiScope":"exported","doc":{"body":"Numeric major component; zero for an unqualified spelling.","summary":"Numeric major component; zero for an unqualified spelling."},"id":"LibTmux::Catalogue::TmuxVersion.major","kind":"property","modifiers":[],"name":"major","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.major","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":18,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-catalogue-tmuxversion-major"},{"apiScope":"exported","doc":{"body":"Numeric minor component; zero for an unqualified spelling.","summary":"Numeric minor component; zero for an unqualified spelling."},"id":"LibTmux::Catalogue::TmuxVersion.minor","kind":"property","modifiers":[],"name":"minor","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.minor","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-catalogue-tmuxversion-minor"},{"apiScope":"exported","doc":{"body":"Original input, including any executable banner or unqualified suffix.","summary":"Original input, including any executable banner or unqualified suffix."},"id":"LibTmux::Catalogue::TmuxVersion.raw","kind":"property","modifiers":[],"name":"raw","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.raw","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":12,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-tmuxversion-raw"},{"apiScope":"exported","doc":{"body":"Release spelling without the optional tmux prefix; empty when unqualified.","summary":"Release spelling without the optional tmux prefix; empty when unqualified."},"id":"LibTmux::Catalogue::TmuxVersion.release","kind":"property","modifiers":[],"name":"release","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.release","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":14,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-tmuxversion-release"},{"apiScope":"exported","doc":{"body":"Whether the spelling is a stable release, independent of supported versions.","summary":"Whether the spelling is a stable release, independent of supported versions."},"id":"LibTmux::Catalogue::TmuxVersion.stable","kind":"property","modifiers":[],"name":"stable","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.stable","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-catalogue-tmuxversion-stable"},{"apiScope":"exported","doc":{"body":"Lowercase patch-release letter, or empty for a plain or unqualified release.","summary":"Lowercase patch-release letter, or empty for a plain or unqualified release."},"id":"LibTmux::Catalogue::TmuxVersion.suffix","kind":"property","modifiers":[],"name":"suffix","package":"LibTmux","parent":"LibTmux::Catalogue::TmuxVersion","product":"core","publicId":"LibTmux::Catalogue::TmuxVersion.suffix","signatures":[],"source":{"file":"lib/LibTmux/Catalogue.rakumod","line":22,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-catalogue-tmuxversion-suffix"},{"apiScope":"exported","doc":{"body":"# Client commands\n\nClientTarget retains endpoint and daemon identity values only. Each operation\nlists clients and checks the observed name, process ID and creation time before\ndispatch. tmux exposes no permanent client ID: disconnect and name reuse between\nthis check and the command remain possible. The daemon fence does not make that\ncheck atomic. A client target never silently selects a current client.\nThe read-only toggle follows tmux's paired read-only/ignore-size flag behavior;\nit retains the observed session and suppresses environment updates.\n\nPane-context UI methods require an explicit pane belonging to the client's\ncurrent session. This avoids display-message's missing-target fallback. Pane\nmodes are shared by every client viewing that pane, not private UI state.\n\nMenu, prompt, popup and pane-number methods return Promises and require an\nexplicit timeout in milliseconds. Human interaction may outlast that budget.\nCancellation or timeout stops the command client; it does not retract an overlay\nor command already submitted. Use close-popup explicitly when appropriate.\nResults describe command completion, not rendered pixels or a human response.\n\nLiteral messages disable FORMAT and strftime interpolation. tmux display styles\nstill apply. Menu labels retain display styles and leading-minus disabled-entry\nsemantics. CommandTemplate deliberately exposes tmux template syntax and percent\nsubstitutions; it is never compiled as Raku. Popup shell-command deliberately\nrequests shell execution. Other commands use argv and the shared tmux encoder.","summary":""},"id":"LibTmux::Client","kind":"module","modifiers":[],"name":"LibTmux::Client","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Client","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client"},{"apiScope":"exported","doc":{"body":"A value-only client target. No subprocess or connection is retained.","summary":"A value-only client target. No subprocess or connection is retained."},"id":"LibTmux::Client::ClientTarget","kind":"class","modifiers":[],"name":"ClientTarget","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::ClientTarget","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":70,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget"},{"apiScope":"exported","doc":{"body":"Enter a pane mode shared by every client viewing that pane.","summary":"Enter a pane mode shared by every client viewing that pane."},"id":"LibTmux::Client::ClientTarget.choose","kind":"method","modifiers":[],"name":"choose","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.choose","signatures":[{"params":[{"keywordOnly":false,"name":"$kind","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"Str","keywordOnly":true,"name":"$format","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$filter","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$key-format","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$sort","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$reverse","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$zoom","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$preview","optional":true,"type":"Bool:D"},{"default":"CommandTemplate","keywordOnly":true,"name":"$template","optional":true,"type":"CommandTemplate"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method choose(Str:D $kind, PaneId:D :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, CommandTemplate :$template = CommandTemplate,\n *%operation --> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Types::PaneId"},{"end":270,"start":255,"target":"LibTmux::Client::CommandTemplate"},{"end":299,"start":284,"target":"LibTmux::Client::CommandTemplate"},{"end":343,"start":335,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"choose","declaration":true},{"text":"(Str:D $kind, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":" :$template = "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":",\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":245,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-choose"},{"apiScope":"exported","doc":{"body":"Clear the daemon's selected prompt history; it is shared across clients.","summary":"Clear the daemon's selected prompt history; it is shared across clients."},"id":"LibTmux::Client::ClientTarget.clear-prompt-history","kind":"method","modifiers":[],"name":"clear-prompt-history","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.clear-prompt-history","signatures":[{"params":[{"default":"Str","keywordOnly":true,"name":"$type","optional":true,"type":"Str"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method clear-prompt-history(Str :$type = Str, *%operation --> Result:D)","references":[{"end":70,"start":62,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":27,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clear-prompt-history","declaration":true},{"text":"(Str :$type = Str, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":366,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-clear-prompt-history"},{"apiScope":"exported","doc":{"body":"Revalidate changed target values; this performs no existence check or I/O.","summary":"Revalidate changed target values; this performs no existence check or I/O."},"id":"LibTmux::Client::ClientTarget.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> ClientTarget:D)","references":[{"end":41,"start":27,"target":"LibTmux::Client::ClientTarget"}],"returns":"ClientTarget:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"ClientTarget:D","target":"LibTmux::Client::ClientTarget"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":89,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-clone"},{"apiScope":"exported","doc":{"body":"Explicitly remove the current popup/overlay, including one left after timeout.","summary":"Explicitly remove the current popup/overlay, including one left after timeout."},"id":"LibTmux::Client::ClientTarget.close-popup","kind":"method","modifiers":[],"name":"close-popup","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.close-popup","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method close-popup(*%operation --> Result:D)","references":[{"end":43,"start":35,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-popup","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":212,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-close-popup"},{"apiScope":"exported","doc":{"body":"Ask confirmation before one Invocation. A refusal is returned as a Result.","summary":"Ask confirmation before one Invocation. A refusal is returned as a Result."},"id":"LibTmux::Client::ClientTarget.confirm-async","kind":"method","modifiers":[],"name":"confirm-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.confirm-async","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"'Confirm? (y/n)'","keywordOnly":true,"name":"$prompt","optional":true,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method confirm-async(Invocation:D $command, Positive:D :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D)","references":[{"end":33,"start":21,"target":"LibTmux::Command::Invocation"},{"end":54,"start":44,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"confirm-async","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":237,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-confirm-async"},{"apiScope":"exported","doc":{"body":"Observed tmux client creation timestamp in Unix seconds.","summary":"Observed tmux client creation timestamp in Unix seconds."},"id":"LibTmux::Client::ClientTarget.created","kind":"property","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.created","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":80,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-client-clienttarget-created"},{"apiScope":"exported","doc":{"body":"Request detachment of this exact observed client. Completion is not exit proof.","summary":"Request detachment of this exact observed client. Completion is not exit proof."},"id":"LibTmux::Client::ClientTarget.detach","kind":"method","modifiers":[],"name":"detach","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.detach","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method detach(*%operation --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"detach","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":313,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-detach"},{"apiScope":"exported","doc":{"body":"Evaluate explicit FORMAT and strftime syntax in an existing pane context.","summary":"Evaluate explicit FORMAT and strftime syntax in an existing pane context."},"id":"LibTmux::Client::ClientTarget.display-format","kind":"method","modifiers":[],"name":"display-format","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.display-format","signatures":[{"params":[{"keywordOnly":false,"name":"$format","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"True","keywordOnly":true,"name":"$print","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-format(Str:D $format, PaneId:D :$pane!, Bool:D :$print = True,\n *%operation --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Types::PaneId"},{"end":128,"start":120,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-format","declaration":true},{"text":"(Str:D $format, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Bool:D :$print = True,\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":146,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-display-format"},{"apiScope":"exported","doc":{"body":"Display literal FORMAT/time text; tmux still interprets display styles.","summary":"Display literal FORMAT/time text; tmux still interprets display styles."},"id":"LibTmux::Client::ClientTarget.display-message","kind":"method","modifiers":[],"name":"display-message","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.display-message","signatures":[{"params":[{"keywordOnly":false,"name":"$message","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"Count","keywordOnly":true,"name":"$duration-ms","optional":true,"type":"Count"},{"default":"False","keywordOnly":true,"name":"$print","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-message(Str:D $message, PaneId:D :$pane!, Count :$duration-ms = Count,\n Bool:D :$print = False, *%operation --> Result:D)","references":[{"end":47,"start":39,"target":"LibTmux::Types::PaneId"},{"end":62,"start":57,"target":"LibTmux::Types::Count"},{"end":84,"start":79,"target":"LibTmux::Types::Count"},{"end":161,"start":153,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-message","declaration":true},{"text":"(Str:D $message, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$duration-ms = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":",\n Bool:D :$print = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":136,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-display-message"},{"apiScope":"exported","doc":{"body":"Display pane numbers, with an optional explicit tmux selection template.","summary":"Display pane numbers, with an optional explicit tmux selection template."},"id":"LibTmux::Client::ClientTarget.display-panes-async","kind":"method","modifiers":[],"name":"display-panes-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.display-panes-async","signatures":[{"params":[{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"Count","keywordOnly":true,"name":"$duration-ms","optional":true,"type":"Count"},{"default":"True","keywordOnly":true,"name":"$select","optional":true,"type":"Bool:D"},{"default":"CommandTemplate","keywordOnly":true,"name":"$template","optional":true,"type":"CommandTemplate"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-panes-async(Positive:D :$timeout-ms!, Count :$duration-ms = Count,\n Bool:D :$select = True,\n CommandTemplate :$template = CommandTemplate,\n *%operation --> Promise:D)","references":[{"end":37,"start":27,"target":"LibTmux::Types::Positive"},{"end":58,"start":53,"target":"LibTmux::Types::Count"},{"end":80,"start":75,"target":"LibTmux::Types::Count"},{"end":183,"start":168,"target":"LibTmux::Client::CommandTemplate"},{"end":212,"start":197,"target":"LibTmux::Client::CommandTemplate"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":26,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-panes-async","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$duration-ms = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":",\n Bool:D :$select = True,\n "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":" :$template = "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":",\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":287,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-display-panes-async"},{"apiScope":"exported","doc":{"body":"Socket and executable configuration; no active connection is retained.","summary":"Socket and executable configuration; no active connection is retained."},"id":"LibTmux::Client::ClientTarget.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":72,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-client-clienttarget-endpoint"},{"apiScope":"exported","doc":{"body":"Open the native finder using tmux match/FORMAT syntax, not literal substring data.","summary":"Open the native finder using tmux match/FORMAT syntax, not literal substring data."},"id":"LibTmux::Client::ClientTarget.find-window","kind":"method","modifiers":[],"name":"find-window","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.find-window","signatures":[{"params":[{"keywordOnly":false,"name":"$pattern","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"True","keywordOnly":true,"name":"$content","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$names","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$titles","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$regex","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$ignore-case","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$zoom","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method find-window(Str:D $pattern, PaneId:D :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> Result:D)","references":[{"end":43,"start":35,"target":"LibTmux::Types::PaneId"},{"end":295,"start":287,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"find-window","declaration":true},{"text":"(Str:D $pattern, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":269,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-find-window"},{"apiScope":"exported","doc":{"body":"Daemon identity checked before dispatching a client operation.","summary":"Daemon identity checked before dispatching a client operation."},"id":"LibTmux::Client::ClientTarget.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Incarnation:D","slug":"libtmux-client-clienttarget-incarnation"},{"apiScope":"exported","doc":{"body":"Select an existing key table; its name is passed without FORMAT expansion.","summary":"Select an existing key table; its name is passed without FORMAT expansion."},"id":"LibTmux::Client::ClientTarget.key-table","kind":"method","modifiers":[],"name":"key-table","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.key-table","signatures":[{"params":[{"keywordOnly":false,"name":"$table","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method key-table(Str:D $table, *%operation --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key-table","declaration":true},{"text":"(Str:D $table, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":337,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-key-table"},{"apiScope":"exported","doc":{"body":"Invoke the configured lock command for this client.","summary":"Invoke the configured lock command for this client."},"id":"LibTmux::Client::ClientTarget.lock","kind":"method","modifiers":[],"name":"lock","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.lock","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method lock(*%operation --> Result:D)","references":[{"end":36,"start":28,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"lock","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":323,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-lock"},{"apiScope":"exported","doc":{"body":"Show a menu. Completion follows tmux's command lifecycle, not rendering proof.","summary":"Show a menu. Completion follows tmux's command lifecycle, not rendering proof."},"id":"LibTmux::Client::ClientTarget.menu-async","kind":"method","modifiers":[],"name":"menu-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.menu-async","signatures":[{"params":[{"keywordOnly":false,"name":"$items","optional":false,"type":"Positional:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"''","keywordOnly":true,"name":"$title","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$x","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$y","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$stay-open","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$mouse","optional":true,"type":"Bool:D"},{"default":"Str","keywordOnly":true,"name":"$style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$border-style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$selected-style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$border-lines","optional":true,"type":"Str"},{"default":"Count","keywordOnly":true,"name":"$starting-choice","optional":true,"type":"Count"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method menu-async(Positional:D $items, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n Count :$starting-choice = Count, *%operation --> Promise:D)","references":[{"end":47,"start":39,"target":"LibTmux::Types::PaneId"},{"end":67,"start":57,"target":"LibTmux::Types::Positive"},{"end":403,"start":398,"target":"LibTmux::Types::Count"},{"end":429,"start":424,"target":"LibTmux::Types::Count"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"menu-async","declaration":true},{"text":"(Positional:D $items, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$starting-choice = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":", *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-menu-async"},{"apiScope":"exported","doc":{"body":"Observed client name decoded with utf8-c8 to preserve target bytes.","summary":"Observed client name decoded with utf8-c8 to preserve target bytes."},"id":"LibTmux::Client::ClientTarget.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.name","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-client-clienttarget-name"},{"apiScope":"exported","doc":{"body":"Observed client process ID, checked together with name and creation time.","summary":"Observed client process ID, checked together with name and creation time."},"id":"LibTmux::Client::ClientTarget.pid","kind":"property","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.pid","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-client-clienttarget-pid"},{"apiScope":"exported","doc":{"body":"Start an explicitly supplied shell command in a popup; wait asynchronously.","summary":"Start an explicitly supplied shell command in a popup; wait asynchronously."},"id":"LibTmux::Client::ClientTarget.popup-async","kind":"method","modifiers":[],"name":"popup-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.popup-async","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"''","keywordOnly":true,"name":"$title","optional":true,"type":"Str:D"},{"default":"Str","keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"default":"Positive","keywordOnly":true,"name":"$width","optional":true,"type":"Positive"},{"default":"Positive","keywordOnly":true,"name":"$height","optional":true,"type":"Positive"},{"default":"'C'","keywordOnly":true,"name":"$x","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$y","optional":true,"type":"Str:D"},{"default":"'exit'","keywordOnly":true,"name":"$close","optional":true,"type":"Str:D"},{"default":"True","keywordOnly":true,"name":"$border","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$close-on-key","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$reset-flags","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method popup-async(Str:D :$shell-command!, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n Positive :$width = Positive, Positive :$height = Positive,\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D)","references":[{"end":51,"start":43,"target":"LibTmux::Types::PaneId"},{"end":71,"start":61,"target":"LibTmux::Types::Positive"},{"end":184,"start":176,"target":"LibTmux::Types::Positive"},{"end":203,"start":195,"target":"LibTmux::Types::Positive"},{"end":213,"start":205,"target":"LibTmux::Types::Positive"},{"end":233,"start":225,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"popup-async","declaration":true},{"text":"(Str:D :$shell-command!, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$width = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$height = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":",\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":188,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-popup-async"},{"apiScope":"exported","doc":{"body":"Prompt with explicit tmux template syntax. Commas separate prompts and inputs.","summary":"Prompt with explicit tmux template syntax. Commas separate prompts and inputs."},"id":"LibTmux::Client::ClientTarget.prompt-async","kind":"method","modifiers":[],"name":"prompt-async","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.prompt-async","signatures":[{"params":[{"keywordOnly":false,"name":"$template","optional":false,"type":"CommandTemplate:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"':'","keywordOnly":true,"name":"$prompts","optional":true,"type":"Str:D"},{"default":"''","keywordOnly":true,"name":"$inputs","optional":true,"type":"Str:D"},{"default":"'text'","keywordOnly":true,"name":"$mode","optional":true,"type":"Str:D"},{"default":"'command'","keywordOnly":true,"name":"$type","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$literal-commas","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method prompt-async(CommandTemplate:D $template, Positive:D :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D)","references":[{"end":37,"start":20,"target":"LibTmux::Client::CommandTemplate"},{"end":59,"start":49,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"prompt-async","declaration":true},{"text":"("},{"text":"CommandTemplate:D","target":"LibTmux::Client::CommandTemplate"},{"text":" $template, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":217,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-prompt-async"},{"apiScope":"exported","doc":{"body":"Return raw prompt-history output, without claiming newline-safe entry framing.","summary":"Return raw prompt-history output, without claiming newline-safe entry framing."},"id":"LibTmux::Client::ClientTarget.prompt-history","kind":"method","modifiers":[],"name":"prompt-history","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.prompt-history","signatures":[{"params":[{"default":"Str","keywordOnly":true,"name":"$type","optional":true,"type":"Str"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method prompt-history(Str :$type = Str, *%operation --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"prompt-history","declaration":true},{"text":"(Str :$type = Str, *%operation --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":359,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-prompt-history"},{"apiScope":"exported","doc":{"body":"Refresh the display, status, or viewport using one explicit action.","summary":"Refresh the display, status, or viewport using one explicit action."},"id":"LibTmux::Client::ClientTarget.refresh","kind":"method","modifiers":[],"name":"refresh","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.refresh","signatures":[{"params":[{"default":"'all'","keywordOnly":true,"name":"$part","optional":true,"type":"Str:D"},{"default":"Positive","keywordOnly":true,"name":"$amount","optional":true,"type":"Positive"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method refresh(Str:D :$part = 'all', Positive :$amount = Positive,\n *%operation --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Types::Positive"},{"end":65,"start":57,"target":"LibTmux::Types::Positive"},{"end":110,"start":102,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"refresh","declaration":true},{"text":"(Str:D :$part = 'all', "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$amount = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":",\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":299,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-refresh"},{"apiScope":"exported","doc":{"body":"Suspend the client's terminal process through tmux.","summary":"Suspend the client's terminal process through tmux."},"id":"LibTmux::Client::ClientTarget.suspend","kind":"method","modifiers":[],"name":"suspend","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.suspend","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method suspend(*%operation --> Result:D)","references":[{"end":39,"start":31,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"suspend","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":318,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-suspend"},{"apiScope":"exported","doc":{"body":"Switch session by ID. Updating the session environment is opt-in.","summary":"Switch session by ID. Updating the session environment is opt-in."},"id":"LibTmux::Client::ClientTarget.switch","kind":"method","modifiers":[],"name":"switch","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.switch","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionId:D"},{"default":"False","keywordOnly":true,"name":"$update-environment","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$keep-zoom","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method switch(SessionId:D $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> Result:D)","references":[{"end":25,"start":14,"target":"LibTmux::Types::SessionId"},{"end":143,"start":135,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"switch","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":328,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-switch"},{"apiScope":"exported","doc":{"body":"Switch relative to this client's current/previous session.","summary":"Switch relative to this client's current/previous session."},"id":"LibTmux::Client::ClientTarget.switch-relative","kind":"method","modifiers":[],"name":"switch-relative","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.switch-relative","signatures":[{"params":[{"keywordOnly":false,"name":"$direction","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method switch-relative(Str:D $direction, *%operation --> Result:D)","references":[{"end":65,"start":57,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"switch-relative","declaration":true},{"text":"(Str:D $direction, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":344,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-switch-relative"},{"apiScope":"exported","doc":{"body":"Toggle read-only and ignore-size flags while retaining the observed session.","summary":"Toggle read-only and ignore-size flags while retaining the observed session."},"id":"LibTmux::Client::ClientTarget.toggle-read-only","kind":"method","modifiers":[],"name":"toggle-read-only","package":"LibTmux","parent":"LibTmux::Client::ClientTarget","product":"core","publicId":"LibTmux::Client::ClientTarget.toggle-read-only","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method toggle-read-only(*%operation --> Result:D)","references":[{"end":48,"start":40,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":23,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"toggle-read-only","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":353,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-clienttarget-toggle-read-only"},{"apiScope":"exported","doc":{"body":"Explicit tmux command-template syntax, including percent substitutions.","summary":"Explicit tmux command-template syntax, including percent substitutions."},"id":"LibTmux::Client::CommandTemplate","kind":"class","modifiers":[],"name":"CommandTemplate","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::CommandTemplate","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-commandtemplate"},{"apiScope":"exported","doc":{"body":"Revalidate replacement source without executing the template.","summary":"Revalidate replacement source without executing the template."},"id":"LibTmux::Client::CommandTemplate.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Client::CommandTemplate","product":"core","publicId":"LibTmux::Client::CommandTemplate.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> CommandTemplate:D)","references":[{"end":44,"start":27,"target":"LibTmux::Client::CommandTemplate"}],"returns":"CommandTemplate:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"CommandTemplate:D","target":"LibTmux::Client::CommandTemplate"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-commandtemplate-clone"},{"apiScope":"exported","doc":{"body":"Unescaped tmux command-template syntax, including native percent placeholders.","summary":"Unescaped tmux command-template syntax, including native percent placeholders."},"id":"LibTmux::Client::CommandTemplate.source","kind":"property","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Client::CommandTemplate","product":"core","publicId":"LibTmux::Client::CommandTemplate.source","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":22,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-client-commandtemplate-source"},{"apiScope":"exported","doc":{"body":"A menu entry. Empty labels are separators; labels retain tmux display styles.","summary":"A menu entry. Empty labels are separators; labels retain tmux display styles."},"id":"LibTmux::Client::MenuItem","kind":"class","modifiers":[],"name":"MenuItem","package":"LibTmux","parent":"LibTmux::Client","product":"core","publicId":"LibTmux::Client::MenuItem","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-menuitem"},{"apiScope":"exported","doc":{"body":"Revalidate a modified entry, including separator and command consistency.","summary":"Revalidate a modified entry, including separator and command consistency."},"id":"LibTmux::Client::MenuItem.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> MenuItem:D)","references":[{"end":37,"start":27,"target":"LibTmux::Client::MenuItem"}],"returns":"MenuItem:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"MenuItem:D","target":"LibTmux::Client::MenuItem"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-client-menuitem-clone"},{"apiScope":"exported","doc":{"body":"Command executed on selection; undefined only for a separator.","summary":"Command executed on selection; undefined only for a separator."},"id":"LibTmux::Client::MenuItem.command","kind":"property","modifiers":[],"name":"command","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.command","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Invocation","slug":"libtmux-client-menuitem-command"},{"apiScope":"exported","doc":{"body":"Render an unavailable item whose command cannot be selected.","summary":"Render an unavailable item whose command cannot be selected."},"id":"LibTmux::Client::MenuItem.disabled","kind":"property","modifiers":[],"name":"disabled","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.disabled","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":40,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-client-menuitem-disabled"},{"apiScope":"exported","doc":{"body":"Native tmux key name; empty text leaves the item without a shortcut.","summary":"Native tmux key name; empty text leaves the item without a shortcut."},"id":"LibTmux::Client::MenuItem.key","kind":"property","modifiers":[],"name":"key","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.key","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-client-menuitem-key"},{"apiScope":"exported","doc":{"body":"Display text with tmux styles retained; an empty label creates a separator.","summary":"Display text with tmux styles retained; an empty label creates a separator."},"id":"LibTmux::Client::MenuItem.label","kind":"property","modifiers":[],"name":"label","package":"LibTmux","parent":"LibTmux::Client::MenuItem","product":"core","publicId":"LibTmux::Client::MenuItem.label","signatures":[],"source":{"file":"lib/LibTmux/Client.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-client-menuitem-label"},{"apiScope":"exported","doc":{"body":"# Interpretation boundaries\n\nInvocation encodes a tmux command, not a shell command or a FORMAT literal.\nDouble quoting alone does not suppress tmux tilde expansion. Exact octal\nescapes preserve quotes, backslashes, dollars, tildes, controls and high bytes.\nThe encoded size limit applies after expansion and before dispatch.\n\nEngine code inserts command separators deliberately between Invocation values;\nliteral semicolons inside their argument values remain data. Commands which\ninterpret FORMAT syntax require an additional command-specific policy.\n\n\n\n# Single-operation admission\n\nEffectful entry points use ` is single-operation ` to reject Junction arguments\nbefore Raku can autothread a typed method into several operations. Unknown named\narguments are rejected unless the method explicitly forwards a slurpy options\nhash; the receiving operation validates those forwarded names. Nested command\noperands remain the responsibility of Invocation and the command's validators.\nNative signatures, defaults and constraints retain their normal binding rules.\nAn effectful multi must guard its explicit proto, since candidate dispatch can\nautothread before a wrapper on an individual candidate runs.\nRole methods use capture admission in the proto body before typed candidate\ndispatch. Wrapping an unspecialized role method loses its private-method context\nafter precompilation on the pinned compiler.\n\n` is single-operation('async') ` returns one broken Promise for rejected input or\na synchronous exception from the method. Junctions and unknown names produce\n` X::LibTmux::Command ` with ` kind ` argument and ` outcome ` NotStarted. Native\nbinding errors and exceptions from the body retain their types. An accepted\nmethod's Promise passes through unchanged. Portable query validation keeps its\nown ` InvalidFilter ` policy, while local selections retain native Junction\nmatching.","summary":""},"id":"LibTmux::Command","kind":"module","modifiers":[],"name":"LibTmux::Command","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Command","signatures":[],"source":{"file":"lib/LibTmux/Command.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command"},{"apiScope":"exported","doc":{"body":"One copied tmux command with distinct argv and command-language encodings.","summary":"One copied tmux command with distinct argv and command-language encodings."},"id":"LibTmux::Command::Invocation","kind":"class","modifiers":[],"name":"Invocation","package":"LibTmux","parent":"LibTmux::Command","product":"core","publicId":"LibTmux::Command::Invocation","signatures":[],"source":{"file":"lib/LibTmux/Command.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command-invocation"},{"apiScope":"exported","doc":{"body":"Original literal values, detached from the caller's membership containers.","summary":"Original literal values, detached from the caller's membership containers."},"id":"LibTmux::Command::Invocation.argv","kind":"method","modifiers":[],"name":"argv","package":"LibTmux","parent":"LibTmux::Command::Invocation","product":"core","publicId":"LibTmux::Command::Invocation.argv","signatures":[{"params":[],"raw":"method argv(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"argv","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Command.rakumod","line":86,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command-invocation-argv"},{"apiScope":"exported","doc":{"body":"Protect literal final semicolons from tmux's OS-argv command separator.","summary":"Protect literal final semicolons from tmux's OS-argv command separator."},"id":"LibTmux::Command::Invocation.as-argv","kind":"method","modifiers":[],"name":"as-argv","package":"LibTmux","parent":"LibTmux::Command::Invocation","product":"core","publicId":"LibTmux::Command::Invocation.as-argv","signatures":[{"params":[],"raw":"method as-argv(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"as-argv","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Command.rakumod","line":89,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command-invocation-as-argv"},{"apiScope":"exported","doc":{"body":"A bounded tmux command string, with no shell expansion or Raku evaluation.","summary":"A bounded tmux command string, with no shell expansion or Raku evaluation."},"id":"LibTmux::Command::Invocation.source","kind":"method","modifiers":[],"name":"source","package":"LibTmux","parent":"LibTmux::Command::Invocation","product":"core","publicId":"LibTmux::Command::Invocation.source","signatures":[{"params":[],"raw":"method source(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"source","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Command.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-command-invocation-source"},{"apiScope":"exported","doc":{"body":"# Configuration and stored commands\n\nOptions, Environment, Buffers, Hooks and KeyBindings are value-only facades\nbound to an endpoint and daemon incarnation. Construction and schema access\nperform no I/O. Each operation owns and closes its temporary command runtime;\nit checks daemon identity and applies one timeout and output bound.\n\nOptions use source-qualified types and ranges from :obj:`LibTmux::Catalogue `.\nFlags require Bool, numeric options reject Bool, and array writes require an\nexplicit index. ` entries ` preserves inherited provenance; ` get ` returns a\nnative scalar or an indexed Map. Unknown native options use the explicitly\nnamed raw operations. User options in the typed API use ` @ ` followed by\nletters, digits, underscores or hyphens. Native printed command values are\nsource text, not parsed Invocation values.\n\nEnvironment reads distinguish an absent entry, an explicit removed marker,\nand hidden entries. ` :hidden ` selects hidden entries only. Environment names\nuse the portable variable alphabet. ` get ` requests only that name; ` list `\nrefuses a native entry whose name falls outside the declared alphabet.\nValues preserve bytes through UTF8-C8;\nreading the shell-shaped output never executes it. Buffer content is acquired\nseparately as Blob and may contain NUL.\n\nHooks and key bindings accept :obj:`LibTmux::Command::Invocation ` for commands\nto store. Reads preserve tmux's printed command source without executing or\nreconstructing it. Legacy key listings mark notes Unloaded; modern projected\nlistings capture them. Key table names use letters, digits, underscores or\nhyphens so legacy native listings remain unambiguous.\n\nHook ` run ` acknowledges queuing. Paste and other mutations acknowledge tmux\ncommands; they do not prove that a pane application consumed input or that a\nhook's asynchronous work completed. Timeouts after dispatch cannot roll back\nserver effects. Captured values do not refresh themselves.","summary":""},"id":"LibTmux::Configuration","kind":"module","modifiers":[],"name":"LibTmux::Configuration","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Configuration","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration"},{"apiScope":"exported","doc":{"body":"Buffer metadata is separate from explicitly acquired binary contents.","summary":"Buffer metadata is separate from explicitly acquired binary contents."},"id":"LibTmux::Configuration::BufferInfo","kind":"class","modifiers":[],"name":"BufferInfo","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::BufferInfo","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":407,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-bufferinfo"},{"apiScope":"exported","doc":{"body":"Buffer creation time as Unix seconds.","summary":"Buffer creation time as Unix seconds."},"id":"LibTmux::Configuration::BufferInfo.created","kind":"property","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Configuration::BufferInfo","product":"core","publicId":"LibTmux::Configuration::BufferInfo.created","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":413,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-configuration-bufferinfo-created"},{"apiScope":"exported","doc":{"body":"Exact observed resource or option name.","summary":"Exact observed resource or option name."},"id":"LibTmux::Configuration::BufferInfo.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Configuration::BufferInfo","product":"core","publicId":"LibTmux::Configuration::BufferInfo.name","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":409,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-bufferinfo-name"},{"apiScope":"exported","doc":{"body":"Native buffer preview text; it is not the complete binary content.","summary":"Native buffer preview text; it is not the complete binary content."},"id":"LibTmux::Configuration::BufferInfo.sample","kind":"property","modifiers":[],"name":"sample","package":"LibTmux","parent":"LibTmux::Configuration::BufferInfo","product":"core","publicId":"LibTmux::Configuration::BufferInfo.sample","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":415,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-bufferinfo-sample"},{"apiScope":"exported","doc":{"body":"Buffer content length in bytes; content acquisition is separate.","summary":"Buffer content length in bytes; content acquisition is separate."},"id":"LibTmux::Configuration::BufferInfo.size","kind":"property","modifiers":[],"name":"size","package":"LibTmux","parent":"LibTmux::Configuration::BufferInfo","product":"core","publicId":"LibTmux::Configuration::BufferInfo.size","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":411,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-configuration-bufferinfo-size"},{"apiScope":"exported","doc":{"body":"Server-scoped paste buffers with binary load and save operations.","summary":"Server-scoped paste buffers with binary load and save operations."},"id":"LibTmux::Configuration::Buffers","kind":"class","modifiers":[],"name":"Buffers","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::Buffers","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":419,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::Buffers.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-clone"},{"apiScope":"exported","doc":{"body":"Delete the named buffer.","summary":"Delete the named buffer."},"id":"LibTmux::Configuration::Buffers.delete","kind":"method","modifiers":[],"name":"delete","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.delete","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method delete(Str:D $name --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"delete","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":448,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-delete"},{"apiScope":"exported","doc":{"body":"Acquire complete buffer bytes, including NUL, within the output bound.","summary":"Acquire complete buffer bytes, including NUL, within the output bound."},"id":"LibTmux::Configuration::Buffers.get","kind":"method","modifiers":[],"name":"get","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.get","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method get(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"get","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":437,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-get"},{"apiScope":"exported","doc":{"body":"Acquire buffer metadata without loading the complete contents.","summary":"Acquire buffer metadata without loading the complete contents."},"id":"LibTmux::Configuration::Buffers.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":424,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-list"},{"apiScope":"exported","doc":{"body":"Paste into an explicit pane, optionally deleting the buffer afterward.","summary":"Paste into an explicit pane, optionally deleting the buffer afterward."},"id":"LibTmux::Configuration::Buffers.paste","kind":"method","modifiers":[],"name":"paste","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.paste","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"False","keywordOnly":true,"name":"$delete","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$bracketed","optional":true,"type":"Bool"},{"keywordOnly":true,"name":"$separator","optional":true,"type":"Str"}],"raw":"method paste(Str:D $name, PaneId:D $pane, Bool :$delete = False,\n Bool :$bracketed = False, Str :$separator --> Result:D)","references":[{"end":34,"start":26,"target":"LibTmux::Types::PaneId"},{"end":136,"start":128,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"paste","declaration":true},{"text":"(Str:D $name, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" $pane, Bool :$delete = False,\n Bool :$bracketed = False, Str :$separator --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":458,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-paste"},{"apiScope":"exported","doc":{"body":"Load binary stdin into the named server buffer.","summary":"Load binary stdin into the named server buffer."},"id":"LibTmux::Configuration::Buffers.put","kind":"method","modifiers":[],"name":"put","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.put","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$bytes","optional":false,"type":"Blob:D"}],"raw":"method put(Str:D $name, Blob:D $bytes --> Result:D)","references":[{"end":50,"start":42,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"put","declaration":true},{"text":"(Str:D $name, Blob:D $bytes --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":443,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-put"},{"apiScope":"exported","doc":{"body":"Rename a buffer without decoding its contents.","summary":"Rename a buffer without decoding its contents."},"id":"LibTmux::Configuration::Buffers.rename","kind":"method","modifiers":[],"name":"rename","package":"LibTmux","parent":"LibTmux::Configuration::Buffers","product":"core","publicId":"LibTmux::Configuration::Buffers.rename","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$new-name","optional":false,"type":"Str:D"}],"raw":"method rename(Str:D $name, Str:D $new-name --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rename","declaration":true},{"text":"(Str:D $name, Str:D $new-name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":453,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-buffers-rename"},{"apiScope":"exported","doc":{"body":"Session or global environment, including hidden and removed entries.","summary":"Session or global environment, including hidden and removed entries."},"id":"LibTmux::Configuration::Environment","kind":"class","modifiers":[],"name":"Environment","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::Environment","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":351,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::Environment.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-clone"},{"apiScope":"exported","doc":{"body":"Find a captured entry; Nil means absent from the requested visibility class.","summary":"Find a captured entry; Nil means absent from the requested visibility class."},"id":"LibTmux::Configuration::Environment.get","kind":"method","modifiers":[],"name":"get","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.get","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$hidden","optional":true,"type":"Bool"}],"raw":"method get(Str:D $name, Bool :$hidden = False)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"get","declaration":true},{"text":"(Str:D $name, Bool :$hidden = False)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":366,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-get"},{"apiScope":"exported","doc":{"body":"Capture normal entries, or only hidden entries when requested explicitly.","summary":"Capture normal entries, or only hidden entries when requested explicitly."},"id":"LibTmux::Configuration::Environment.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.list","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$hidden","optional":true,"type":"Bool"}],"raw":"method list(Bool :$hidden = False --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(Bool :$hidden = False --> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":358,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-list"},{"apiScope":"exported","doc":{"body":"Store a removed marker so the variable is omitted from newly spawned processes.","summary":"Store a removed marker so the variable is omitted from newly spawned processes."},"id":"LibTmux::Configuration::Environment.remove","kind":"method","modifiers":[],"name":"remove","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.remove","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method remove(Str:D $name --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"remove","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":400,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-remove"},{"apiScope":"exported","doc":{"body":"Store literal text without FORMAT or shell expansion; NUL is not representable.","summary":"Store literal text without FORMAT or shell expansion; NUL is not representable."},"id":"LibTmux::Configuration::Environment.set","kind":"method","modifiers":[],"name":"set","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.set","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$value","optional":false,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$hidden","optional":true,"type":"Bool"}],"raw":"method set(Str:D $name, Str:D $value, Bool :$hidden = False --> Result:D)","references":[{"end":72,"start":64,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set","declaration":true},{"text":"(Str:D $name, Str:D $value, Bool :$hidden = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":387,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-set"},{"apiScope":"exported","doc":{"body":"Delete an entry from this environment.","summary":"Delete an entry from this environment."},"id":"LibTmux::Configuration::Environment.unset","kind":"method","modifiers":[],"name":"unset","package":"LibTmux","parent":"LibTmux::Configuration::Environment","product":"core","publicId":"LibTmux::Configuration::Environment.unset","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method unset(Str:D $name --> Result:D)","references":[{"end":37,"start":29,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unset","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":395,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environment-unset"},{"apiScope":"exported","doc":{"body":"Environment absence and an explicit removed marker are different states.","summary":"Environment absence and an explicit removed marker are different states."},"id":"LibTmux::Configuration::EnvironmentValue","kind":"class","modifiers":[],"name":"EnvironmentValue","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":266,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environmentvalue"},{"apiScope":"exported","doc":{"body":"Captured environment bytes, preserved separately from text conversion.","summary":"Captured environment bytes, preserved separately from text conversion."},"id":"LibTmux::Configuration::EnvironmentValue.bytes","kind":"property","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.bytes","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":270,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-configuration-environmentvalue-bytes"},{"apiScope":"exported","doc":{"body":"Revalidate copies and detach mutable byte input.","summary":"Revalidate copies and detach mutable byte input."},"id":"LibTmux::Configuration::EnvironmentValue.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":279,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environmentvalue-clone"},{"apiScope":"exported","doc":{"body":"Whether this entry belongs to the explicitly requested hidden environment.","summary":"Whether this entry belongs to the explicitly requested hidden environment."},"id":"LibTmux::Configuration::EnvironmentValue.hidden","kind":"property","modifiers":[],"name":"hidden","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.hidden","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":274,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-configuration-environmentvalue-hidden"},{"apiScope":"exported","doc":{"body":"Exact observed resource or option name.","summary":"Exact observed resource or option name."},"id":"LibTmux::Configuration::EnvironmentValue.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.name","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":268,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-environmentvalue-name"},{"apiScope":"exported","doc":{"body":"Whether tmux marks this variable for removal from child environments.","summary":"Whether tmux marks this variable for removal from child environments."},"id":"LibTmux::Configuration::EnvironmentValue.removed","kind":"property","modifiers":[],"name":"removed","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.removed","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":272,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-configuration-environmentvalue-removed"},{"apiScope":"exported","doc":{"body":"Decode captured bytes losslessly, or return Nil for an explicit removed marker.","summary":"Decode captured bytes losslessly, or return Nil for an explicit removed marker."},"id":"LibTmux::Configuration::EnvironmentValue.value","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Configuration::EnvironmentValue","product":"core","publicId":"LibTmux::Configuration::EnvironmentValue.value","signatures":[{"params":[],"raw":"method value()","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":277,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-environmentvalue-value"},{"apiScope":"exported","doc":{"body":"Named hook command arrays. Reading a hook never executes its command source.","summary":"Named hook command arrays. Reading a hook never executes its command source."},"id":"LibTmux::Configuration::Hooks","kind":"class","modifiers":[],"name":"Hooks","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::Hooks","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":470,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks"},{"apiScope":"exported","doc":{"body":"Append one command to the hook array using tmux's native array allocation.","summary":"Append one command to the hook array using tmux's native array allocation."},"id":"LibTmux::Configuration::Hooks.append","kind":"method","modifiers":[],"name":"append","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.append","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"}],"raw":"method append(Str:D $name, Invocation:D $command --> Result:D)","references":[{"end":39,"start":27,"target":"LibTmux::Command::Invocation"},{"end":61,"start":53,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"append","declaration":true},{"text":"(Str:D $name, "},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":499,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-append"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::Hooks.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-clone"},{"apiScope":"exported","doc":{"body":"Read local hook entries; each value is native printed command source.","summary":"Read local hook entries; each value is native printed command source."},"id":"LibTmux::Configuration::Hooks.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.list","signatures":[{"params":[{"keywordOnly":true,"name":"$name","optional":true,"type":"Str"}],"raw":"method list(Str :$name --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(Str :$name --> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":483,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-list"},{"apiScope":"exported","doc":{"body":"Queue a hook now. Acknowledgement does not prove its commands' effects.","summary":"Queue a hook now. Acknowledgement does not prove its commands' effects."},"id":"LibTmux::Configuration::Hooks.run","kind":"method","modifiers":[],"name":"run","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.run","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method run(Str:D $name --> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":510,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-run"},{"apiScope":"exported","doc":{"body":"Set one hook index to a validated tmux command; the command is deferred.","summary":"Set one hook index to a validated tmux command; the command is deferred."},"id":"LibTmux::Configuration::Hooks.set","kind":"method","modifiers":[],"name":"set","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.set","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"0","keywordOnly":true,"name":"$index","optional":true,"type":"Count:D"}],"raw":"method set(Str:D $name, Invocation:D $command, Count:D :$index = 0 --> Result:D)","references":[{"end":36,"start":24,"target":"LibTmux::Command::Invocation"},{"end":54,"start":47,"target":"LibTmux::Types::Count"},{"end":79,"start":71,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set","declaration":true},{"text":"(Str:D $name, "},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":" :$index = 0 --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":494,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-set"},{"apiScope":"exported","doc":{"body":"Remove a hook array or one explicit index.","summary":"Remove a hook array or one explicit index."},"id":"LibTmux::Configuration::Hooks.unset","kind":"method","modifiers":[],"name":"unset","package":"LibTmux","parent":"LibTmux::Configuration::Hooks","product":"core","publicId":"LibTmux::Configuration::Hooks.unset","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"default":"Count","keywordOnly":true,"name":"$index","optional":true,"type":"Count"}],"raw":"method unset(Str:D $name, Count :$index = Count --> Result:D)","references":[{"end":31,"start":26,"target":"LibTmux::Types::Count"},{"end":47,"start":42,"target":"LibTmux::Types::Count"},{"end":60,"start":52,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unset","declaration":true},{"text":"(Str:D $name, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$index = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":504,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-hooks-unset"},{"apiScope":"exported","doc":{"body":"Captured binding metadata. Legacy listings leave note-state Unloaded.","summary":"Captured binding metadata. Legacy listings leave note-state Unloaded."},"id":"LibTmux::Configuration::KeyBinding","kind":"class","modifiers":[],"name":"KeyBinding","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::KeyBinding","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":517,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybinding"},{"apiScope":"exported","doc":{"body":"Observed tmux command syntax; retaining it does not execute it.","summary":"Observed tmux command syntax; retaining it does not execute it."},"id":"LibTmux::Configuration::KeyBinding.command-source","kind":"property","modifiers":[],"name":"command-source","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.command-source","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":525,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-keybinding-command-source"},{"apiScope":"exported","doc":{"body":"Native tmux key spelling.","summary":"Native tmux key spelling."},"id":"LibTmux::Configuration::KeyBinding.key","kind":"property","modifiers":[],"name":"key","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.key","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":521,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-keybinding-key"},{"apiScope":"exported","doc":{"body":"Binding note text when the selected profile can acquire it.","summary":"Binding note text when the selected profile can acquire it."},"id":"LibTmux::Configuration::KeyBinding.note","kind":"property","modifiers":[],"name":"note","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.note","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":527,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-keybinding-note"},{"apiScope":"exported","doc":{"body":"Availability of the note; older profiles retain Unloaded rather than inventing text.","summary":"Availability of the note; older profiles retain Unloaded rather than inventing text."},"id":"LibTmux::Configuration::KeyBinding.note-state","kind":"property","modifiers":[],"name":"note-state","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.note-state","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":529,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"ValueState:D","slug":"libtmux-configuration-keybinding-note-state"},{"apiScope":"exported","doc":{"body":"Whether tmux allows this binding to repeat.","summary":"Whether tmux allows this binding to repeat."},"id":"LibTmux::Configuration::KeyBinding.repeat","kind":"property","modifiers":[],"name":"repeat","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.repeat","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":523,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-configuration-keybinding-repeat"},{"apiScope":"exported","doc":{"body":"Key-table name in which the binding was observed.","summary":"Key-table name in which the binding was observed."},"id":"LibTmux::Configuration::KeyBinding.table","kind":"property","modifiers":[],"name":"table","package":"LibTmux","parent":"LibTmux::Configuration::KeyBinding","product":"core","publicId":"LibTmux::Configuration::KeyBinding.table","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":519,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-keybinding-table"},{"apiScope":"exported","doc":{"body":"Server key tables. Invocation keeps stored command arguments distinct.","summary":"Server key tables. Invocation keeps stored command arguments distinct."},"id":"LibTmux::Configuration::KeyBindings","kind":"class","modifiers":[],"name":"KeyBindings","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::KeyBindings","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":539,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings"},{"apiScope":"exported","doc":{"body":"Bind a key to one command, with optional repeatability and literal note.","summary":"Bind a key to one command, with optional repeatability and literal note."},"id":"LibTmux::Configuration::KeyBindings.bind","kind":"method","modifiers":[],"name":"bind","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.bind","signatures":[{"params":[{"keywordOnly":false,"name":"$key","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"'prefix'","keywordOnly":true,"name":"$table","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$repeat","optional":true,"type":"Bool"},{"keywordOnly":true,"name":"$note","optional":true,"type":"Str"}],"raw":"method bind(Str:D $key, Invocation:D $command, Str:D :$table = 'prefix',\n Bool :$repeat = False, Str :$note --> Result:D)","references":[{"end":36,"start":24,"target":"LibTmux::Command::Invocation"},{"end":135,"start":127,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bind","declaration":true},{"text":"(Str:D $key, "},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Str:D :$table = 'prefix',\n Bool :$repeat = False, Str :$note --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":544,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-bind"},{"apiScope":"exported","doc":{"body":"Remove the explicitly named table and all its bindings.","summary":"Remove the explicitly named table and all its bindings."},"id":"LibTmux::Configuration::KeyBindings.clear","kind":"method","modifiers":[],"name":"clear","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.clear","signatures":[{"params":[{"keywordOnly":false,"name":"$table","optional":false,"type":"Str:D"}],"raw":"method clear(Str:D $table --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clear","declaration":true},{"text":"(Str:D $table --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":559,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-clear"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::KeyBindings.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-clone"},{"apiScope":"exported","doc":{"body":"Capture one table; modern profiles include notes, legacy profiles mark them unloaded.","summary":"Capture one table; modern profiles include notes, legacy profiles mark them unloaded."},"id":"LibTmux::Configuration::KeyBindings.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.list","signatures":[{"params":[{"default":"'prefix'","keywordOnly":true,"name":"$table","optional":true,"type":"Str:D"}],"raw":"method list(Str:D :$table = 'prefix' --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(Str:D :$table = 'prefix' --> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":564,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-list"},{"apiScope":"exported","doc":{"body":"Remove one binding. Unknown tables remain operational errors.","summary":"Remove one binding. Unknown tables remain operational errors."},"id":"LibTmux::Configuration::KeyBindings.unbind","kind":"method","modifiers":[],"name":"unbind","package":"LibTmux","parent":"LibTmux::Configuration::KeyBindings","product":"core","publicId":"LibTmux::Configuration::KeyBindings.unbind","signatures":[{"params":[{"keywordOnly":false,"name":"$key","optional":false,"type":"Str:D"},{"default":"'prefix'","keywordOnly":true,"name":"$table","optional":true,"type":"Str:D"}],"raw":"method unbind(Str:D $key, Str:D :$table = 'prefix' --> Result:D)","references":[{"end":63,"start":55,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unbind","declaration":true},{"text":"(Str:D $key, Str:D :$table = 'prefix' --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":554,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-keybindings-unbind"},{"apiScope":"exported","doc":{"body":"One observed option value. The source schema determines its native scalar type.","summary":"One observed option value. The source schema determines its native scalar type."},"id":"LibTmux::Configuration::OptionValue","kind":"class","modifiers":[],"name":"OptionValue","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::OptionValue","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":109,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-optionvalue"},{"apiScope":"exported","doc":{"body":"Array member index; undefined for a scalar option.","summary":"Array member index; undefined for a scalar option."},"id":"LibTmux::Configuration::OptionValue.index","kind":"property","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Configuration::OptionValue","product":"core","publicId":"LibTmux::Configuration::OptionValue.index","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":113,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-configuration-optionvalue-index"},{"apiScope":"exported","doc":{"body":"Whether the effective value came from an ancestor option scope.","summary":"Whether the effective value came from an ancestor option scope."},"id":"LibTmux::Configuration::OptionValue.inherited","kind":"property","modifiers":[],"name":"inherited","package":"LibTmux","parent":"LibTmux::Configuration::OptionValue","product":"core","publicId":"LibTmux::Configuration::OptionValue.inherited","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":115,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-configuration-optionvalue-inherited"},{"apiScope":"exported","doc":{"body":"Exact observed resource or option name.","summary":"Exact observed resource or option name."},"id":"LibTmux::Configuration::OptionValue.name","kind":"property","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Configuration::OptionValue","product":"core","publicId":"LibTmux::Configuration::OptionValue.name","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":111,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-configuration-optionvalue-name"},{"apiScope":"exported","doc":{"body":"Decoded native option value; its type follows the option catalogue.","summary":"Decoded native option value; its type follows the option catalogue."},"id":"LibTmux::Configuration::OptionValue.value","kind":"property","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Configuration::OptionValue","product":"core","publicId":"LibTmux::Configuration::OptionValue.value","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":117,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Mu","slug":"libtmux-configuration-optionvalue-value"},{"apiScope":"exported","doc":{"body":"Typed native options. Reads and writes are explicit daemon operations.","summary":"Typed native options. Reads and writes are explicit daemon operations."},"id":"LibTmux::Configuration::Options","kind":"class","modifiers":[],"name":"Options","package":"LibTmux","parent":"LibTmux::Configuration","product":"core","publicId":"LibTmux::Configuration::Options","signatures":[],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":164,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options"},{"apiScope":"exported","doc":{"body":"Copy endpoint, scope and limits through constructor validation.","summary":"Copy endpoint, scope and limits through constructor validation."},"id":"LibTmux::Configuration::Options.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-clone"},{"apiScope":"exported","doc":{"body":"Inspect the source-qualified schema locally; user options have text values.","summary":"Inspect the source-qualified schema locally; user options have text values."},"id":"LibTmux::Configuration::Options.describe","kind":"method","modifiers":[],"name":"describe","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.describe","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method describe(Str:D $name --> LibTmux::Catalogue::OptionSpec:D)","references":[{"end":64,"start":32,"target":"LibTmux::Catalogue::OptionSpec"}],"returns":"LibTmux::Catalogue::OptionSpec:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"describe","declaration":true},{"text":"(Str:D $name --> "},{"text":"LibTmux::Catalogue::OptionSpec:D","target":"LibTmux::Catalogue::OptionSpec"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":166,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-describe"},{"apiScope":"exported","doc":{"body":"Read values, array indices and inherited provenance as captured entries.","summary":"Read values, array indices and inherited provenance as captured entries."},"id":"LibTmux::Configuration::Options.entries","kind":"method","modifiers":[],"name":"entries","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.entries","signatures":[{"params":[{"keywordOnly":true,"name":"$name","optional":true,"type":"Str"},{"default":"True","keywordOnly":true,"name":"$effective","optional":true,"type":"Bool"}],"raw":"method entries(Str :$name, Bool :$effective = True --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entries","declaration":true},{"text":"(Str :$name, Bool :$effective = True --> List:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":183,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-entries"},{"apiScope":"exported","doc":{"body":"Read a native scalar, an array Map, or Nil for an absent local value/member.","summary":"Read a native scalar, an array Map, or Nil for an absent local value/member."},"id":"LibTmux::Configuration::Options.get","kind":"method","modifiers":[],"name":"get","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.get","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$index","optional":true,"type":"Int"},{"default":"True","keywordOnly":true,"name":"$effective","optional":true,"type":"Bool"}],"raw":"method get(Str:D $name, Int :$index, Bool :$effective = True)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"get","declaration":true},{"text":"(Str:D $name, Int :$index, Bool :$effective = True)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":202,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-get"},{"apiScope":"exported","doc":{"body":"Read raw native output for an option outside the declared typed schema.","summary":"Read raw native output for an option outside the declared typed schema."},"id":"LibTmux::Configuration::Options.get-raw","kind":"method","modifiers":[],"name":"get-raw","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.get-raw","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method get-raw(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"get-raw","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":259,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-get-raw"},{"apiScope":"exported","doc":{"body":"Validate a typed value and set one scalar or explicitly indexed array member.","summary":"Validate a typed value and set one scalar or explicitly indexed array member."},"id":"LibTmux::Configuration::Options.set","kind":"method","modifiers":[],"name":"set","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.set","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$value","optional":false},{"keywordOnly":true,"name":"$index","optional":true,"type":"Int"}],"raw":"method set(Str:D $name, $value, Int :$index --> Result:D)","references":[{"end":56,"start":48,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set","declaration":true},{"text":"(Str:D $name, $value, Int :$index --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":215,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-set"},{"apiScope":"exported","doc":{"body":"Explicit schema escape hatch. tmux validates the option and interprets its value.","summary":"Explicit schema escape hatch. tmux validates the option and interprets its value."},"id":"LibTmux::Configuration::Options.set-raw","kind":"method","modifiers":[],"name":"set-raw","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.set-raw","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"$value","optional":false,"type":"Str:D"}],"raw":"method set-raw(Str:D $name, Str:D $value --> Result:D)","references":[{"end":53,"start":45,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set-raw","declaration":true},{"text":"(Str:D $name, Str:D $value --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":254,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-set-raw"},{"apiScope":"exported","doc":{"body":"Remove a local value or array member; tmux's inherited/default value may remain.","summary":"Remove a local value or array member; tmux's inherited/default value may remain."},"id":"LibTmux::Configuration::Options.unset","kind":"method","modifiers":[],"name":"unset","package":"LibTmux","parent":"LibTmux::Configuration::Options","product":"core","publicId":"LibTmux::Configuration::Options.unset","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$index","optional":true,"type":"Int"}],"raw":"method unset(Str:D $name, Int :$index --> Result:D)","references":[{"end":50,"start":42,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unset","declaration":true},{"text":"(Str:D $name, Int :$index --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Configuration.rakumod","line":246,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-configuration-options-unset"},{"apiScope":"exported","doc":{"body":"# Control framing and delivery\n\nDecoder frames bytes on LF and correlates all three numeric guard fields.\nNotification-shaped lines within a response remain payload. PaneOutput keeps\noctal-decoded bytes, including NUL and incomplete UTF-8; text decoding belongs\nto a separate incremental consumer. UnknownEvent preserves future notifications.\n\nThe tmux wire protocol does not escape arbitrary command payloads from matching\ntheir own terminal guard. Managed reads must use declared, prefixed projections;\nraw command output cannot promise lossless framing for guard-shaped payloads.\nA Response acknowledges dispatch. Its end guard does not establish completion\nof a launched job, popup, detach, or other asynchronous effect.\nSome queued jobs print outside response blocks. UnframedOutput preserves such\nlines, but the protocol cannot distinguish arbitrary job text from notifications.\n\nEvent delivery is live, without replay. A late tap misses earlier events.\nEach subscriber has an independently bounded queue and serial worker. A slow\nsubscriber overflows explicitly; a throwing callback terminates only its own\nsubscription. Closing a tap discards queued values. Owner completion drains\nalready accepted values before done; failure drains before quit. User callbacks\nalready executing cannot be cancelled, and owner teardown does not wait for them.","summary":""},"id":"LibTmux::Control","kind":"module","modifiers":[],"name":"LibTmux::Control","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Control","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control"},{"apiScope":"exported","doc":{"body":"# Owned control connection\n\nConnection connects to an exact session on an observed daemon. Startup verifies\nthe daemon again over the persistent connection. The ignore-size client flag\navoids changing pane dimensions. New layouts are negotiated when supported;\nolder profiles retain their native control layout representation.\n\nCommands are serialized through one bounded queue. A separate unpredictable\nFORMAT barrier correlates every response, including nested commands and jobs\nwhich print after their end guard. A barrier means the tmux command queue reached\nthat point; background jobs and external effects still need domain-specific\ncompletion evidence. Raw command output has the framing limitations described\nby :obj:`LibTmux::Control `. Declared projections avoid arbitrary output delimiters.\n\nEach request owns a deadline from admission. Cancelling an unsent request leaves\nthe connection usable. Timeout or cancellation after dispatch closes the whole\nconnection because later response ownership is uncertain. Effects already sent\nremain indeterminate. Closing stops the client, not the daemon or launched jobs.\n\nAn event Supply is shared, live and bounded per subscriber. Reconnect requires a\nnew Connection and explicit snapshot acquisition; old requests and observations\nnever migrate automatically. Every connection has a distinct epoch.","summary":""},"id":"LibTmux::Control::Connection","kind":"class","modifiers":[],"name":"LibTmux::Control::Connection","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::Connection","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":5,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection"},{"apiScope":"exported","doc":{"body":"Separate termination and reaping budget in milliseconds.","summary":"Separate termination and reaping budget in milliseconds."},"id":"LibTmux::Control::Connection.cleanup-timeout-ms","kind":"property","modifiers":[],"name":"cleanup-timeout-ms","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.cleanup-timeout-ms","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":95,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-cleanup-timeout-ms"},{"apiScope":"exported","doc":{"body":"Refuse cloning of a process and its pending request state.","summary":"Refuse cloning of a process and its pending request state."},"id":"LibTmux::Control::Connection.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":145,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-clone"},{"apiScope":"exported","doc":{"body":"Stop admission, settle every request and reap only this connection's client.","summary":"Stop admission, settle every request and reap only this connection's client."},"id":"LibTmux::Control::Connection.close","kind":"method","modifiers":[],"name":"close","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.close","signatures":[{"params":[],"raw":"method close(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":554,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-close"},{"apiScope":"exported","doc":{"body":"Share one bounded shutdown which settles pending work and reaps only this client.","summary":"Share one bounded shutdown which settles pending work and reaps only this client."},"id":"LibTmux::Control::Connection.close-async","kind":"method","modifiers":[],"name":"close-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.close-async","signatures":[{"params":[],"raw":"method close-async(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-async","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":556,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-close-async"},{"apiScope":"exported","doc":{"body":"Shared completion Promise for connection shutdown; callers cannot resolve it.","summary":"Shared completion Promise for connection shutdown; callers cannot resolve it."},"id":"LibTmux::Control::Connection.closed","kind":"method","modifiers":[],"name":"closed","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.closed","signatures":[{"params":[],"raw":"method closed(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"closed","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":151,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-closed"},{"apiScope":"exported","doc":{"body":"Observe, attach and verify a persistent connection to an exact session ID.","summary":"Observe, attach and verify a persistent connection to an exact session ID."},"id":"LibTmux::Control::Connection.connect","kind":"method","modifiers":[],"name":"connect","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.connect","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method connect(*%options --> LibTmux::Control::Connection:D)","references":[{"end":59,"start":29,"target":"LibTmux::Control::Connection"}],"returns":"LibTmux::Control::Connection:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"connect","declaration":true},{"text":"(*%options --> "},{"text":"LibTmux::Control::Connection:D","target":"LibTmux::Control::Connection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":160,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-connect"},{"apiScope":"exported","doc":{"body":"Resolve to a verified connection or reject after bounded startup cleanup.","summary":"Resolve to a verified connection or reject after bounded startup cleanup."},"id":"LibTmux::Control::Connection.connect-async","kind":"method","modifiers":[],"name":"connect-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.connect-async","signatures":[{"params":[{"keywordOnly":true,"name":"$endpoint","optional":false},{"keywordOnly":true,"name":"$session-id","optional":false},{"default":"Incarnation","keywordOnly":true,"name":"$incarnation","optional":true},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true},{"default":"1_000","keywordOnly":true,"name":"$cleanup-timeout-ms","optional":true},{"default":"128","keywordOnly":true,"name":"$max-pending","optional":true},{"default":"8 * 1024 * 1024","keywordOnly":true,"name":"$max-output-bytes","optional":true},{"default":"12 * 1024","keywordOnly":true,"name":"$max-command-bytes","optional":true},{"default":"256","keywordOnly":true,"name":"$max-events","optional":true},{"default":"1024 * 1024","keywordOnly":true,"name":"$max-event-bytes","optional":true},{"default":"'auto'","keywordOnly":true,"name":"$new-layouts","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true}],"raw":"method connect-async(:$endpoint!, :$session-id!, :$incarnation = Incarnation,\n :$timeout-ms = 10_000, :$cleanup-timeout-ms = 1_000, :$max-pending = 128,\n :$max-output-bytes = 8 * 1024 * 1024, :$max-command-bytes = 12 * 1024,\n :$max-events = 256, :$max-event-bytes = 1024 * 1024,\n :$new-layouts = 'auto', :$cancel = Cancellation --> Promise:D)","references":[{"end":76,"start":65,"target":"LibTmux::Engine::Incarnation"},{"end":339,"start":327,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"connect-async","declaration":true},{"text":"(:$endpoint!, :$session-id!, :$incarnation = "},{"text":"Incarnation","target":"LibTmux::Engine::Incarnation"},{"text":",\n :$timeout-ms = 10_000, :$cleanup-timeout-ms = 1_000, :$max-pending = 128,\n :$max-output-bytes = 8 * 1024 * 1024, :$max-command-bytes = 12 * 1024,\n :$max-events = 256, :$max-event-bytes = 1024 * 1024,\n :$new-layouts = 'auto', :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":162,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-connect-async"},{"apiScope":"exported","doc":{"body":"Captured connection settings; retaining them owns no process.","summary":"Captured connection settings; retaining them owns no process."},"id":"LibTmux::Control::Connection.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-control-connection-endpoint"},{"apiScope":"exported","doc":{"body":"Unique connection identity; reconnecting always creates a new epoch.","summary":"Unique connection identity; reconnecting always creates a new epoch."},"id":"LibTmux::Control::Connection.epoch","kind":"property","modifiers":[],"name":"epoch","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.epoch","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":103,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-control-connection-epoch"},{"apiScope":"exported","doc":{"body":"All taps share this process; each receives independently bounded live delivery.","summary":"All taps share this process; each receives independently bounded live delivery."},"id":"LibTmux::Control::Connection.events","kind":"method","modifiers":[],"name":"events","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.events","signatures":[{"params":[],"raw":"method events(--> Supply:D)","references":[],"returns":"Supply:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"events","declaration":true},{"text":"(--> Supply:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":147,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-events"},{"apiScope":"exported","doc":{"body":"Execute one raw command, waiting for a separate queue barrier; no rollback is implied.","summary":"Execute one raw command, waiting for a separate queue barrier; no rollback is implied."},"id":"LibTmux::Control::Connection.execute","kind":"method","modifiers":[],"name":"execute","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.execute","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method execute($command, *%options --> Acknowledgement:D)","references":[{"end":56,"start":39,"target":"LibTmux::Control::Connection::Acknowledgement"}],"returns":"Acknowledgement:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"execute","declaration":true},{"text":"($command, *%options --> "},{"text":"Acknowledgement:D","target":"LibTmux::Control::Connection::Acknowledgement"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":404,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-execute"},{"apiScope":"exported","doc":{"body":"Queue one command and resolve its ordered acknowledgement; cancellation may close the connection.","summary":"Queue one command and resolve its ordered acknowledgement; cancellation may close the connection."},"id":"LibTmux::Control::Connection.execute-async","kind":"method","modifiers":[],"name":"execute-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.execute-async","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false},{"default":"Incarnation","keywordOnly":true,"name":"$incarnation","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true},{"default":"True","keywordOnly":true,"name":"$check","optional":true},{"default":"Instant","keywordOnly":true,"name":"$deadline","optional":true}],"raw":"method execute-async($command, :$incarnation = Incarnation, :$cancel = Cancellation,\n :$check = True, :$deadline = Instant --> Promise:D)","references":[{"end":58,"start":47,"target":"LibTmux::Engine::Incarnation"},{"end":83,"start":71,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"execute-async","declaration":true},{"text":"($command, :$incarnation = "},{"text":"Incarnation","target":"LibTmux::Engine::Incarnation"},{"text":", :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":",\n :$check = True, :$deadline = Instant --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":421,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-execute-async"},{"apiScope":"exported","doc":{"body":"Explain a query against this connection's immutable negotiated capabilities, without I/O.","summary":"Explain a query against this connection's immutable negotiated capabilities, without I/O."},"id":"LibTmux::Control::Connection.explain","kind":"method","modifiers":[],"name":"explain","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.explain","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"default":"Map.new","keywordOnly":true,"name":"$where","optional":true,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method explain(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto', *%unknown --> Plan:D)","references":[{"end":93,"start":87,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"explain","declaration":true},{"text":"(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto', *%unknown --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":485,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-explain"},{"apiScope":"exported","doc":{"body":"Explain pane restrictions and local residual work.","summary":"Explain pane restrictions and local residual work."},"id":"LibTmux::Control::Connection.explain-panes","kind":"method","modifiers":[],"name":"explain-panes","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.explain-panes","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method explain-panes(*%options --> Plan:D)","references":[{"end":41,"start":35,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"explain-panes","declaration":true},{"text":"(*%options --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":513,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-explain-panes"},{"apiScope":"exported","doc":{"body":"Terminal connection error, or an undefined Exception after normal close.","summary":"Terminal connection error, or an undefined Exception after normal close."},"id":"LibTmux::Control::Connection.failure","kind":"method","modifiers":[],"name":"failure","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.failure","signatures":[{"params":[],"raw":"method failure(--> Exception)","references":[],"returns":"Exception","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"failure","declaration":true},{"text":"(--> Exception)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-failure"},{"apiScope":"exported","doc":{"body":"Maximum encoded command size in bytes, including tmux quoting.","summary":"Maximum encoded command size in bytes, including tmux quoting."},"id":"LibTmux::Control::Connection.max-command-bytes","kind":"property","modifiers":[],"name":"max-command-bytes","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.max-command-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-max-command-bytes"},{"apiScope":"exported","doc":{"body":"Per-response output-byte limit; retained stderr has the same separate bound.","summary":"Per-response output-byte limit; retained stderr has the same separate bound."},"id":"LibTmux::Control::Connection.max-output-bytes","kind":"property","modifiers":[],"name":"max-output-bytes","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.max-output-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":99,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-max-output-bytes"},{"apiScope":"exported","doc":{"body":"Maximum admitted requests, including the active request and queued cancellations.","summary":"Maximum admitted requests, including the active request and queued cancellations."},"id":"LibTmux::Control::Connection.max-pending","kind":"property","modifiers":[],"name":"max-pending","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.max-pending","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":97,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-max-pending"},{"apiScope":"exported","doc":{"body":"Refuse unstarted owners; construct a live owner through connect.","summary":"Refuse unstarted owners; construct a live owner through connect."},"id":"LibTmux::Control::Connection.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":143,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-new"},{"apiScope":"exported","doc":{"body":"Return the immutable identity and negotiated capabilities established at connection time.","summary":"Return the immutable identity and negotiated capabilities established at connection time."},"id":"LibTmux::Control::Connection.observation","kind":"method","modifiers":[],"name":"observation","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.observation","signatures":[{"params":[],"raw":"method observation(--> Observation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Observation"}],"returns":"Observation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"observation","declaration":true},{"text":"(--> "},{"text":"Observation:D","target":"LibTmux::Engine::Observation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":149,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-observation"},{"apiScope":"exported","doc":{"body":"Verify the connected daemon through a queue barrier without acquiring a graph.","summary":"Verify the connected daemon through a queue barrier without acquiring a graph."},"id":"LibTmux::Control::Connection.observe","kind":"method","modifiers":[],"name":"observe","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.observe","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method observe(*%options --> Observation:D)","references":[{"end":42,"start":29,"target":"LibTmux::Engine::Observation"}],"returns":"Observation:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"observe","declaration":true},{"text":"(*%options --> "},{"text":"Observation:D","target":"LibTmux::Engine::Observation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":463,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-observe"},{"apiScope":"exported","doc":{"body":"Verify daemon identity through a queued barrier and resolve the captured observation.","summary":"Verify daemon identity through a queued barrier and resolve the captured observation."},"id":"LibTmux::Control::Connection.observe-async","kind":"method","modifiers":[],"name":"observe-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.observe-async","signatures":[{"params":[{"default":"Instant","keywordOnly":true,"name":"$deadline","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true}],"raw":"method observe-async(:$deadline = Instant, :$cancel = Cancellation --> Promise:D)","references":[{"end":66,"start":54,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"observe-async","declaration":true},{"text":"(:$deadline = Instant, :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":465,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-observe-async"},{"apiScope":"exported","doc":{"body":"Owned control-client PID, or undefined before successful process creation.","summary":"Owned control-client PID, or undefined before successful process creation."},"id":"LibTmux::Control::Connection.pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.pid","signatures":[{"params":[],"raw":"method pid(--> Int)","references":[],"returns":"Int","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pid","declaration":true},{"text":"(--> Int)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":157,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-pid"},{"apiScope":"exported","doc":{"body":"Acquire a selection through this connection; retained observations keep no live owner.","summary":"Acquire a selection through this connection; retained observations keep no live owner."},"id":"LibTmux::Control::Connection.query","kind":"method","modifiers":[],"name":"query","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.query","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query(Mu $entity, *%options --> Positional:D)","references":[],"returns":"Positional:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query","declaration":true},{"text":"(Mu $entity, *%options --> Positional:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":491,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-query"},{"apiScope":"exported","doc":{"body":"Copy and validate query data before scheduling acquisition and residual evaluation.","summary":"Copy and validate query data before scheduling acquisition and residual evaluation."},"id":"LibTmux::Control::Connection.query-async","kind":"method","modifiers":[],"name":"query-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.query-async","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"default":"Map.new","keywordOnly":true,"name":"$where","optional":true,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method query-async(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto',\n Mu :$cancel = Cancellation, *%unknown --> Promise:D)","references":[{"end":122,"start":110,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-async","declaration":true},{"text":"(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto',\n Mu :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":", *%unknown --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":493,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-query-async"},{"apiScope":"exported","doc":{"body":"Acquire pane observations with explicit source filtering.","summary":"Acquire pane observations with explicit source filtering."},"id":"LibTmux::Control::Connection.query-panes","kind":"method","modifiers":[],"name":"query-panes","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.query-panes","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-panes(*%options --> PaneSelection:D)","references":[{"end":48,"start":33,"target":"LibTmux::Model::PaneSelection"}],"returns":"PaneSelection:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-panes","declaration":true},{"text":"(*%options --> "},{"text":"PaneSelection:D","target":"LibTmux::Model::PaneSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":511,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-query-panes"},{"apiScope":"exported","doc":{"body":"Read a declared projection through the connection's negotiated codec profile.","summary":"Read a declared projection through the connection's negotiated codec profile."},"id":"LibTmux::Control::Connection.read","kind":"method","modifiers":[],"name":"read","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.read","signatures":[{"params":[{"keywordOnly":false,"name":"$projection","optional":false,"type":"Projection:D"},{"keywordOnly":false,"name":"$listing","optional":false,"type":"Invocation:D"},{"keywordOnly":true,"name":"$incarnation","optional":false,"type":"Incarnation:D"},{"default":"Instant","keywordOnly":true,"name":"$deadline","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true}],"raw":"method read(Projection:D $projection, Invocation:D $listing,\n Incarnation:D :$incarnation!, :$deadline = Instant, :$cancel = Cancellation --> List:D)","references":[{"end":24,"start":12,"target":"LibTmux::Format::Projection"},{"end":50,"start":38,"target":"LibTmux::Command::Invocation"},{"end":78,"start":65,"target":"LibTmux::Engine::Incarnation"},{"end":140,"start":128,"target":"LibTmux::Transport::Cancellation"}],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"read","declaration":true},{"text":"("},{"text":"Projection:D","target":"LibTmux::Format::Projection"},{"text":" $projection, "},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $listing,\n "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":" :$incarnation!, :$deadline = Instant, :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> List:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":440,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-read"},{"apiScope":"exported","doc":{"body":"Whether the owned control client has exited and been joined.","summary":"Whether the owned control client has exited and been joined."},"id":"LibTmux::Control::Connection.reaped","kind":"method","modifiers":[],"name":"reaped","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.reaped","signatures":[{"params":[],"raw":"method reaped(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"reaped","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":153,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-reaped"},{"apiScope":"exported","doc":{"body":"Session used for the initial attach; explicit client switching can later change it.","summary":"Session used for the initial attach; explicit client switching can later change it."},"id":"LibTmux::Control::Connection.session-id","kind":"property","modifiers":[],"name":"session-id","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.session-id","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":91,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SessionId:D","slug":"libtmux-control-connection-session-id"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph through this connection; retained views keep no connection alive.","summary":"Acquire a fresh graph through this connection; retained views keep no connection alive."},"id":"LibTmux::Control::Connection.snapshot","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.snapshot","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method snapshot(Cancellation :$cancel = Cancellation --> Snapshot:D)","references":[{"end":28,"start":16,"target":"LibTmux::Transport::Cancellation"},{"end":52,"start":40,"target":"LibTmux::Transport::Cancellation"},{"end":67,"start":57,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":477,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-snapshot"},{"apiScope":"exported","doc":{"body":"Resolve a fresh graph acquired within one deadline, with explicit cancellation.","summary":"Resolve a fresh graph acquired within one deadline, with explicit cancellation."},"id":"LibTmux::Control::Connection.snapshot-async","kind":"method","modifiers":[],"name":"snapshot-async","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.snapshot-async","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method snapshot-async(Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":34,"start":22,"target":"LibTmux::Transport::Cancellation"},{"end":58,"start":46,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot-async","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":479,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-snapshot-async"},{"apiScope":"exported","doc":{"body":"Default request deadline budget in milliseconds from admission.","summary":"Default request deadline budget in milliseconds from admission."},"id":"LibTmux::Control::Connection.timeout-ms","kind":"property","modifiers":[],"name":"timeout-ms","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.timeout-ms","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":93,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-connection-timeout-ms"},{"apiScope":"exported","doc":{"body":"Validate an encoded command against this connection without I/O or queue admission.","summary":"Validate an encoded command against this connection without I/O or queue admission."},"id":"LibTmux::Control::Connection.validate-command","kind":"method","modifiers":[],"name":"validate-command","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection.validate-command","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"keywordOnly":true,"name":"$incarnation","optional":false,"type":"Incarnation:D"}],"raw":"method validate-command(Invocation:D $command, Incarnation:D :$incarnation! --> Nil)","references":[{"end":36,"start":24,"target":"LibTmux::Command::Invocation"},{"end":60,"start":47,"target":"LibTmux::Engine::Incarnation"}],"returns":"Nil","nativeSyntax":[{"start":7,"end":23,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"validate-command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":" :$incarnation! --> Nil)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":407,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-validate-command"},{"apiScope":"exported","doc":{"body":"Ordered command records observed before a separate queue barrier completed.","summary":"Ordered command records observed before a separate queue barrier completed."},"id":"LibTmux::Control::Connection::Acknowledgement","kind":"class","modifiers":[],"name":"Acknowledgement","package":"LibTmux","parent":"LibTmux::Control::Connection","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement"},{"apiScope":"exported","doc":{"body":"Refuse altered copies of this received acknowledgement.","summary":"Refuse altered copies of this received acknowledgement."},"id":"LibTmux::Control::Connection::Acknowledgement.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement-clone"},{"apiScope":"exported","doc":{"body":"Unique connection identity; reconnecting always creates a new epoch.","summary":"Unique connection identity; reconnecting always creates a new epoch."},"id":"LibTmux::Control::Connection::Acknowledgement.epoch","kind":"property","modifiers":[],"name":"epoch","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.epoch","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-control-connection-acknowledgement-epoch"},{"apiScope":"exported","doc":{"body":"Whether any framed response ended with a command error guard.","summary":"Whether any framed response ended with a command error guard."},"id":"LibTmux::Control::Connection::Acknowledgement.failed","kind":"method","modifiers":[],"name":"failed","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.failed","signatures":[{"params":[],"raw":"method failed(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"failed","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":44,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement-failed"},{"apiScope":"exported","doc":{"body":"Retained protocol payload bytes, excluding bounded record metadata.","summary":"Retained protocol payload bytes, excluding bounded record metadata."},"id":"LibTmux::Control::Connection::Acknowledgement.output-bytes","kind":"method","modifiers":[],"name":"output-bytes","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.output-bytes","signatures":[{"params":[],"raw":"method output-bytes(--> Count:D)","references":[{"end":31,"start":24,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"output-bytes","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":46,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement-output-bytes"},{"apiScope":"exported","doc":{"body":"Copy response and unframed payload bytes in their received order.","summary":"Copy response and unframed payload bytes in their received order."},"id":"LibTmux::Control::Connection::Acknowledgement.payload","kind":"method","modifiers":[],"name":"payload","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.payload","signatures":[{"params":[],"raw":"method payload(--> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"payload","declaration":true},{"text":"(--> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":50,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-connection-acknowledgement-payload"},{"apiScope":"exported","doc":{"body":"Ordered response blocks and unframed output preceding the completion barrier.","summary":"Ordered response blocks and unframed output preceding the completion barrier."},"id":"LibTmux::Control::Connection::Acknowledgement.records","kind":"property","modifiers":[],"name":"records","package":"LibTmux","parent":"LibTmux::Control::Connection::Acknowledgement","product":"core","publicId":"LibTmux::Control::Connection::Acknowledgement.records","signatures":[],"source":{"file":"lib/LibTmux/Control/Connection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-control-connection-acknowledgement-records"},{"apiScope":"exported","doc":{"body":"Incremental LF framing with exact response guards and bounded retained data.","summary":"Incremental LF framing with exact response guards and bounded retained data."},"id":"LibTmux::Control::Decoder","kind":"class","modifiers":[],"name":"Decoder","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::Decoder","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":108,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-decoder"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::Decoder.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":126,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-decoder-clone"},{"apiScope":"exported","doc":{"body":"Return complete events/responses in arrival order; partial records stay bounded.","summary":"Return complete events/responses in arrival order; partial records stay bounded."},"id":"LibTmux::Control::Decoder.feed","kind":"method","modifiers":[],"name":"feed","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.feed","signatures":[{"params":[{"keywordOnly":false,"name":"$chunk","optional":false,"type":"Blob:D"}],"raw":"method feed(Blob:D $chunk --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"feed","declaration":true},{"text":"(Blob:D $chunk --> List:D)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":167,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-decoder-feed"},{"apiScope":"exported","doc":{"body":"EOF is valid only between complete notifications and command blocks.","summary":"EOF is valid only between complete notifications and command blocks."},"id":"LibTmux::Control::Decoder.finish","kind":"method","modifiers":[],"name":"finish","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.finish","signatures":[{"params":[],"raw":"method finish(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"finish","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":192,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-decoder-finish"},{"apiScope":"exported","doc":{"body":"Maximum bytes accepted in one feed call.","summary":"Maximum bytes accepted in one feed call."},"id":"LibTmux::Control::Decoder.max-chunk-bytes","kind":"property","modifiers":[],"name":"max-chunk-bytes","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.max-chunk-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":114,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-decoder-max-chunk-bytes"},{"apiScope":"exported","doc":{"body":"Maximum completed frames emitted by one feed call.","summary":"Maximum completed frames emitted by one feed call."},"id":"LibTmux::Control::Decoder.max-frames","kind":"property","modifiers":[],"name":"max-frames","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.max-frames","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-decoder-max-frames"},{"apiScope":"exported","doc":{"body":"Maximum incomplete or complete physical control line length in bytes.","summary":"Maximum incomplete or complete physical control line length in bytes."},"id":"LibTmux::Control::Decoder.max-line-bytes","kind":"property","modifiers":[],"name":"max-line-bytes","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.max-line-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":110,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-decoder-max-line-bytes"},{"apiScope":"exported","doc":{"body":"Maximum payload bytes retained inside one response block.","summary":"Maximum payload bytes retained inside one response block."},"id":"LibTmux::Control::Decoder.max-response-bytes","kind":"property","modifiers":[],"name":"max-response-bytes","package":"LibTmux","parent":"LibTmux::Control::Decoder","product":"core","publicId":"LibTmux::Control::Decoder.max-response-bytes","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":112,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-control-decoder-max-response-bytes"},{"apiScope":"exported","doc":{"body":"One notification, retaining its original bytes without the record terminator.","summary":"One notification, retaining its original bytes without the record terminator."},"id":"LibTmux::Control::Event","kind":"class","modifiers":[],"name":"Event","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::Event","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":13,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-event"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::Event.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Event","product":"core","publicId":"LibTmux::Control::Event.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-event-clone"},{"apiScope":"exported","doc":{"body":"Notification name or unframed-output kind, without assuming a known event schema.","summary":"Notification name or unframed-output kind, without assuming a known event schema."},"id":"LibTmux::Control::Event.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Control::Event","product":"core","publicId":"LibTmux::Control::Event.kind","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":15,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-control-event-kind"},{"apiScope":"exported","doc":{"body":"Original physical record bytes with the terminating LF removed.","summary":"Original physical record bytes with the terminating LF removed."},"id":"LibTmux::Control::Event.raw","kind":"property","modifiers":[],"name":"raw","package":"LibTmux","parent":"LibTmux::Control::Event","product":"core","publicId":"LibTmux::Control::Event.raw","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-control-event-raw"},{"apiScope":"exported","doc":{"body":"Pane output is terminal bytes, not an independently decodable UTF-8 string.","summary":"Pane output is terminal bytes, not an independently decodable UTF-8 string."},"extends":["LibTmux::Control::Event"],"id":"LibTmux::Control::PaneOutput","kind":"class","modifiers":[],"name":"PaneOutput","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::PaneOutput","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":30,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-paneoutput"},{"apiScope":"exported","doc":{"body":"Extended-output age in milliseconds; undefined for ordinary output events.","summary":"Extended-output age in milliseconds; undefined for ordinary output events."},"id":"LibTmux::Control::PaneOutput.age-ms","kind":"property","modifiers":[],"name":"age-ms","package":"LibTmux","parent":"LibTmux::Control::PaneOutput","product":"core","publicId":"LibTmux::Control::PaneOutput.age-ms","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count","slug":"libtmux-control-paneoutput-age-ms"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::PaneOutput.clone","inheritedFrom":"LibTmux::Control::Event","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::PaneOutput","product":"core","publicId":"LibTmux::Control::PaneOutput.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-paneoutput-clone"},{"apiScope":"exported","doc":{"body":"Decoded terminal bytes, which may contain NUL or partial UTF-8 sequences.","summary":"Decoded terminal bytes, which may contain NUL or partial UTF-8 sequences."},"id":"LibTmux::Control::PaneOutput.data","kind":"property","modifiers":[],"name":"data","package":"LibTmux","parent":"LibTmux::Control::PaneOutput","product":"core","publicId":"LibTmux::Control::PaneOutput.data","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-control-paneoutput-data"},{"apiScope":"exported","doc":{"body":"Pane identity from the notification, scoped to its owning connection.","summary":"Pane identity from the notification, scoped to its owning connection."},"id":"LibTmux::Control::PaneOutput.pane-id","kind":"property","modifiers":[],"name":"pane-id","package":"LibTmux","parent":"LibTmux::Control::PaneOutput","product":"core","publicId":"LibTmux::Control::PaneOutput.pane-id","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"PaneId:D","slug":"libtmux-control-paneoutput-pane-id"},{"apiScope":"exported","doc":{"body":"A matched command guard pair acknowledges execution, not asynchronous effects.","summary":"A matched command guard pair acknowledges execution, not asynchronous effects."},"id":"LibTmux::Control::Response","kind":"class","modifiers":[],"name":"Response","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::Response","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-response"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::Response.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":54,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-response-clone"},{"apiScope":"exported","doc":{"body":"Whether the matching terminal guard was percent-error.","summary":"Whether the matching terminal guard was percent-error."},"id":"LibTmux::Control::Response.failed","kind":"property","modifiers":[],"name":"failed","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.failed","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-control-response-failed"},{"apiScope":"exported","doc":{"body":"Native guard flags; these are not an operation-completion guarantee.","summary":"Native guard flags; these are not an operation-completion guarantee."},"id":"LibTmux::Control::Response.flags","kind":"property","modifiers":[],"name":"flags","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.flags","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-control-response-flags"},{"apiScope":"exported","doc":{"body":"Command number from the matched begin/end or error guard.","summary":"Command number from the matched begin/end or error guard."},"id":"LibTmux::Control::Response.number","kind":"property","modifiers":[],"name":"number","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.number","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-control-response-number"},{"apiScope":"exported","doc":{"body":"Response bytes between matching guards, retaining their line separators.","summary":"Response bytes between matching guards, retaining their line separators."},"id":"LibTmux::Control::Response.payload","kind":"property","modifiers":[],"name":"payload","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.payload","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-control-response-payload"},{"apiScope":"exported","doc":{"body":"Guard timestamp in Unix seconds, retained for correlation.","summary":"Guard timestamp in Unix seconds, retained for correlation."},"id":"LibTmux::Control::Response.time","kind":"property","modifiers":[],"name":"time","package":"LibTmux","parent":"LibTmux::Control::Response","product":"core","publicId":"LibTmux::Control::Response.time","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-control-response-time"},{"apiScope":"exported","doc":{"body":"Some queued jobs print after their end guard; preserve that unframed line.","summary":"Some queued jobs print after their end guard; preserve that unframed line."},"extends":["LibTmux::Control::Event"],"id":"LibTmux::Control::UnframedOutput","kind":"class","modifiers":[],"name":"UnframedOutput","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::UnframedOutput","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-unframedoutput"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::UnframedOutput.clone","inheritedFrom":"LibTmux::Control::Event","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::UnframedOutput","product":"core","publicId":"LibTmux::Control::UnframedOutput.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-unframedoutput-clone"},{"apiScope":"exported","doc":{"body":"An unrecognized notification remains inspectable without interpreting its body.","summary":"An unrecognized notification remains inspectable without interpreting its body."},"extends":["LibTmux::Control::Event"],"id":"LibTmux::Control::UnknownEvent","kind":"class","modifiers":[],"name":"UnknownEvent","package":"LibTmux","parent":"LibTmux::Control","product":"core","publicId":"LibTmux::Control::UnknownEvent","signatures":[],"source":{"file":"lib/LibTmux/Control.rakumod","line":24,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-unknownevent"},{"apiScope":"exported","doc":{"body":"Refuse cloning; retain this value or construct a fresh decoder.","summary":"Refuse cloning; retain this value or construct a fresh decoder."},"id":"LibTmux::Control::UnknownEvent.clone","inheritedFrom":"LibTmux::Control::Event","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Control::UnknownEvent","product":"core","publicId":"LibTmux::Control::UnknownEvent.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Control.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-control-unknownevent-clone"},{"apiScope":"exported","doc":{"body":"# Daemon identity and explicit effects\n\nEndpoint captures argv scope and sanitized environment without I/O. Runtime\nowns its executor; Observation and Incarnation retain values only. Observing\ncapabilities reads the daemon's version separately from the client executable.\nPrepared projections and references are bound to that daemon incarnation.\n\nManaged commands check Linux boot ID and process start ticks, then enter one\ntmux command-list branch fenced by PID and tmux start time. A replacement\nbetween those steps is refused unless it reuses the same PID and the same\nsecond-resolution start time. That narrow race remains outside this guarantee.\nPersistent control connections provide a separate, connection-bound lifetime.\n\nIdentity probes use a nonce-bearing invalid command with an equals sign and\nhyphen. They cannot match tmux command-alias keys or trigger display-message\nhooks. Normal dispatch of canonical built-in commands is assumed; this is not\na protocol for authenticating a hostile daemon or rewriting its configuration.\n\nClosing Runtime stops its owned clients. It does not stop the tmux daemon or\nundo effects already performed. ` raw ` preserves execution bounds but provides\nno managed identity or compatibility guarantee. Text passed to a command may\nstill have command-specific FORMAT semantics beyond command-language quoting.","summary":""},"id":"LibTmux::Engine","kind":"module","modifiers":[],"name":"LibTmux::Engine","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Engine","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine"},{"apiScope":"exported","doc":{"body":"Immutable connection settings. Construction performs no tmux operation.","summary":"Immutable connection settings. Construction performs no tmux operation."},"id":"LibTmux::Engine::Endpoint","kind":"class","modifiers":[],"name":"Endpoint","package":"LibTmux","parent":"LibTmux::Engine","product":"core","publicId":"LibTmux::Engine::Endpoint","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":24,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-endpoint"},{"apiScope":"exported","doc":{"body":"Immutable executable/global-argument prefix, including UTF-8 mode.","summary":"Immutable executable/global-argument prefix, including UTF-8 mode."},"id":"LibTmux::Engine::Endpoint.argv","kind":"property","modifiers":[],"name":"argv","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.argv","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-engine-endpoint-argv"},{"apiScope":"exported","doc":{"body":"Executable name or path used for direct argv invocation.","summary":"Executable name or path used for direct argv invocation."},"id":"LibTmux::Engine::Endpoint.binary","kind":"property","modifiers":[],"name":"binary","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.binary","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":26,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-binary"},{"apiScope":"exported","doc":{"body":"Rebuild derived argv and identity when copying configuration.","summary":"Rebuild derived argv and identity when copying configuration."},"id":"LibTmux::Engine::Endpoint.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Endpoint:D)","references":[{"end":37,"start":27,"target":"LibTmux::Engine::Endpoint"}],"returns":"Endpoint:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Endpoint:D","target":"LibTmux::Engine::Endpoint"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Engine.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-endpoint-clone"},{"apiScope":"exported","doc":{"body":"Explicit tmux configuration path; empty leaves the native choice unchanged.","summary":"Explicit tmux configuration path; empty leaves the native choice unchanged."},"id":"LibTmux::Engine::Endpoint.config-file","kind":"property","modifiers":[],"name":"config-file","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.config-file","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-config-file"},{"apiScope":"exported","doc":{"body":"Absolute working directory used when launching command clients.","summary":"Absolute working directory used when launching command clients."},"id":"LibTmux::Engine::Endpoint.cwd","kind":"property","modifiers":[],"name":"cwd","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.cwd","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"IO::Path:D","slug":"libtmux-engine-endpoint-cwd"},{"apiScope":"exported","doc":{"body":"Copied child environment with ambient TMUX and TMUX_PANE removed.","summary":"Copied child environment with ambient TMUX and TMUX_PANE removed."},"id":"LibTmux::Engine::Endpoint.environment","kind":"property","modifiers":[],"name":"environment","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.environment","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Map:D","slug":"libtmux-engine-endpoint-environment"},{"apiScope":"exported","doc":{"body":"Length-delimited endpoint key; this alone does not identify a daemon lifetime.","summary":"Length-delimited endpoint key; this alone does not identify a daemon lifetime."},"id":"LibTmux::Engine::Endpoint.key","kind":"property","modifiers":[],"name":"key","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.key","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":40,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-key"},{"apiScope":"exported","doc":{"body":"Validate and copy endpoint settings without contacting tmux.","summary":"Validate and copy endpoint settings without contacting tmux."},"id":"LibTmux::Engine::Endpoint.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.new","signatures":[{"params":[{"default":"'tmux'","keywordOnly":true,"name":"$binary","optional":true},{"default":"''","keywordOnly":true,"name":"$socket-name","optional":true},{"default":"''","keywordOnly":true,"name":"$socket-path","optional":true},{"default":"''","keywordOnly":true,"name":"$config-file","optional":true},{"default":"%*ENV","keywordOnly":true,"name":"$environment","optional":true},{"default":"$*CWD","keywordOnly":true,"name":"$cwd","optional":true}],"raw":"method new(:$binary = 'tmux', :$socket-name = '', :$socket-path = '',\n :$config-file = '', :$environment = %*ENV, :$cwd = $*CWD)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(:$binary = 'tmux', :$socket-name = '', :$socket-path = '',\n :$config-file = '', :$environment = %*ENV, :$cwd = $*CWD)"}]}],"source":{"file":"lib/LibTmux/Engine.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-endpoint-new"},{"apiScope":"exported","doc":{"body":"Named tmux socket; empty selects the normal socket policy.","summary":"Named tmux socket; empty selects the normal socket policy."},"id":"LibTmux::Engine::Endpoint.socket-name","kind":"property","modifiers":[],"name":"socket-name","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.socket-name","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-socket-name"},{"apiScope":"exported","doc":{"body":"Explicit socket path, resolved against the captured working directory.","summary":"Explicit socket path, resolved against the captured working directory."},"id":"LibTmux::Engine::Endpoint.socket-path","kind":"property","modifiers":[],"name":"socket-path","package":"LibTmux","parent":"LibTmux::Engine::Endpoint","product":"core","publicId":"LibTmux::Engine::Endpoint.socket-path","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":30,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-endpoint-socket-path"},{"apiScope":"exported","doc":{"body":"Value-only daemon identity. Retaining it keeps no process or executor alive.","summary":"Value-only daemon identity. Retaining it keeps no process or executor alive."},"id":"LibTmux::Engine::Incarnation","kind":"class","modifiers":[],"name":"Incarnation","package":"LibTmux","parent":"LibTmux::Engine","product":"core","publicId":"LibTmux::Engine::Incarnation","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":91,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-incarnation"},{"apiScope":"exported","doc":{"body":"Linux boot identifier contributing to process identity.","summary":"Linux boot identifier contributing to process identity."},"id":"LibTmux::Engine::Incarnation.boot-id","kind":"property","modifiers":[],"name":"boot-id","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.boot-id","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":95,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-incarnation-boot-id"},{"apiScope":"exported","doc":{"body":"Exact daemon-reported version text; distinct from client executable version.","summary":"Exact daemon-reported version text; distinct from client executable version."},"id":"LibTmux::Engine::Incarnation.daemon-version","kind":"property","modifiers":[],"name":"daemon-version","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.daemon-version","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":103,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-incarnation-daemon-version"},{"apiScope":"exported","doc":{"body":"Endpoint key observed for this daemon incarnation.","summary":"Endpoint key observed for this daemon incarnation."},"id":"LibTmux::Engine::Incarnation.endpoint-key","kind":"property","modifiers":[],"name":"endpoint-key","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.endpoint-key","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":93,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-engine-incarnation-endpoint-key"},{"apiScope":"exported","doc":{"body":"Return the length-delimited identity key without I/O.","summary":"Return the length-delimited identity key without I/O."},"id":"LibTmux::Engine::Incarnation.key","kind":"method","modifiers":[],"name":"key","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.key","signatures":[{"params":[],"raw":"method key(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Engine.rakumod","line":106,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-incarnation-key"},{"apiScope":"exported","doc":{"body":"Observed daemon process ID, combined with boot and start evidence.","summary":"Observed daemon process ID, combined with boot and start evidence."},"id":"LibTmux::Engine::Incarnation.pid","kind":"property","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.pid","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":97,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-engine-incarnation-pid"},{"apiScope":"exported","doc":{"body":"Linux process start counter in kernel clock ticks.","summary":"Linux process start counter in kernel clock ticks."},"id":"LibTmux::Engine::Incarnation.start-ticks","kind":"property","modifiers":[],"name":"start-ticks","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.start-ticks","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":99,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-engine-incarnation-start-ticks"},{"apiScope":"exported","doc":{"body":"Daemon-reported start time in Unix seconds, used by the command fence.","summary":"Daemon-reported start time in Unix seconds, used by the command fence."},"id":"LibTmux::Engine::Incarnation.start-time","kind":"property","modifiers":[],"name":"start-time","package":"LibTmux","parent":"LibTmux::Engine::Incarnation","product":"core","publicId":"LibTmux::Engine::Incarnation.start-time","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-engine-incarnation-start-time"},{"apiScope":"exported","doc":{"body":"One immutable pairing of daemon identity and capability evidence.","summary":"One immutable pairing of daemon identity and capability evidence."},"id":"LibTmux::Engine::Observation","kind":"class","modifiers":[],"name":"Observation","package":"LibTmux","parent":"LibTmux::Engine","product":"core","publicId":"LibTmux::Engine::Observation","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":113,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-observation"},{"apiScope":"exported","doc":{"body":"Immutable capability evidence bound to the same daemon incarnation.","summary":"Immutable capability evidence bound to the same daemon incarnation."},"id":"LibTmux::Engine::Observation.capabilities","kind":"property","modifiers":[],"name":"capabilities","package":"LibTmux","parent":"LibTmux::Engine::Observation","product":"core","publicId":"LibTmux::Engine::Observation.capabilities","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":117,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"LibTmux::Capabilities:D","slug":"libtmux-engine-observation-capabilities"},{"apiScope":"exported","doc":{"body":"Reconstruct a validated immutable observation from copied values.","summary":"Reconstruct a validated immutable observation from copied values."},"id":"LibTmux::Engine::Observation.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Engine::Observation","product":"core","publicId":"LibTmux::Engine::Observation.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Observation:D)","references":[{"end":40,"start":27,"target":"LibTmux::Engine::Observation"}],"returns":"Observation:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Observation:D","target":"LibTmux::Engine::Observation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Engine.rakumod","line":127,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-engine-observation-clone"},{"apiScope":"exported","doc":{"body":"Captured daemon identity used to reject references after replacement.","summary":"Captured daemon identity used to reject references after replacement."},"id":"LibTmux::Engine::Observation.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Engine::Observation","product":"core","publicId":"LibTmux::Engine::Observation.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Engine.rakumod","line":115,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Incarnation:D","slug":"libtmux-engine-observation-incarnation"},{"apiScope":"exported","doc":{"body":"Typed acquisition, decoding, query, ownership and command failures.","summary":"Typed acquisition, decoding, query, ownership and command failures."},"id":"LibTmux::Exceptions","kind":"module","modifiers":[],"name":"LibTmux::Exceptions","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Exceptions","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":4,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-exceptions"},{"apiScope":"exported","doc":{"body":"# Declared FORMAT projections\nA Projection validates ordered catalogue field names, acquisition context,\ncapabilities, and nullable-field dependencies before generating a template.\nIts schema identifies the field order, codec, and output-repair profile.\nThe separately retained incarnation binds a prepared projection to a daemon;\nthe engine validates that identity before dispatch.\n\nFeed binary output to FrameDecoder and call finish at process completion.\nAn incomplete record, malformed token, exceeded bound, or mismatched schema\nthrows X::LibTmux::Decode and closes the decoder. Row numbers start at one;\noffsets count bytes from the start of the response. Field conversion errors\nidentify the field's starting offset; token errors locate the offending byte.\n\nDecodedRow.bytes retains exact immutable payload bytes. Its value method\nperforms strict UTF-8 conversion for text only when requested. State reports\ndomain null independently from a present empty string, zero, or false.\nRows are constructed through Projection.decode-row and retain the projection's\ndaemon identity as a string; they do not retain an executor or connection.\nAn empty raw q/a token is accepted only when its declared null policy and\nprojected dependencies establish domain null; present empty text remains quoted.\nNo decoding stage evaluates tmux commands, shell syntax, or Raku source.","summary":""},"id":"LibTmux::Format","kind":"module","modifiers":[],"name":"LibTmux::Format","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Format","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format"},{"apiScope":"exported","doc":{"body":"Exact captured field bytes and scalar values. Text conversion is explicit.","summary":"Exact captured field bytes and scalar values. Text conversion is explicit."},"id":"LibTmux::Format::DecodedRow","kind":"class","modifiers":[],"name":"DecodedRow","package":"LibTmux","parent":"LibTmux::Format","product":"core","publicId":"LibTmux::Format::DecodedRow","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":159,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow"},{"apiScope":"exported","doc":{"body":"Return immutable bytes before Unicode normalization, including invalid UTF-8.","summary":"Return immutable bytes before Unicode normalization, including invalid UTF-8."},"id":"LibTmux::Format::DecodedRow.bytes","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":221,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-bytes"},{"apiScope":"exported","doc":{"body":"Copy an observation without substituting unvalidated field state.","summary":"Copy an observation without substituting unvalidated field state."},"id":"LibTmux::Format::DecodedRow.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> DecodedRow:D)","references":[{"end":39,"start":27,"target":"LibTmux::Format::DecodedRow"}],"returns":"DecodedRow:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"DecodedRow:D","target":"LibTmux::Format::DecodedRow"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":209,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-clone"},{"apiScope":"exported","doc":{"body":"Daemon key used to scope this projection or decoded row.","summary":"Daemon key used to scope this projection or decoded row."},"id":"LibTmux::Format::DecodedRow.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":163,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-decodedrow-incarnation"},{"apiScope":"exported","doc":{"body":"Refuse direct construction; rows must come from Projection.decode-row.","summary":"Refuse direct construction; rows must come from Projection.decode-row."},"id":"LibTmux::Format::DecodedRow.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":173,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-new"},{"apiScope":"exported","doc":{"body":"Immutable map of field names to their decoded original bytes.","summary":"Immutable map of field names to their decoded original bytes."},"id":"LibTmux::Format::DecodedRow.raw","kind":"property","modifiers":[],"name":"raw","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.raw","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":167,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Map:D","slug":"libtmux-format-decodedrow-raw"},{"apiScope":"exported","doc":{"body":"One-based record number used in decode diagnostics.","summary":"One-based record number used in decode diagnostics."},"id":"LibTmux::Format::DecodedRow.row","kind":"property","modifiers":[],"name":"row","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.row","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":165,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-format-decodedrow-row"},{"apiScope":"exported","doc":{"body":"Versioned projection identity, including entity and acquisition context.","summary":"Versioned projection identity, including entity and acquisition context."},"id":"LibTmux::Format::DecodedRow.schema","kind":"property","modifiers":[],"name":"schema","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.schema","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":161,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-decodedrow-schema"},{"apiScope":"exported","doc":{"body":"Distinguish domain null from a present empty value.","summary":"Distinguish domain null from a present empty value."},"id":"LibTmux::Format::DecodedRow.state","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":227,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-state"},{"apiScope":"exported","doc":{"body":"Return a typed scalar or strict Unicode text; known domain null returns Nil.","summary":"Return a typed scalar or strict Unicode text; known domain null returns Nil."},"id":"LibTmux::Format::DecodedRow.value","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Format::DecodedRow","product":"core","publicId":"LibTmux::Format::DecodedRow.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":233,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-decodedrow-value"},{"apiScope":"exported","doc":{"body":"Incremental LF framing over bytes with terminal failure and explicit limits.","summary":"Incremental LF framing over bytes with terminal failure and explicit limits."},"id":"LibTmux::Format::FrameDecoder","kind":"class","modifiers":[],"name":"FrameDecoder","package":"LibTmux","parent":"LibTmux::Format","product":"core","publicId":"LibTmux::Format::FrameDecoder","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":438,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-framedecoder"},{"apiScope":"exported","doc":{"body":"A new stream needs a new decoder; buffered state cannot be shallow-copied.","summary":"A new stream needs a new decoder; buffered state cannot be shallow-copied."},"id":"LibTmux::Format::FrameDecoder.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":455,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-framedecoder-clone"},{"apiScope":"exported","doc":{"body":"Yield complete decoded rows eagerly; incomplete bytes remain owned here.","summary":"Yield complete decoded rows eagerly; incomplete bytes remain owned here."},"id":"LibTmux::Format::FrameDecoder.feed","kind":"method","modifiers":[],"name":"feed","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.feed","signatures":[{"params":[{"keywordOnly":false,"name":"$chunk","optional":false,"type":"Blob:D"}],"raw":"method feed(Blob:D $chunk --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"feed","declaration":true},{"text":"(Blob:D $chunk --> List:D)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":461,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-framedecoder-feed"},{"apiScope":"exported","doc":{"body":"Close successfully only on a complete record boundary.","summary":"Close successfully only on a complete record boundary."},"id":"LibTmux::Format::FrameDecoder.finish","kind":"method","modifiers":[],"name":"finish","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.finish","signatures":[{"params":[],"raw":"method finish(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"finish","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":487,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-framedecoder-finish"},{"apiScope":"exported","doc":{"body":"Maximum incomplete record bytes retained between feed calls.","summary":"Maximum incomplete record bytes retained between feed calls."},"id":"LibTmux::Format::FrameDecoder.max-buffer-bytes","kind":"property","modifiers":[],"name":"max-buffer-bytes","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.max-buffer-bytes","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":444,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-format-framedecoder-max-buffer-bytes"},{"apiScope":"exported","doc":{"body":"Maximum cumulative response bytes accepted by this decoder.","summary":"Maximum cumulative response bytes accepted by this decoder."},"id":"LibTmux::Format::FrameDecoder.max-bytes","kind":"property","modifiers":[],"name":"max-bytes","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.max-bytes","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":442,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-format-framedecoder-max-bytes"},{"apiScope":"exported","doc":{"body":"Maximum encoded field size in bytes.","summary":"Maximum encoded field size in bytes."},"id":"LibTmux::Format::FrameDecoder.max-field-bytes","kind":"property","modifiers":[],"name":"max-field-bytes","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.max-field-bytes","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":446,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-format-framedecoder-max-field-bytes"},{"apiScope":"exported","doc":{"body":"Maximum complete records accepted before finish.","summary":"Maximum complete records accepted before finish."},"id":"LibTmux::Format::FrameDecoder.max-rows","kind":"property","modifiers":[],"name":"max-rows","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.max-rows","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":448,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-format-framedecoder-max-rows"},{"apiScope":"exported","doc":{"body":"Declared projection used to frame and decode every accepted record.","summary":"Declared projection used to frame and decode every accepted record."},"id":"LibTmux::Format::FrameDecoder.projection","kind":"property","modifiers":[],"name":"projection","package":"LibTmux","parent":"LibTmux::Format::FrameDecoder","product":"core","publicId":"LibTmux::Format::FrameDecoder.projection","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":440,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Projection:D","slug":"libtmux-format-framedecoder-projection"},{"apiScope":"exported","doc":{"body":"Ordered registered fields with an explicit acquisition context and codec.","summary":"Ordered registered fields with an explicit acquisition context and codec."},"id":"LibTmux::Format::Projection","kind":"class","modifiers":[],"name":"Projection","package":"LibTmux","parent":"LibTmux::Format","product":"core","publicId":"LibTmux::Format::Projection","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":243,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-projection"},{"apiScope":"exported","doc":{"body":"Reconfigured projections must pass the catalogue and capability constructor.","summary":"Reconfigured projections must pass the catalogue and capability constructor."},"id":"LibTmux::Format::Projection.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Projection:D)","references":[{"end":39,"start":27,"target":"LibTmux::Format::Projection"}],"returns":"Projection:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Projection:D","target":"LibTmux::Format::Projection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":262,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-projection-clone"},{"apiScope":"exported","doc":{"body":"Source-qualified quoting profile used to encode free-text fields.","summary":"Source-qualified quoting profile used to encode free-text fields."},"id":"LibTmux::Format::Projection.codec-profile","kind":"property","modifiers":[],"name":"codec-profile","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.codec-profile","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":251,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-codec-profile"},{"apiScope":"exported","doc":{"body":"Acquisition context which determines field availability.","summary":"Acquisition context which determines field availability."},"id":"LibTmux::Format::Projection.context","kind":"property","modifiers":[],"name":"context","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.context","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":247,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-context"},{"apiScope":"exported","doc":{"body":"Decode one terminated row's contents. FrameDecoder owns stream boundaries.","summary":"Decode one terminated row's contents. FrameDecoder owns stream boundaries."},"id":"LibTmux::Format::Projection.decode-row","kind":"method","modifiers":[],"name":"decode-row","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.decode-row","signatures":[{"params":[{"keywordOnly":false,"name":"$line","optional":false,"type":"Blob:D"},{"default":"1","keywordOnly":true,"name":"$row","optional":true,"type":"Int:D"},{"default":"0","keywordOnly":true,"name":"$offset","optional":true,"type":"Int:D"},{"default":"1024 * 1024","keywordOnly":true,"name":"$max-field-bytes","optional":true,"type":"Positive:D"}],"raw":"method decode-row(Blob:D $line, Int:D :$row = 1, Int:D :$offset = 0,\n Positive:D :$max-field-bytes = 1024 * 1024 --> DecodedRow:D)","references":[{"end":101,"start":91,"target":"LibTmux::Types::Positive"},{"end":150,"start":138,"target":"LibTmux::Format::DecodedRow"}],"returns":"DecodedRow:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"decode-row","declaration":true},{"text":"(Blob:D $line, Int:D :$row = 1, Int:D :$offset = 0,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-field-bytes = 1024 * 1024 --> "},{"text":"DecodedRow:D","target":"LibTmux::Format::DecodedRow"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":344,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-projection-decode-row"},{"apiScope":"exported","doc":{"body":"Entity schema selected from the authoritative field catalogue.","summary":"Entity schema selected from the authoritative field catalogue."},"id":"LibTmux::Format::Projection.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.entity","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":245,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-entity"},{"apiScope":"exported","doc":{"body":"Ordered declared fields; their order defines the wire record.","summary":"Ordered declared fields; their order defines the wire record."},"id":"LibTmux::Format::Projection.fields","kind":"property","modifiers":[],"name":"fields","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.fields","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":249,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-format-projection-fields"},{"apiScope":"exported","doc":{"body":"Daemon key used to scope this projection or decoded row.","summary":"Daemon key used to scope this projection or decoded row."},"id":"LibTmux::Format::Projection.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":255,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-incarnation"},{"apiScope":"exported","doc":{"body":"Construct a validated projection; decoded rows must instead come from decode-row.","summary":"Construct a validated projection; decoded rows must instead come from decode-row."},"id":"LibTmux::Format::Projection.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.new","signatures":[{"params":[{"keywordOnly":true,"name":"$entity","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$fields","optional":false,"type":"Positional:D"},{"keywordOnly":true,"name":"$capabilities","optional":false,"type":"LibTmux::Capabilities:D"},{"keywordOnly":true,"name":"$context","optional":true,"type":"Str"}],"raw":"method new(Str:D :$entity!, Positional:D :$fields!,\n LibTmux::Capabilities:D :$capabilities!, Str :$context)","references":[{"end":90,"start":67,"target":"LibTmux::Capabilities"}],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(Str:D :$entity!, Positional:D :$fields!,\n "},{"text":"LibTmux::Capabilities:D","target":"LibTmux::Capabilities"},{"text":" :$capabilities!, Str :$context)"}]}],"source":{"file":"lib/LibTmux/Format.rakumod","line":268,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-format-projection-new"},{"apiScope":"exported","doc":{"body":"Declared command-output repair policy applied before field decoding.","summary":"Declared command-output repair policy applied before field decoding."},"id":"LibTmux::Format::Projection.output-repair","kind":"property","modifiers":[],"name":"output-repair","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.output-repair","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":253,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-output-repair"},{"apiScope":"exported","doc":{"body":"Versioned projection identity, including entity and acquisition context.","summary":"Versioned projection identity, including entity and acquisition context."},"id":"LibTmux::Format::Projection.schema","kind":"property","modifiers":[],"name":"schema","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.schema","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":257,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-schema"},{"apiScope":"exported","doc":{"body":"Complete tmux FORMAT template with versioned framing and escaped text fields.","summary":"Complete tmux FORMAT template with versioned framing and escaped text fields."},"id":"LibTmux::Format::Projection.template","kind":"property","modifiers":[],"name":"template","package":"LibTmux","parent":"LibTmux::Format::Projection","product":"core","publicId":"LibTmux::Format::Projection.template","signatures":[],"source":{"file":"lib/LibTmux/Format.rakumod","line":259,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-format-projection-template"},{"apiScope":"exported","doc":{"body":"# Observed layouts\nConstruct layouts and their cells through ` decode-layout `; direct ` new `\ncalls are refused so captured bytes and validated structure stay together.\n\nClassic layouts validate their checksum and represented tiled tree; ` 0000, `\nis the compatibility sentinel for no represented tiled cells. It does not\nprove the physical window lacks floating panes. JSON version 2 retains\nall cells, including floating placements with signed coordinates and z-index.\nThe separate ` window_modal_pane ` observation supplies ` :modal-pane-id `; an\nempty string means known absence, while omission means not acquired.\n\nUnknown dialects and versions expose exact immutable ` raw ` bytes and\n` known == False `. They do not fabricate a tiled interpretation. Parsing and\ntraversal perform no I/O. Input bytes, nesting, numeric spelling and node\ncounts are bounded before or during parsing.","summary":""},"id":"LibTmux::Layout","kind":"module","modifiers":[],"name":"LibTmux::Layout","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Layout","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout"},{"apiScope":"exported","doc":{"body":"Decode a declared dialect. Unknown versions retain bytes without a guessed tree.","summary":"Decode a declared dialect. Unknown versions retain bytes without a guessed tree."},"id":"LibTmux::Layout.decode-layout","kind":"function","modifiers":["overload"],"name":"decode-layout","package":"LibTmux","parent":"LibTmux::Layout","product":"core","publicId":"LibTmux::Layout.decode-layout","signatures":[{"params":[{"keywordOnly":false,"name":"$raw","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"sub decode-layout(Str:D $raw, *%options --> Layout:D)","references":[{"end":52,"start":44,"target":"LibTmux::Layout::Layout"}],"returns":"Layout:D","nativeSyntax":[{"start":4,"end":17,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"decode-layout","declaration":true},{"text":"(Str:D $raw, *%options --> "},{"text":"Layout:D","target":"LibTmux::Layout::Layout"},{"text":")"}]},{"params":[{"keywordOnly":false,"name":"$raw","optional":false,"type":"Blob:D"},{"keywordOnly":true,"name":"$profile","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$modal-pane-id","optional":true,"type":"Str"},{"default":"1024 * 1024","keywordOnly":true,"name":"$max-bytes","optional":true,"type":"Positive:D"},{"default":"64","keywordOnly":true,"name":"$max-depth","optional":true,"type":"Positive:D"},{"default":"10000","keywordOnly":true,"name":"$max-nodes","optional":true,"type":"Positive:D"}],"raw":"sub decode-layout(Blob:D $raw, Str:D :$profile!,\n Str :$modal-pane-id,\n Positive:D :$max-bytes = 1024 * 1024,\n Positive:D :$max-depth = 64,\n Positive:D :$max-nodes = 10000 --> Layout:D)","references":[{"end":128,"start":118,"target":"LibTmux::Types::Positive"},{"end":190,"start":180,"target":"LibTmux::Types::Positive"},{"end":243,"start":233,"target":"LibTmux::Types::Positive"},{"end":276,"start":268,"target":"LibTmux::Layout::Layout"}],"returns":"Layout:D","nativeSyntax":[{"start":4,"end":17,"kind":"name"}],"nativeSpans":[{"text":"sub "},{"text":"decode-layout","declaration":true},{"text":"(Blob:D $raw, Str:D :$profile!,\n Str :$modal-pane-id,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-bytes = 1024 * 1024,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-depth = 64,\n "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$max-nodes = 10000 --> "},{"text":"Layout:D","target":"LibTmux::Layout::Layout"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":282,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-decode-layout"},{"apiScope":"exported","doc":{"body":"Decoded layout plus exact source bytes, including unsupported future versions.","summary":"Decoded layout plus exact source bytes, including unsupported future versions."},"id":"LibTmux::Layout::Layout","kind":"class","modifiers":[],"name":"Layout","package":"LibTmux","parent":"LibTmux::Layout","product":"core","publicId":"LibTmux::Layout::Layout","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout"},{"apiScope":"exported","doc":{"body":"Retain agreement between captured bytes, version, and decoded structure.","summary":"Retain agreement between captured bytes, version, and decoded structure."},"id":"LibTmux::Layout::Layout.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Layout:D)","references":[{"end":35,"start":27,"target":"LibTmux::Layout::Layout"}],"returns":"Layout:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Layout:D","target":"LibTmux::Layout::Layout"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":81,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-clone"},{"apiScope":"exported","doc":{"body":"Floating placements retain their signed offsets and observed stacking order.","summary":"Floating placements retain their signed offsets and observed stacking order."},"id":"LibTmux::Layout::Layout.floating","kind":"method","modifiers":[],"name":"floating","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.floating","signatures":[{"params":[],"raw":"method floating(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"floating","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":99,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-floating"},{"apiScope":"exported","doc":{"body":"Whether this representation was decoded into the typed node graph.","summary":"Whether this representation was decoded into the typed node graph."},"id":"LibTmux::Layout::Layout.known","kind":"property","modifiers":[],"name":"known","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.known","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-layout-layout-known"},{"apiScope":"exported","doc":{"body":"Resolve separately acquired modal identity; the layout string does not encode it.","summary":"Resolve separately acquired modal identity; the layout string does not encode it."},"id":"LibTmux::Layout::Layout.modal","kind":"method","modifiers":[],"name":"modal","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.modal","signatures":[{"params":[],"raw":"method modal()","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"modal","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":105,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-modal"},{"apiScope":"exported","doc":{"body":"Captured modal-pane identity when the acquisition context supplies it.","summary":"Captured modal-pane identity when the acquisition context supplies it."},"id":"LibTmux::Layout::Layout.modal-pane-id","kind":"property","modifiers":[],"name":"modal-pane-id","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.modal-pane-id","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":71,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str","slug":"libtmux-layout-layout-modal-pane-id"},{"apiScope":"exported","doc":{"body":"Availability of modal-pane information, distinct from known absence.","summary":"Availability of modal-pane information, distinct from known absence."},"id":"LibTmux::Layout::Layout.modal-state","kind":"property","modifiers":[],"name":"modal-state","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.modal-state","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":73,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"ValueState:D","slug":"libtmux-layout-layout-modal-state"},{"apiScope":"exported","doc":{"body":"Refuse direct construction; decode source bytes through decode-layout.","summary":"Refuse direct construction; decode source bytes through decode-layout."},"id":"LibTmux::Layout::Layout.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-new"},{"apiScope":"exported","doc":{"body":"Decoder profile selected by the capability observation.","summary":"Decoder profile selected by the capability observation."},"id":"LibTmux::Layout::Layout.profile","kind":"property","modifiers":[],"name":"profile","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.profile","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-layout-layout-profile"},{"apiScope":"exported","doc":{"body":"Exact layout bytes, retained even when the representation is unsupported.","summary":"Exact layout bytes, retained even when the representation is unsupported."},"id":"LibTmux::Layout::Layout.raw","kind":"property","modifiers":[],"name":"raw","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.raw","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-layout-layout-raw"},{"apiScope":"exported","doc":{"body":"Decoded root cell; undefined when the layout representation is unknown.","summary":"Decoded root cell; undefined when the layout representation is unknown."},"id":"LibTmux::Layout::Layout.root","kind":"property","modifiers":[],"name":"root","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.root","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":69,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"LayoutNode","slug":"libtmux-layout-layout-root"},{"apiScope":"exported","doc":{"body":"Leaf cells which participate in tiling; this is not the complete pane set.","summary":"Leaf cells which participate in tiling; this is not the complete pane set."},"id":"LibTmux::Layout::Layout.tiled","kind":"method","modifiers":[],"name":"tiled","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.tiled","signatures":[{"params":[],"raw":"method tiled(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"tiled","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":93,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layout-tiled"},{"apiScope":"exported","doc":{"body":"Layout representation version when supplied by the modern dialect.","summary":"Layout representation version when supplied by the modern dialect."},"id":"LibTmux::Layout::Layout.version","kind":"property","modifiers":[],"name":"version","package":"LibTmux","parent":"LibTmux::Layout::Layout","product":"core","publicId":"LibTmux::Layout::Layout.version","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":67,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-layout-layout-version"},{"apiScope":"exported","doc":{"body":"An immutable observed layout cell; floating leaves need not tile their parent.","summary":"An immutable observed layout cell; floating leaves need not tile their parent."},"id":"LibTmux::Layout::LayoutNode","kind":"class","modifiers":[],"name":"LayoutNode","package":"LibTmux","parent":"LibTmux::Layout","product":"core","publicId":"LibTmux::Layout::LayoutNode","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":14,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode"},{"apiScope":"exported","doc":{"body":"Optional active-pane flag from the modern layout representation.","summary":"Optional active-pane flag from the modern layout representation."},"id":"LibTmux::Layout::LayoutNode.active","kind":"property","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.active","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":30,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool","slug":"libtmux-layout-layoutnode-active"},{"apiScope":"exported","doc":{"body":"Captured child cells in source order, including floating placements.","summary":"Captured child cells in source order, including floating placements."},"id":"LibTmux::Layout::LayoutNode.children","kind":"property","modifiers":[],"name":"children","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.children","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-layout-layoutnode-children"},{"apiScope":"exported","doc":{"body":"Retain parsed cell invariants when using native no-argument cloning.","summary":"Retain parsed cell invariants when using native no-argument cloning."},"id":"LibTmux::Layout::LayoutNode.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> LayoutNode:D)","references":[{"end":39,"start":27,"target":"LibTmux::Layout::LayoutNode"}],"returns":"LayoutNode:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"LayoutNode:D","target":"LibTmux::Layout::LayoutNode"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":44,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode-clone"},{"apiScope":"exported","doc":{"body":"The JSON dialect carries floating placement through an explicit z-index.","summary":"The JSON dialect carries floating placement through an explicit z-index."},"id":"LibTmux::Layout::LayoutNode.floating","kind":"method","modifiers":[],"name":"floating","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.floating","signatures":[{"params":[],"raw":"method floating(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"floating","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":50,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode-floating"},{"apiScope":"exported","doc":{"body":"Cell height in terminal rows.","summary":"Cell height in terminal rows."},"id":"LibTmux::Layout::LayoutNode.height","kind":"property","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.height","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":20,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-layout-layoutnode-height"},{"apiScope":"exported","doc":{"body":"Optional pane index carried by the modern layout representation.","summary":"Optional pane index carried by the modern layout representation."},"id":"LibTmux::Layout::LayoutNode.index","kind":"property","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.index","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-layout-layoutnode-index"},{"apiScope":"exported","doc":{"body":"Pane leaf or horizontal/vertical container kind in the decoded layout.","summary":"Pane leaf or horizontal/vertical container kind in the decoded layout."},"id":"LibTmux::Layout::LayoutNode.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.kind","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-layout-layoutnode-kind"},{"apiScope":"exported","doc":{"body":"Optional index in the previously visited panes list.","summary":"Optional index in the previously visited panes list."},"id":"LibTmux::Layout::LayoutNode.last","kind":"property","modifiers":[],"name":"last","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.last","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-layout-layoutnode-last"},{"apiScope":"exported","doc":{"body":"Refuse direct cell construction; obtain validated cells through decode-layout.","summary":"Refuse direct cell construction; obtain validated cells through decode-layout."},"id":"LibTmux::Layout::LayoutNode.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode-new"},{"apiScope":"exported","doc":{"body":"Leaf pane identity; undefined for a container.","summary":"Leaf pane identity; undefined for a container."},"id":"LibTmux::Layout::LayoutNode.pane-id","kind":"property","modifiers":[],"name":"pane-id","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.pane-id","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":26,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"PaneId","slug":"libtmux-layout-layoutnode-pane-id"},{"apiScope":"exported","doc":{"body":"All leaf cells, retaining source order including floating leaves.","summary":"All leaf cells, retaining source order including floating leaves."},"id":"LibTmux::Layout::LayoutNode.panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.panes","signatures":[{"params":[],"raw":"method panes(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"panes","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Layout.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-layout-layoutnode-panes"},{"apiScope":"exported","doc":{"body":"Cell width in terminal columns.","summary":"Cell width in terminal columns."},"id":"LibTmux::Layout::LayoutNode.width","kind":"property","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.width","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":18,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-layout-layoutnode-width"},{"apiScope":"exported","doc":{"body":"Horizontal cell offset in terminal columns.","summary":"Horizontal cell offset in terminal columns."},"id":"LibTmux::Layout::LayoutNode.x","kind":"property","modifiers":[],"name":"x","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.x","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":22,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-layout-layoutnode-x"},{"apiScope":"exported","doc":{"body":"Vertical cell offset in terminal rows.","summary":"Vertical cell offset in terminal rows."},"id":"LibTmux::Layout::LayoutNode.y","kind":"property","modifiers":[],"name":"y","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.y","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":24,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-layout-layoutnode-y"},{"apiScope":"exported","doc":{"body":"Optional floating-pane stacking index; undefined for tiled cells.","summary":"Optional floating-pane stacking index; undefined for tiled cells."},"id":"LibTmux::Layout::LayoutNode.z","kind":"property","modifiers":[],"name":"z","package":"LibTmux","parent":"LibTmux::Layout::LayoutNode","product":"core","publicId":"LibTmux::Layout::LayoutNode.z","signatures":[],"source":{"file":"lib/LibTmux/Layout.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"libtmux-layout-layoutnode-z"},{"apiScope":"exported","doc":{"body":"# Captured graph\n\nSnapshot captures observations over an interval. Its field accessors, raw bytes,\nrelations and typed selections perform no I/O. It retains endpoint settings and\nincarnation values, never the Runtime that acquired it. Reference construction\nis local; reference commands create and close a fresh bounded client executor.\n\nPhysical windows and panes are unique by scoped ID. WindowLink represents one\nsession/index association, including repeated links to the same physical window.\nRaw contextual rows preserve their multiplicity. Contradictory duplicate records\nand missing targets in complete collections raise InconsistentSnapshot.\nAn incomplete relation raises MissingData rather than appearing empty.\n\nsame-entity compares daemon-scoped identity. WindowLink has no stable identity\nbetween captures, so its comparison is confined to one captured graph. A link\nreference checks its expected physical window before selecting or unlinking;\nrenumbering between that check and the operation remains a documented race.\n\nWindow.decoded-layout parses captured layout bytes locally. Strict text access\ncan fail for invalid UTF-8 while bytes remains available.\n\n\n\n# Explicit commands\n\nSessionRef.new-window and PaneRef.split/new-floating return references from the\ncommand's declared identity projection. PaneRef.break returns the resulting\nWindowRef; older profiles that omit the identity for a single-pane break use\nan ID-filtered observation afterward. A new observation is acquired only by\ninspect. If the source window has several placements, break requires an\nexplicit :from(WindowLinkRef) so tmux cannot choose which association to move.\nOther mutations return a command Result. Completion means the tmux\nclient completed; pane input processing, rendering and child programs may\ncontinue afterward.\n\nWindowRef.link and WindowLinkRef.move require a destination session and index.\nThey return a WindowLinkRef for that placement. Moving, swapping or unlinking a\nplacement is separate from WindowRef.kill, which destroys the physical window\nand all its links. tmux synchronizes placement changes across grouped sessions;\nunlinking a placement also removes its corresponding peer placements. Physical\nwindow linking prefers the destination session's existing source context when\nthe window is already present there. Link checks and mutations are separate operations;\nconcurrent renumbering can race between them. Cross-daemon targets are rejected.\n\nReferences expose value-only options and hooks facades; SessionRef also exposes\nenvironment. Creating these facades performs no I/O. Their get, set and other\nmethods explicitly acquire or mutate current configuration. See\n:obj:`LibTmux::Configuration ` for typed option, environment and command-value rules.\n\nClient.ref creates a ClientRef with the observed name bytes, PID and creation\ntime. inspect requires that identity to remain attached. Client commands are\ninherited from :obj:`LibTmux::Client `; client disconnection and name reuse can still\nrace between the identity check and the command.\n\nNames and start directories are literal. Names that tmux would silently change\nare refused, and separator support follows the daemon's capability profile.\nPaneRef.set-title quotes one FORMAT expansion; tmux's title validation still\napplies. The low-level command method keeps native tmux argument semantics.\nShell commands passed to creation and respawn run through tmux's shell-command\ncontract. PaneRef.pipe deliberately accepts tmux FORMAT and strftime syntax as\nwell as shell syntax. It closes an existing pipe when called without a command;\n:toggle follows pipe-pane -o, which closes an already open pipe.\n\nLiteral pane input uses send-text and never appends Enter. send-keys accepts\nkey names and a positive :repeat. capture and capture-pending return Blob data\nwithout text conversion or whitespace removal. copy-command sends an explicit\ncopy-mode command; it does not interpret arbitrary text as a key sequence.\nreset queues terminal-state reset followed by history clearing without a client\nroundtrip between them. It is not transactional: failure can leave partial\neffects. reset-terminal only resets terminal state. Running a shell's ` reset `\nprogram is a separate application action: send-text('reset') followed by\nsend-keys('Enter') requests it without promising what the pane application does.\n\nSplit dimensions use :size or :percent exclusively. Percentage splits use the\nsize syntax across profiles, avoiding the known percentage-flag defect. Empty\npane creation selects its documented profile encoding; empty windows require\nthe corresponding capability. Floating creation, movement, stacking, modal\npanes and layout variants have independent capability checks. The defective\nbreak-pane profile is refused before either named or unnamed operations.\n\nSee :obj:`LibTmux::Server ` for endpoint ownership and acquisition,\n:obj:`LibTmux::Selection ` for captured collection operations, and\n:obj:`LibTmux::Transport ` for Result and process cancellation contracts.","summary":""},"id":"LibTmux::Model","kind":"module","modifiers":[],"name":"LibTmux::Model","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Model","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model"},{"apiScope":"exported","doc":{"body":"Captured buffer metadata; it does not retain or implicitly load buffer content.","summary":"Captured buffer metadata; it does not retain or implicitly load buffer content."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Buffer","kind":"class","modifiers":[],"name":"Buffer","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Buffer","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":957,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Buffer.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Buffer.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-clone"},{"apiScope":"exported","doc":{"body":"Captured buffer_created; local uint access.","summary":"Captured buffer_created; local uint access."},"id":"LibTmux::Model::Buffer.created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.created","signatures":[{"params":[],"raw":"method created(--> Count:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"created","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":187,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-created"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Buffer.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-incarnation"},{"apiScope":"exported","doc":{"body":"Captured buffer_name; local text access.","summary":"Captured buffer_name; local text access."},"id":"LibTmux::Model::Buffer.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":183,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Buffer.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-new"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Buffer.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Buffer.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Buffer.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-same-entity"},{"apiScope":"exported","doc":{"body":"Captured buffer_sample; local text access.","summary":"Captured buffer_sample; local text access."},"id":"LibTmux::Model::Buffer.sample","kind":"method","modifiers":[],"name":"sample","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.sample","signatures":[{"params":[],"raw":"method sample(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sample","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":189,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-sample"},{"apiScope":"exported","doc":{"body":"Captured buffer_size; local uint access.","summary":"Captured buffer_size; local uint access."},"id":"LibTmux::Model::Buffer.size","kind":"method","modifiers":[],"name":"size","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.size","signatures":[{"params":[],"raw":"method size(--> Count:D)","references":[{"end":23,"start":16,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"size","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":185,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-size"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Buffer.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Buffer.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Buffer.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Buffer","product":"core","publicId":"LibTmux::Model::Buffer.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-buffer-value"},{"apiScope":"exported","doc":{"body":"Replayable typed buffer membership with local filtering.","summary":"Replayable typed buffer membership with local filtering."},"id":"LibTmux::Model::BufferSelection","kind":"class","modifiers":[],"name":"BufferSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::BufferSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":972,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::BufferSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::BufferSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::BufferSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::BufferSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::BufferSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-list-1et0"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::BufferSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::BufferSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::BufferSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::BufferSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::BufferSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::BufferSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::BufferSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::BufferSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::BufferSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::BufferSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::BufferSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-list-m9fk"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::BufferSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::BufferSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::BufferSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::BufferSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::BufferSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::BufferSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::BufferSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::BufferSelection","product":"core","publicId":"LibTmux::Model::BufferSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-bufferselection-where"},{"apiScope":"exported","doc":{"body":"Captured attached-client fields; commands use its separate reference.","summary":"Captured attached-client fields; commands use its separate reference."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Client","kind":"class","modifiers":[],"name":"Client","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Client","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":947,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client"},{"apiScope":"exported","doc":{"body":"Captured client_activity; local uint access.","summary":"Captured client_activity; local uint access."},"id":"LibTmux::Model::Client.activity","kind":"method","modifiers":[],"name":"activity","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.activity","signatures":[{"params":[],"raw":"method activity(--> Count:D)","references":[{"end":27,"start":20,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"activity","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":161,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-activity"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Client.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Client.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-clone"},{"apiScope":"exported","doc":{"body":"Captured client_control_mode; local bool access.","summary":"Captured client_control_mode; local bool access."},"id":"LibTmux::Model::Client.control-mode","kind":"method","modifiers":[],"name":"control-mode","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.control-mode","signatures":[{"params":[],"raw":"method control-mode(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"control-mode","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":163,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-control-mode"},{"apiScope":"exported","doc":{"body":"Captured client_created; local uint access.","summary":"Captured client_created; local uint access."},"id":"LibTmux::Model::Client.created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.created","signatures":[{"params":[],"raw":"method created(--> Count:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"created","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":159,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-created"},{"apiScope":"exported","doc":{"body":"Captured client_height; local uint access.","summary":"Captured client_height; local uint access."},"id":"LibTmux::Model::Client.height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.height","signatures":[{"params":[],"raw":"method height(--> Count)","references":[{"end":23,"start":18,"target":"LibTmux::Types::Count"}],"returns":"Count","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"height","declaration":true},{"text":"(--> "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":157,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-height"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Client.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-incarnation"},{"apiScope":"exported","doc":{"body":"Captured client_key_table; local text access.","summary":"Captured client_key_table; local text access."},"id":"LibTmux::Model::Client.key-table","kind":"method","modifiers":[],"name":"key-table","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.key-table","signatures":[{"params":[],"raw":"method key-table(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key-table","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":169,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-key-table"},{"apiScope":"exported","doc":{"body":"Captured client_name; local text access.","summary":"Captured client_name; local text access."},"id":"LibTmux::Model::Client.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":145,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Client.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-new"},{"apiScope":"exported","doc":{"body":"Captured client_pid; local uint access.","summary":"Captured client_pid; local uint access."},"id":"LibTmux::Model::Client.pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.pid","signatures":[{"params":[],"raw":"method pid(--> Count:D)","references":[{"end":22,"start":15,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pid","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":153,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-pid"},{"apiScope":"exported","doc":{"body":"Captured client_readonly; local bool access.","summary":"Captured client_readonly; local bool access."},"id":"LibTmux::Model::Client.read-only","kind":"method","modifiers":[],"name":"read-only","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.read-only","signatures":[{"params":[],"raw":"method read-only(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"read-only","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":165,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-read-only"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Client.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Client.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Client.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-same-entity"},{"apiScope":"exported","doc":{"body":"The observed associated session, resolved without I/O.","summary":"The observed associated session, resolved without I/O."},"id":"LibTmux::Model::Client.session","kind":"method","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.session","signatures":[{"params":[],"raw":"method session(--> Session:D)","references":[{"end":28,"start":19,"target":"LibTmux::Model::Session"}],"returns":"Session:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session","declaration":true},{"text":"(--> "},{"text":"Session:D","target":"LibTmux::Model::Session"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":949,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-session"},{"apiScope":"exported","doc":{"body":"Captured session_id; local session-id access.","summary":"Captured session_id; local session-id access."},"id":"LibTmux::Model::Client.session-id","kind":"method","modifiers":[],"name":"session-id","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.session-id","signatures":[{"params":[],"raw":"method session-id(--> SessionId:D)","references":[{"end":33,"start":22,"target":"LibTmux::Types::SessionId"}],"returns":"SessionId:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session-id","declaration":true},{"text":"(--> "},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":147,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-session-id"},{"apiScope":"exported","doc":{"body":"Captured client_session; local text access.","summary":"Captured client_session; local text access."},"id":"LibTmux::Model::Client.session-name","kind":"method","modifiers":[],"name":"session-name","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.session-name","signatures":[{"params":[],"raw":"method session-name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session-name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":149,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-session-name"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Client.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Client.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-state"},{"apiScope":"exported","doc":{"body":"Captured client_termname; local text access.","summary":"Captured client_termname; local text access."},"id":"LibTmux::Model::Client.terminal-name","kind":"method","modifiers":[],"name":"terminal-name","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.terminal-name","signatures":[{"params":[],"raw":"method terminal-name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"terminal-name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":167,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-terminal-name"},{"apiScope":"exported","doc":{"body":"Captured client_tty; local text access.","summary":"Captured client_tty; local text access."},"id":"LibTmux::Model::Client.tty","kind":"method","modifiers":[],"name":"tty","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.tty","signatures":[{"params":[],"raw":"method tty(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"tty","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":151,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-tty"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Client.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-value"},{"apiScope":"exported","doc":{"body":"Captured client_width; local uint access.","summary":"Captured client_width; local uint access."},"id":"LibTmux::Model::Client.width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Model::Client","product":"core","publicId":"LibTmux::Model::Client.width","signatures":[{"params":[],"raw":"method width(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"width","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-client-width"},{"apiScope":"exported","doc":{"body":"A captured client identity with explicit inspection and inherited client commands.","summary":"A captured client identity with explicit inspection and inherited client commands."},"extends":["LibTmux::Client::ClientTarget"],"id":"LibTmux::Model::ClientRef","kind":"class","modifiers":[],"name":"ClientRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::ClientRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":569,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref"},{"apiScope":"exported","doc":{"body":"Enter a pane mode shared by every client viewing that pane.","summary":"Enter a pane mode shared by every client viewing that pane."},"id":"LibTmux::Model::ClientRef.choose","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"choose","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.choose","signatures":[{"params":[{"keywordOnly":false,"name":"$kind","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"Str","keywordOnly":true,"name":"$format","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$filter","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$key-format","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$sort","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$reverse","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$zoom","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$preview","optional":true,"type":"Bool:D"},{"default":"CommandTemplate","keywordOnly":true,"name":"$template","optional":true,"type":"CommandTemplate"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method choose(Str:D $kind, PaneId:D :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, CommandTemplate :$template = CommandTemplate,\n *%operation --> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Types::PaneId"},{"end":270,"start":255,"target":"LibTmux::Client::CommandTemplate"},{"end":299,"start":284,"target":"LibTmux::Client::CommandTemplate"},{"end":343,"start":335,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"choose","declaration":true},{"text":"(Str:D $kind, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":" :$template = "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":",\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":245,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-choose"},{"apiScope":"exported","doc":{"body":"Clear the daemon's selected prompt history; it is shared across clients.","summary":"Clear the daemon's selected prompt history; it is shared across clients."},"id":"LibTmux::Model::ClientRef.clear-prompt-history","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"clear-prompt-history","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.clear-prompt-history","signatures":[{"params":[{"default":"Str","keywordOnly":true,"name":"$type","optional":true,"type":"Str"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method clear-prompt-history(Str :$type = Str, *%operation --> Result:D)","references":[{"end":70,"start":62,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":27,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clear-prompt-history","declaration":true},{"text":"(Str :$type = Str, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":366,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-clear-prompt-history"},{"apiScope":"exported","doc":{"body":"Revalidate changed target values; this performs no existence check or I/O.","summary":"Revalidate changed target values; this performs no existence check or I/O."},"id":"LibTmux::Model::ClientRef.clone","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> ClientTarget:D)","references":[{"end":41,"start":27,"target":"LibTmux::Client::ClientTarget"}],"returns":"ClientTarget:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"ClientTarget:D","target":"LibTmux::Client::ClientTarget"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":89,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-clone"},{"apiScope":"exported","doc":{"body":"Explicitly remove the current popup/overlay, including one left after timeout.","summary":"Explicitly remove the current popup/overlay, including one left after timeout."},"id":"LibTmux::Model::ClientRef.close-popup","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"close-popup","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.close-popup","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method close-popup(*%operation --> Result:D)","references":[{"end":43,"start":35,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-popup","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":212,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-close-popup"},{"apiScope":"exported","doc":{"body":"Ask confirmation before one Invocation. A refusal is returned as a Result.","summary":"Ask confirmation before one Invocation. A refusal is returned as a Result."},"id":"LibTmux::Model::ClientRef.confirm-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"confirm-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.confirm-async","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"'Confirm? (y/n)'","keywordOnly":true,"name":"$prompt","optional":true,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method confirm-async(Invocation:D $command, Positive:D :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D)","references":[{"end":33,"start":21,"target":"LibTmux::Command::Invocation"},{"end":54,"start":44,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"confirm-async","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":237,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-confirm-async"},{"apiScope":"exported","doc":{"body":"Request detachment of this exact observed client. Completion is not exit proof.","summary":"Request detachment of this exact observed client. Completion is not exit proof."},"id":"LibTmux::Model::ClientRef.detach","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"detach","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.detach","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method detach(*%operation --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"detach","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":313,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-detach"},{"apiScope":"exported","doc":{"body":"Evaluate explicit FORMAT and strftime syntax in an existing pane context.","summary":"Evaluate explicit FORMAT and strftime syntax in an existing pane context."},"id":"LibTmux::Model::ClientRef.display-format","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"display-format","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.display-format","signatures":[{"params":[{"keywordOnly":false,"name":"$format","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"True","keywordOnly":true,"name":"$print","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-format(Str:D $format, PaneId:D :$pane!, Bool:D :$print = True,\n *%operation --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Types::PaneId"},{"end":128,"start":120,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-format","declaration":true},{"text":"(Str:D $format, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Bool:D :$print = True,\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":146,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-display-format"},{"apiScope":"exported","doc":{"body":"Display literal FORMAT/time text; tmux still interprets display styles.","summary":"Display literal FORMAT/time text; tmux still interprets display styles."},"id":"LibTmux::Model::ClientRef.display-message","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"display-message","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.display-message","signatures":[{"params":[{"keywordOnly":false,"name":"$message","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"Count","keywordOnly":true,"name":"$duration-ms","optional":true,"type":"Count"},{"default":"False","keywordOnly":true,"name":"$print","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-message(Str:D $message, PaneId:D :$pane!, Count :$duration-ms = Count,\n Bool:D :$print = False, *%operation --> Result:D)","references":[{"end":47,"start":39,"target":"LibTmux::Types::PaneId"},{"end":62,"start":57,"target":"LibTmux::Types::Count"},{"end":84,"start":79,"target":"LibTmux::Types::Count"},{"end":161,"start":153,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-message","declaration":true},{"text":"(Str:D $message, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$duration-ms = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":",\n Bool:D :$print = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":136,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-display-message"},{"apiScope":"exported","doc":{"body":"Display pane numbers, with an optional explicit tmux selection template.","summary":"Display pane numbers, with an optional explicit tmux selection template."},"id":"LibTmux::Model::ClientRef.display-panes-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"display-panes-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.display-panes-async","signatures":[{"params":[{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"Count","keywordOnly":true,"name":"$duration-ms","optional":true,"type":"Count"},{"default":"True","keywordOnly":true,"name":"$select","optional":true,"type":"Bool:D"},{"default":"CommandTemplate","keywordOnly":true,"name":"$template","optional":true,"type":"CommandTemplate"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method display-panes-async(Positive:D :$timeout-ms!, Count :$duration-ms = Count,\n Bool:D :$select = True,\n CommandTemplate :$template = CommandTemplate,\n *%operation --> Promise:D)","references":[{"end":37,"start":27,"target":"LibTmux::Types::Positive"},{"end":58,"start":53,"target":"LibTmux::Types::Count"},{"end":80,"start":75,"target":"LibTmux::Types::Count"},{"end":183,"start":168,"target":"LibTmux::Client::CommandTemplate"},{"end":212,"start":197,"target":"LibTmux::Client::CommandTemplate"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":26,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"display-panes-async","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!, "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$duration-ms = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":",\n Bool:D :$select = True,\n "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":" :$template = "},{"text":"CommandTemplate","target":"LibTmux::Client::CommandTemplate"},{"text":",\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":287,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-display-panes-async"},{"apiScope":"exported","doc":{"body":"Return the registered client schema without I/O.","summary":"Return the registered client schema without I/O."},"id":"LibTmux::Model::ClientRef.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":571,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-entity"},{"apiScope":"exported","doc":{"body":"Open the native finder using tmux match/FORMAT syntax, not literal substring data.","summary":"Open the native finder using tmux match/FORMAT syntax, not literal substring data."},"id":"LibTmux::Model::ClientRef.find-window","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"find-window","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.find-window","signatures":[{"params":[{"keywordOnly":false,"name":"$pattern","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"default":"True","keywordOnly":true,"name":"$content","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$names","optional":true,"type":"Bool:D"},{"default":"True","keywordOnly":true,"name":"$titles","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$regex","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$ignore-case","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$zoom","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method find-window(Str:D $pattern, PaneId:D :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> Result:D)","references":[{"end":43,"start":35,"target":"LibTmux::Types::PaneId"},{"end":295,"start":287,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"find-window","declaration":true},{"text":"(Str:D $pattern, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":269,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-find-window"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph and require the observed name, process and creation time.","summary":"Acquire a fresh graph and require the observed name, process and creation time."},"id":"LibTmux::Model::ClientRef.inspect","kind":"method","modifiers":[],"name":"inspect","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.inspect","signatures":[{"params":[],"raw":"method inspect(--> Client:D)","references":[{"end":27,"start":19,"target":"LibTmux::Model::Client"}],"returns":"Client:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(--> "},{"text":"Client:D","target":"LibTmux::Model::Client"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":574,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-inspect"},{"apiScope":"exported","doc":{"body":"Select an existing key table; its name is passed without FORMAT expansion.","summary":"Select an existing key table; its name is passed without FORMAT expansion."},"id":"LibTmux::Model::ClientRef.key-table","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"key-table","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.key-table","signatures":[{"params":[{"keywordOnly":false,"name":"$table","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method key-table(Str:D $table, *%operation --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key-table","declaration":true},{"text":"(Str:D $table, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":337,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-key-table"},{"apiScope":"exported","doc":{"body":"Invoke the configured lock command for this client.","summary":"Invoke the configured lock command for this client."},"id":"LibTmux::Model::ClientRef.lock","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"lock","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.lock","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method lock(*%operation --> Result:D)","references":[{"end":36,"start":28,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"lock","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":323,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-lock"},{"apiScope":"exported","doc":{"body":"Show a menu. Completion follows tmux's command lifecycle, not rendering proof.","summary":"Show a menu. Completion follows tmux's command lifecycle, not rendering proof."},"id":"LibTmux::Model::ClientRef.menu-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"menu-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.menu-async","signatures":[{"params":[{"keywordOnly":false,"name":"$items","optional":false,"type":"Positional:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"''","keywordOnly":true,"name":"$title","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$x","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$y","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$stay-open","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$mouse","optional":true,"type":"Bool:D"},{"default":"Str","keywordOnly":true,"name":"$style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$border-style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$selected-style","optional":true,"type":"Str"},{"default":"Str","keywordOnly":true,"name":"$border-lines","optional":true,"type":"Str"},{"default":"Count","keywordOnly":true,"name":"$starting-choice","optional":true,"type":"Count"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method menu-async(Positional:D $items, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n Count :$starting-choice = Count, *%operation --> Promise:D)","references":[{"end":47,"start":39,"target":"LibTmux::Types::PaneId"},{"end":67,"start":57,"target":"LibTmux::Types::Positive"},{"end":403,"start":398,"target":"LibTmux::Types::Count"},{"end":429,"start":424,"target":"LibTmux::Types::Count"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"menu-async","declaration":true},{"text":"(Positional:D $items, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":" :$starting-choice = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":", *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":155,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-menu-async"},{"apiScope":"exported","doc":{"body":"Start an explicitly supplied shell command in a popup; wait asynchronously.","summary":"Start an explicitly supplied shell command in a popup; wait asynchronously."},"id":"LibTmux::Model::ClientRef.popup-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"popup-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.popup-async","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":false,"type":"Str:D"},{"keywordOnly":true,"name":"$pane","optional":false,"type":"PaneId:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"''","keywordOnly":true,"name":"$title","optional":true,"type":"Str:D"},{"default":"Str","keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"default":"Positive","keywordOnly":true,"name":"$width","optional":true,"type":"Positive"},{"default":"Positive","keywordOnly":true,"name":"$height","optional":true,"type":"Positive"},{"default":"'C'","keywordOnly":true,"name":"$x","optional":true,"type":"Str:D"},{"default":"'C'","keywordOnly":true,"name":"$y","optional":true,"type":"Str:D"},{"default":"'exit'","keywordOnly":true,"name":"$close","optional":true,"type":"Str:D"},{"default":"True","keywordOnly":true,"name":"$border","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$close-on-key","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$reset-flags","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method popup-async(Str:D :$shell-command!, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n Positive :$width = Positive, Positive :$height = Positive,\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D)","references":[{"end":51,"start":43,"target":"LibTmux::Types::PaneId"},{"end":71,"start":61,"target":"LibTmux::Types::Positive"},{"end":184,"start":176,"target":"LibTmux::Types::Positive"},{"end":203,"start":195,"target":"LibTmux::Types::Positive"},{"end":213,"start":205,"target":"LibTmux::Types::Positive"},{"end":233,"start":225,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"popup-async","declaration":true},{"text":"(Str:D :$shell-command!, "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":" :$pane!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$width = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$height = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":",\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":188,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-popup-async"},{"apiScope":"exported","doc":{"body":"Prompt with explicit tmux template syntax. Commas separate prompts and inputs.","summary":"Prompt with explicit tmux template syntax. Commas separate prompts and inputs."},"id":"LibTmux::Model::ClientRef.prompt-async","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"prompt-async","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.prompt-async","signatures":[{"params":[{"keywordOnly":false,"name":"$template","optional":false,"type":"CommandTemplate:D"},{"keywordOnly":true,"name":"$timeout-ms","optional":false,"type":"Positive:D"},{"default":"':'","keywordOnly":true,"name":"$prompts","optional":true,"type":"Str:D"},{"default":"''","keywordOnly":true,"name":"$inputs","optional":true,"type":"Str:D"},{"default":"'text'","keywordOnly":true,"name":"$mode","optional":true,"type":"Str:D"},{"default":"'command'","keywordOnly":true,"name":"$type","optional":true,"type":"Str:D"},{"default":"False","keywordOnly":true,"name":"$literal-commas","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method prompt-async(CommandTemplate:D $template, Positive:D :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D)","references":[{"end":37,"start":20,"target":"LibTmux::Client::CommandTemplate"},{"end":59,"start":49,"target":"LibTmux::Types::Positive"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"prompt-async","declaration":true},{"text":"("},{"text":"CommandTemplate:D","target":"LibTmux::Client::CommandTemplate"},{"text":" $template, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":217,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-prompt-async"},{"apiScope":"exported","doc":{"body":"Return raw prompt-history output, without claiming newline-safe entry framing.","summary":"Return raw prompt-history output, without claiming newline-safe entry framing."},"id":"LibTmux::Model::ClientRef.prompt-history","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"prompt-history","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.prompt-history","signatures":[{"params":[{"default":"Str","keywordOnly":true,"name":"$type","optional":true,"type":"Str"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method prompt-history(Str :$type = Str, *%operation --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"prompt-history","declaration":true},{"text":"(Str :$type = Str, *%operation --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":359,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-prompt-history"},{"apiScope":"exported","doc":{"body":"Refresh the display, status, or viewport using one explicit action.","summary":"Refresh the display, status, or viewport using one explicit action."},"id":"LibTmux::Model::ClientRef.refresh","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"refresh","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.refresh","signatures":[{"params":[{"default":"'all'","keywordOnly":true,"name":"$part","optional":true,"type":"Str:D"},{"default":"Positive","keywordOnly":true,"name":"$amount","optional":true,"type":"Positive"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method refresh(Str:D :$part = 'all', Positive :$amount = Positive,\n *%operation --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Types::Positive"},{"end":65,"start":57,"target":"LibTmux::Types::Positive"},{"end":110,"start":102,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"refresh","declaration":true},{"text":"(Str:D :$part = 'all', "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" :$amount = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":",\n *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":299,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-refresh"},{"apiScope":"exported","doc":{"body":"Compare captured identities without checking whether the client remains attached.","summary":"Compare captured identities without checking whether the client remains attached."},"id":"LibTmux::Model::ClientRef.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false}],"raw":"method same-entity($other --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"($other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":587,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-same-entity"},{"apiScope":"exported","doc":{"body":"Suspend the client's terminal process through tmux.","summary":"Suspend the client's terminal process through tmux."},"id":"LibTmux::Model::ClientRef.suspend","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"suspend","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.suspend","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method suspend(*%operation --> Result:D)","references":[{"end":39,"start":31,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"suspend","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":318,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-suspend"},{"apiScope":"exported","doc":{"body":"Switch session by ID. Updating the session environment is opt-in.","summary":"Switch session by ID. Updating the session environment is opt-in."},"id":"LibTmux::Model::ClientRef.switch","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"switch","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.switch","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionId:D"},{"default":"False","keywordOnly":true,"name":"$update-environment","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$keep-zoom","optional":true,"type":"Bool:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method switch(SessionId:D $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> Result:D)","references":[{"end":25,"start":14,"target":"LibTmux::Types::SessionId"},{"end":143,"start":135,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"switch","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":328,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-switch"},{"apiScope":"exported","doc":{"body":"Switch relative to this client's current/previous session.","summary":"Switch relative to this client's current/previous session."},"id":"LibTmux::Model::ClientRef.switch-relative","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"switch-relative","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.switch-relative","signatures":[{"params":[{"keywordOnly":false,"name":"$direction","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method switch-relative(Str:D $direction, *%operation --> Result:D)","references":[{"end":65,"start":57,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"switch-relative","declaration":true},{"text":"(Str:D $direction, *%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":344,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-switch-relative"},{"apiScope":"exported","doc":{"body":"Toggle read-only and ignore-size flags while retaining the observed session.","summary":"Toggle read-only and ignore-size flags while retaining the observed session."},"id":"LibTmux::Model::ClientRef.toggle-read-only","inheritedFrom":"LibTmux::Client::ClientTarget","kind":"method","modifiers":[],"name":"toggle-read-only","package":"LibTmux","parent":"LibTmux::Model::ClientRef","product":"core","publicId":"LibTmux::Model::ClientRef.toggle-read-only","signatures":[{"params":[{"keywordOnly":false,"name":"%operation","optional":false}],"raw":"method toggle-read-only(*%operation --> Result:D)","references":[{"end":48,"start":40,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":23,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"toggle-read-only","declaration":true},{"text":"(*%operation --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Client.rakumod","line":353,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientref-toggle-read-only"},{"apiScope":"exported","doc":{"body":"Replayable typed client membership with local filtering.","summary":"Replayable typed client membership with local filtering."},"id":"LibTmux::Model::ClientSelection","kind":"class","modifiers":[],"name":"ClientSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::ClientSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":968,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::ClientSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::ClientSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::ClientSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::ClientSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::ClientSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-list-1pg8"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::ClientSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::ClientSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::ClientSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::ClientSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::ClientSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::ClientSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::ClientSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::ClientSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::ClientSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::ClientSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::ClientSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-list-pvya"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::ClientSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::ClientSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::ClientSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::ClientSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::ClientSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::ClientSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::ClientSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::ClientSelection","product":"core","publicId":"LibTmux::Model::ClientSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-clientselection-where"},{"apiScope":"exported","doc":{"body":"Captured pane fields and its local physical-window relationship.","summary":"Captured pane fields and its local physical-window relationship."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Pane","kind":"class","modifiers":[],"name":"Pane","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Pane","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":942,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane"},{"apiScope":"exported","doc":{"body":"Captured pane_active; local bool access.","summary":"Captured pane_active; local bool access."},"id":"LibTmux::Model::Pane.active","kind":"method","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.active","signatures":[{"params":[],"raw":"method active(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"active","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":80,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-active"},{"apiScope":"exported","doc":{"body":"Captured pane_at_bottom; local bool access.","summary":"Captured pane_at_bottom; local bool access."},"id":"LibTmux::Model::Pane.at-bottom","kind":"method","modifiers":[],"name":"at-bottom","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.at-bottom","signatures":[{"params":[],"raw":"method at-bottom(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-bottom","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":136,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-at-bottom"},{"apiScope":"exported","doc":{"body":"Captured pane_at_left; local bool access.","summary":"Captured pane_at_left; local bool access."},"id":"LibTmux::Model::Pane.at-left","kind":"method","modifiers":[],"name":"at-left","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.at-left","signatures":[{"params":[],"raw":"method at-left(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-left","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":138,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-at-left"},{"apiScope":"exported","doc":{"body":"Captured pane_at_right; local bool access.","summary":"Captured pane_at_right; local bool access."},"id":"LibTmux::Model::Pane.at-right","kind":"method","modifiers":[],"name":"at-right","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.at-right","signatures":[{"params":[],"raw":"method at-right(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-right","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":140,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-at-right"},{"apiScope":"exported","doc":{"body":"Captured pane_at_top; local bool access.","summary":"Captured pane_at_top; local bool access."},"id":"LibTmux::Model::Pane.at-top","kind":"method","modifiers":[],"name":"at-top","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.at-top","signatures":[{"params":[],"raw":"method at-top(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"at-top","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":134,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-at-top"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Pane.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Pane.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-clone"},{"apiScope":"exported","doc":{"body":"Captured pane_command_running; local bool access.","summary":"Captured pane_command_running; local bool access."},"id":"LibTmux::Model::Pane.command-running","kind":"method","modifiers":[],"name":"command-running","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.command-running","signatures":[{"params":[],"raw":"method command-running(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command-running","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":130,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-command-running"},{"apiScope":"exported","doc":{"body":"Captured pane_command_status; local int access.","summary":"Captured pane_command_status; local int access."},"id":"LibTmux::Model::Pane.command-status","kind":"method","modifiers":[],"name":"command-status","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.command-status","signatures":[{"params":[],"raw":"method command-status(--> Int)","references":[],"returns":"Int","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command-status","declaration":true},{"text":"(--> Int)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":132,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-command-status"},{"apiScope":"exported","doc":{"body":"Captured pane_current_command; local text access.","summary":"Captured pane_current_command; local text access."},"id":"LibTmux::Model::Pane.current-command","kind":"method","modifiers":[],"name":"current-command","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.current-command","signatures":[{"params":[],"raw":"method current-command(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"current-command","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":96,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-current-command"},{"apiScope":"exported","doc":{"body":"Captured pane_current_path; local text access.","summary":"Captured pane_current_path; local text access."},"id":"LibTmux::Model::Pane.current-path","kind":"method","modifiers":[],"name":"current-path","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.current-path","signatures":[{"params":[],"raw":"method current-path(--> Str)","references":[],"returns":"Str","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"current-path","declaration":true},{"text":"(--> Str)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":98,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-current-path"},{"apiScope":"exported","doc":{"body":"Captured pane_dead; local bool access.","summary":"Captured pane_dead; local bool access."},"id":"LibTmux::Model::Pane.dead","kind":"method","modifiers":[],"name":"dead","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.dead","signatures":[{"params":[],"raw":"method dead(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"dead","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":104,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-dead"},{"apiScope":"exported","doc":{"body":"Captured pane_dead_signal; local text access.","summary":"Captured pane_dead_signal; local text access."},"id":"LibTmux::Model::Pane.dead-signal","kind":"method","modifiers":[],"name":"dead-signal","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.dead-signal","signatures":[{"params":[],"raw":"method dead-signal(--> Str)","references":[],"returns":"Str","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"dead-signal","declaration":true},{"text":"(--> Str)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":108,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-dead-signal"},{"apiScope":"exported","doc":{"body":"Captured pane_dead_status; local uint access.","summary":"Captured pane_dead_status; local uint access."},"id":"LibTmux::Model::Pane.dead-status","kind":"method","modifiers":[],"name":"dead-status","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.dead-status","signatures":[{"params":[],"raw":"method dead-status(--> Count)","references":[{"end":28,"start":23,"target":"LibTmux::Types::Count"}],"returns":"Count","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"dead-status","declaration":true},{"text":"(--> "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":106,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-dead-status"},{"apiScope":"exported","doc":{"body":"Captured pane_dead_time; local uint access.","summary":"Captured pane_dead_time; local uint access."},"id":"LibTmux::Model::Pane.dead-time","kind":"method","modifiers":[],"name":"dead-time","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.dead-time","signatures":[{"params":[],"raw":"method dead-time(--> Count)","references":[{"end":26,"start":21,"target":"LibTmux::Types::Count"}],"returns":"Count","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"dead-time","declaration":true},{"text":"(--> "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":110,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-dead-time"},{"apiScope":"exported","doc":{"body":"Captured pane_floating_flag; local bool access.","summary":"Captured pane_floating_flag; local bool access."},"id":"LibTmux::Model::Pane.floating","kind":"method","modifiers":[],"name":"floating","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.floating","signatures":[{"params":[],"raw":"method floating(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"floating","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":120,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-floating"},{"apiScope":"exported","doc":{"body":"Captured pane_height; local uint access.","summary":"Captured pane_height; local uint access."},"id":"LibTmux::Model::Pane.height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.height","signatures":[{"params":[],"raw":"method height(--> Count:D)","references":[{"end":25,"start":18,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"height","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":84,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-height"},{"apiScope":"exported","doc":{"body":"Captured pane_id; local pane-id access.","summary":"Captured pane_id; local pane-id access."},"id":"LibTmux::Model::Pane.id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.id","signatures":[{"params":[],"raw":"method id(--> PaneId:D)","references":[{"end":22,"start":14,"target":"LibTmux::Types::PaneId"}],"returns":"PaneId:D","nativeSyntax":[{"start":7,"end":9,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"id","declaration":true},{"text":"(--> "},{"text":"PaneId:D","target":"LibTmux::Types::PaneId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-id"},{"apiScope":"exported","doc":{"body":"Captured pane_in_mode; local uint access.","summary":"Captured pane_in_mode; local uint access."},"id":"LibTmux::Model::Pane.in-mode","kind":"method","modifiers":[],"name":"in-mode","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.in-mode","signatures":[{"params":[],"raw":"method in-mode(--> Count:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"in-mode","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":112,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-in-mode"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Pane.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-incarnation"},{"apiScope":"exported","doc":{"body":"Captured pane_index; local uint access.","summary":"Captured pane_index; local uint access."},"id":"LibTmux::Model::Pane.index","kind":"method","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.index","signatures":[{"params":[],"raw":"method index(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"index","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-index"},{"apiScope":"exported","doc":{"body":"Captured pane_left; local uint access.","summary":"Captured pane_left; local uint access."},"id":"LibTmux::Model::Pane.left","kind":"method","modifiers":[],"name":"left","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.left","signatures":[{"params":[],"raw":"method left(--> Count:D)","references":[{"end":23,"start":16,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"left","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":86,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-left"},{"apiScope":"exported","doc":{"body":"Captured pane_modal_flag; local bool access.","summary":"Captured pane_modal_flag; local bool access."},"id":"LibTmux::Model::Pane.modal","kind":"method","modifiers":[],"name":"modal","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.modal","signatures":[{"params":[],"raw":"method modal(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"modal","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":122,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-modal"},{"apiScope":"exported","doc":{"body":"Captured pane_mode; local text access.","summary":"Captured pane_mode; local text access."},"id":"LibTmux::Model::Pane.mode","kind":"method","modifiers":[],"name":"mode","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.mode","signatures":[{"params":[],"raw":"method mode(--> Str)","references":[],"returns":"Str","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"mode","declaration":true},{"text":"(--> Str)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":114,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-mode"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Pane.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-new"},{"apiScope":"exported","doc":{"body":"Captured pane_pid; local uint access.","summary":"Captured pane_pid; local uint access."},"id":"LibTmux::Model::Pane.pid","kind":"method","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.pid","signatures":[{"params":[],"raw":"method pid(--> Count)","references":[{"end":20,"start":15,"target":"LibTmux::Types::Count"}],"returns":"Count","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pid","declaration":true},{"text":"(--> "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-pid"},{"apiScope":"exported","doc":{"body":"Captured pane_pipe; local bool access.","summary":"Captured pane_pipe; local bool access."},"id":"LibTmux::Model::Pane.pipe","kind":"method","modifiers":[],"name":"pipe","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.pipe","signatures":[{"params":[],"raw":"method pipe(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pipe","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-pipe"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Pane.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Pane.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Pane.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-same-entity"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Pane.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-snapshot"},{"apiScope":"exported","doc":{"body":"Captured pane_start_command; local text access.","summary":"Captured pane_start_command; local text access."},"id":"LibTmux::Model::Pane.start-command","kind":"method","modifiers":[],"name":"start-command","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.start-command","signatures":[{"params":[],"raw":"method start-command(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"start-command","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":100,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-start-command"},{"apiScope":"exported","doc":{"body":"Captured pane_start_path; local text access.","summary":"Captured pane_start_path; local text access."},"id":"LibTmux::Model::Pane.start-path","kind":"method","modifiers":[],"name":"start-path","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.start-path","signatures":[{"params":[],"raw":"method start-path(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"start-path","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":102,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-start-path"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Pane.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-state"},{"apiScope":"exported","doc":{"body":"Captured pane_synchronized; local bool access.","summary":"Captured pane_synchronized; local bool access."},"id":"LibTmux::Model::Pane.synchronized","kind":"method","modifiers":[],"name":"synchronized","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.synchronized","signatures":[{"params":[],"raw":"method synchronized(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"synchronized","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":118,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-synchronized"},{"apiScope":"exported","doc":{"body":"Captured pane_title; local text access.","summary":"Captured pane_title; local text access."},"id":"LibTmux::Model::Pane.title","kind":"method","modifiers":[],"name":"title","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.title","signatures":[{"params":[],"raw":"method title(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"title","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-title"},{"apiScope":"exported","doc":{"body":"Captured pane_top; local uint access.","summary":"Captured pane_top; local uint access."},"id":"LibTmux::Model::Pane.top","kind":"method","modifiers":[],"name":"top","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.top","signatures":[{"params":[],"raw":"method top(--> Count:D)","references":[{"end":22,"start":15,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"top","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-top"},{"apiScope":"exported","doc":{"body":"Captured pane_tty; local text access.","summary":"Captured pane_tty; local text access."},"id":"LibTmux::Model::Pane.tty","kind":"method","modifiers":[],"name":"tty","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.tty","signatures":[{"params":[],"raw":"method tty(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"tty","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":92,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-tty"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Pane.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-value"},{"apiScope":"exported","doc":{"body":"Captured pane_width; local uint access.","summary":"Captured pane_width; local uint access."},"id":"LibTmux::Model::Pane.width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.width","signatures":[{"params":[],"raw":"method width(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"width","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":82,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-width"},{"apiScope":"exported","doc":{"body":"The observed physical window, resolved without I/O.","summary":"The observed physical window, resolved without I/O."},"id":"LibTmux::Model::Pane.window","kind":"method","modifiers":[],"name":"window","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.window","signatures":[{"params":[],"raw":"method window(--> Window:D)","references":[{"end":26,"start":18,"target":"LibTmux::Model::Window"}],"returns":"Window:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window","declaration":true},{"text":"(--> "},{"text":"Window:D","target":"LibTmux::Model::Window"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":944,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-window"},{"apiScope":"exported","doc":{"body":"Captured window_id; local window-id access.","summary":"Captured window_id; local window-id access."},"id":"LibTmux::Model::Pane.window-id","kind":"method","modifiers":[],"name":"window-id","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.window-id","signatures":[{"params":[],"raw":"method window-id(--> WindowId:D)","references":[{"end":31,"start":21,"target":"LibTmux::Types::WindowId"}],"returns":"WindowId:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window-id","declaration":true},{"text":"(--> "},{"text":"WindowId:D","target":"LibTmux::Types::WindowId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-window-id"},{"apiScope":"exported","doc":{"body":"Captured pane_x; local int access.","summary":"Captured pane_x; local int access."},"id":"LibTmux::Model::Pane.x","kind":"method","modifiers":[],"name":"x","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.x","signatures":[{"params":[],"raw":"method x(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":8,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"x","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":124,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-x"},{"apiScope":"exported","doc":{"body":"Captured pane_y; local int access.","summary":"Captured pane_y; local int access."},"id":"LibTmux::Model::Pane.y","kind":"method","modifiers":[],"name":"y","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.y","signatures":[{"params":[],"raw":"method y(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":8,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"y","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":126,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-y"},{"apiScope":"exported","doc":{"body":"Captured pane_z; local uint access.","summary":"Captured pane_z; local uint access."},"id":"LibTmux::Model::Pane.z","kind":"method","modifiers":[],"name":"z","package":"LibTmux","parent":"LibTmux::Model::Pane","product":"core","publicId":"LibTmux::Model::Pane.z","signatures":[{"params":[],"raw":"method z(--> Count:D)","references":[{"end":20,"start":13,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":8,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"z","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":128,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-pane-z"},{"apiScope":"exported","doc":{"body":"Value-only command target for a physical pane in one daemon incarnation.","summary":"Value-only command target for a physical pane in one daemon incarnation."},"id":"LibTmux::Model::PaneRef","kind":"class","modifiers":[],"name":"PaneRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::PaneRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":242,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref"},{"apiScope":"exported","doc":{"body":"Move this pane to a new window in an explicit session, returning the reported window ID.","summary":"Move this pane to a new window in an explicit session, returning the reported window ID."},"id":"LibTmux::Model::PaneRef.break","kind":"method","modifiers":[],"name":"break","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.break","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionRef:D"},{"default":"Count","keywordOnly":true,"name":"$index","optional":true},{"keywordOnly":true,"name":"$name","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$from","optional":true,"type":"WindowLinkRef"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"}],"raw":"method break(SessionRef:D $session, :$index = Count, Str :$name,\n WindowLinkRef :$from, Bool :$select = False --> WindowRef:D)","references":[{"end":25,"start":13,"target":"LibTmux::Model::SessionRef"},{"end":51,"start":46,"target":"LibTmux::Types::Count"},{"end":95,"start":82,"target":"LibTmux::Model::WindowLinkRef"},{"end":141,"start":130,"target":"LibTmux::Model::WindowRef"}],"returns":"WindowRef:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"break","declaration":true},{"text":"("},{"text":"SessionRef:D","target":"LibTmux::Model::SessionRef"},{"text":" $session, :$index = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":", Str :$name,\n "},{"text":"WindowLinkRef","target":"LibTmux::Model::WindowLinkRef"},{"text":" :$from, Bool :$select = False --> "},{"text":"WindowRef:D","target":"LibTmux::Model::WindowRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":406,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-break"},{"apiScope":"exported","doc":{"body":"Acquire screen/history bytes with explicit bounds and whitespace options.","summary":"Acquire screen/history bytes with explicit bounds and whitespace options."},"id":"LibTmux::Model::PaneRef.capture","kind":"method","modifiers":[],"name":"capture","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.capture","signatures":[{"params":[{"keywordOnly":true,"name":"$start","optional":true,"type":"Int"},{"keywordOnly":true,"name":"$end","optional":true,"type":"Int"},{"default":"False","keywordOnly":true,"name":"$history","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$join-wrapped","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$escape-sequences","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$escape-controls","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$alternate","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$trailing-spaces","optional":true,"type":"Bool"}],"raw":"method capture(Int :$start, Int :$end, Bool :$history = False,\n Bool :$join-wrapped = False, Bool :$escape-sequences = False,\n Bool :$escape-controls = False, Bool :$alternate = False,\n Bool :$trailing-spaces = False --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capture","declaration":true},{"text":"(Int :$start, Int :$end, Bool :$history = False,\n Bool :$join-wrapped = False, Bool :$escape-sequences = False,\n Bool :$escape-controls = False, Bool :$alternate = False,\n Bool :$trailing-spaces = False --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":257,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-capture"},{"apiScope":"exported","doc":{"body":"Acquire incomplete terminal escape input as bytes, separate from screen capture.","summary":"Acquire incomplete terminal escape input as bytes, separate from screen capture."},"id":"LibTmux::Model::PaneRef.capture-pending","kind":"method","modifiers":[],"name":"capture-pending","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.capture-pending","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$escape-controls","optional":true,"type":"Bool"}],"raw":"method capture-pending(Bool :$escape-controls = False --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capture-pending","declaration":true},{"text":"(Bool :$escape-controls = False --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":274,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-capture-pending"},{"apiScope":"exported","doc":{"body":"Discard scrollback; visible screen contents and application state are unaffected.","summary":"Discard scrollback; visible screen contents and application state are unaffected."},"id":"LibTmux::Model::PaneRef.clear-history","kind":"method","modifiers":[],"name":"clear-history","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.clear-history","signatures":[{"params":[],"raw":"method clear-history(--> Result:D)","references":[{"end":33,"start":25,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clear-history","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":465,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-clear-history"},{"apiScope":"exported","doc":{"body":"Enter tmux's clock mode for this pane.","summary":"Enter tmux's clock mode for this pane."},"id":"LibTmux::Model::PaneRef.clock-mode","kind":"method","modifiers":[],"name":"clock-mode","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.clock-mode","signatures":[{"params":[],"raw":"method clock-mode(--> Result:D)","references":[{"end":30,"start":22,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clock-mode","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":485,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-clock-mode"},{"apiScope":"exported","doc":{"body":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics.","summary":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics."},"id":"LibTmux::Model::PaneRef.command","kind":"method","modifiers":["overload","overload","overload"],"name":"command","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.command","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method command(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"(|operation)"}]},{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"Blob.new","keywordOnly":true,"name":"$stdin","optional":true,"type":"Blob:D"}],"raw":"method command(Invocation:D $command, Blob:D :$stdin = Blob.new --> Result:D)","references":[{"end":27,"start":15,"target":"LibTmux::Command::Invocation"},{"end":76,"start":68,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Blob:D :$stdin = Blob.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-command"},{"apiScope":"exported","doc":{"body":"Dispatch a native copy-mode command with separate argument values.","summary":"Dispatch a native copy-mode command with separate argument values."},"id":"LibTmux::Model::PaneRef.copy-command","kind":"method","modifiers":[],"name":"copy-command","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.copy-command","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Str:D"},{"keywordOnly":false,"name":"@arguments","optional":false}],"raw":"method copy-command(Str:D $command, *@arguments --> Result:D)","references":[{"end":60,"start":52,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"copy-command","declaration":true},{"text":"(Str:D $command, *@arguments --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":481,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-copy-command"},{"apiScope":"exported","doc":{"body":"Enter copy mode, optionally paging upward or exiting when scrolling to the bottom.","summary":"Enter copy mode, optionally paging upward or exiting when scrolling to the bottom."},"id":"LibTmux::Model::PaneRef.copy-mode","kind":"method","modifiers":[],"name":"copy-mode","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.copy-mode","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$page-up","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$exit-at-bottom","optional":true,"type":"Bool"}],"raw":"method copy-mode(Bool :$page-up = False, Bool :$exit-at-bottom = False --> Result:D)","references":[{"end":83,"start":75,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"copy-mode","declaration":true},{"text":"(Bool :$page-up = False, Bool :$exit-at-bottom = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":476,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-copy-mode"},{"apiScope":"exported","doc":{"body":"Return the registered entity schema without I/O.","summary":"Return the registered entity schema without I/O."},"id":"LibTmux::Model::PaneRef.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":71,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-entity"},{"apiScope":"exported","doc":{"body":"Convert this tile into a floating pane with explicit dimensions.","summary":"Convert this tile into a floating pane with explicit dimensions."},"id":"LibTmux::Model::PaneRef.float","kind":"method","modifiers":[],"name":"float","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.float","signatures":[{"params":[{"keywordOnly":true,"name":"$width","optional":false,"type":"Positive:D"},{"keywordOnly":true,"name":"$height","optional":false,"type":"Positive:D"},{"keywordOnly":true,"name":"$x","optional":true,"type":"Int"},{"keywordOnly":true,"name":"$y","optional":true,"type":"Int"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"}],"raw":"method float(Positive:D :$width!, Positive:D :$height!, Int :$x, Int :$y,\n Bool :$select = False --> Result:D)","references":[{"end":23,"start":13,"target":"LibTmux::Types::Positive"},{"end":44,"start":34,"target":"LibTmux::Types::Positive"},{"end":125,"start":117,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"float","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$width!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$height!, Int :$x, Int :$y,\n Bool :$select = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":391,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-float"},{"apiScope":"exported","doc":{"body":"Construct a value-only hook facade; its reads and writes are explicit operations.","summary":"Construct a value-only hook facade; its reads and writes are explicit operations."},"id":"LibTmux::Model::PaneRef.hooks","kind":"method","modifiers":[],"name":"hooks","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.hooks","signatures":[{"params":[],"raw":"method hooks(--> Hooks:D)","references":[{"end":24,"start":17,"target":"LibTmux::Configuration::Hooks"}],"returns":"Hooks:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"hooks","declaration":true},{"text":"(--> "},{"text":"Hooks:D","target":"LibTmux::Configuration::Hooks"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":79,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-hooks"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph and require exactly one observed entity with this ID.","summary":"Acquire a fresh graph and require exactly one observed entity with this ID."},"id":"LibTmux::Model::PaneRef.inspect","kind":"method","modifiers":["overload","overload","overload"],"name":"inspect","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.inspect","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method inspect(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(|operation)"}]},{"params":[],"raw":"method inspect(--> View:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"View:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(--> "},{"text":"View:D","target":"LibTmux::Model::View"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-inspect"},{"apiScope":"exported","doc":{"body":"Move this pane into the target's split tree; its scoped ID remains unchanged.","summary":"Move this pane into the target's split tree; its scoped ID remains unchanged."},"id":"LibTmux::Model::PaneRef.join","kind":"method","modifiers":[],"name":"join","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.join","signatures":[{"params":[{"keywordOnly":false,"name":"$target","optional":false,"type":"PaneRef:D"},{"default":"False","keywordOnly":true,"name":"$horizontal","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$before","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$full","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"Positive","keywordOnly":true,"name":"$size","optional":true},{"default":"Positive","keywordOnly":true,"name":"$percent","optional":true}],"raw":"method join(PaneRef:D $target, Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False,\n :$size = Positive, :$percent = Positive --> Result:D)","references":[{"end":21,"start":12,"target":"LibTmux::Model::PaneRef"},{"end":174,"start":166,"target":"LibTmux::Types::Positive"},{"end":196,"start":188,"target":"LibTmux::Types::Positive"},{"end":209,"start":201,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"join","declaration":true},{"text":"("},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":" $target, Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False,\n :$size = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$percent = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":354,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-join"},{"apiScope":"exported","doc":{"body":"Destroy the addressed entity; retained observations remain unchanged.","summary":"Destroy the addressed entity; retained observations remain unchanged."},"id":"LibTmux::Model::PaneRef.kill","kind":"method","modifiers":[],"name":"kill","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.kill","signatures":[{"params":[],"raw":"method kill(--> Result:D)","references":[{"end":24,"start":16,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"kill","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":495,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-kill"},{"apiScope":"exported","doc":{"body":"Move this pane beside an explicit pane target without changing its ID.","summary":"Move this pane beside an explicit pane target without changing its ID."},"id":"LibTmux::Model::PaneRef.move","kind":"method","modifiers":[],"name":"move","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.move","signatures":[{"params":[{"keywordOnly":false,"name":"$target","optional":false,"type":"PaneRef:D"},{"default":"False","keywordOnly":true,"name":"$horizontal","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$before","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$full","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"Positive","keywordOnly":true,"name":"$size","optional":true},{"default":"Positive","keywordOnly":true,"name":"$percent","optional":true}],"raw":"method move(PaneRef:D $target, Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False,\n :$size = Positive, :$percent = Positive --> Result:D)","references":[{"end":21,"start":12,"target":"LibTmux::Model::PaneRef"},{"end":174,"start":166,"target":"LibTmux::Types::Positive"},{"end":196,"start":188,"target":"LibTmux::Types::Positive"},{"end":209,"start":201,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"move","declaration":true},{"text":"("},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":" $target, Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False,\n :$size = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$percent = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":360,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-move"},{"apiScope":"exported","doc":{"body":"Move a floating pane to explicit coordinates in the supported profile.","summary":"Move a floating pane to explicit coordinates in the supported profile."},"id":"LibTmux::Model::PaneRef.move-floating","kind":"method","modifiers":[],"name":"move-floating","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.move-floating","signatures":[{"params":[{"keywordOnly":true,"name":"$x","optional":true,"type":"Int"},{"keywordOnly":true,"name":"$y","optional":true,"type":"Int"}],"raw":"method move-floating(Int :$x, Int :$y --> Result:D)","references":[{"end":50,"start":42,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"move-floating","declaration":true},{"text":"(Int :$x, Int :$y --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":366,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-move-floating"},{"apiScope":"exported","doc":{"body":"Create a floating pane. Modal input ownership requires the modal capability.","summary":"Create a floating pane. Modal input ownership requires the modal capability."},"id":"LibTmux::Model::PaneRef.new-floating","kind":"method","modifiers":[],"name":"new-floating","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.new-floating","signatures":[{"params":[{"keywordOnly":true,"name":"$width","optional":false,"type":"Positive:D"},{"keywordOnly":true,"name":"$height","optional":false,"type":"Positive:D"},{"keywordOnly":true,"name":"$x","optional":true,"type":"Int"},{"keywordOnly":true,"name":"$y","optional":true,"type":"Int"},{"default":"False","keywordOnly":true,"name":"$modal","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$empty","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method new-floating(Positive:D :$width!, Positive:D :$height!, Int :$x, Int :$y,\n Bool :$modal = False, Bool :$select = False,\n Str :$directory, Str :$shell-command, Bool :$empty = False,\n Associative:D :$environment = Map.new --> PaneRef:D)","references":[{"end":30,"start":20,"target":"LibTmux::Types::Positive"},{"end":51,"start":41,"target":"LibTmux::Types::Positive"},{"end":309,"start":300,"target":"LibTmux::Model::PaneRef"}],"returns":"PaneRef:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new-floating","declaration":true},{"text":"("},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$width!, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$height!, Int :$x, Int :$y,\n Bool :$modal = False, Bool :$select = False,\n Str :$directory, Str :$shell-command, Bool :$empty = False,\n Associative:D :$environment = Map.new --> "},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":298,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-new-floating"},{"apiScope":"exported","doc":{"body":"Construct a value-only option facade scoped to this captured identity.","summary":"Construct a value-only option facade scoped to this captured identity."},"id":"LibTmux::Model::PaneRef.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.options","signatures":[{"params":[],"raw":"method options(--> Options:D)","references":[{"end":28,"start":19,"target":"LibTmux::Configuration::Options"}],"returns":"Options:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(--> "},{"text":"Options:D","target":"LibTmux::Configuration::Options"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-options"},{"apiScope":"exported","doc":{"body":"The pipe command deliberately uses tmux's FORMAT and strftime shell-command syntax.","summary":"The pipe command deliberately uses tmux's FORMAT and strftime shell-command syntax."},"id":"LibTmux::Model::PaneRef.pipe","kind":"method","modifiers":[],"name":"pipe","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.pipe","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$input","optional":true,"type":"Bool"},{"default":"True","keywordOnly":true,"name":"$output","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$toggle","optional":true,"type":"Bool"}],"raw":"method pipe(Str :$shell-command, Bool :$input = False, Bool :$output = True,\n Bool :$toggle = False --> Result:D)","references":[{"end":127,"start":119,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"pipe","declaration":true},{"text":"(Str :$shell-command, Bool :$input = False, Bool :$output = True,\n Bool :$toggle = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":487,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-pipe"},{"apiScope":"exported","doc":{"body":"Reset terminal state and clear history in one tmux queue; failure can leave partial effects.","summary":"Reset terminal state and clear history in one tmux queue; failure can leave partial effects."},"id":"LibTmux::Model::PaneRef.reset","kind":"method","modifiers":[],"name":"reset","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.reset","signatures":[{"params":[],"raw":"method reset(--> Result:D)","references":[{"end":25,"start":17,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"reset","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":469,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-reset"},{"apiScope":"exported","doc":{"body":"Reset tmux's terminal state for this pane; this does not restart its process.","summary":"Reset tmux's terminal state for this pane; this does not restart its process."},"id":"LibTmux::Model::PaneRef.reset-terminal","kind":"method","modifiers":[],"name":"reset-terminal","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.reset-terminal","signatures":[{"params":[],"raw":"method reset-terminal(--> Result:D)","references":[{"end":34,"start":26,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"reset-terminal","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":467,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-reset-terminal"},{"apiScope":"exported","doc":{"body":"Set absolute dimensions or adjust one direction; these forms cannot be mixed.","summary":"Set absolute dimensions or adjust one direction; these forms cannot be mixed."},"id":"LibTmux::Model::PaneRef.resize","kind":"method","modifiers":[],"name":"resize","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.resize","signatures":[{"params":[{"default":"Positive","keywordOnly":true,"name":"$width","optional":true},{"default":"Positive","keywordOnly":true,"name":"$height","optional":true},{"keywordOnly":true,"name":"$direction","optional":true,"type":"Str"},{"default":"Positive","keywordOnly":true,"name":"$amount","optional":true}],"raw":"method resize(:$width = Positive, :$height = Positive, Str :$direction, :$amount = Positive --> Result:D)","references":[{"end":32,"start":24,"target":"LibTmux::Types::Positive"},{"end":53,"start":45,"target":"LibTmux::Types::Positive"},{"end":91,"start":83,"target":"LibTmux::Types::Positive"},{"end":104,"start":96,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"resize","declaration":true},{"text":"(:$width = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$height = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", Str :$direction, :$amount = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":316,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-resize"},{"apiScope":"exported","doc":{"body":"Restart the target's process; kill must be explicit when replacing a running process.","summary":"Restart the target's process; kill must be explicit when replacing a running process."},"id":"LibTmux::Model::PaneRef.respawn","kind":"method","modifiers":[],"name":"respawn","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.respawn","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$kill","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method respawn(Str :$shell-command, Str :$directory, Bool :$kill = False,\n Associative:D :$environment = Map.new --> Result:D)","references":[{"end":143,"start":135,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"respawn","declaration":true},{"text":"(Str :$shell-command, Str :$directory, Bool :$kill = False,\n Associative:D :$environment = Map.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":339,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-respawn"},{"apiScope":"exported","doc":{"body":"Compare scoped identity without acquiring current state.","summary":"Compare scoped identity without acquiring current state."},"id":"LibTmux::Model::PaneRef.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false}],"raw":"method same-entity($other --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"($other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-same-entity"},{"apiScope":"exported","doc":{"body":"Select the exact pane or verified session-relative window placement.","summary":"Select the exact pane or verified session-relative window placement."},"id":"LibTmux::Model::PaneRef.select","kind":"method","modifiers":[],"name":"select","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.select","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$preserve-zoom","optional":true,"type":"Bool"}],"raw":"method select(Bool :$preserve-zoom = False --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"select","declaration":true},{"text":"(Bool :$preserve-zoom = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":323,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-select"},{"apiScope":"exported","doc":{"body":"Send native key names, repeating them the requested number of times.","summary":"Send native key names, repeating them the requested number of times."},"id":"LibTmux::Model::PaneRef.send-keys","kind":"method","modifiers":[],"name":"send-keys","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.send-keys","signatures":[{"params":[{"keywordOnly":false,"name":"@keys","optional":false},{"default":"1","keywordOnly":true,"name":"$repeat","optional":true,"type":"Positive:D"}],"raw":"method send-keys(*@keys, Positive:D :$repeat = 1 --> Result:D)","references":[{"end":35,"start":25,"target":"LibTmux::Types::Positive"},{"end":61,"start":53,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"send-keys","declaration":true},{"text":"(*@keys, "},{"text":"Positive:D","target":"LibTmux::Types::Positive"},{"text":" :$repeat = 1 --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":248,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-send-keys"},{"apiScope":"exported","doc":{"body":"Send the configured primary or secondary prefix key to this pane.","summary":"Send the configured primary or secondary prefix key to this pane."},"id":"LibTmux::Model::PaneRef.send-prefix","kind":"method","modifiers":[],"name":"send-prefix","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.send-prefix","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$secondary","optional":true,"type":"Bool"}],"raw":"method send-prefix(Bool :$secondary = False --> Result:D)","references":[{"end":56,"start":48,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"send-prefix","declaration":true},{"text":"(Bool :$secondary = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":253,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-send-prefix"},{"apiScope":"exported","doc":{"body":"Send literal bytes as text without appending Enter.","summary":"Send literal bytes as text without appending Enter."},"id":"LibTmux::Model::PaneRef.send-text","kind":"method","modifiers":[],"name":"send-text","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.send-text","signatures":[{"params":[{"keywordOnly":false,"name":"$text","optional":false,"type":"Str:D"}],"raw":"method send-text(Str:D $text --> Result:D)","references":[{"end":41,"start":33,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"send-text","declaration":true},{"text":"(Str:D $text --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":244,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-send-text"},{"apiScope":"exported","doc":{"body":"Enable or disable delivery of keyboard input to this pane.","summary":"Enable or disable delivery of keyboard input to this pane."},"id":"LibTmux::Model::PaneRef.set-input","kind":"method","modifiers":[],"name":"set-input","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.set-input","signatures":[{"params":[{"keywordOnly":false,"name":"$enabled","optional":false,"type":"Bool:D"}],"raw":"method set-input(Bool:D $enabled --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set-input","declaration":true},{"text":"(Bool:D $enabled --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":331,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-set-input"},{"apiScope":"exported","doc":{"body":"Set title text through one literal FORMAT expansion; tmux title rules still apply.","summary":"Set title text through one literal FORMAT expansion; tmux title rules still apply."},"id":"LibTmux::Model::PaneRef.set-title","kind":"method","modifiers":[],"name":"set-title","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.set-title","signatures":[{"params":[{"keywordOnly":false,"name":"$title","optional":false,"type":"Str:D"}],"raw":"method set-title(Str:D $title --> Result:D)","references":[{"end":42,"start":34,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set-title","declaration":true},{"text":"(Str:D $title --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":327,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-set-title"},{"apiScope":"exported","doc":{"body":"Set a floating pane's nonnegative stacking index.","summary":"Set a floating pane's nonnegative stacking index."},"id":"LibTmux::Model::PaneRef.set-z-index","kind":"method","modifiers":[],"name":"set-z-index","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.set-z-index","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false,"type":"Count:D"}],"raw":"method set-z-index(Count:D $index --> Result:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"},{"end":46,"start":38,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"set-z-index","declaration":true},{"text":"("},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":" $index --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":380,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-set-z-index"},{"apiScope":"exported","doc":{"body":"Create a detached split by default, returning the reported pane ID.","summary":"Create a detached split by default, returning the reported pane ID."},"id":"LibTmux::Model::PaneRef.split","kind":"method","modifiers":[],"name":"split","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.split","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$horizontal","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$before","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$full","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$preserve-zoom","optional":true,"type":"Bool"},{"default":"Positive","keywordOnly":true,"name":"$size","optional":true},{"default":"Positive","keywordOnly":true,"name":"$percent","optional":true},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$empty","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method split(Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False, Bool :$preserve-zoom = False,\n :$size = Positive, :$percent = Positive, Str :$directory,\n Str :$shell-command, Bool :$empty = False,\n Associative:D :$environment = Map.new --> PaneRef:D)","references":[{"end":188,"start":180,"target":"LibTmux::Types::Positive"},{"end":210,"start":202,"target":"LibTmux::Types::Positive"},{"end":357,"start":348,"target":"LibTmux::Model::PaneRef"}],"returns":"PaneRef:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"split","declaration":true},{"text":"(Bool :$horizontal = False, Bool :$before = False,\n Bool :$full = False, Bool :$select = False, Bool :$preserve-zoom = False,\n :$size = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$percent = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", Str :$directory,\n Str :$shell-command, Bool :$empty = False,\n Associative:D :$environment = Map.new --> "},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":279,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-split"},{"apiScope":"exported","doc":{"body":"Change a floating pane's relative stacking order using a closed placement name.","summary":"Change a floating pane's relative stacking order using a closed placement name."},"id":"LibTmux::Model::PaneRef.stack","kind":"method","modifiers":[],"name":"stack","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.stack","signatures":[{"params":[{"keywordOnly":false,"name":"$placement","optional":false,"type":"Str:D"}],"raw":"method stack(Str:D $placement --> Result:D)","references":[{"end":42,"start":34,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"stack","declaration":true},{"text":"(Str:D $placement --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":373,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-stack"},{"apiScope":"exported","doc":{"body":"Swap the two verified pane identities or session-relative window placements.","summary":"Swap the two verified pane identities or session-relative window placements."},"id":"LibTmux::Model::PaneRef.swap","kind":"method","modifiers":[],"name":"swap","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.swap","signatures":[{"params":[{"keywordOnly":false,"name":"$target","optional":false,"type":"PaneRef:D"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$preserve-zoom","optional":true,"type":"Bool"}],"raw":"method swap(PaneRef:D $target, Bool :$select = False, Bool :$preserve-zoom = False --> Result:D)","references":[{"end":21,"start":12,"target":"LibTmux::Model::PaneRef"},{"end":95,"start":87,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"swap","declaration":true},{"text":"("},{"text":"PaneRef:D","target":"LibTmux::Model::PaneRef"},{"text":" $target, Bool :$select = False, Bool :$preserve-zoom = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":399,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-swap"},{"apiScope":"exported","doc":{"body":"Convert this floating pane into a tile while preserving its ID.","summary":"Convert this floating pane into a tile while preserving its ID."},"id":"LibTmux::Model::PaneRef.tile","kind":"method","modifiers":[],"name":"tile","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.tile","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"}],"raw":"method tile(Bool :$select = False --> Result:D)","references":[{"end":46,"start":38,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"tile","declaration":true},{"text":"(Bool :$select = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":385,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-tile"},{"apiScope":"exported","doc":{"body":"Toggle the global marked-pane target using this pane.","summary":"Toggle the global marked-pane target using this pane."},"id":"LibTmux::Model::PaneRef.toggle-mark","kind":"method","modifiers":[],"name":"toggle-mark","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.toggle-mark","signatures":[{"params":[],"raw":"method toggle-mark(--> Result:D)","references":[{"end":31,"start":23,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"toggle-mark","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":335,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-toggle-mark"},{"apiScope":"exported","doc":{"body":"Toggle this pane's window zoom state.","summary":"Toggle this pane's window zoom state."},"id":"LibTmux::Model::PaneRef.toggle-zoom","kind":"method","modifiers":[],"name":"toggle-zoom","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.toggle-zoom","signatures":[{"params":[],"raw":"method toggle-zoom(--> Result:D)","references":[{"end":31,"start":23,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"toggle-zoom","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":321,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-toggle-zoom"},{"apiScope":"exported","doc":{"body":"Clear the server's marked pane.","summary":"Clear the server's marked pane."},"id":"LibTmux::Model::PaneRef.unmark","kind":"method","modifiers":[],"name":"unmark","package":"LibTmux","parent":"LibTmux::Model::PaneRef","product":"core","publicId":"LibTmux::Model::PaneRef.unmark","signatures":[{"params":[],"raw":"method unmark(--> Result:D)","references":[{"end":26,"start":18,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unmark","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":337,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneref-unmark"},{"apiScope":"exported","doc":{"body":"Replayable typed pane membership with local filtering.","summary":"Replayable typed pane membership with local filtering."},"id":"LibTmux::Model::PaneSelection","kind":"class","modifiers":[],"name":"PaneSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::PaneSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":966,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::PaneSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::PaneSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::PaneSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::PaneSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::PaneSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-list-11q6"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::PaneSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::PaneSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::PaneSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::PaneSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::PaneSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::PaneSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::PaneSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::PaneSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::PaneSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::PaneSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::PaneSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-list-25wl"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::PaneSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::PaneSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::PaneSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::PaneSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::PaneSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::PaneSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::PaneSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::PaneSelection","product":"core","publicId":"LibTmux::Model::PaneSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-paneselection-where"},{"apiScope":"exported","doc":{"body":"Captured session with local window-link and group relationships.","summary":"Captured session with local window-link and group relationships."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Session","kind":"class","modifiers":[],"name":"Session","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Session","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":910,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session"},{"apiScope":"exported","doc":{"body":"Captured session_activity; local uint access.","summary":"Captured session_activity; local uint access."},"id":"LibTmux::Model::Session.activity","kind":"method","modifiers":[],"name":"activity","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.activity","signatures":[{"params":[],"raw":"method activity(--> Count:D)","references":[{"end":27,"start":20,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"activity","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-activity"},{"apiScope":"exported","doc":{"body":"Captured session_attached; local uint access.","summary":"Captured session_attached; local uint access."},"id":"LibTmux::Model::Session.attached-count","kind":"method","modifiers":[],"name":"attached-count","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.attached-count","signatures":[{"params":[],"raw":"method attached-count(--> Count:D)","references":[{"end":33,"start":26,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"attached-count","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-attached-count"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Session.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Session.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-clone"},{"apiScope":"exported","doc":{"body":"Captured session_created; local uint access.","summary":"Captured session_created; local uint access."},"id":"LibTmux::Model::Session.created","kind":"method","modifiers":[],"name":"created","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.created","signatures":[{"params":[],"raw":"method created(--> Count:D)","references":[{"end":26,"start":19,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"created","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-created"},{"apiScope":"exported","doc":{"body":"The session-relative active window placement in this observation.","summary":"The session-relative active window placement in this observation."},"id":"LibTmux::Model::Session.current-link","kind":"method","modifiers":[],"name":"current-link","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.current-link","signatures":[{"params":[],"raw":"method current-link(--> WindowLink:D)","references":[{"end":36,"start":24,"target":"LibTmux::Model::WindowLink"}],"returns":"WindowLink:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"current-link","declaration":true},{"text":"(--> "},{"text":"WindowLink:D","target":"LibTmux::Model::WindowLink"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":914,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-current-link"},{"apiScope":"exported","doc":{"body":"Observed session group, or Nil when the session is known to be ungrouped.","summary":"Observed session group, or Nil when the session is known to be ungrouped."},"id":"LibTmux::Model::Session.group","kind":"method","modifiers":[],"name":"group","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.group","signatures":[{"params":[],"raw":"method group(--> SessionGroup)","references":[{"end":29,"start":17,"target":"LibTmux::Model::SessionGroup"}],"returns":"SessionGroup","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"group","declaration":true},{"text":"(--> "},{"text":"SessionGroup","target":"LibTmux::Model::SessionGroup"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":916,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-group"},{"apiScope":"exported","doc":{"body":"Captured session_group; local text access.","summary":"Captured session_group; local text access."},"id":"LibTmux::Model::Session.group-name","kind":"method","modifiers":[],"name":"group-name","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.group-name","signatures":[{"params":[],"raw":"method group-name(--> Str)","references":[],"returns":"Str","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"group-name","declaration":true},{"text":"(--> Str)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-group-name"},{"apiScope":"exported","doc":{"body":"Captured session_grouped; local bool access.","summary":"Captured session_grouped; local bool access."},"id":"LibTmux::Model::Session.grouped","kind":"method","modifiers":[],"name":"grouped","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.grouped","signatures":[{"params":[],"raw":"method grouped(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grouped","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-grouped"},{"apiScope":"exported","doc":{"body":"Captured session_id; local session-id access.","summary":"Captured session_id; local session-id access."},"id":"LibTmux::Model::Session.id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.id","signatures":[{"params":[],"raw":"method id(--> SessionId:D)","references":[{"end":25,"start":14,"target":"LibTmux::Types::SessionId"}],"returns":"SessionId:D","nativeSyntax":[{"start":7,"end":9,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"id","declaration":true},{"text":"(--> "},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":11,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-id"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Session.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-incarnation"},{"apiScope":"exported","doc":{"body":"Captured session_name; local text access.","summary":"Captured session_name; local text access."},"id":"LibTmux::Model::Session.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":13,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Session.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-new"},{"apiScope":"exported","doc":{"body":"Captured session_path; local text access.","summary":"Captured session_path; local text access."},"id":"LibTmux::Model::Session.path","kind":"method","modifiers":[],"name":"path","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.path","signatures":[{"params":[],"raw":"method path(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"path","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":23,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-path"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Session.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Session.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Session.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-same-entity"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Session.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Session.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Session.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-value"},{"apiScope":"exported","doc":{"body":"Captured session/index associations, including repeated links to one physical window.","summary":"Captured session/index associations, including repeated links to one physical window."},"id":"LibTmux::Model::Session.window-links","kind":"method","modifiers":[],"name":"window-links","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.window-links","signatures":[{"params":[],"raw":"method window-links(--> WindowLinkSelection:D)","references":[{"end":45,"start":24,"target":"LibTmux::Model::WindowLinkSelection"}],"returns":"WindowLinkSelection:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window-links","declaration":true},{"text":"(--> "},{"text":"WindowLinkSelection:D","target":"LibTmux::Model::WindowLinkSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":912,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-window-links"},{"apiScope":"exported","doc":{"body":"Captured session_windows; local uint access.","summary":"Captured session_windows; local uint access."},"id":"LibTmux::Model::Session.windows-count","kind":"method","modifiers":[],"name":"windows-count","package":"LibTmux","parent":"LibTmux::Model::Session","product":"core","publicId":"LibTmux::Model::Session.windows-count","signatures":[{"params":[],"raw":"method windows-count(--> Count:D)","references":[{"end":32,"start":25,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"windows-count","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":15,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-session-windows-count"},{"apiScope":"exported","doc":{"body":"Captured session group whose members are resolved within this graph.","summary":"Captured session group whose members are resolved within this graph."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::SessionGroup","kind":"class","modifiers":[],"name":"SessionGroup","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::SessionGroup","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":952,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup"},{"apiScope":"exported","doc":{"body":"Captured session_group_attached; local uint access.","summary":"Captured session_group_attached; local uint access."},"id":"LibTmux::Model::SessionGroup.attached-count","kind":"method","modifiers":[],"name":"attached-count","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.attached-count","signatures":[{"params":[],"raw":"method attached-count(--> Count:D)","references":[{"end":33,"start":26,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"attached-count","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":178,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-attached-count"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::SessionGroup.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::SessionGroup.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-clone"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::SessionGroup.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-incarnation"},{"apiScope":"exported","doc":{"body":"Captured session_group; local text access.","summary":"Captured session_group; local text access."},"id":"LibTmux::Model::SessionGroup.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":174,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::SessionGroup.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-new"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::SessionGroup.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::SessionGroup.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::SessionGroup.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-same-entity"},{"apiScope":"exported","doc":{"body":"Captured sessions in acquisition order; reading performs no I/O.","summary":"Captured sessions in acquisition order; reading performs no I/O."},"id":"LibTmux::Model::SessionGroup.sessions","kind":"method","modifiers":[],"name":"sessions","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.sessions","signatures":[{"params":[],"raw":"method sessions(--> SessionSelection:D)","references":[{"end":38,"start":20,"target":"LibTmux::Model::SessionSelection"}],"returns":"SessionSelection:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sessions","declaration":true},{"text":"(--> "},{"text":"SessionSelection:D","target":"LibTmux::Model::SessionSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":954,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-sessions"},{"apiScope":"exported","doc":{"body":"Captured session_group_size; local uint access.","summary":"Captured session_group_size; local uint access."},"id":"LibTmux::Model::SessionGroup.size","kind":"method","modifiers":[],"name":"size","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.size","signatures":[{"params":[],"raw":"method size(--> Count:D)","references":[{"end":23,"start":16,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"size","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":176,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-size"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::SessionGroup.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::SessionGroup.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::SessionGroup.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::SessionGroup","product":"core","publicId":"LibTmux::Model::SessionGroup.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroup-value"},{"apiScope":"exported","doc":{"body":"Replayable typed sessiongroup membership with local filtering.","summary":"Replayable typed sessiongroup membership with local filtering."},"id":"LibTmux::Model::SessionGroupSelection","kind":"class","modifiers":[],"name":"SessionGroupSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::SessionGroupSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":970,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::SessionGroupSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::SessionGroupSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::SessionGroupSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::SessionGroupSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::SessionGroupSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-list-w4pk"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::SessionGroupSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::SessionGroupSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::SessionGroupSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::SessionGroupSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::SessionGroupSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::SessionGroupSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::SessionGroupSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::SessionGroupSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::SessionGroupSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::SessionGroupSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::SessionGroupSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-list-1voz"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::SessionGroupSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::SessionGroupSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::SessionGroupSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::SessionGroupSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::SessionGroupSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::SessionGroupSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::SessionGroupSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::SessionGroupSelection","product":"core","publicId":"LibTmux::Model::SessionGroupSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessiongroupselection-where"},{"apiScope":"exported","doc":{"body":"Value-only command target for a session in one daemon incarnation.","summary":"Value-only command target for a session in one daemon incarnation."},"id":"LibTmux::Model::SessionRef","kind":"class","modifiers":[],"name":"SessionRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::SessionRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":123,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref"},{"apiScope":"exported","doc":{"body":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics.","summary":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics."},"id":"LibTmux::Model::SessionRef.command","kind":"method","modifiers":["overload","overload","overload"],"name":"command","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.command","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method command(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"(|operation)"}]},{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"Blob.new","keywordOnly":true,"name":"$stdin","optional":true,"type":"Blob:D"}],"raw":"method command(Invocation:D $command, Blob:D :$stdin = Blob.new --> Result:D)","references":[{"end":27,"start":15,"target":"LibTmux::Command::Invocation"},{"end":76,"start":68,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Blob:D :$stdin = Blob.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-command"},{"apiScope":"exported","doc":{"body":"Request detachment of clients in this session; acknowledgement is not client exit.","summary":"Request detachment of clients in this session; acknowledgement is not client exit."},"id":"LibTmux::Model::SessionRef.detach-clients","kind":"method","modifiers":[],"name":"detach-clients","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.detach-clients","signatures":[{"params":[],"raw":"method detach-clients(--> Result:D)","references":[{"end":34,"start":26,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"detach-clients","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":167,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-detach-clients"},{"apiScope":"exported","doc":{"body":"Return the registered entity schema without I/O.","summary":"Return the registered entity schema without I/O."},"id":"LibTmux::Model::SessionRef.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":71,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-entity"},{"apiScope":"exported","doc":{"body":"Construct a session environment facade without acquiring current values.","summary":"Construct a session environment facade without acquiring current values."},"id":"LibTmux::Model::SessionRef.environment","kind":"method","modifiers":[],"name":"environment","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.environment","signatures":[{"params":[],"raw":"method environment(--> Environment:D)","references":[{"end":36,"start":23,"target":"LibTmux::Configuration::Environment"}],"returns":"Environment:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"environment","declaration":true},{"text":"(--> "},{"text":"Environment:D","target":"LibTmux::Configuration::Environment"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":125,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-environment"},{"apiScope":"exported","doc":{"body":"Construct a value-only hook facade; its reads and writes are explicit operations.","summary":"Construct a value-only hook facade; its reads and writes are explicit operations."},"id":"LibTmux::Model::SessionRef.hooks","kind":"method","modifiers":[],"name":"hooks","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.hooks","signatures":[{"params":[],"raw":"method hooks(--> Hooks:D)","references":[{"end":24,"start":17,"target":"LibTmux::Configuration::Hooks"}],"returns":"Hooks:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"hooks","declaration":true},{"text":"(--> "},{"text":"Hooks:D","target":"LibTmux::Configuration::Hooks"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":79,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-hooks"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph and require exactly one observed entity with this ID.","summary":"Acquire a fresh graph and require exactly one observed entity with this ID."},"id":"LibTmux::Model::SessionRef.inspect","kind":"method","modifiers":["overload","overload","overload"],"name":"inspect","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.inspect","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method inspect(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(|operation)"}]},{"params":[],"raw":"method inspect(--> View:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"View:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(--> "},{"text":"View:D","target":"LibTmux::Model::View"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-inspect"},{"apiScope":"exported","doc":{"body":"Destroy the addressed entity; retained observations remain unchanged.","summary":"Destroy the addressed entity; retained observations remain unchanged."},"id":"LibTmux::Model::SessionRef.kill","kind":"method","modifiers":[],"name":"kill","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.kill","signatures":[{"params":[],"raw":"method kill(--> Result:D)","references":[{"end":24,"start":16,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"kill","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":169,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-kill"},{"apiScope":"exported","doc":{"body":"Select the session's previous current window.","summary":"Select the session's previous current window."},"id":"LibTmux::Model::SessionRef.last-window","kind":"method","modifiers":[],"name":"last-window","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.last-window","signatures":[{"params":[],"raw":"method last-window(--> Result:D)","references":[{"end":31,"start":23,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"last-window","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":161,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-last-window"},{"apiScope":"exported","doc":{"body":"Ask tmux to lock clients attached to this session.","summary":"Ask tmux to lock clients attached to this session."},"id":"LibTmux::Model::SessionRef.lock","kind":"method","modifiers":[],"name":"lock","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.lock","signatures":[{"params":[],"raw":"method lock(--> Result:D)","references":[{"end":24,"start":16,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"lock","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":165,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-lock"},{"apiScope":"exported","doc":{"body":"Create a window and return its reported identity without refreshing observations.","summary":"Create a window and return its reported identity without refreshing observations."},"id":"LibTmux::Model::SessionRef.new-window","kind":"method","modifiers":[],"name":"new-window","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.new-window","signatures":[{"params":[{"keywordOnly":true,"name":"$name","optional":true,"type":"Str"},{"default":"Count","keywordOnly":true,"name":"$index","optional":true},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$replace","optional":true,"type":"Bool"},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$empty","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method new-window(Str :$name, :$index = Count, Bool :$select = False,\n Bool :$replace = False, Str :$directory, Str :$shell-command,\n Bool :$empty = False, Associative:D :$environment = Map.new --> WindowRef:D)","references":[{"end":45,"start":40,"target":"LibTmux::Types::Count"},{"end":251,"start":240,"target":"LibTmux::Model::WindowRef"}],"returns":"WindowRef:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new-window","declaration":true},{"text":"(Str :$name, :$index = "},{"text":"Count","target":"LibTmux::Types::Count"},{"text":", Bool :$select = False,\n Bool :$replace = False, Str :$directory, Str :$shell-command,\n Bool :$empty = False, Associative:D :$environment = Map.new --> "},{"text":"WindowRef:D","target":"LibTmux::Model::WindowRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":135,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-new-window"},{"apiScope":"exported","doc":{"body":"Select the next session window, optionally restricting to activity alerts.","summary":"Select the next session window, optionally restricting to activity alerts."},"id":"LibTmux::Model::SessionRef.next-window","kind":"method","modifiers":[],"name":"next-window","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.next-window","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$activity","optional":true,"type":"Bool"}],"raw":"method next-window(Bool :$activity = False --> Result:D)","references":[{"end":55,"start":47,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"next-window","declaration":true},{"text":"(Bool :$activity = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":153,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-next-window"},{"apiScope":"exported","doc":{"body":"Construct a value-only option facade scoped to this captured identity.","summary":"Construct a value-only option facade scoped to this captured identity."},"id":"LibTmux::Model::SessionRef.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.options","signatures":[{"params":[],"raw":"method options(--> Options:D)","references":[{"end":28,"start":19,"target":"LibTmux::Configuration::Options"}],"returns":"Options:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(--> "},{"text":"Options:D","target":"LibTmux::Configuration::Options"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-options"},{"apiScope":"exported","doc":{"body":"Select the previous session window, optionally restricting to activity alerts.","summary":"Select the previous session window, optionally restricting to activity alerts."},"id":"LibTmux::Model::SessionRef.previous-window","kind":"method","modifiers":[],"name":"previous-window","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.previous-window","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$activity","optional":true,"type":"Bool"}],"raw":"method previous-window(Bool :$activity = False --> Result:D)","references":[{"end":59,"start":51,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"previous-window","declaration":true},{"text":"(Bool :$activity = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":157,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-previous-window"},{"apiScope":"exported","doc":{"body":"Store the exact name; refuse characters or separators the daemon would change.","summary":"Store the exact name; refuse characters or separators the daemon would change."},"id":"LibTmux::Model::SessionRef.rename","kind":"method","modifiers":[],"name":"rename","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.rename","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method rename(Str:D $name --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rename","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":130,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-rename"},{"apiScope":"exported","doc":{"body":"Renumber this session's links; previously captured indices may become stale.","summary":"Renumber this session's links; previously captured indices may become stale."},"id":"LibTmux::Model::SessionRef.renumber-windows","kind":"method","modifiers":[],"name":"renumber-windows","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.renumber-windows","signatures":[{"params":[],"raw":"method renumber-windows(--> Result:D)","references":[{"end":36,"start":28,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":23,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"renumber-windows","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":163,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-renumber-windows"},{"apiScope":"exported","doc":{"body":"Compare scoped identity without acquiring current state.","summary":"Compare scoped identity without acquiring current state."},"id":"LibTmux::Model::SessionRef.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::SessionRef","product":"core","publicId":"LibTmux::Model::SessionRef.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false}],"raw":"method same-entity($other --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"($other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionref-same-entity"},{"apiScope":"exported","doc":{"body":"Replayable typed session membership with local filtering.","summary":"Replayable typed session membership with local filtering."},"id":"LibTmux::Model::SessionSelection","kind":"class","modifiers":[],"name":"SessionSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::SessionSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":960,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::SessionSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::SessionSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::SessionSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::SessionSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::SessionSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-list-1wm9"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::SessionSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::SessionSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::SessionSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::SessionSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::SessionSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::SessionSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::SessionSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::SessionSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::SessionSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::SessionSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::SessionSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-list-x1z2"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::SessionSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::SessionSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::SessionSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::SessionSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::SessionSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::SessionSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::SessionSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::SessionSelection","product":"core","publicId":"LibTmux::Model::SessionSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-sessionselection-where"},{"apiScope":"exported","doc":{"body":"Captured records and indexed relations; it retains no transport or live owner.","summary":"Captured records and indexed relations; it retains no transport or live owner."},"id":"LibTmux::Model::Snapshot","kind":"class","modifiers":[],"name":"Snapshot","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Snapshot","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":595,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot"},{"apiScope":"exported","doc":{"body":"Captured buffer metadata; content requires a separate explicit operation.","summary":"Captured buffer metadata; content requires a separate explicit operation."},"id":"LibTmux::Model::Snapshot.buffers","kind":"method","modifiers":[],"name":"buffers","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.buffers","signatures":[{"params":[],"raw":"method buffers(--> BufferSelection:D)","references":[{"end":36,"start":19,"target":"LibTmux::Model::BufferSelection"}],"returns":"BufferSelection:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"buffers","declaration":true},{"text":"(--> "},{"text":"BufferSelection:D","target":"LibTmux::Model::BufferSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":691,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-buffers"},{"apiScope":"exported","doc":{"body":"Return the immutable capability observation used to acquire this graph.","summary":"Return the immutable capability observation used to acquire this graph."},"id":"LibTmux::Model::Snapshot.capabilities","kind":"method","modifiers":[],"name":"capabilities","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.capabilities","signatures":[{"params":[],"raw":"method capabilities(--> LibTmux::Capabilities:D)","references":[{"end":47,"start":24,"target":"LibTmux::Capabilities"}],"returns":"LibTmux::Capabilities:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capabilities","declaration":true},{"text":"(--> "},{"text":"LibTmux::Capabilities:D","target":"LibTmux::Capabilities"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":662,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-capabilities"},{"apiScope":"exported","doc":{"body":"Captured attached clients with their observed process and creation identity.","summary":"Captured attached clients with their observed process and creation identity."},"id":"LibTmux::Model::Snapshot.clients","kind":"method","modifiers":[],"name":"clients","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.clients","signatures":[{"params":[],"raw":"method clients(--> ClientSelection:D)","references":[{"end":36,"start":19,"target":"LibTmux::Model::ClientSelection"}],"returns":"ClientSelection:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clients","declaration":true},{"text":"(--> "},{"text":"ClientSelection:D","target":"LibTmux::Model::ClientSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":687,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-clients"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Snapshot.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":805,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-clone"},{"apiScope":"exported","doc":{"body":"Whether the named entity collection was acquired without source restriction.","summary":"Whether the named entity collection was acquired without source restriction."},"id":"LibTmux::Model::Snapshot.complete","kind":"method","modifiers":[],"name":"complete","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.complete","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method complete(Str:D $entity --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"complete","declaration":true},{"text":"(Str:D $entity --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":664,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-complete"},{"apiScope":"exported","doc":{"body":"End of the acquisition interval after declared records were captured.","summary":"End of the acquisition interval after declared records were captured."},"id":"LibTmux::Model::Snapshot.ended","kind":"property","modifiers":[],"name":"ended","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.ended","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":604,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-model-snapshot-ended"},{"apiScope":"exported","doc":{"body":"Captured connection settings; retaining them owns no process.","summary":"Captured connection settings; retaining them owns no process."},"id":"LibTmux::Model::Snapshot.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":598,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-model-snapshot-endpoint"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Snapshot.incarnation","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":660,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-incarnation"},{"apiScope":"exported","doc":{"body":"Immutable daemon identity and capabilities used during acquisition.","summary":"Immutable daemon identity and capabilities used during acquisition."},"id":"LibTmux::Model::Snapshot.observation","kind":"property","modifiers":[],"name":"observation","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.observation","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":600,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Observation:D","slug":"libtmux-model-snapshot-observation"},{"apiScope":"exported","doc":{"body":"Captured physical panes; relation traversal never acquires newer data.","summary":"Captured physical panes; relation traversal never acquires newer data."},"id":"LibTmux::Model::Snapshot.panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.panes","signatures":[{"params":[],"raw":"method panes(--> PaneSelection:D)","references":[{"end":32,"start":17,"target":"LibTmux::Model::PaneSelection"}],"returns":"PaneSelection:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"panes","declaration":true},{"text":"(--> "},{"text":"PaneSelection:D","target":"LibTmux::Model::PaneSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":685,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-panes"},{"apiScope":"exported","doc":{"body":"Return raw contextual rows, retaining repeated physical-entity observations.","summary":"Return raw contextual rows, retaining repeated physical-entity observations."},"id":"LibTmux::Model::Snapshot.rows","kind":"method","modifiers":[],"name":"rows","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.rows","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method rows(Str:D $entity --> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rows","declaration":true},{"text":"(Str:D $entity --> List:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":667,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-rows"},{"apiScope":"exported","doc":{"body":"Return the captured typed selection for a validated entity schema.","summary":"Return the captured typed selection for a validated entity schema."},"id":"LibTmux::Model::Snapshot.selection","kind":"method","modifiers":[],"name":"selection","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.selection","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Str:D"}],"raw":"method selection(Str:D $entity)","references":[],"nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"selection","declaration":true},{"text":"(Str:D $entity)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":673,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-selection"},{"apiScope":"exported","doc":{"body":"Captured session groups and their observed membership.","summary":"Captured session groups and their observed membership."},"id":"LibTmux::Model::Snapshot.session-groups","kind":"method","modifiers":[],"name":"session-groups","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.session-groups","signatures":[{"params":[],"raw":"method session-groups(--> SessionGroupSelection:D)","references":[{"end":49,"start":26,"target":"LibTmux::Model::SessionGroupSelection"}],"returns":"SessionGroupSelection:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session-groups","declaration":true},{"text":"(--> "},{"text":"SessionGroupSelection:D","target":"LibTmux::Model::SessionGroupSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":689,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-session-groups"},{"apiScope":"exported","doc":{"body":"Captured sessions in acquisition order; reading performs no I/O.","summary":"Captured sessions in acquisition order; reading performs no I/O."},"id":"LibTmux::Model::Snapshot.sessions","kind":"method","modifiers":[],"name":"sessions","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.sessions","signatures":[{"params":[],"raw":"method sessions(--> SessionSelection:D)","references":[{"end":38,"start":20,"target":"LibTmux::Model::SessionSelection"}],"returns":"SessionSelection:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sessions","declaration":true},{"text":"(--> "},{"text":"SessionSelection:D","target":"LibTmux::Model::SessionSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":679,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-sessions"},{"apiScope":"exported","doc":{"body":"Start of the acquisition interval; the graph is not an atomic instant.","summary":"Start of the acquisition interval; the graph is not an atomic instant."},"id":"LibTmux::Model::Snapshot.started","kind":"property","modifiers":[],"name":"started","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.started","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":602,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Instant:D","slug":"libtmux-model-snapshot-started"},{"apiScope":"exported","doc":{"body":"Captured session/index associations, including repeated links to one physical window.","summary":"Captured session/index associations, including repeated links to one physical window."},"id":"LibTmux::Model::Snapshot.window-links","kind":"method","modifiers":[],"name":"window-links","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.window-links","signatures":[{"params":[],"raw":"method window-links(--> WindowLinkSelection:D)","references":[{"end":45,"start":24,"target":"LibTmux::Model::WindowLinkSelection"}],"returns":"WindowLinkSelection:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window-links","declaration":true},{"text":"(--> "},{"text":"WindowLinkSelection:D","target":"LibTmux::Model::WindowLinkSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":681,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-window-links"},{"apiScope":"exported","doc":{"body":"Captured physical windows, unique by daemon-scoped identity.","summary":"Captured physical windows, unique by daemon-scoped identity."},"id":"LibTmux::Model::Snapshot.windows","kind":"method","modifiers":[],"name":"windows","package":"LibTmux","parent":"LibTmux::Model::Snapshot","product":"core","publicId":"LibTmux::Model::Snapshot.windows","signatures":[{"params":[],"raw":"method windows(--> WindowSelection:D)","references":[{"end":36,"start":19,"target":"LibTmux::Model::WindowSelection"}],"returns":"WindowSelection:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"windows","declaration":true},{"text":"(--> "},{"text":"WindowSelection:D","target":"LibTmux::Model::WindowSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":683,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-snapshot-windows"},{"apiScope":"exported","doc":{"body":"A local view of one captured record. Accessors and relations never perform I/O.","summary":"A local view of one captured record. Accessors and relations never perform I/O."},"id":"LibTmux::Model::View","kind":"class","modifiers":[],"name":"View","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::View","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":814,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::View.bytes","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::View.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-clone"},{"apiScope":"exported","doc":{"body":"Catalogue entity schema for this view or reference.","summary":"Catalogue entity schema for this view or reference."},"id":"LibTmux::Model::View.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.entity","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":818,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-model-view-entity"},{"apiScope":"exported","doc":{"body":"Snapshot lookup key; window-link keys are not stable across captures.","summary":"Snapshot lookup key; window-link keys are not stable across captures."},"id":"LibTmux::Model::View.identity-key","kind":"property","modifiers":[],"name":"identity-key","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.identity-key","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":820,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-model-view-identity-key"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::View.incarnation","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-incarnation"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::View.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-new"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::View.ref","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::View.relation","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::View.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-same-entity"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::View.snapshot","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::View.state","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::View.value","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::View","product":"core","publicId":"LibTmux::Model::View.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-view-value"},{"apiScope":"exported","doc":{"body":"Captured physical window; session-relative indices belong to WindowLink.","summary":"Captured physical window; session-relative indices belong to WindowLink."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::Window","kind":"class","modifiers":[],"name":"Window","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::Window","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":926,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window"},{"apiScope":"exported","doc":{"body":"The physical window's observed active pane.","summary":"The physical window's observed active pane."},"id":"LibTmux::Model::Window.active-pane","kind":"method","modifiers":[],"name":"active-pane","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.active-pane","signatures":[{"params":[],"raw":"method active-pane(--> Pane:D)","references":[{"end":29,"start":23,"target":"LibTmux::Model::Pane"}],"returns":"Pane:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"active-pane","declaration":true},{"text":"(--> "},{"text":"Pane:D","target":"LibTmux::Model::Pane"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":932,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-active-pane"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::Window.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::Window.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-clone"},{"apiScope":"exported","doc":{"body":"Decode retained layout bytes locally, preserving unknown layout versions.","summary":"Decode retained layout bytes locally, preserving unknown layout versions."},"id":"LibTmux::Model::Window.decoded-layout","kind":"method","modifiers":[],"name":"decoded-layout","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.decoded-layout","signatures":[{"params":[],"raw":"method decoded-layout(--> Layout:D)","references":[{"end":34,"start":26,"target":"LibTmux::Layout::Layout"}],"returns":"Layout:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"decoded-layout","declaration":true},{"text":"(--> "},{"text":"Layout:D","target":"LibTmux::Layout::Layout"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":934,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-decoded-layout"},{"apiScope":"exported","doc":{"body":"Captured window_height; local uint access.","summary":"Captured window_height; local uint access."},"id":"LibTmux::Model::Window.height","kind":"method","modifiers":[],"name":"height","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.height","signatures":[{"params":[],"raw":"method height(--> Count:D)","references":[{"end":25,"start":18,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"height","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-height"},{"apiScope":"exported","doc":{"body":"Captured window_id; local window-id access.","summary":"Captured window_id; local window-id access."},"id":"LibTmux::Model::Window.id","kind":"method","modifiers":[],"name":"id","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.id","signatures":[{"params":[],"raw":"method id(--> WindowId:D)","references":[{"end":24,"start":14,"target":"LibTmux::Types::WindowId"}],"returns":"WindowId:D","nativeSyntax":[{"start":7,"end":9,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"id","declaration":true},{"text":"(--> "},{"text":"WindowId:D","target":"LibTmux::Types::WindowId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-id"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::Window.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-incarnation"},{"apiScope":"exported","doc":{"body":"Captured window_layout; local text access.","summary":"Captured window_layout; local text access."},"id":"LibTmux::Model::Window.layout","kind":"method","modifiers":[],"name":"layout","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.layout","signatures":[{"params":[],"raw":"method layout(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"layout","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-layout"},{"apiScope":"exported","doc":{"body":"Captured window_linked; local bool access.","summary":"Captured window_linked; local bool access."},"id":"LibTmux::Model::Window.linked","kind":"method","modifiers":[],"name":"linked","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.linked","signatures":[{"params":[],"raw":"method linked(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"linked","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":67,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-linked"},{"apiScope":"exported","doc":{"body":"All captured placements of this physical window, preserving repeated associations.","summary":"All captured placements of this physical window, preserving repeated associations."},"id":"LibTmux::Model::Window.links","kind":"method","modifiers":[],"name":"links","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.links","signatures":[{"params":[],"raw":"method links(--> WindowLinkSelection:D)","references":[{"end":38,"start":17,"target":"LibTmux::Model::WindowLinkSelection"}],"returns":"WindowLinkSelection:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"links","declaration":true},{"text":"(--> "},{"text":"WindowLinkSelection:D","target":"LibTmux::Model::WindowLinkSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":930,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-links"},{"apiScope":"exported","doc":{"body":"Captured window_modal_pane; local pane-id access.","summary":"Captured window_modal_pane; local pane-id access."},"id":"LibTmux::Model::Window.modal-pane-id","kind":"method","modifiers":[],"name":"modal-pane-id","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.modal-pane-id","signatures":[{"params":[],"raw":"method modal-pane-id(--> PaneId)","references":[{"end":31,"start":25,"target":"LibTmux::Types::PaneId"}],"returns":"PaneId","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"modal-pane-id","declaration":true},{"text":"(--> "},{"text":"PaneId","target":"LibTmux::Types::PaneId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":69,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-modal-pane-id"},{"apiScope":"exported","doc":{"body":"Captured window_name; local text access.","summary":"Captured window_name; local text access."},"id":"LibTmux::Model::Window.name","kind":"method","modifiers":[],"name":"name","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.name","signatures":[{"params":[],"raw":"method name(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"name","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-name"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::Window.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-new"},{"apiScope":"exported","doc":{"body":"Captured physical panes; relation traversal never acquires newer data.","summary":"Captured physical panes; relation traversal never acquires newer data."},"id":"LibTmux::Model::Window.panes","kind":"method","modifiers":[],"name":"panes","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.panes","signatures":[{"params":[],"raw":"method panes(--> PaneSelection:D)","references":[{"end":32,"start":17,"target":"LibTmux::Model::PaneSelection"}],"returns":"PaneSelection:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"panes","declaration":true},{"text":"(--> "},{"text":"PaneSelection:D","target":"LibTmux::Model::PaneSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":928,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-panes"},{"apiScope":"exported","doc":{"body":"Captured window_panes; local uint access.","summary":"Captured window_panes; local uint access."},"id":"LibTmux::Model::Window.panes-count","kind":"method","modifiers":[],"name":"panes-count","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.panes-count","signatures":[{"params":[],"raw":"method panes-count(--> Count:D)","references":[{"end":30,"start":23,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"panes-count","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-panes-count"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::Window.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::Window.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::Window.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-same-entity"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::Window.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::Window.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::Window.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-value"},{"apiScope":"exported","doc":{"body":"Captured window_visible_layout; local text access.","summary":"Captured window_visible_layout; local text access."},"id":"LibTmux::Model::Window.visible-layout","kind":"method","modifiers":[],"name":"visible-layout","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.visible-layout","signatures":[{"params":[],"raw":"method visible-layout(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"visible-layout","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-visible-layout"},{"apiScope":"exported","doc":{"body":"Captured window_width; local uint access.","summary":"Captured window_width; local uint access."},"id":"LibTmux::Model::Window.width","kind":"method","modifiers":[],"name":"width","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.width","signatures":[{"params":[],"raw":"method width(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"width","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-width"},{"apiScope":"exported","doc":{"body":"Captured window_zoomed_flag; local bool access.","summary":"Captured window_zoomed_flag; local bool access."},"id":"LibTmux::Model::Window.zoomed","kind":"method","modifiers":[],"name":"zoomed","package":"LibTmux","parent":"LibTmux::Model::Window","product":"core","publicId":"LibTmux::Model::Window.zoomed","signatures":[{"params":[],"raw":"method zoomed(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"zoomed","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-window-zoomed"},{"apiScope":"exported","doc":{"body":"One captured session/index association with an expected physical window.","summary":"One captured session/index association with an expected physical window."},"extends":["LibTmux::Model::View"],"id":"LibTmux::Model::WindowLink","kind":"class","modifiers":[],"name":"WindowLink","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowLink","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":919,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink"},{"apiScope":"exported","doc":{"body":"Captured window_active; local bool access.","summary":"Captured window_active; local bool access."},"id":"LibTmux::Model::WindowLink.active","kind":"method","modifiers":[],"name":"active","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.active","signatures":[{"params":[],"raw":"method active(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"active","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":38,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-active"},{"apiScope":"exported","doc":{"body":"Captured window_activity_flag; local bool access.","summary":"Captured window_activity_flag; local bool access."},"id":"LibTmux::Model::WindowLink.activity","kind":"method","modifiers":[],"name":"activity","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.activity","signatures":[{"params":[],"raw":"method activity(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"activity","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":42,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-activity"},{"apiScope":"exported","doc":{"body":"Captured window_bell_flag; local bool access.","summary":"Captured window_bell_flag; local bool access."},"id":"LibTmux::Model::WindowLink.bell","kind":"method","modifiers":[],"name":"bell","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.bell","signatures":[{"params":[],"raw":"method bell(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bell","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":44,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-bell"},{"apiScope":"exported","doc":{"body":"Exact captured bytes, before strict text conversion or normalization.","summary":"Exact captured bytes, before strict text conversion or normalization."},"id":"LibTmux::Model::WindowLink.bytes","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"bytes","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.bytes","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method bytes(Str:D $name --> Blob:D)","references":[],"returns":"Blob:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"bytes","declaration":true},{"text":"(Str:D $name --> Blob:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":854,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-bytes"},{"apiScope":"exported","doc":{"body":"Copy this captured value without changing its records or acquiring new data.","summary":"Copy this captured value without changing its records or acquiring new data."},"id":"LibTmux::Model::WindowLink.clone","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":901,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-clone"},{"apiScope":"exported","doc":{"body":"Return the captured daemon identity without refreshing it.","summary":"Return the captured daemon identity without refreshing it."},"id":"LibTmux::Model::WindowLink.incarnation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.incarnation","signatures":[{"params":[],"raw":"method incarnation(--> Incarnation:D)","references":[{"end":36,"start":23,"target":"LibTmux::Engine::Incarnation"}],"returns":"Incarnation:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"incarnation","declaration":true},{"text":"(--> "},{"text":"Incarnation:D","target":"LibTmux::Engine::Incarnation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":874,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-incarnation"},{"apiScope":"exported","doc":{"body":"Captured window_index; local uint access.","summary":"Captured window_index; local uint access."},"id":"LibTmux::Model::WindowLink.index","kind":"method","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.index","signatures":[{"params":[],"raw":"method index(--> Count:D)","references":[{"end":24,"start":17,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"index","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":36,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-index"},{"apiScope":"exported","doc":{"body":"Captured window_last_flag; local bool access.","summary":"Captured window_last_flag; local bool access."},"id":"LibTmux::Model::WindowLink.last","kind":"method","modifiers":[],"name":"last","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.last","signatures":[{"params":[],"raw":"method last(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"last","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":40,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-last"},{"apiScope":"exported","doc":{"body":"Refuse direct view construction; obtain this value from a Snapshot.","summary":"Refuse direct view construction; obtain this value from a Snapshot."},"id":"LibTmux::Model::WindowLink.new","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(| --> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(| --> Nil)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":825,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-new"},{"apiScope":"exported","doc":{"body":"Construct a value-only command target without observing current daemon state.","summary":"Construct a value-only command target without observing current daemon state."},"id":"LibTmux::Model::WindowLink.ref","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"ref","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.ref","signatures":[{"params":[],"raw":"method ref()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ref","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":877,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-ref"},{"apiScope":"exported","doc":{"body":"Resolve one declared relation locally; incomplete required data raises MissingData.","summary":"Resolve one declared relation locally; incomplete required data raises MissingData."},"id":"LibTmux::Model::WindowLink.relation","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"relation","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.relation","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method relation(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"relation","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":861,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-relation"},{"apiScope":"exported","doc":{"body":"Compare scoped entity identity; window links additionally require the same snapshot.","summary":"Compare scoped entity identity; window links additionally require the same snapshot."},"id":"LibTmux::Model::WindowLink.same-entity","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"View:D"}],"raw":"method same-entity(View:D $other --> Bool:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"("},{"text":"View:D","target":"LibTmux::Model::View"},{"text":" $other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":864,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-same-entity"},{"apiScope":"exported","doc":{"body":"The observed associated session, resolved without I/O.","summary":"The observed associated session, resolved without I/O."},"id":"LibTmux::Model::WindowLink.session","kind":"method","modifiers":[],"name":"session","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.session","signatures":[{"params":[],"raw":"method session(--> Session:D)","references":[{"end":28,"start":19,"target":"LibTmux::Model::Session"}],"returns":"Session:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session","declaration":true},{"text":"(--> "},{"text":"Session:D","target":"LibTmux::Model::Session"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":921,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-session"},{"apiScope":"exported","doc":{"body":"Captured session_id; local session-id access.","summary":"Captured session_id; local session-id access."},"id":"LibTmux::Model::WindowLink.session-id","kind":"method","modifiers":[],"name":"session-id","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.session-id","signatures":[{"params":[],"raw":"method session-id(--> SessionId:D)","references":[{"end":33,"start":22,"target":"LibTmux::Types::SessionId"}],"returns":"SessionId:D","nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"session-id","declaration":true},{"text":"(--> "},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":32,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-session-id"},{"apiScope":"exported","doc":{"body":"Captured window_silence_flag; local bool access.","summary":"Captured window_silence_flag; local bool access."},"id":"LibTmux::Model::WindowLink.silence","kind":"method","modifiers":[],"name":"silence","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.silence","signatures":[{"params":[],"raw":"method silence(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"silence","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":46,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-silence"},{"apiScope":"exported","doc":{"body":"Return the retained captured graph; it owns no live transport.","summary":"Return the retained captured graph; it owns no live transport."},"id":"LibTmux::Model::WindowLink.snapshot","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.snapshot","signatures":[{"params":[],"raw":"method snapshot(--> Snapshot:D)","references":[{"end":30,"start":20,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"(--> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":872,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-snapshot"},{"apiScope":"exported","doc":{"body":"Report availability of a declared field or relation without conflating null and unloaded data.","summary":"Report availability of a declared field or relation without conflating null and unloaded data."},"id":"LibTmux::Model::WindowLink.state","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"state","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.state","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method state(Str:D $name --> ValueState:D)","references":[{"end":41,"start":29,"target":"LibTmux::Types::ValueState"}],"returns":"ValueState:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"state","declaration":true},{"text":"(Str:D $name --> "},{"text":"ValueState:D","target":"LibTmux::Types::ValueState"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":831,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-state"},{"apiScope":"exported","doc":{"body":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data.","summary":"Return a decoded local field, Nil for known null, or throw MissingData for unavailable data."},"id":"LibTmux::Model::WindowLink.value","inheritedFrom":"LibTmux::Model::View","kind":"method","modifiers":[],"name":"value","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.value","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method value(Str:D $name)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"value","declaration":true},{"text":"(Str:D $name)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":846,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-value"},{"apiScope":"exported","doc":{"body":"The observed physical window, resolved without I/O.","summary":"The observed physical window, resolved without I/O."},"id":"LibTmux::Model::WindowLink.window","kind":"method","modifiers":[],"name":"window","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.window","signatures":[{"params":[],"raw":"method window(--> Window:D)","references":[{"end":26,"start":18,"target":"LibTmux::Model::Window"}],"returns":"Window:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window","declaration":true},{"text":"(--> "},{"text":"Window:D","target":"LibTmux::Model::Window"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":923,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-window"},{"apiScope":"exported","doc":{"body":"Captured window_id; local window-id access.","summary":"Captured window_id; local window-id access."},"id":"LibTmux::Model::WindowLink.window-id","kind":"method","modifiers":[],"name":"window-id","package":"LibTmux","parent":"LibTmux::Model::WindowLink","product":"core","publicId":"LibTmux::Model::WindowLink.window-id","signatures":[{"params":[],"raw":"method window-id(--> WindowId:D)","references":[{"end":31,"start":21,"target":"LibTmux::Types::WindowId"}],"returns":"WindowId:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"window-id","declaration":true},{"text":"(--> "},{"text":"WindowId:D","target":"LibTmux::Types::WindowId"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Fields.rakumod","line":34,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlink-window-id"},{"apiScope":"exported","doc":{"body":"A session/index target with an expected window. Renumbering checks are not atomic.","summary":"A session/index target with an expected window. Renumbering checks are not atomic."},"id":"LibTmux::Model::WindowLinkRef","kind":"class","modifiers":[],"name":"WindowLinkRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowLinkRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":499,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref"},{"apiScope":"exported","doc":{"body":"Captured connection settings; retaining them owns no process.","summary":"Captured connection settings; retaining them owns no process."},"id":"LibTmux::Model::WindowLinkRef.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":501,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-model-windowlinkref-endpoint"},{"apiScope":"exported","doc":{"body":"Captured daemon identity used to reject references after replacement.","summary":"Captured daemon identity used to reject references after replacement."},"id":"LibTmux::Model::WindowLinkRef.incarnation","kind":"property","modifiers":[],"name":"incarnation","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.incarnation","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":503,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Incarnation:D","slug":"libtmux-model-windowlinkref-incarnation"},{"apiScope":"exported","doc":{"body":"Captured session-relative index; it can change after renumbering.","summary":"Captured session-relative index; it can change after renumbering."},"id":"LibTmux::Model::WindowLinkRef.index","kind":"property","modifiers":[],"name":"index","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.index","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":509,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"libtmux-model-windowlinkref-index"},{"apiScope":"exported","doc":{"body":"Move this association; tmux also synchronizes the affected session groups.","summary":"Move this association; tmux also synchronizes the affected session groups."},"id":"LibTmux::Model::WindowLinkRef.move","kind":"method","modifiers":[],"name":"move","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.move","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionRef:D"},{"keywordOnly":true,"name":"$index","optional":false,"type":"Count:D"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$replace","optional":true,"type":"Bool"}],"raw":"method move(SessionRef:D $session, Count:D :$index!, Bool :$select = False,\n Bool :$replace = False --> WindowLinkRef:D)","references":[{"end":24,"start":12,"target":"LibTmux::Model::SessionRef"},{"end":42,"start":35,"target":"LibTmux::Types::Count"},{"end":134,"start":119,"target":"LibTmux::Model::WindowLinkRef"}],"returns":"WindowLinkRef:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"move","declaration":true},{"text":"("},{"text":"SessionRef:D","target":"LibTmux::Model::SessionRef"},{"text":" $session, "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":" :$index!, Bool :$select = False,\n Bool :$replace = False --> "},{"text":"WindowLinkRef:D","target":"LibTmux::Model::WindowLinkRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":545,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-move"},{"apiScope":"exported","doc":{"body":"Select the exact pane or verified session-relative window placement.","summary":"Select the exact pane or verified session-relative window placement."},"id":"LibTmux::Model::WindowLinkRef.select","kind":"method","modifiers":[],"name":"select","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.select","signatures":[{"params":[],"raw":"method select(--> Result:D)","references":[{"end":26,"start":18,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"select","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":531,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-select"},{"apiScope":"exported","doc":{"body":"Captured session identity for this observed window placement.","summary":"Captured session identity for this observed window placement."},"id":"LibTmux::Model::WindowLinkRef.session-id","kind":"property","modifiers":[],"name":"session-id","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.session-id","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":505,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SessionId:D","slug":"libtmux-model-windowlinkref-session-id"},{"apiScope":"exported","doc":{"body":"Swap the two verified pane identities or session-relative window placements.","summary":"Swap the two verified pane identities or session-relative window placements."},"id":"LibTmux::Model::WindowLinkRef.swap","kind":"method","modifiers":[],"name":"swap","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.swap","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false,"type":"WindowLinkRef:D"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"}],"raw":"method swap(WindowLinkRef:D $other, Bool :$select = False --> Result:D)","references":[{"end":27,"start":12,"target":"LibTmux::Model::WindowLinkRef"},{"end":70,"start":62,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"swap","declaration":true},{"text":"("},{"text":"WindowLinkRef:D","target":"LibTmux::Model::WindowLinkRef"},{"text":" $other, Bool :$select = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":557,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-swap"},{"apiScope":"exported","doc":{"body":"Return the observed session:index target without checking whether it remains current.","summary":"Return the observed session:index target without checking whether it remains current."},"id":"LibTmux::Model::WindowLinkRef.target","kind":"method","modifiers":[],"name":"target","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.target","signatures":[{"params":[],"raw":"method target(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"target","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":512,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-target"},{"apiScope":"exported","doc":{"body":"Remove this placement and its grouped-session peers; kill-last permits the last link.","summary":"Remove this placement and its grouped-session peers; kill-last permits the last link."},"id":"LibTmux::Model::WindowLinkRef.unlink","kind":"method","modifiers":[],"name":"unlink","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.unlink","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$kill-last","optional":true,"type":"Bool"}],"raw":"method unlink(Bool :$kill-last = False --> Result:D)","references":[{"end":51,"start":43,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"unlink","declaration":true},{"text":"(Bool :$kill-last = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":538,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkref-unlink"},{"apiScope":"exported","doc":{"body":"Expected physical window identity at the captured session index.","summary":"Expected physical window identity at the captured session index."},"id":"LibTmux::Model::WindowLinkRef.window-id","kind":"property","modifiers":[],"name":"window-id","package":"LibTmux","parent":"LibTmux::Model::WindowLinkRef","product":"core","publicId":"LibTmux::Model::WindowLinkRef.window-id","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":507,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"WindowId:D","slug":"libtmux-model-windowlinkref-window-id"},{"apiScope":"exported","doc":{"body":"Replayable typed window-link membership with local filtering.","summary":"Replayable typed window-link membership with local filtering."},"id":"LibTmux::Model::WindowLinkSelection","kind":"class","modifiers":[],"name":"WindowLinkSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowLinkSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":962,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::WindowLinkSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::WindowLinkSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::WindowLinkSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::WindowLinkSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::WindowLinkSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-list-1m9h"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::WindowLinkSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::WindowLinkSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::WindowLinkSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::WindowLinkSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::WindowLinkSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::WindowLinkSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::WindowLinkSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::WindowLinkSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::WindowLinkSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::WindowLinkSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::WindowLinkSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-list-nhhc"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::WindowLinkSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::WindowLinkSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::WindowLinkSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::WindowLinkSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::WindowLinkSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::WindowLinkSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::WindowLinkSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::WindowLinkSelection","product":"core","publicId":"LibTmux::Model::WindowLinkSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowlinkselection-where"},{"apiScope":"exported","doc":{"body":"Value-only command target for a physical window, independent of its links.","summary":"Value-only command target for a physical window, independent of its links."},"id":"LibTmux::Model::WindowRef","kind":"class","modifiers":[],"name":"WindowRef","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowRef","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":172,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref"},{"apiScope":"exported","doc":{"body":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics.","summary":"A bounded, identity-guarded explicit command. Arguments keep tmux semantics."},"id":"LibTmux::Model::WindowRef.command","kind":"method","modifiers":["overload","overload","overload"],"name":"command","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.command","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method command(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"(|operation)"}]},{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"Blob.new","keywordOnly":true,"name":"$stdin","optional":true,"type":"Blob:D"}],"raw":"method command(Invocation:D $command, Blob:D :$stdin = Blob.new --> Result:D)","references":[{"end":27,"start":15,"target":"LibTmux::Command::Invocation"},{"end":76,"start":68,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Blob:D :$stdin = Blob.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-command"},{"apiScope":"exported","doc":{"body":"Return the registered entity schema without I/O.","summary":"Return the registered entity schema without I/O."},"id":"LibTmux::Model::WindowRef.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":71,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-entity"},{"apiScope":"exported","doc":{"body":"Construct a value-only hook facade; its reads and writes are explicit operations.","summary":"Construct a value-only hook facade; its reads and writes are explicit operations."},"id":"LibTmux::Model::WindowRef.hooks","kind":"method","modifiers":[],"name":"hooks","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.hooks","signatures":[{"params":[],"raw":"method hooks(--> Hooks:D)","references":[{"end":24,"start":17,"target":"LibTmux::Configuration::Hooks"}],"returns":"Hooks:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"hooks","declaration":true},{"text":"(--> "},{"text":"Hooks:D","target":"LibTmux::Configuration::Hooks"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":79,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-hooks"},{"apiScope":"exported","doc":{"body":"Acquire a fresh graph and require exactly one observed entity with this ID.","summary":"Acquire a fresh graph and require exactly one observed entity with this ID."},"id":"LibTmux::Model::WindowRef.inspect","kind":"method","modifiers":["overload","overload","overload"],"name":"inspect","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.inspect","signatures":[{"params":[{"keywordOnly":false,"name":"operation","optional":false}],"raw":"method inspect(|operation)","references":[],"nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(|operation)"}]},{"params":[],"raw":"method inspect(--> View:D)","references":[{"end":25,"start":19,"target":"LibTmux::Model::View"}],"returns":"View:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"inspect","declaration":true},{"text":"(--> "},{"text":"View:D","target":"LibTmux::Model::View"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":101,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-inspect"},{"apiScope":"exported","doc":{"body":"Destroy the addressed entity; retained observations remain unchanged.","summary":"Destroy the addressed entity; retained observations remain unchanged."},"id":"LibTmux::Model::WindowRef.kill","kind":"method","modifiers":[],"name":"kill","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.kill","signatures":[{"params":[],"raw":"method kill(--> Result:D)","references":[{"end":24,"start":16,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"kill","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":239,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-kill"},{"apiScope":"exported","doc":{"body":"Select the previous active pane in this physical window.","summary":"Select the previous active pane in this physical window."},"id":"LibTmux::Model::WindowRef.last-pane","kind":"method","modifiers":[],"name":"last-pane","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.last-pane","signatures":[{"params":[],"raw":"method last-pane(--> Result:D)","references":[{"end":29,"start":21,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"last-pane","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":206,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-last-pane"},{"apiScope":"exported","doc":{"body":"Add a destination placement. tmux synchronizes placements across session groups.","summary":"Add a destination placement. tmux synchronizes placements across session groups."},"id":"LibTmux::Model::WindowRef.link","kind":"method","modifiers":[],"name":"link","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.link","signatures":[{"params":[{"keywordOnly":false,"name":"$session","optional":false,"type":"SessionRef:D"},{"keywordOnly":true,"name":"$index","optional":false,"type":"Count:D"},{"default":"False","keywordOnly":true,"name":"$select","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$replace","optional":true,"type":"Bool"}],"raw":"method link(SessionRef:D $session, Count:D :$index!, Bool :$select = False,\n Bool :$replace = False --> WindowLinkRef:D)","references":[{"end":24,"start":12,"target":"LibTmux::Model::SessionRef"},{"end":42,"start":35,"target":"LibTmux::Types::Count"},{"end":134,"start":119,"target":"LibTmux::Model::WindowLinkRef"}],"returns":"WindowLinkRef:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"link","declaration":true},{"text":"("},{"text":"SessionRef:D","target":"LibTmux::Model::SessionRef"},{"text":" $session, "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":" :$index!, Bool :$select = False,\n Bool :$replace = False --> "},{"text":"WindowLinkRef:D","target":"LibTmux::Model::WindowLinkRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":219,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-link"},{"apiScope":"exported","doc":{"body":"Apply the next tmux layout to this physical window.","summary":"Apply the next tmux layout to this physical window."},"id":"LibTmux::Model::WindowRef.next-layout","kind":"method","modifiers":[],"name":"next-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.next-layout","signatures":[{"params":[],"raw":"method next-layout(--> Result:D)","references":[{"end":31,"start":23,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"next-layout","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":200,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-next-layout"},{"apiScope":"exported","doc":{"body":"Construct a value-only option facade scoped to this captured identity.","summary":"Construct a value-only option facade scoped to this captured identity."},"id":"LibTmux::Model::WindowRef.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.options","signatures":[{"params":[],"raw":"method options(--> Options:D)","references":[{"end":28,"start":19,"target":"LibTmux::Configuration::Options"}],"returns":"Options:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(--> "},{"text":"Options:D","target":"LibTmux::Configuration::Options"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-options"},{"apiScope":"exported","doc":{"body":"Apply the previous tmux layout to this physical window.","summary":"Apply the previous tmux layout to this physical window."},"id":"LibTmux::Model::WindowRef.previous-layout","kind":"method","modifiers":[],"name":"previous-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.previous-layout","signatures":[{"params":[],"raw":"method previous-layout(--> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"previous-layout","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":202,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-previous-layout"},{"apiScope":"exported","doc":{"body":"Store the exact name; refuse characters or separators the daemon would change.","summary":"Store the exact name; refuse characters or separators the daemon would change."},"id":"LibTmux::Model::WindowRef.rename","kind":"method","modifiers":[],"name":"rename","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.rename","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method rename(Str:D $name --> Result:D)","references":[{"end":38,"start":30,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rename","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":174,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-rename"},{"apiScope":"exported","doc":{"body":"Set absolute dimensions or adjust one direction; these forms cannot be mixed.","summary":"Set absolute dimensions or adjust one direction; these forms cannot be mixed."},"id":"LibTmux::Model::WindowRef.resize","kind":"method","modifiers":[],"name":"resize","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.resize","signatures":[{"params":[{"default":"Positive","keywordOnly":true,"name":"$width","optional":true},{"default":"Positive","keywordOnly":true,"name":"$height","optional":true},{"keywordOnly":true,"name":"$direction","optional":true,"type":"Str"},{"default":"Positive","keywordOnly":true,"name":"$amount","optional":true}],"raw":"method resize(:$width = Positive, :$height = Positive, Str :$direction, :$amount = Positive --> Result:D)","references":[{"end":32,"start":24,"target":"LibTmux::Types::Positive"},{"end":53,"start":45,"target":"LibTmux::Types::Positive"},{"end":91,"start":83,"target":"LibTmux::Types::Positive"},{"end":104,"start":96,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"resize","declaration":true},{"text":"(:$width = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", :$height = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":", Str :$direction, :$amount = "},{"text":"Positive","target":"LibTmux::Types::Positive"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":179,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-resize"},{"apiScope":"exported","doc":{"body":"Restart the target's process; kill must be explicit when replacing a running process.","summary":"Restart the target's process; kill must be explicit when replacing a running process."},"id":"LibTmux::Model::WindowRef.respawn","kind":"method","modifiers":[],"name":"respawn","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.respawn","signatures":[{"params":[{"keywordOnly":true,"name":"$shell-command","optional":true,"type":"Str"},{"keywordOnly":true,"name":"$directory","optional":true,"type":"Str"},{"default":"False","keywordOnly":true,"name":"$kill","optional":true,"type":"Bool"},{"default":"Map.new","keywordOnly":true,"name":"$environment","optional":true,"type":"Associative:D"}],"raw":"method respawn(Str :$shell-command, Str :$directory, Bool :$kill = False,\n Associative:D :$environment = Map.new --> Result:D)","references":[{"end":143,"start":135,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"respawn","declaration":true},{"text":"(Str :$shell-command, Str :$directory, Bool :$kill = False,\n Associative:D :$environment = Map.new --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":213,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-respawn"},{"apiScope":"exported","doc":{"body":"Validate and apply serialized layout bytes in the daemon's declared dialect.","summary":"Validate and apply serialized layout bytes in the daemon's declared dialect."},"id":"LibTmux::Model::WindowRef.restore-layout","kind":"method","modifiers":[],"name":"restore-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.restore-layout","signatures":[{"params":[{"keywordOnly":false,"name":"$layout","optional":false,"type":"Blob:D"}],"raw":"method restore-layout(Blob:D $layout --> Result:D)","references":[{"end":49,"start":41,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"restore-layout","declaration":true},{"text":"(Blob:D $layout --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":193,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-restore-layout"},{"apiScope":"exported","doc":{"body":"Rotate panes in the layout; reverse changes the rotation direction.","summary":"Rotate panes in the layout; reverse changes the rotation direction."},"id":"LibTmux::Model::WindowRef.rotate","kind":"method","modifiers":[],"name":"rotate","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.rotate","signatures":[{"params":[{"default":"False","keywordOnly":true,"name":"$reverse","optional":true,"type":"Bool"},{"default":"False","keywordOnly":true,"name":"$preserve-zoom","optional":true,"type":"Bool"}],"raw":"method rotate(Bool :$reverse = False, Bool :$preserve-zoom = False --> Result:D)","references":[{"end":79,"start":71,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"rotate","declaration":true},{"text":"(Bool :$reverse = False, Bool :$preserve-zoom = False --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":208,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-rotate"},{"apiScope":"exported","doc":{"body":"Compare scoped identity without acquiring current state.","summary":"Compare scoped identity without acquiring current state."},"id":"LibTmux::Model::WindowRef.same-entity","kind":"method","modifiers":[],"name":"same-entity","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.same-entity","signatures":[{"params":[{"keywordOnly":false,"name":"$other","optional":false}],"raw":"method same-entity($other --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"same-entity","declaration":true},{"text":"($other --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":116,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-same-entity"},{"apiScope":"exported","doc":{"body":"Select a named layout. Serialized layouts use restore-layout instead.","summary":"Select a named layout. Serialized layouts use restore-layout instead."},"id":"LibTmux::Model::WindowRef.select-layout","kind":"method","modifiers":[],"name":"select-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.select-layout","signatures":[{"params":[{"keywordOnly":false,"name":"$name","optional":false,"type":"Str:D"}],"raw":"method select-layout(Str:D $name --> Result:D)","references":[{"end":45,"start":37,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"select-layout","declaration":true},{"text":"(Str:D $name --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":184,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-select-layout"},{"apiScope":"exported","doc":{"body":"Distribute space evenly around the active pane using select-layout -E.","summary":"Distribute space evenly around the active pane using select-layout -E."},"id":"LibTmux::Model::WindowRef.spread-layout","kind":"method","modifiers":[],"name":"spread-layout","package":"LibTmux","parent":"LibTmux::Model::WindowRef","product":"core","publicId":"LibTmux::Model::WindowRef.spread-layout","signatures":[{"params":[],"raw":"method spread-layout(--> Result:D)","references":[{"end":33,"start":25,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"spread-layout","declaration":true},{"text":"(--> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Model.rakumod","line":204,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowref-spread-layout"},{"apiScope":"exported","doc":{"body":"Replayable typed window membership with local filtering.","summary":"Replayable typed window membership with local filtering."},"id":"LibTmux::Model::WindowSelection","kind":"class","modifiers":[],"name":"WindowSelection","package":"LibTmux","parent":"LibTmux::Model","product":"core","publicId":"LibTmux::Model::WindowSelection","signatures":[],"source":{"file":"lib/LibTmux/Model.rakumod","line":964,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Model::WindowSelection.AT-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Model::WindowSelection.Array","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Model::WindowSelection.Bool","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Model::WindowSelection.EXISTS-POS","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Model::WindowSelection.List","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-list-12o0"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Model::WindowSelection.Seq","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Model::WindowSelection.all","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Model::WindowSelection.any","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Model::WindowSelection.clone","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Model::WindowSelection.elems","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Model::WindowSelection.entity","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Model::WindowSelection.filter","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Model::WindowSelection.first","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Model::WindowSelection.grep","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Model::WindowSelection.iterator","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Model::WindowSelection.list","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-list-33ny"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Model::WindowSelection.map","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Model::WindowSelection.none","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Model::WindowSelection.one","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Model::WindowSelection.single","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Model::WindowSelection.single-or-nil","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Model::WindowSelection.sort","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Model::WindowSelection.where","inheritedFrom":"LibTmux::Selection::Selection","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Model::WindowSelection","product":"core","publicId":"LibTmux::Model::WindowSelection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-model-windowselection-where"},{"apiScope":"exported","doc":{"body":"# Validated local criteria\n\n` Filter.compile(%criteria, :entity) ` validates and copies one\ncriterion before any entity is read. ` matches($view) ` and native smartmatching\nthrough ` ACCEPTS ` use the same evaluator. The view protocol has four fixed\nmethods: ` entity `, ` state($name) `, ` value($name) ` and ` relation($name) `.\nNames are checked against the catalogue; input keys never become method calls.\n\nField values abbreviate equality. Operator mappings support ` equals `,\n` not-equals `, ` in `, ` not-in `, numeric ` lt/lte/gt/gte `, literal ` contains `,\n` starts-with `, ` ends-with `, and nullable fields' ` is-null `. Operators and\nfields at the same level are conjoined. Numeric operands exclude Bool and\nnon-finite values. Text is NFC normalized and literal matching compares\ncodepoints, including positions inside a grapheme. Invalid UTF8-C8 bytes are\nrefused; byte comparison belongs to a separate interface.\n\n` AND ` and ` OR ` accept collections of complete criteria. ` NOT ` accepts one\ncriterion. Empty criteria and AND are true; empty OR and in are false; empty\nnot-in is true. Boolean evaluation short-circuits after schema validation.\nFor example, an OR whose first branch matches does not read an unloaded field\nin its second branch. Unknown fields in either branch still fail compilation.\n\nTo-many relations support ` some `, ` every ` and ` none `. One ` some ` requires\none child to satisfy its complete subtree. Separate existential subtrees may\nuse different children. Loaded empty relations yield false, true and true,\nrespectively. To-one relations support ` is `, ` is-not `, and ` is-null ` where\nthe relation is nullable. No evaluation performs I/O.\n\nKnownNull satisfies only an explicit null test. For example,\n` dead-status => %(not-equals => 0) ` is false when status is KnownNull;\n` NOT => %(dead-status => %(not-equals => 0)) ` is true. Likewise a\nnull group fails both ` is ` and ` is-not `. Unsupported, Unavailable and Unloaded\nstates throw MissingData when evaluated. They are never empty relations,\nempty strings, zero or false.\n\n` criteria ` exposes normalized nested Maps and Lists. ` ast ` exposes immutable\nnodes for source planning: kind, entity, name, wire-name, operator, field-kind,\ntarget, operand and children. Cloning a Filter is refused; compile changed data\nto preserve validation. Native callbacks, Junctions, regexes, type objects,\nlazy collections and cycles are not criterion data.\n\n\n\n# Proposed JSON representation\n\n` to-json ` and ` Filter.from-json(Str|Blob) ` use JSON::Fast and the proposed\n` libtmux.where/v1 ` envelope with exactly ` schema `, ` entity ` and ` where `.\nThis is a Raku proposal, not a claim of tested cross-port wire compatibility.\nCatalogue wire names are stable camelCase names; compound operator names use\ncamelCase too, such as ` notEquals `, ` startsWith `, ` isNull ` and ` isNot `.\nJSON::Fast uses the last value for a duplicate object key.\nThe bounded preflight also rejects malformed numeric spellings and raw control\ncharacters in strings; parsing remains delegated to JSON::Fast.\n\nWire numbers use finite binary64 values bounded in absolute magnitude by\n` 2**53-1 `, with integers in that safe range kept exact. Decimal JSON operands\nare interpreted as binary64. Export of an exact Rat or FatRat requires a\npower-of-two denominator, a numerator below 2**53 in absolute magnitude and\na lossless nonzero binary64 conversion. In particular, local ` 1/3 ` criteria\nremain valid but cannot be serialized by rounding to ` 0.333333 `. JSON numeric\ntokens are limited to 64 characters and exponents to absolute value 324;\noverflow and nonzero underflow are refused.\n\nLimits defaults are 1 MiB wire input/output, depth 32, 4096 copied value nodes\nand 1024 membership operands. Byte length and structural JSON depth are checked\nbefore parsing while respecting quoted strings and escapes. Native and decoded\ncriteria then share bounded recursive validation. Supply an immutable Limits\nvalue to compile or from-json to choose tighter limits.","summary":""},"id":"LibTmux::Query","kind":"module","modifiers":[],"name":"LibTmux::Query","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Query","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":2,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query"},{"apiScope":"exported","doc":{"body":"A schema-validated local matcher with copied, immutable criteria and AST.","summary":"A schema-validated local matcher with copied, immutable criteria and AST."},"id":"LibTmux::Query::Filter","kind":"class","modifiers":[],"name":"Filter","package":"LibTmux","parent":"LibTmux::Query","product":"core","publicId":"LibTmux::Query::Filter","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":356,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter"},{"apiScope":"exported","doc":{"body":"Participate as a native matcher without changing data equality semantics.","summary":"Participate as a native matcher without changing data equality semantics."},"id":"LibTmux::Query::Filter.ACCEPTS","kind":"method","modifiers":[],"name":"ACCEPTS","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.ACCEPTS","signatures":[{"params":[{"keywordOnly":false,"name":"$view","optional":false,"type":"Mu"}],"raw":"method ACCEPTS(Filter:D: Mu $view --> Bool:D)","references":[{"end":23,"start":15,"target":"LibTmux::Query::Filter"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"ACCEPTS","declaration":true},{"text":"("},{"text":"Filter:D","target":"LibTmux::Query::Filter"},{"text":": Mu $view --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":390,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-accepts"},{"apiScope":"exported","doc":{"body":"Validated immutable expression tree used by matches and ACCEPTS.","summary":"Validated immutable expression tree used by matches and ACCEPTS."},"id":"LibTmux::Query::Filter.ast","kind":"property","modifiers":[],"name":"ast","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.ast","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":364,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Node:D","slug":"libtmux-query-filter-ast"},{"apiScope":"exported","doc":{"body":"Recompile changed criteria instead of bypassing validation with Mu.clone.","summary":"Recompile changed criteria instead of bypassing validation with Mu.clone."},"id":"LibTmux::Query::Filter.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":369,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-clone"},{"apiScope":"exported","doc":{"body":"Validate the entire criterion before observing any member.","summary":"Validate the entire criterion before observing any member."},"id":"LibTmux::Query::Filter.compile","kind":"method","modifiers":[],"name":"compile","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.compile","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"},{"keywordOnly":true,"name":"$entity","optional":false,"type":"Mu"},{"default":"Limits.new","keywordOnly":true,"name":"$limits","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method compile(Mu $criteria, Mu :$entity!, Mu :$limits = Limits.new,\n *%unknown --> Filter:D)","references":[{"end":63,"start":57,"target":"LibTmux::Query::Limits"},{"end":110,"start":102,"target":"LibTmux::Query::Filter"}],"returns":"Filter:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"compile","declaration":true},{"text":"(Mu $criteria, Mu :$entity!, Mu :$limits = "},{"text":"Limits","target":"LibTmux::Query::Limits"},{"text":".new,\n *%unknown --> "},{"text":"Filter:D","target":"LibTmux::Query::Filter"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":371,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-compile"},{"apiScope":"exported","doc":{"body":"Deep-copied normalized query data, independent of the caller containers.","summary":"Deep-copied normalized query data, independent of the caller containers."},"id":"LibTmux::Query::Filter.criteria","kind":"property","modifiers":[],"name":"criteria","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.criteria","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":362,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Map:D","slug":"libtmux-query-filter-criteria"},{"apiScope":"exported","doc":{"body":"Entity schema against which every field and relationship was validated.","summary":"Entity schema against which every field and relationship was validated."},"id":"LibTmux::Query::Filter.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.entity","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":358,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-filter-entity"},{"apiScope":"exported","doc":{"body":"Bound bytes and nesting before JSON::Fast, then validate the closed wire grammar.","summary":"Bound bytes and nesting before JSON::Fast, then validate the closed wire grammar."},"id":"LibTmux::Query::Filter.from-json","kind":"method","modifiers":[],"name":"from-json","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.from-json","signatures":[{"params":[{"keywordOnly":false,"name":"$input","optional":false,"type":"Mu"},{"default":"Limits.new","keywordOnly":true,"name":"$limits","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method from-json(Mu $input, Mu :$limits = Limits.new, *%unknown --> Filter:D)","references":[{"end":48,"start":42,"target":"LibTmux::Query::Limits"},{"end":76,"start":68,"target":"LibTmux::Query::Filter"}],"returns":"Filter:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"from-json","declaration":true},{"text":"(Mu $input, Mu :$limits = "},{"text":"Limits","target":"LibTmux::Query::Limits"},{"text":".new, *%unknown --> "},{"text":"Filter:D","target":"LibTmux::Query::Filter"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":399,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-from-json"},{"apiScope":"exported","doc":{"body":"Immutable validation and serialization bounds used by this compiled filter.","summary":"Immutable validation and serialization bounds used by this compiled filter."},"id":"LibTmux::Query::Filter.limits","kind":"property","modifiers":[],"name":"limits","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.limits","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":360,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Limits:D","slug":"libtmux-query-filter-limits"},{"apiScope":"exported","doc":{"body":"Evaluate locally using the fixed entity/state/value/relation view protocol.","summary":"Evaluate locally using the fixed entity/state/value/relation view protocol."},"id":"LibTmux::Query::Filter.matches","kind":"method","modifiers":[],"name":"matches","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.matches","signatures":[{"params":[{"keywordOnly":false,"name":"$view","optional":false}],"raw":"method matches($view --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"matches","declaration":true},{"text":"($view --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":385,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-matches"},{"apiScope":"exported","doc":{"body":"Refuse unvalidated construction; use compile or from-json.","summary":"Refuse unvalidated construction; use compile or from-json."},"id":"LibTmux::Query::Filter.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":367,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-new"},{"apiScope":"exported","doc":{"body":"Encode the proposed wire schema; reject exact numbers that would round.","summary":"Encode the proposed wire schema; reject exact numbers that would round."},"id":"LibTmux::Query::Filter.to-json","kind":"method","modifiers":[],"name":"to-json","package":"LibTmux","parent":"LibTmux::Query::Filter","product":"core","publicId":"LibTmux::Query::Filter.to-json","signatures":[{"params":[],"raw":"method to-json(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"to-json","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Query.rakumod","line":392,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-filter-to-json"},{"apiScope":"exported","doc":{"body":"Immutable resource limits applied before recursive validation or JSON parsing.","summary":"Immutable resource limits applied before recursive validation or JSON parsing."},"id":"LibTmux::Query::Limits","kind":"class","modifiers":[],"name":"Limits","package":"LibTmux","parent":"LibTmux::Query","product":"core","publicId":"LibTmux::Query::Limits","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":10,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-limits"},{"apiScope":"exported","doc":{"body":"Maximum recursive criterion nesting depth.","summary":"Maximum recursive criterion nesting depth."},"id":"LibTmux::Query::Limits.max-depth","kind":"property","modifiers":[],"name":"max-depth","package":"LibTmux","parent":"LibTmux::Query::Limits","product":"core","publicId":"LibTmux::Query::Limits.max-depth","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":14,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-query-limits-max-depth"},{"apiScope":"exported","doc":{"body":"Maximum operands in one membership criterion.","summary":"Maximum operands in one membership criterion."},"id":"LibTmux::Query::Limits.max-members","kind":"property","modifiers":[],"name":"max-members","package":"LibTmux","parent":"LibTmux::Query::Limits","product":"core","publicId":"LibTmux::Query::Limits.max-members","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":18,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-query-limits-max-members"},{"apiScope":"exported","doc":{"body":"Maximum copied criterion nodes, including operands and containers.","summary":"Maximum copied criterion nodes, including operands and containers."},"id":"LibTmux::Query::Limits.max-nodes","kind":"property","modifiers":[],"name":"max-nodes","package":"LibTmux","parent":"LibTmux::Query::Limits","product":"core","publicId":"LibTmux::Query::Limits.max-nodes","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":16,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-query-limits-max-nodes"},{"apiScope":"exported","doc":{"body":"Maximum serialized filter bytes before JSON decoding or after encoding.","summary":"Maximum serialized filter bytes before JSON decoding or after encoding."},"id":"LibTmux::Query::Limits.max-wire-bytes","kind":"property","modifiers":[],"name":"max-wire-bytes","package":"LibTmux","parent":"LibTmux::Query::Limits","product":"core","publicId":"LibTmux::Query::Limits.max-wire-bytes","signatures":[],"source":{"file":"lib/LibTmux/Query.rakumod","line":12,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-query-limits-max-wire-bytes"},{"apiScope":"exported","doc":{"body":"# Planning an explicit read\n\n` Plan.compile($filter, :$capabilities) ` performs no I/O. ` auto ` uses proven\nscalar restrictions; ` never ` leaves filtering local; ` require ` throws unless\nthe complete predicate has an exact source implementation. The capability\nvalue must come from the daemon incarnation that will execute the read.\n\nFor ` acquisition-mode ` ` listing `, pass ` projection ` and ` candidate-command `\ntogether to the guarded reader. The command does not include ` -F `: the reader\nadds the projection's template. Normalize physical entity IDs or session/index\nlink keys according to ` identity-normalization `, then apply ` matches ` to every\ncandidate. It always evaluates the original validated filter, including when\n` fully-pushed ` is true.\n\nFor ` full-graph `, acquire one complete snapshot and apply ` matches ` to its\nroot entities. Do not execute the candidate command. ` source-filter ` is empty;\n` acquisition-reason ` explains why an otherwise eligible scalar restriction is\ndeferred. ` required-relations ` retains each relationship path. Filtering child\nrows first would change ` every ` and ` none `, and intersecting a separately\nacquired candidate set with a later graph can lose matches during mutation.\n\n\n\n# Inspecting source work\n\n` steps ` exposes the translation tree, paths, exactness, expressions and refusal\nreasons. Eligible conjuncts can restrict candidates while text remains local.\nAn AND restriction follows the captured evaluator order and stops at the first\nresidual subtree, retaining that subtree's own safe prefix if present. It never\nmoves a later restriction ahead of local work that may throw. Use an explicit\nAND array when the ordering of residual evaluation matters; hash iteration is\nnot an ordering contract.\nAn OR or NOT subtree is emitted only when the complete subtree is exact.\nText and relationship predicates remain local. Empty Boolean and membership\nnodes retain the same identities as the local query evaluator.\n\nID matching uses tmux string equality. Flags use exact zero/one equality.\nNumeric comparisons use arithmetic FORMAT expressions, never lexical ordering.\nThe catalogue records source-proven UInt32 dimension and nonnegative Int32\nwindow-index domains. Only integer operands within the exact IEEE-754 integer\nrange are eligible. Bounded operands alone cannot establish source equivalence:\nthe observed field's complete domain must also fit the arithmetic conversion.\nFractional operands, nullable fields and unqualified numeric fields stay local.\n\nBoolean expressions are balanced and bounded by bytes and nesting depth. An\noversized expression remains local under ` auto ` and is refused by ` require `.\nThe guarded reader still enforces its own complete command/output/time limits.","summary":""},"id":"LibTmux::Query::Plan","kind":"module","modifiers":[],"name":"LibTmux::Query::Plan","package":"LibTmux","parent":"LibTmux::Query","product":"core","publicId":"LibTmux::Query::Plan","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan"},{"apiScope":"exported","doc":{"body":"Pure, inspectable source restrictions plus the original local filter.","summary":"Pure, inspectable source restrictions plus the original local filter."},"id":"LibTmux::Query::Plan::Plan","kind":"class","modifiers":[],"name":"Plan","package":"LibTmux","parent":"LibTmux::Query::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":171,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan"},{"apiScope":"exported","doc":{"body":"Acquire one listing or a full graph; relation predicates require full-graph.","summary":"Acquire one listing or a full graph; relation predicates require full-graph."},"id":"LibTmux::Query::Plan::Plan.acquisition-mode","kind":"property","modifiers":[],"name":"acquisition-mode","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.acquisition-mode","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":183,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-acquisition-mode"},{"apiScope":"exported","doc":{"body":"Why the plan selected its acquisition mode and source restriction policy.","summary":"Why the plan selected its acquisition mode and source restriction policy."},"id":"LibTmux::Query::Plan::Plan.acquisition-reason","kind":"property","modifiers":[],"name":"acquisition-reason","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.acquisition-reason","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":185,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-acquisition-reason"},{"apiScope":"exported","doc":{"body":"Listing argv without -F; execute only for listing mode through a guarded reader.","summary":"Listing argv without -F; execute only for listing mode through a guarded reader."},"id":"LibTmux::Query::Plan::Plan.candidate-command","kind":"property","modifiers":[],"name":"candidate-command","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.candidate-command","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":191,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Invocation:D","slug":"libtmux-query-plan-plan-candidate-command"},{"apiScope":"exported","doc":{"body":"Refuse altered prepared values; compile again to preserve evidence bindings.","summary":"Refuse altered prepared values; compile again to preserve evidence bindings."},"id":"LibTmux::Query::Plan::Plan.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":202,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-clone"},{"apiScope":"exported","doc":{"body":"Compile without I/O. require refuses any residual source work before acquisition.","summary":"Compile without I/O. require refuses any residual source work before acquisition."},"id":"LibTmux::Query::Plan::Plan.compile","kind":"method","modifiers":[],"name":"compile","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.compile","signatures":[{"params":[{"keywordOnly":false,"name":"$filter","optional":false,"type":"Mu"},{"keywordOnly":true,"name":"$capabilities","optional":false,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"default":"4096","keywordOnly":true,"name":"$max-filter-bytes","optional":true,"type":"Mu"}],"raw":"method compile(Mu $filter, Mu :$capabilities!,\n Mu :$pushdown = 'auto', Mu :$max-filter-bytes = 4096 --> Plan:D)","references":[{"end":129,"start":123,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"compile","declaration":true},{"text":"(Mu $filter, Mu :$capabilities!,\n Mu :$pushdown = 'auto', Mu :$max-filter-bytes = 4096 --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":205,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-compile"},{"apiScope":"exported","doc":{"body":"Candidate filtering must never supply an incomplete child set to relation predicates.","summary":"Candidate filtering must never supply an incomplete child set to relation predicates."},"id":"LibTmux::Query::Plan::Plan.complete-graph-required","kind":"method","modifiers":[],"name":"complete-graph-required","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.complete-graph-required","signatures":[{"params":[],"raw":"method complete-graph-required(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":30,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"complete-graph-required","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":255,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-complete-graph-required"},{"apiScope":"exported","doc":{"body":"Root entity schema; empty results retain this type contract.","summary":"Root entity schema; empty results retain this type contract."},"id":"LibTmux::Query::Plan::Plan.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.entity","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":175,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-entity"},{"apiScope":"exported","doc":{"body":"Original validated predicate, retained for every local result check.","summary":"Original validated predicate, retained for every local result check."},"id":"LibTmux::Query::Plan::Plan.filter","kind":"property","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.filter","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":173,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Filter:D","slug":"libtmux-query-plan-plan-filter"},{"apiScope":"exported","doc":{"body":"Whether the complete predicate has an enabled exact source implementation.","summary":"Whether the complete predicate has an enabled exact source implementation."},"id":"LibTmux::Query::Plan::Plan.fully-pushed","kind":"property","modifiers":[],"name":"fully-pushed","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.fully-pushed","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":179,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-query-plan-plan-fully-pushed"},{"apiScope":"exported","doc":{"body":"Identity rule for contextual rows: scoped-id, session-index or scoped-record.","summary":"Identity rule for contextual rows: scoped-id, session-index or scoped-record."},"id":"LibTmux::Query::Plan::Plan.identity-normalization","kind":"property","modifiers":[],"name":"identity-normalization","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.identity-normalization","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":187,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-identity-normalization"},{"apiScope":"exported","doc":{"body":"Recheck the original validated predicate locally on a fully acquired candidate.","summary":"Recheck the original validated predicate locally on a fully acquired candidate."},"id":"LibTmux::Query::Plan::Plan.matches","kind":"method","modifiers":[],"name":"matches","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.matches","signatures":[{"params":[{"keywordOnly":false,"name":"$view","optional":false}],"raw":"method matches($view --> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"matches","declaration":true},{"text":"($view --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":257,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-matches"},{"apiScope":"exported","doc":{"body":"Refuse unchecked construction; compile a validated filter with capabilities.","summary":"Refuse unchecked construction; compile a validated filter with capabilities."},"id":"LibTmux::Query::Plan::Plan.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.new","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method new(|)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":200,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-query-plan-plan-new"},{"apiScope":"exported","doc":{"body":"Immutable root-field decoding schema bound to the observed daemon identity.","summary":"Immutable root-field decoding schema bound to the observed daemon identity."},"id":"LibTmux::Query::Plan::Plan.projection","kind":"property","modifiers":[],"name":"projection","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.projection","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":189,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Projection:D","slug":"libtmux-query-plan-plan-projection"},{"apiScope":"exported","doc":{"body":"Requested source policy: auto, never or require.","summary":"Requested source policy: auto, never or require."},"id":"LibTmux::Query::Plan::Plan.pushdown","kind":"property","modifiers":[],"name":"pushdown","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.pushdown","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":177,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-pushdown"},{"apiScope":"exported","doc":{"body":"Captured field requirements, including fields reached through relationships.","summary":"Captured field requirements, including fields reached through relationships."},"id":"LibTmux::Query::Plan::Plan.required-fields","kind":"property","modifiers":[],"name":"required-fields","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.required-fields","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":195,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-query-plan-plan-required-fields"},{"apiScope":"exported","doc":{"body":"Complete relationship paths needed by the original local predicate.","summary":"Complete relationship paths needed by the original local predicate."},"id":"LibTmux::Query::Plan::Plan.required-relations","kind":"property","modifiers":[],"name":"required-relations","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.required-relations","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":197,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"List:D","slug":"libtmux-query-plan-plan-required-relations"},{"apiScope":"exported","doc":{"body":"Actual candidate FORMAT restriction, or empty when source work is deferred.","summary":"Actual candidate FORMAT restriction, or empty when source work is deferred."},"id":"LibTmux::Query::Plan::Plan.source-filter","kind":"property","modifiers":[],"name":"source-filter","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.source-filter","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":181,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"libtmux-query-plan-plan-source-filter"},{"apiScope":"exported","doc":{"body":"Translation tree with paths, exactness, expressions and local-work reasons.","summary":"Translation tree with paths, exactness, expressions and local-work reasons."},"id":"LibTmux::Query::Plan::Plan.steps","kind":"property","modifiers":[],"name":"steps","package":"LibTmux","parent":"LibTmux::Query::Plan::Plan","product":"core","publicId":"LibTmux::Query::Plan::Plan.steps","signatures":[],"source":{"file":"lib/LibTmux/Query/Plan.rakumod","line":193,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Step:D","slug":"libtmux-query-plan-plan-steps"},{"apiScope":"exported","doc":{"body":"# Captured selections\n\nA concrete selection consumes ` Selection[Pane, 'pane'] ` or another catalogue\nentity schema. ` new(:items) ` copies finite, eager, defined membership. It does\nnot deep-clone member objects. Observation classes must supply their own\nread-only field contract.\n\nBinding ` my @panes := $snapshot.panes ` preserves the selection. Array\nassignment materializes ordinary array membership; assigning to a scalar\nitemizes the selection. Use ` $panes.List ` when explicit list traversal is\nwanted. Each iterator and Seq is fresh. Array conversion is independently\nmutable; List membership cannot be replaced.\n\n` where ` accepts criterion data or a compiled Filter and validates the schema\nbefore traversal. ` filter ` invokes one callback per member, eagerly in source\norder, and throws a directly returned Failure before Boolean coercion. Both\nreturn the same concrete selection type and preserve order and duplicates.\nNative ` grep `, ` map `, ` sort `, ` first ` and junctions delegate to the captured\nList, including grep adverbs. They retain native return and evaluation rules.\n` one ` constructs a junction; exact cardinality uses ` single `.","summary":""},"id":"LibTmux::Selection","kind":"module","modifiers":[],"name":"LibTmux::Selection","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Selection","signatures":[],"source":{"file":"lib/LibTmux/Selection.rakumod","line":2,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection"},{"apiScope":"exported","doc":{"body":"Eager captured membership; transformations perform no acquisition or commands.","summary":"Eager captured membership; transformations perform no acquisition or commands."},"id":"LibTmux::Selection::Selection","kind":"trait","modifiers":[],"name":"Selection","package":"LibTmux","parent":"LibTmux::Selection","product":"core","publicId":"LibTmux::Selection::Selection","signatures":[],"source":{"file":"lib/LibTmux/Selection.rakumod","line":8,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection"},{"apiScope":"exported","doc":{"body":"Delegate positional lookup to captured membership with native Raku indexing behavior.","summary":"Delegate positional lookup to captured membership with native Raku indexing behavior."},"id":"LibTmux::Selection::Selection.AT-POS","kind":"method","modifiers":[],"name":"AT-POS","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.AT-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method AT-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"AT-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":35,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-at-pos"},{"apiScope":"exported","doc":{"body":"Materialize an independent mutable membership array; contained views remain shared.","summary":"Materialize an independent mutable membership array; contained views remain shared."},"id":"LibTmux::Selection::Selection.Array","kind":"method","modifiers":[],"name":"Array","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.Array","signatures":[{"params":[],"raw":"method Array(--> Array:D)","references":[],"returns":"Array:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Array","declaration":true},{"text":"(--> Array:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":47,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-array"},{"apiScope":"exported","doc":{"body":"True when captured membership is nonempty.","summary":"True when captured membership is nonempty."},"id":"LibTmux::Selection::Selection.Bool","kind":"method","modifiers":[],"name":"Bool","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.Bool","signatures":[{"params":[],"raw":"method Bool(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Bool","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-bool"},{"apiScope":"exported","doc":{"body":"Check an index locally without acquiring or refreshing data.","summary":"Check an index locally without acquiring or refreshing data."},"id":"LibTmux::Selection::Selection.EXISTS-POS","kind":"method","modifiers":[],"name":"EXISTS-POS","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.EXISTS-POS","signatures":[{"params":[{"keywordOnly":false,"name":"$index","optional":false}],"raw":"method EXISTS-POS($index)","references":[],"nativeSyntax":[{"start":7,"end":17,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"EXISTS-POS","declaration":true},{"text":"($index)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":37,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-exists-pos"},{"apiScope":"exported","doc":{"body":"Return captured membership without writable element containers.","summary":"Return captured membership without writable element containers."},"id":"LibTmux::Selection::Selection.List","kind":"method","modifiers":[],"name":"List","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.List","signatures":[{"params":[],"raw":"method List(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"List","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":45,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-list-q6ut"},{"apiScope":"exported","doc":{"body":"Return a fresh native sequence over captured membership.","summary":"Return a fresh native sequence over captured membership."},"id":"LibTmux::Selection::Selection.Seq","kind":"method","modifiers":[],"name":"Seq","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.Seq","signatures":[{"params":[],"raw":"method Seq(--> Seq:D)","references":[],"returns":"Seq:D","nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"Seq","declaration":true},{"text":"(--> Seq:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":49,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-seq"},{"apiScope":"exported","doc":{"body":"Construct the native all junction over captured membership.","summary":"Construct the native all junction over captured membership."},"id":"LibTmux::Selection::Selection.all","kind":"method","modifiers":[],"name":"all","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.all","signatures":[{"params":[],"raw":"method all()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"all","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":63,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-all"},{"apiScope":"exported","doc":{"body":"Construct the native any junction over captured membership.","summary":"Construct the native any junction over captured membership."},"id":"LibTmux::Selection::Selection.any","kind":"method","modifiers":[],"name":"any","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.any","signatures":[{"params":[],"raw":"method any()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"any","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":61,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-any"},{"apiScope":"exported","doc":{"body":"Revalidate and copy membership when cloning a concrete selection.","summary":"Revalidate and copy membership when cloning a concrete selection."},"id":"LibTmux::Selection::Selection.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.clone","signatures":[{"params":[{"default":"$!members","keywordOnly":true,"name":"$items","optional":true,"type":"Mu"}],"raw":"method clone(Mu :$items = $!members)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(Mu :$items = $!members)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":28,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-clone"},{"apiScope":"exported","doc":{"body":"Return the exact captured membership count.","summary":"Return the exact captured membership count."},"id":"LibTmux::Selection::Selection.elems","kind":"method","modifiers":[],"name":"elems","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.elems","signatures":[{"params":[],"raw":"method elems(--> Int:D)","references":[],"returns":"Int:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"elems","declaration":true},{"text":"(--> Int:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":39,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-elems"},{"apiScope":"exported","doc":{"body":"Entity schema retained even by an empty selection.","summary":"Entity schema retained even by an empty selection."},"id":"LibTmux::Selection::Selection.entity","kind":"method","modifiers":[],"name":"entity","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.entity","signatures":[{"params":[],"raw":"method entity(--> Str:D)","references":[],"returns":"Str:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"entity","declaration":true},{"text":"(--> Str:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-entity"},{"apiScope":"exported","doc":{"body":"Run a callback once per member in order and preserve this concrete selection type.","summary":"Run a callback once per member in order and preserve this concrete selection type."},"id":"LibTmux::Selection::Selection.filter","kind":"method","modifiers":[],"name":"filter","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.filter","signatures":[{"params":[{"keywordOnly":false,"name":"&predicate","optional":false}],"raw":"method filter(&predicate)","references":[],"nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"filter","declaration":true},{"text":"(&predicate)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-filter"},{"apiScope":"exported","doc":{"body":"Use native first-match behavior, including native absence semantics.","summary":"Use native first-match behavior, including native absence semantics."},"id":"LibTmux::Selection::Selection.first","kind":"method","modifiers":[],"name":"first","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.first","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method first(|capture)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"first","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":57,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-first"},{"apiScope":"exported","doc":{"body":"Use native matching and adverbs, returning a Seq rather than another selection.","summary":"Use native matching and adverbs, returning a Seq rather than another selection."},"id":"LibTmux::Selection::Selection.grep","kind":"method","modifiers":[],"name":"grep","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.grep","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method grep(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"grep","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":51,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-grep"},{"apiScope":"exported","doc":{"body":"Return a fresh iterator over captured eager membership.","summary":"Return a fresh iterator over captured eager membership."},"id":"LibTmux::Selection::Selection.iterator","kind":"method","modifiers":[],"name":"iterator","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.iterator","signatures":[{"params":[],"raw":"method iterator()","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"iterator","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-iterator"},{"apiScope":"exported","doc":{"body":"Return eager replayable membership with native list semantics.","summary":"Return eager replayable membership with native list semantics."},"id":"LibTmux::Selection::Selection.list","kind":"method","modifiers":[],"name":"list","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.list","signatures":[{"params":[],"raw":"method list(--> List:D)","references":[],"returns":"List:D","nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"list","declaration":true},{"text":"(--> List:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":43,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-list-1iqf"},{"apiScope":"exported","doc":{"body":"Use native mapping; projections may change element type.","summary":"Use native mapping; projections may change element type."},"id":"LibTmux::Selection::Selection.map","kind":"method","modifiers":[],"name":"map","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.map","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method map(|capture)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"map","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":53,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-map"},{"apiScope":"exported","doc":{"body":"Construct the native none junction over captured membership.","summary":"Construct the native none junction over captured membership."},"id":"LibTmux::Selection::Selection.none","kind":"method","modifiers":[],"name":"none","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.none","signatures":[{"params":[],"raw":"method none()","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"none","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":65,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-none"},{"apiScope":"exported","doc":{"body":"Construct the native one junction; this is not exact-cardinality retrieval.","summary":"Construct the native one junction; this is not exact-cardinality retrieval."},"id":"LibTmux::Selection::Selection.one","kind":"method","modifiers":[],"name":"one","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.one","signatures":[{"params":[],"raw":"method one()","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"one","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":59,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-one"},{"apiScope":"exported","doc":{"body":"Return exactly one member or throw its observed cardinality.","summary":"Return exactly one member or throw its observed cardinality."},"id":"LibTmux::Selection::Selection.single","kind":"method","modifiers":[],"name":"single","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.single","signatures":[{"params":[],"raw":"method single(--> T:D)","references":[],"returns":"T:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single","declaration":true},{"text":"(--> T:D)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":88,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-single"},{"apiScope":"exported","doc":{"body":"Return Nil for zero members, the sole member for one, otherwise throw.","summary":"Return Nil for zero members, the sole member for one, otherwise throw."},"id":"LibTmux::Selection::Selection.single-or-nil","kind":"method","modifiers":[],"name":"single-or-nil","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.single-or-nil","signatures":[{"params":[],"raw":"method single-or-nil()","references":[],"nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"single-or-nil","declaration":true},{"text":"()"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-single-or-nil"},{"apiScope":"exported","doc":{"body":"Use native sorting and return its ordinary Raku result.","summary":"Use native sorting and return its ordinary Raku result."},"id":"LibTmux::Selection::Selection.sort","kind":"method","modifiers":[],"name":"sort","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.sort","signatures":[{"params":[{"keywordOnly":false,"name":"capture","optional":false}],"raw":"method sort(|capture)","references":[],"nativeSyntax":[{"start":7,"end":11,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"sort","declaration":true},{"text":"(|capture)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":55,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-sort"},{"apiScope":"exported","doc":{"body":"Compile criteria before traversal, including on an empty selection.","summary":"Compile criteria before traversal, including on an empty selection."},"id":"LibTmux::Selection::Selection.where","kind":"method","modifiers":[],"name":"where","package":"LibTmux","parent":"LibTmux::Selection::Selection","product":"core","publicId":"LibTmux::Selection::Selection.where","signatures":[{"params":[{"keywordOnly":false,"name":"$criteria","optional":false,"type":"Mu"}],"raw":"method where(Mu $criteria)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"where","declaration":true},{"text":"(Mu $criteria)"}]}],"source":{"file":"lib/LibTmux/Selection.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-selection-selection-where"},{"apiScope":"exported","doc":{"body":"# Server ownership\n\n` new ` captures a borrowed endpoint without I/O. ` snapshot ` and ` capabilities `\nacquire daemon state explicitly. ` new-session ` requires an existing daemon,\ncreates a detached session, and returns a SessionRef from tmux's returned ID.\nNames are literal Unicode text; controls, backslash, dot and colon are refused\nbefore creation because supported tmux releases normalize them differently.\nA shell-command explicitly requests tmux's shell-command interpretation.\n\n` start ` creates a clean foreground daemon on an exclusive temporary socket,\nverifies its executable profile before launch, binds its actual process identity,\nand creates the initial session. The startup timeout covers all stages. Linux\ninotify socket attributes signal listener readiness; pidfds bind termination to\nthe original process, independently of socket reuse.\n\nClose is idempotent and joins owned work. Borrowed daemons remain running.\nOwned daemons receive TERM followed by bounded KILL escalation and are reaped.\nCleanup removes only the original socket and empty original directory; unknown\nfiles and replacement sockets are preserved. References retain values only and\nare not clients owned by the Server. A stopped owned daemon invalidates them.\n\nConfiguration factories perform one explicit identity observation. The returned\nfacades retain endpoint and incarnation values, and each subsequent configuration\noperation owns its temporary command client. ` open-control ` and ` attach ` return\nseparate lifecycle owners: callers must close them. Closing a borrowed Server\ndoes not close those owners; closing an owned daemon causes its attached clients\nto disconnect. ` attach ` proves process creation, not terminal readiness.\n\n` command ` is an explicit tmux-syntax escape hatch with a daemon fence. It does\nnot insert an entity target or interpret shell syntax on the caller's behalf.\n` run-batch ` reports partial outcomes and never promises rollback.\n\n\n\n# Explicit environment and health\n\n` from-env ` is the only factory that interprets ` TMUX `. It parses its final\nPID and session components from the right, so commas in the socket path remain\nliteral. It requires an absolute socket path, validates ` TMUX_PANE ` when\npresent, observes the actual daemon and rejects a different PID. The returned\nborrowed facade is bound to that incarnation. Child processes still receive\nneither ambient variable. Imported object IDs are observations from the supplied\nenvironment, not evidence that those objects still exist:\n\nuse LibTmux;\nmy $server = LibTmux::Server.from-env(:environment(%*ENV));\nLEAVE $server.close;\nmy $snapshot = $server.snapshot;\nmy $pane = $snapshot.panes.where(%(id => $server.environment-pane-id)).single;\nmy $window = $pane.window;\nmy $session = $snapshot.sessions\n .where(%(id => $server.environment-session-id)).single;\n\nThe selection throws for a vanished object or absent imported ID. A window can\nbelong to several sessions; the imported session ID supplies that context.\n` capabilities ` is the explicit native health observation: success returns\nverified daemon evidence, while connection, identity and permission failures\nretain their original typed exceptions. ` has-session(:name) ` and\n` has-session(:id) ` return false only after a successful exact listing finds\nno match. ` kill-server ` deliberately terminates the observed daemon, including\na borrowed one; ` close ` continues to preserve borrowed daemons. An owner must\nstill close after kill-server to join its process and filesystem cleanup.\n\n\n\n# Jobs and channels\n\n` run-shell ` receives literal shell source; tmux FORMAT-looking text is escaped\nbefore dispatch. ` if-shell ` follows the same rule for its shell condition and\naccepts bounded Invocation values for both branches. Its explicit ` :format `\noption instead evaluates a native tmux FORMAT condition. ` source-file ` reads\none literal pathname, escaping native glob metacharacters; it does not expand\nFORMAT, tilde or a caller shell. Relative paths use the captured command cwd.\n` :parse-only ` parses configuration without executing it.\n\nEach request shares one admission, observation and dispatch deadline. A\nbackground job acknowledges scheduling. Foreground completion follows tmux's\njob/command queue contract, not an application-specific postcondition; command\noutput availability also depends on the declared daemon profile. Timing out or\ncancelling a client does not undo a job, configuration effect or channel lock\nalready accepted by the daemon. ` wait-for ` offers only wait, signal, lock and\nunlock; it does not claim that a signal proves another process's application\nwork completed.\n\n\n\n# Administrative commands\n\nDiagnostics and administrative commands intentionally use the explicit bounded\nInvocation surface rather than separate wrappers. These complete calls retain\nraw stdout/stderr in Result, enforce the server deadline and throw typed command\nerrors. ` list-commands `, ` show-messages `, ` lock-server ` and ` server-access `\nare deliberate replacements for named Python helpers, not claims of identical\ntyped parameters. ` switch-mode ` is also available through Invocation.\n\nuse LibTmux;\nmy $server = LibTmux::Server.start(:name);\nLEAVE $server.close;\nmy $commands = $server.command(Invocation.new(:argv(['list-commands'])));\nmy $access = $server.command(Invocation.new(:argv(['server-access', '-l'])));\nmy $messages = $server.command(Invocation.new(:argv(['show-messages', '-T'])));\n$server.command(Invocation.new(:argv(['lock-server'])));\n\nAdministrative flags keep tmux's native semantics and errors; arbitrary\nInvocation values do not acquire a typed catalogue guarantee. Locking may run\nconfigured lock commands on attached clients. Access changes affect other users.\nUse only an endpoint whose administration the caller owns or has authorized.\nTo detach captured clients, iterate ` $snapshot.clients ` and call each\n` .ref.detach `. Each target is identity guarded; a changing client set is not\nan atomic detach-all operation, and acknowledgement does not prove terminal\nrendering or child-process exit.","summary":""},"id":"LibTmux::Server","kind":"class","modifiers":[],"name":"LibTmux::Server","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Server","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server"},{"apiScope":"exported","doc":{"body":"Spawn a separately owned interactive client on the caller's explicit terminal.","summary":"Spawn a separately owned interactive client on the caller's explicit terminal."},"id":"LibTmux::Server.attach","kind":"method","modifiers":[],"name":"attach","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.attach","signatures":[{"params":[{"keywordOnly":true,"name":"$session","optional":false,"type":"SessionId:D"},{"keywordOnly":true,"name":"$terminal","optional":false,"type":"IO::Handle:D"},{"keywordOnly":false,"name":"%settings","optional":false}],"raw":"method attach(SessionId:D :$session!, IO::Handle:D :$terminal!, *%settings --> LibTmux::Attachment:D)","references":[{"end":25,"start":14,"target":"LibTmux::Types::SessionId"},{"end":100,"start":79,"target":"LibTmux::Attachment"}],"returns":"LibTmux::Attachment:D","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"attach","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session!, IO::Handle:D :$terminal!, *%settings --> "},{"text":"LibTmux::Attachment:D","target":"LibTmux::Attachment"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":591,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-attach"},{"apiScope":"exported","doc":{"body":"Resolve a separately owned terminal client; process creation is not attachment proof.","summary":"Resolve a separately owned terminal client; process creation is not attachment proof."},"id":"LibTmux::Server.attach-async","kind":"method","modifiers":[],"name":"attach-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.attach-async","signatures":[{"params":[{"keywordOnly":true,"name":"$session","optional":false,"type":"SessionId:D"},{"keywordOnly":true,"name":"$terminal","optional":false,"type":"IO::Handle:D"},{"default":"False","keywordOnly":true,"name":"$read-only","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$detach-others","optional":true,"type":"Bool:D"},{"default":"False","keywordOnly":true,"name":"$update-environment","optional":true,"type":"Bool:D"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method attach-async(SessionId:D :$session!, IO::Handle:D :$terminal!,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":31,"start":20,"target":"LibTmux::Types::SessionId"},{"end":239,"start":227,"target":"LibTmux::Transport::Cancellation"},{"end":263,"start":251,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"attach-async","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session!, IO::Handle:D :$terminal!,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":595,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-attach-async"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return its named binary-buffer facade.","summary":"Observe daemon identity and return its named binary-buffer facade."},"id":"LibTmux::Server.buffers","kind":"method","modifiers":[],"name":"buffers","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.buffers","signatures":[{"params":[],"raw":"method buffers(--> LibTmux::Configuration::Buffers:D)","references":[{"end":52,"start":19,"target":"LibTmux::Configuration::Buffers"}],"returns":"LibTmux::Configuration::Buffers:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"buffers","declaration":true},{"text":"(--> "},{"text":"LibTmux::Configuration::Buffers:D","target":"LibTmux::Configuration::Buffers"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":561,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-buffers"},{"apiScope":"exported","doc":{"body":"Observe the daemon's capabilities explicitly; this performs tmux I/O.","summary":"Observe the daemon's capabilities explicitly; this performs tmux I/O."},"id":"LibTmux::Server.capabilities","kind":"method","modifiers":[],"name":"capabilities","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.capabilities","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method capabilities(Cancellation :$cancel = Cancellation --> LibTmux::Capabilities:D)","references":[{"end":32,"start":20,"target":"LibTmux::Transport::Cancellation"},{"end":56,"start":44,"target":"LibTmux::Transport::Cancellation"},{"end":84,"start":61,"target":"LibTmux::Capabilities"}],"returns":"LibTmux::Capabilities:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capabilities","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"LibTmux::Capabilities:D","target":"LibTmux::Capabilities"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":383,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-capabilities"},{"apiScope":"exported","doc":{"body":"Resolve to one fresh immutable daemon capability observation.","summary":"Resolve to one fresh immutable daemon capability observation."},"id":"LibTmux::Server.capabilities-async","kind":"method","modifiers":[],"name":"capabilities-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.capabilities-async","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method capabilities-async(Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":38,"start":26,"target":"LibTmux::Transport::Cancellation"},{"end":62,"start":50,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":25,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"capabilities-async","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":387,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-capabilities-async"},{"apiScope":"exported","doc":{"body":"Refuse cloning of runtime admission and daemon ownership state.","summary":"Refuse cloning of runtime admission and daemon ownership state."},"id":"LibTmux::Server.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":345,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-clone"},{"apiScope":"exported","doc":{"body":"Join idempotent shutdown; borrowed daemons remain running.","summary":"Join idempotent shutdown; borrowed daemons remain running."},"id":"LibTmux::Server.close","kind":"method","modifiers":[],"name":"close","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.close","signatures":[{"params":[],"raw":"method close(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":685,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-close"},{"apiScope":"exported","doc":{"body":"Join admitted work; owned servers additionally terminate and reap their original daemon.","summary":"Join admitted work; owned servers additionally terminate and reap their original daemon."},"id":"LibTmux::Server.close-async","kind":"method","modifiers":[],"name":"close-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.close-async","signatures":[{"params":[],"raw":"method close-async(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"close-async","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":687,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-close-async"},{"apiScope":"exported","doc":{"body":"Execute explicit tmux command syntax in the currently observed daemon.","summary":"Execute explicit tmux command syntax in the currently observed daemon."},"id":"LibTmux::Server.command","kind":"method","modifiers":[],"name":"command","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.command","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method command(Invocation:D $command, *%options --> Result:D)","references":[{"end":27,"start":15,"target":"LibTmux::Command::Invocation"},{"end":60,"start":52,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, *%options --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":460,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-command"},{"apiScope":"exported","doc":{"body":"Copy input before scheduling one guarded command; retain exit status and raw streams.","summary":"Copy input before scheduling one guarded command; retain exit status and raw streams."},"id":"LibTmux::Server.command-async","kind":"method","modifiers":[],"name":"command-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.command-async","signatures":[{"params":[{"keywordOnly":false,"name":"$command","optional":false,"type":"Invocation:D"},{"default":"Blob.new","keywordOnly":true,"name":"$stdin","optional":true,"type":"Blob:D"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"},{"default":"True","keywordOnly":true,"name":"$check","optional":true,"type":"Bool:D"}],"raw":"method command-async(Invocation:D $command, Blob:D :$stdin = Blob.new,\n Cancellation :$cancel = Cancellation, Bool:D :$check = True --> Promise:D)","references":[{"end":33,"start":21,"target":"LibTmux::Command::Invocation"},{"end":104,"start":92,"target":"LibTmux::Transport::Cancellation"},{"end":128,"start":116,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"command-async","declaration":true},{"text":"("},{"text":"Invocation:D","target":"LibTmux::Command::Invocation"},{"text":" $command, Blob:D :$stdin = Blob.new,\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":", Bool:D :$check = True --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":464,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-command-async"},{"apiScope":"exported","doc":{"body":"Captured connection settings; retaining them owns no process.","summary":"Captured connection settings; retaining them owns no process."},"id":"LibTmux::Server.endpoint","kind":"property","modifiers":[],"name":"endpoint","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.endpoint","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":261,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Endpoint:D","slug":"libtmux-server-endpoint"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return its global environment facade.","summary":"Observe daemon identity and return its global environment facade."},"id":"LibTmux::Server.environment","kind":"method","modifiers":[],"name":"environment","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.environment","signatures":[{"params":[],"raw":"method environment(--> LibTmux::Configuration::Environment:D)","references":[{"end":60,"start":23,"target":"LibTmux::Configuration::Environment"}],"returns":"LibTmux::Configuration::Environment:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"environment","declaration":true},{"text":"(--> "},{"text":"LibTmux::Configuration::Environment:D","target":"LibTmux::Configuration::Environment"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":557,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-environment"},{"apiScope":"exported","doc":{"body":"Pane ID explicitly imported from TMUX_PANE; undefined for ordinary construction.","summary":"Pane ID explicitly imported from TMUX_PANE; undefined for ordinary construction."},"id":"LibTmux::Server.environment-pane-id","kind":"property","modifiers":[],"name":"environment-pane-id","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.environment-pane-id","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":270,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"PaneId","slug":"libtmux-server-environment-pane-id"},{"apiScope":"exported","doc":{"body":"Session ID explicitly imported from TMUX; undefined when tmux supplied -1.","summary":"Session ID explicitly imported from TMUX; undefined when tmux supplied -1."},"id":"LibTmux::Server.environment-session-id","kind":"property","modifiers":[],"name":"environment-session-id","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.environment-session-id","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":272,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SessionId","slug":"libtmux-server-environment-session-id"},{"apiScope":"exported","doc":{"body":"Observe capabilities and explain an explicit source query without executing its listing.","summary":"Observe capabilities and explain an explicit source query without executing its listing."},"id":"LibTmux::Server.explain","kind":"method","modifiers":[],"name":"explain","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.explain","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"default":"Map.new","keywordOnly":true,"name":"$where","optional":true,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method explain(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto', *%unknown --> Plan:D)","references":[{"end":93,"start":87,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"explain","declaration":true},{"text":"(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto', *%unknown --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":392,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-explain"},{"apiScope":"exported","doc":{"body":"Explain pane acquisition, pushed restrictions and residual local work.","summary":"Explain pane acquisition, pushed restrictions and residual local work."},"id":"LibTmux::Server.explain-panes","kind":"method","modifiers":[],"name":"explain-panes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.explain-panes","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method explain-panes(*%options --> Plan:D)","references":[{"end":41,"start":35,"target":"LibTmux::Query::Plan::Plan"}],"returns":"Plan:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"explain-panes","declaration":true},{"text":"(*%options --> "},{"text":"Plan:D","target":"LibTmux::Query::Plan::Plan"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":432,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-explain-panes"},{"apiScope":"exported","doc":{"body":"Import an explicit TMUX environment, verify its daemon PID and bind that incarnation.","summary":"Import an explicit TMUX environment, verify its daemon PID and bind that incarnation."},"id":"LibTmux::Server.from-env","kind":"method","modifiers":[],"name":"from-env","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.from-env","signatures":[{"params":[{"default":"%*ENV","keywordOnly":true,"name":"$environment","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%settings","optional":false}],"raw":"method from-env(Mu :$environment = %*ENV, *%settings)","references":[],"nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"from-env","declaration":true},{"text":"(Mu :$environment = %*ENV, *%settings)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":302,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-from-env"},{"apiScope":"exported","doc":{"body":"Test one exact session ID or name. Acquisition and identity failures still throw.","summary":"Test one exact session ID or name. Acquisition and identity failures still throw."},"id":"LibTmux::Server.has-session","kind":"method","modifiers":[],"name":"has-session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.has-session","signatures":[{"params":[{"default":"SessionId","keywordOnly":true,"name":"$id","optional":true,"type":"Mu"},{"default":"Str","keywordOnly":true,"name":"$name","optional":true,"type":"Mu"}],"raw":"method has-session(Mu :$id = SessionId, Mu :$name = Str --> Bool:D)","references":[{"end":38,"start":29,"target":"LibTmux::Types::SessionId"}],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"has-session","declaration":true},{"text":"(Mu :$id = "},{"text":"SessionId","target":"LibTmux::Types::SessionId"},{"text":", Mu :$name = Str --> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":440,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-has-session"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return global session/window hooks.","summary":"Observe daemon identity and return global session/window hooks."},"id":"LibTmux::Server.hooks","kind":"method","modifiers":[],"name":"hooks","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.hooks","signatures":[{"params":[{"default":"'session'","keywordOnly":true,"name":"$scope","optional":true,"type":"Str:D"}],"raw":"method hooks(Str:D :$scope = 'session' --> LibTmux::Configuration::Hooks:D)","references":[{"end":74,"start":43,"target":"LibTmux::Configuration::Hooks"}],"returns":"LibTmux::Configuration::Hooks:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"hooks","declaration":true},{"text":"(Str:D :$scope = 'session' --> "},{"text":"LibTmux::Configuration::Hooks:D","target":"LibTmux::Configuration::Hooks"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":565,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-hooks"},{"apiScope":"exported","doc":{"body":"Execute one of two bounded commands after a shell test, or an explicit FORMAT condition.","summary":"Execute one of two bounded commands after a shell test, or an explicit FORMAT condition."},"id":"LibTmux::Server.if-shell","kind":"method","modifiers":[],"name":"if-shell","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.if-shell","signatures":[{"params":[{"keywordOnly":false,"name":"$condition","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"$then","optional":false,"type":"Mu"},{"default":"Invocation","keywordOnly":true,"name":"$otherwise","optional":true,"type":"Mu"},{"default":"False","keywordOnly":true,"name":"$format","optional":true,"type":"Mu"},{"default":"False","keywordOnly":true,"name":"$background","optional":true,"type":"Mu"},{"default":"PaneId","keywordOnly":true,"name":"$pane","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method if-shell(Mu $condition, Mu $then, Mu :$otherwise = Invocation,\n Mu :$format = False, Mu :$background = False, Mu :$pane = PaneId,\n Cancellation :$cancel = Cancellation --> Result:D)","references":[{"end":68,"start":58,"target":"LibTmux::Command::Invocation"},{"end":150,"start":144,"target":"LibTmux::Types::PaneId"},{"end":180,"start":168,"target":"LibTmux::Transport::Cancellation"},{"end":204,"start":192,"target":"LibTmux::Transport::Cancellation"},{"end":217,"start":209,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"if-shell","declaration":true},{"text":"(Mu $condition, Mu $then, Mu :$otherwise = "},{"text":"Invocation","target":"LibTmux::Command::Invocation"},{"text":",\n Mu :$format = False, Mu :$background = False, Mu :$pane = "},{"text":"PaneId","target":"LibTmux::Types::PaneId"},{"text":",\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":495,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-if-shell"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return its key-binding facade.","summary":"Observe daemon identity and return its key-binding facade."},"id":"LibTmux::Server.key-bindings","kind":"method","modifiers":[],"name":"key-bindings","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.key-bindings","signatures":[{"params":[],"raw":"method key-bindings(--> LibTmux::Configuration::KeyBindings:D)","references":[{"end":61,"start":24,"target":"LibTmux::Configuration::KeyBindings"}],"returns":"LibTmux::Configuration::KeyBindings:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"key-bindings","declaration":true},{"text":"(--> "},{"text":"LibTmux::Configuration::KeyBindings:D","target":"LibTmux::Configuration::KeyBindings"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":570,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-key-bindings"},{"apiScope":"exported","doc":{"body":"Explicitly terminate this observed daemon. Owned callers must still close to join cleanup.","summary":"Explicitly terminate this observed daemon. Owned callers must still close to join cleanup."},"id":"LibTmux::Server.kill-server","kind":"method","modifiers":[],"name":"kill-server","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.kill-server","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method kill-server(Cancellation :$cancel = Cancellation --> Result:D)","references":[{"end":31,"start":19,"target":"LibTmux::Transport::Cancellation"},{"end":55,"start":43,"target":"LibTmux::Transport::Cancellation"},{"end":68,"start":60,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"kill-server","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":538,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-kill-server"},{"apiScope":"exported","doc":{"body":"Maximum encoded command size in bytes, including tmux quoting.","summary":"Maximum encoded command size in bytes, including tmux quoting."},"id":"LibTmux::Server.max-command-bytes","kind":"property","modifiers":[],"name":"max-command-bytes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.max-command-bytes","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":265,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-server-max-command-bytes"},{"apiScope":"exported","doc":{"body":"Combined output-byte limit for one owned command response.","summary":"Combined output-byte limit for one owned command response."},"id":"LibTmux::Server.max-output-bytes","kind":"property","modifiers":[],"name":"max-output-bytes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.max-output-bytes","signatures":[],"source":{"file":"lib/LibTmux/Server.rakumod","line":263,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Positive:D","slug":"libtmux-server-max-output-bytes"},{"apiScope":"exported","doc":{"body":"Capture a borrowed endpoint without I/O. Closing it closes clients only.","summary":"Capture a borrowed endpoint without I/O. Closing it closes clients only."},"id":"LibTmux::Server.new","kind":"method","modifiers":[],"name":"new","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.new","signatures":[{"params":[{"default":"'tmux'","keywordOnly":true,"name":"$binary","optional":true},{"default":"''","keywordOnly":true,"name":"$socket-name","optional":true},{"default":"''","keywordOnly":true,"name":"$socket-path","optional":true},{"default":"''","keywordOnly":true,"name":"$config-file","optional":true},{"default":"%*ENV","keywordOnly":true,"name":"$environment","optional":true},{"default":"$*CWD","keywordOnly":true,"name":"$cwd","optional":true},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true},{"default":"8 * 1024 * 1024","keywordOnly":true,"name":"$max-output-bytes","optional":true},{"default":"12 * 1024","keywordOnly":true,"name":"$max-command-bytes","optional":true}],"raw":"method new(:$binary = 'tmux', :$socket-name = '', :$socket-path = '',\n :$config-file = '', :$environment = %*ENV, :$cwd = $*CWD,\n :$timeout-ms = 10_000, :$max-output-bytes = 8 * 1024 * 1024,\n :$max-command-bytes = 12 * 1024)","references":[],"nativeSyntax":[{"start":7,"end":10,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new","declaration":true},{"text":"(:$binary = 'tmux', :$socket-name = '', :$socket-path = '',\n :$config-file = '', :$environment = %*ENV, :$cwd = $*CWD,\n :$timeout-ms = 10_000, :$max-output-bytes = 8 * 1024 * 1024,\n :$max-command-bytes = 12 * 1024)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":290,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-new"},{"apiScope":"exported","doc":{"body":"Create a detached session and return its value-only, identity-scoped reference.","summary":"Create a detached session and return its value-only, identity-scoped reference."},"id":"LibTmux::Server.new-session","kind":"method","modifiers":[],"name":"new-session","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.new-session","signatures":[{"params":[{"keywordOnly":true,"name":"$name","optional":false},{"default":"Str","keywordOnly":true,"name":"$shell-command","optional":true},{"default":"80","keywordOnly":true,"name":"$width","optional":true},{"default":"24","keywordOnly":true,"name":"$height","optional":true}],"raw":"method new-session(:$name!, :$shell-command = Str, :$width = 80, :$height = 24 --> SessionRef:D)","references":[{"end":95,"start":83,"target":"LibTmux::Model::SessionRef"}],"returns":"SessionRef:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"new-session","declaration":true},{"text":"(:$name!, :$shell-command = Str, :$width = 80, :$height = 24 --> "},{"text":"SessionRef:D","target":"LibTmux::Model::SessionRef"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":452,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-new-session"},{"apiScope":"exported","doc":{"body":"Open a separately owned control connection attached to an explicit session ID.","summary":"Open a separately owned control connection attached to an explicit session ID."},"id":"LibTmux::Server.open-control","kind":"method","modifiers":[],"name":"open-control","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.open-control","signatures":[{"params":[{"keywordOnly":true,"name":"$session-id","optional":false,"type":"SessionId:D"},{"keywordOnly":false,"name":"%settings","optional":false}],"raw":"method open-control(SessionId:D :$session-id!, *%settings --> LibTmux::Control::Connection:D)","references":[{"end":31,"start":20,"target":"LibTmux::Types::SessionId"},{"end":92,"start":62,"target":"LibTmux::Control::Connection"}],"returns":"LibTmux::Control::Connection:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"open-control","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session-id!, *%settings --> "},{"text":"LibTmux::Control::Connection:D","target":"LibTmux::Control::Connection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":575,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-open-control"},{"apiScope":"exported","doc":{"body":"Resolve a separately owned verified control connection; the caller must close it.","summary":"Resolve a separately owned verified control connection; the caller must close it."},"id":"LibTmux::Server.open-control-async","kind":"method","modifiers":[],"name":"open-control-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.open-control-async","signatures":[{"params":[{"keywordOnly":true,"name":"$session-id","optional":false,"type":"SessionId:D"},{"default":"'auto'","keywordOnly":true,"name":"$new-layouts","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method open-control-async(SessionId:D :$session-id!, :$new-layouts = 'auto',\n Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":37,"start":26,"target":"LibTmux::Types::SessionId"},{"end":115,"start":103,"target":"LibTmux::Transport::Cancellation"},{"end":139,"start":127,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":25,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"open-control-async","declaration":true},{"text":"("},{"text":"SessionId:D","target":"LibTmux::Types::SessionId"},{"text":" :$session-id!, :$new-layouts = 'auto',\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":579,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-open-control-async"},{"apiScope":"exported","doc":{"body":"Observe daemon identity and return server options or global session/window defaults.","summary":"Observe daemon identity and return server options or global session/window defaults."},"id":"LibTmux::Server.options","kind":"method","modifiers":[],"name":"options","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.options","signatures":[{"params":[{"default":"'server'","keywordOnly":true,"name":"$scope","optional":true,"type":"Str:D"}],"raw":"method options(Str:D :$scope = 'server' --> LibTmux::Configuration::Options:D)","references":[{"end":77,"start":44,"target":"LibTmux::Configuration::Options"}],"returns":"LibTmux::Configuration::Options:D","nativeSyntax":[{"start":7,"end":14,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"options","declaration":true},{"text":"(Str:D :$scope = 'server' --> "},{"text":"LibTmux::Configuration::Options:D","target":"LibTmux::Configuration::Options"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":551,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-options"},{"apiScope":"exported","doc":{"body":"Whether this facade owns the foreground daemon it started.","summary":"Whether this facade owns the foreground daemon it started."},"id":"LibTmux::Server.owned","kind":"method","modifiers":[],"name":"owned","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.owned","signatures":[{"params":[],"raw":"method owned(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"owned","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":343,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-owned"},{"apiScope":"exported","doc":{"body":"Acquire a typed selection; only requested relationship predicates load the full graph.","summary":"Acquire a typed selection; only requested relationship predicates load the full graph."},"id":"LibTmux::Server.query","kind":"method","modifiers":[],"name":"query","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query(Mu $entity, *%options --> Positional:D)","references":[],"returns":"Positional:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query","declaration":true},{"text":"(Mu $entity, *%options --> Positional:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":404,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query"},{"apiScope":"exported","doc":{"body":"Copy and validate query data before scheduling acquisition within one shared deadline.","summary":"Copy and validate query data before scheduling acquisition within one shared deadline."},"id":"LibTmux::Server.query-async","kind":"method","modifiers":[],"name":"query-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-async","signatures":[{"params":[{"keywordOnly":false,"name":"$entity","optional":false,"type":"Mu"},{"default":"Map.new","keywordOnly":true,"name":"$where","optional":true,"type":"Mu"},{"default":"'auto'","keywordOnly":true,"name":"$pushdown","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Mu"},{"keywordOnly":false,"name":"%unknown","optional":false}],"raw":"method query-async(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto',\n Mu :$cancel = Cancellation, *%unknown --> Promise:D)","references":[{"end":122,"start":110,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-async","declaration":true},{"text":"(Mu $entity, Mu :$where = Map.new, Mu :$pushdown = 'auto',\n Mu :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":", *%unknown --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":408,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-async"},{"apiScope":"exported","doc":{"body":"Acquire panes explicitly; the resulting selection is local and replayable.","summary":"Acquire panes explicitly; the resulting selection is local and replayable."},"id":"LibTmux::Server.query-panes","kind":"method","modifiers":[],"name":"query-panes","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-panes","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-panes(*%options --> PaneSelection:D)","references":[{"end":48,"start":33,"target":"LibTmux::Model::PaneSelection"}],"returns":"PaneSelection:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-panes","declaration":true},{"text":"(*%options --> "},{"text":"PaneSelection:D","target":"LibTmux::Model::PaneSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":430,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-panes"},{"apiScope":"exported","doc":{"body":"Acquire sessions explicitly under the selected pushdown policy.","summary":"Acquire sessions explicitly under the selected pushdown policy."},"id":"LibTmux::Server.query-sessions","kind":"method","modifiers":[],"name":"query-sessions","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-sessions","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-sessions(*%options --> SessionSelection:D)","references":[{"end":54,"start":36,"target":"LibTmux::Model::SessionSelection"}],"returns":"SessionSelection:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-sessions","declaration":true},{"text":"(*%options --> "},{"text":"SessionSelection:D","target":"LibTmux::Model::SessionSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":434,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-sessions"},{"apiScope":"exported","doc":{"body":"Acquire session/index associations without deduplicating repeated window placements.","summary":"Acquire session/index associations without deduplicating repeated window placements."},"id":"LibTmux::Server.query-window-links","kind":"method","modifiers":[],"name":"query-window-links","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-window-links","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-window-links(*%options --> WindowLinkSelection:D)","references":[{"end":61,"start":40,"target":"LibTmux::Model::WindowLinkSelection"}],"returns":"WindowLinkSelection:D","nativeSyntax":[{"start":7,"end":25,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-window-links","declaration":true},{"text":"(*%options --> "},{"text":"WindowLinkSelection:D","target":"LibTmux::Model::WindowLinkSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":438,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-window-links"},{"apiScope":"exported","doc":{"body":"Acquire unique physical windows, preserving link context separately.","summary":"Acquire unique physical windows, preserving link context separately."},"id":"LibTmux::Server.query-windows","kind":"method","modifiers":[],"name":"query-windows","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.query-windows","signatures":[{"params":[{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method query-windows(*%options --> WindowSelection:D)","references":[{"end":52,"start":35,"target":"LibTmux::Model::WindowSelection"}],"returns":"WindowSelection:D","nativeSyntax":[{"start":7,"end":20,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"query-windows","declaration":true},{"text":"(*%options --> "},{"text":"WindowSelection:D","target":"LibTmux::Model::WindowSelection"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":436,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-query-windows"},{"apiScope":"exported","doc":{"body":"Run a declared batch with one observed incarnation and a shared deadline.","summary":"Run a declared batch with one observed incarnation and a shared deadline."},"id":"LibTmux::Server.run-batch","kind":"method","modifiers":[],"name":"run-batch","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.run-batch","signatures":[{"params":[{"keywordOnly":false,"name":"$batch","optional":false,"type":"LibTmux::Batch::Batch:D"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method run-batch(LibTmux::Batch::Batch:D $batch, *%options --> LibTmux::Batch::Report:D)","references":[{"end":40,"start":17,"target":"LibTmux::Batch::Batch"},{"end":87,"start":63,"target":"LibTmux::Batch::Report"}],"returns":"LibTmux::Batch::Report:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-batch","declaration":true},{"text":"("},{"text":"LibTmux::Batch::Batch:D","target":"LibTmux::Batch::Batch"},{"text":" $batch, *%options --> "},{"text":"LibTmux::Batch::Report:D","target":"LibTmux::Batch::Report"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":608,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-run-batch"},{"apiScope":"exported","doc":{"body":"Resolve per-operation outcomes with one deadline spanning observation and dispatch.","summary":"Resolve per-operation outcomes with one deadline spanning observation and dispatch."},"id":"LibTmux::Server.run-batch-async","kind":"method","modifiers":[],"name":"run-batch-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.run-batch-async","signatures":[{"params":[{"keywordOnly":false,"name":"$batch","optional":false,"type":"LibTmux::Batch::Batch:D"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"},{"default":"'stop'","keywordOnly":true,"name":"$on-error","optional":true,"type":"Str:D"}],"raw":"method run-batch-async(LibTmux::Batch::Batch:D $batch, Cancellation :$cancel = Cancellation,\n Str:D :$on-error = 'stop' --> Promise:D)","references":[{"end":46,"start":23,"target":"LibTmux::Batch::Batch"},{"end":67,"start":55,"target":"LibTmux::Transport::Cancellation"},{"end":91,"start":79,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-batch-async","declaration":true},{"text":"("},{"text":"LibTmux::Batch::Batch:D","target":"LibTmux::Batch::Batch"},{"text":" $batch, "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":",\n Str:D :$on-error = 'stop' --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":612,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-run-batch-async"},{"apiScope":"exported","doc":{"body":"Run literal shell source through tmux. Background acknowledgement is not job completion.","summary":"Run literal shell source through tmux. Background acknowledgement is not job completion."},"id":"LibTmux::Server.run-shell","kind":"method","modifiers":[],"name":"run-shell","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.run-shell","signatures":[{"params":[{"keywordOnly":false,"name":"$script","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method run-shell(Mu $script, *%options --> Result:D)","references":[{"end":51,"start":43,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-shell","declaration":true},{"text":"(Mu $script, *%options --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":483,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-run-shell"},{"apiScope":"exported","doc":{"body":"Resolve the bounded tmux job request; cancellation does not undo a server-side job.","summary":"Resolve the bounded tmux job request; cancellation does not undo a server-side job."},"id":"LibTmux::Server.run-shell-async","kind":"method","modifiers":[],"name":"run-shell-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.run-shell-async","signatures":[{"params":[{"keywordOnly":false,"name":"$script","optional":false,"type":"Mu"},{"default":"False","keywordOnly":true,"name":"$background","optional":true,"type":"Mu"},{"default":"PaneId","keywordOnly":true,"name":"$pane","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method run-shell-async(Mu $script, Mu :$background = False, Mu :$pane = PaneId,\n Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":78,"start":72,"target":"LibTmux::Types::PaneId"},{"end":115,"start":103,"target":"LibTmux::Transport::Cancellation"},{"end":139,"start":127,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":22,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"run-shell-async","declaration":true},{"text":"(Mu $script, Mu :$background = False, Mu :$pane = "},{"text":"PaneId","target":"LibTmux::Types::PaneId"},{"text":",\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":485,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-run-shell-async"},{"apiScope":"exported","doc":{"body":"Acquire a captured graph explicitly. Existing snapshots remain unchanged.","summary":"Acquire a captured graph explicitly. Existing snapshots remain unchanged."},"id":"LibTmux::Server.snapshot","kind":"method","modifiers":[],"name":"snapshot","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.snapshot","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method snapshot(Cancellation :$cancel = Cancellation --> Snapshot:D)","references":[{"end":28,"start":16,"target":"LibTmux::Transport::Cancellation"},{"end":52,"start":40,"target":"LibTmux::Transport::Cancellation"},{"end":67,"start":57,"target":"LibTmux::Model::Snapshot"}],"returns":"Snapshot:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Snapshot:D","target":"LibTmux::Model::Snapshot"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":375,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-snapshot"},{"apiScope":"exported","doc":{"body":"Resolve a fresh captured graph; cancellation propagates through every acquisition stage.","summary":"Resolve a fresh captured graph; cancellation propagates through every acquisition stage."},"id":"LibTmux::Server.snapshot-async","kind":"method","modifiers":[],"name":"snapshot-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.snapshot-async","signatures":[{"params":[{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method snapshot-async(Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":34,"start":22,"target":"LibTmux::Transport::Cancellation"},{"end":58,"start":46,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"snapshot-async","declaration":true},{"text":"("},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":377,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-snapshot-async"},{"apiScope":"exported","doc":{"body":"Source one literal local pathname; parse-only validates without running its commands.","summary":"Source one literal local pathname; parse-only validates without running its commands."},"id":"LibTmux::Server.source-file","kind":"method","modifiers":[],"name":"source-file","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.source-file","signatures":[{"params":[{"keywordOnly":false,"name":"$path","optional":false,"type":"Mu"},{"default":"False","keywordOnly":true,"name":"$parse-only","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method source-file(Mu $path, Mu :$parse-only = False,\n Cancellation :$cancel = Cancellation --> Result:D)","references":[{"end":85,"start":73,"target":"LibTmux::Transport::Cancellation"},{"end":109,"start":97,"target":"LibTmux::Transport::Cancellation"},{"end":122,"start":114,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":18,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"source-file","declaration":true},{"text":"(Mu $path, Mu :$parse-only = False,\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":512,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-source-file"},{"apiScope":"exported","doc":{"body":"Start an owned foreground daemon on a fresh private socket and create its first session.","summary":"Start an owned foreground daemon on a fresh private socket and create its first session."},"id":"LibTmux::Server.start","kind":"method","modifiers":[],"name":"start","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.start","signatures":[{"params":[{"default":"'main'","keywordOnly":true,"name":"$name","optional":true},{"default":"'tmux'","keywordOnly":true,"name":"$binary","optional":true},{"default":"Str","keywordOnly":true,"name":"$shell-command","optional":true},{"default":"80","keywordOnly":true,"name":"$width","optional":true},{"default":"24","keywordOnly":true,"name":"$height","optional":true},{"default":"%*ENV","keywordOnly":true,"name":"$environment","optional":true},{"default":"$*CWD","keywordOnly":true,"name":"$cwd","optional":true},{"default":"10_000","keywordOnly":true,"name":"$timeout-ms","optional":true},{"default":"8 * 1024 * 1024","keywordOnly":true,"name":"$max-output-bytes","optional":true},{"default":"12 * 1024","keywordOnly":true,"name":"$max-command-bytes","optional":true},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true}],"raw":"method start(:$name = 'main', :$binary = 'tmux', :$shell-command = Str,\n :$width = 80, :$height = 24, :$environment = %*ENV, :$cwd = $*CWD,\n :$timeout-ms = 10_000, :$max-output-bytes = 8 * 1024 * 1024,\n :$max-command-bytes = 12 * 1024, :$cancel = Cancellation)","references":[{"end":295,"start":283,"target":"LibTmux::Transport::Cancellation"}],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"start","declaration":true},{"text":"(:$name = 'main', :$binary = 'tmux', :$shell-command = Str,\n :$width = 80, :$height = 24, :$environment = %*ENV, :$cwd = $*CWD,\n :$timeout-ms = 10_000, :$max-output-bytes = 8 * 1024 * 1024,\n :$max-command-bytes = 12 * 1024, :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":622,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-start"},{"apiScope":"exported","doc":{"body":"Wait, signal, lock or unlock a named channel; timeout cannot undo server-side effects.","summary":"Wait, signal, lock or unlock a named channel; timeout cannot undo server-side effects."},"id":"LibTmux::Server.wait-for","kind":"method","modifiers":[],"name":"wait-for","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.wait-for","signatures":[{"params":[{"keywordOnly":false,"name":"$channel","optional":false,"type":"Mu"},{"keywordOnly":false,"name":"%options","optional":false}],"raw":"method wait-for(Mu $channel, *%options --> Result:D)","references":[{"end":51,"start":43,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":15,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"wait-for","declaration":true},{"text":"(Mu $channel, *%options --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":524,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-wait-for"},{"apiScope":"exported","doc":{"body":"Resolve one channel operation within the Server deadline, without readiness polling.","summary":"Resolve one channel operation within the Server deadline, without readiness polling."},"id":"LibTmux::Server.wait-for-async","kind":"method","modifiers":[],"name":"wait-for-async","package":"LibTmux","parent":"LibTmux::Server","product":"core","publicId":"LibTmux::Server.wait-for-async","signatures":[{"params":[{"keywordOnly":false,"name":"$channel","optional":false,"type":"Mu"},{"default":"'wait'","keywordOnly":true,"name":"$action","optional":true,"type":"Mu"},{"default":"Cancellation","keywordOnly":true,"name":"$cancel","optional":true,"type":"Cancellation"}],"raw":"method wait-for-async(Mu $channel, Mu :$action = 'wait',\n Cancellation :$cancel = Cancellation --> Promise:D)","references":[{"end":90,"start":78,"target":"LibTmux::Transport::Cancellation"},{"end":114,"start":102,"target":"LibTmux::Transport::Cancellation"}],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"wait-for-async","declaration":true},{"text":"(Mu $channel, Mu :$action = 'wait',\n "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" :$cancel = "},{"text":"Cancellation","target":"LibTmux::Transport::Cancellation"},{"text":" --> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Server.rakumod","line":526,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-server-wait-for-async"},{"apiScope":"exported","doc":{"body":"# Bounded child processes\n\nExecutor accepts a nonempty positional argv of defined, NUL-free strings.\nIt invokes that executable directly. Shell syntax, tmux command syntax and\nFORMAT expansion belong to callers above this layer.\n\n` execute ` returns a Result. ` execute-async ` always returns a Promise,\nincluding for invalid arguments or closed admission. Each call copies argv,\nenvironment entries and input bytes before asynchronous work begins. An\nomitted environment copies the current environment; an explicit empty mapping\npasses no variables. Input is a Blob, and the child receives EOF after those\nbytes are written. Both output streams are binary and drain concurrently.\n\n` timeout-ms ` bounds an admitted operation, ` max-output-bytes ` bounds combined\nretained stdout/stderr, and ` cleanup-timeout-ms ` bounds waiting after forced\ntermination. Their defaults are 10000 ms, 8388608 bytes and 1000 ms. All are\npositive integers. Encoded tmux command size has a separate Engine policy.\n` execute ` and ` execute-async ` accept an optional ` timeout-ms ` override for\ncallers sharing one deadline across several child operations.\n\nBy default a nonzero exit or signal throws X::LibTmux::Command. ` :!check `\nreturns its Result with outcome Failed instead. Spawn failure, invalid input,\ntimeout, cancellation, output overflow and I/O failures still throw. Error\nrecords retain bounded output bytes, process identity and reaping evidence.\nNotStarted means no child effects were admitted. Failed and Indeterminate do\nnot mean that earlier effects were rolled back. Complete means child process\ncompletion, not completion of a program controlled through tmux.\n\nCancellation is one shot. Dropping an operation Promise does not cancel its\nchild. Explicit cancellation and executor close terminate admitted children;\nclose callers share one Promise. A close failure remains observable on later\nclose calls. The executor owns direct child clients, not programs deliberately\nstarted in a tmux pane or arbitrary descendant daemons.\nExecutor and Cancellation cannot be cloned. Result clones reconstruct and\nvalidate replacement attributes, copying output bytes again.","summary":""},"id":"LibTmux::Transport","kind":"module","modifiers":[],"name":"LibTmux::Transport","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Transport","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":2,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport"},{"apiScope":"exported","doc":{"body":"One-shot cancellation shared by explicitly selected operations.","summary":"One-shot cancellation shared by explicitly selected operations."},"id":"LibTmux::Transport::Cancellation","kind":"class","modifiers":[],"name":"Cancellation","package":"LibTmux","parent":"LibTmux::Transport","product":"core","publicId":"LibTmux::Transport::Cancellation","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":11,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation"},{"apiScope":"exported","doc":{"body":"Cancel all subscribed operations once; repeated calls have no further effect.","summary":"Cancel all subscribed operations once; repeated calls have no further effect."},"id":"LibTmux::Transport::Cancellation.cancel","kind":"method","modifiers":[],"name":"cancel","package":"LibTmux","parent":"LibTmux::Transport::Cancellation","product":"core","publicId":"LibTmux::Transport::Cancellation.cancel","signatures":[{"params":[],"raw":"method cancel(--> Nil)","references":[],"returns":"Nil","nativeSyntax":[{"start":7,"end":13,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"cancel","declaration":true},{"text":"(--> Nil)"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":29,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation-cancel"},{"apiScope":"exported","doc":{"body":"Read cancellation state without I/O.","summary":"Read cancellation state without I/O."},"id":"LibTmux::Transport::Cancellation.cancelled","kind":"method","modifiers":[],"name":"cancelled","package":"LibTmux","parent":"LibTmux::Transport::Cancellation","product":"core","publicId":"LibTmux::Transport::Cancellation.cancelled","signatures":[{"params":[],"raw":"method cancelled(--> Bool:D)","references":[],"returns":"Bool:D","nativeSyntax":[{"start":7,"end":16,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"cancelled","declaration":true},{"text":"(--> Bool:D)"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation-cancelled"},{"apiScope":"exported","doc":{"body":"Lifecycle owners cannot share mutable state through a shallow clone.","summary":"Lifecycle owners cannot share mutable state through a shallow clone."},"id":"LibTmux::Transport::Cancellation.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Transport::Cancellation","product":"core","publicId":"LibTmux::Transport::Cancellation.clone","signatures":[{"params":[{"keywordOnly":false,"name":"|","optional":false}],"raw":"method clone(|)","references":[],"nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(|)"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":23,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation-clone"},{"apiScope":"exported","doc":{"body":"Observe cancellation through a Promise which only this token can resolve.","summary":"Observe cancellation through a Promise which only this token can resolve."},"id":"LibTmux::Transport::Cancellation.when-cancelled","kind":"method","modifiers":[],"name":"when-cancelled","package":"LibTmux","parent":"LibTmux::Transport::Cancellation","product":"core","publicId":"LibTmux::Transport::Cancellation.when-cancelled","signatures":[{"params":[],"raw":"method when-cancelled(--> Promise:D)","references":[],"returns":"Promise:D","nativeSyntax":[{"start":7,"end":21,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"when-cancelled","declaration":true},{"text":"(--> Promise:D)"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-cancellation-when-cancelled"},{"apiScope":"exported","doc":{"body":"Captured child output. Complete means process completion, not application effects.","summary":"Captured child output. Complete means process completion, not application effects."},"id":"LibTmux::Transport::Result","kind":"class","modifiers":[],"name":"Result","package":"LibTmux","parent":"LibTmux::Transport","product":"core","publicId":"LibTmux::Transport::Result","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":62,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-result"},{"apiScope":"exported","doc":{"body":"Reconstruct copies through the constructor, including replacement byte buffers.","summary":"Reconstruct copies through the constructor, including replacement byte buffers."},"id":"LibTmux::Transport::Result.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> Result:D)","references":[{"end":35,"start":27,"target":"LibTmux::Transport::Result"}],"returns":"Result:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"Result:D","target":"LibTmux::Transport::Result"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":87,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-result-clone"},{"apiScope":"exported","doc":{"body":"Child exit status; inspect signal separately for signal termination.","summary":"Child exit status; inspect signal separately for signal termination."},"id":"LibTmux::Transport::Result.exitcode","kind":"property","modifiers":[],"name":"exitcode","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.exitcode","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-transport-result-exitcode"},{"apiScope":"exported","doc":{"body":"Known command outcome; Complete does not prove an external application effect.","summary":"Known command outcome; Complete does not prove an external application effect."},"id":"LibTmux::Transport::Result.outcome","kind":"property","modifiers":[],"name":"outcome","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.outcome","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Outcome:D","slug":"libtmux-transport-result-outcome"},{"apiScope":"exported","doc":{"body":"Retained stdout and stderr bytes, excluding fixed metadata and object overhead.","summary":"Retained stdout and stderr bytes, excluding fixed metadata and object overhead."},"id":"LibTmux::Transport::Result.output-bytes","kind":"method","modifiers":[],"name":"output-bytes","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.output-bytes","signatures":[{"params":[],"raw":"method output-bytes(--> Count:D)","references":[{"end":31,"start":24,"target":"LibTmux::Types::Count"}],"returns":"Count:D","nativeSyntax":[{"start":7,"end":19,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"output-bytes","declaration":true},{"text":"(--> "},{"text":"Count:D","target":"LibTmux::Types::Count"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Transport.rakumod","line":84,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-transport-result-output-bytes"},{"apiScope":"exported","doc":{"body":"Owned client process ID associated with this result.","summary":"Owned client process ID associated with this result."},"id":"LibTmux::Transport::Result.pid","kind":"property","modifiers":[],"name":"pid","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.pid","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":72,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-transport-result-pid"},{"apiScope":"exported","doc":{"body":"Whether the owned client completion was joined.","summary":"Whether the owned client completion was joined."},"id":"LibTmux::Transport::Result.reaped","kind":"property","modifiers":[],"name":"reaped","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.reaped","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"libtmux-transport-result-reaped"},{"apiScope":"exported","doc":{"body":"Terminating signal number, or zero for ordinary process exit.","summary":"Terminating signal number, or zero for ordinary process exit."},"id":"LibTmux::Transport::Result.signal","kind":"property","modifiers":[],"name":"signal","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.signal","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":70,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int:D","slug":"libtmux-transport-result-signal"},{"apiScope":"exported","doc":{"body":"Captured stderr bytes, drained concurrently with stdout.","summary":"Captured stderr bytes, drained concurrently with stdout."},"id":"LibTmux::Transport::Result.stderr","kind":"property","modifiers":[],"name":"stderr","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.stderr","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":66,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-transport-result-stderr"},{"apiScope":"exported","doc":{"body":"Captured stdout bytes; no text normalization or implicit decoding is applied.","summary":"Captured stdout bytes; no text normalization or implicit decoding is applied."},"id":"LibTmux::Transport::Result.stdout","kind":"property","modifiers":[],"name":"stdout","package":"LibTmux","parent":"LibTmux::Transport::Result","product":"core","publicId":"LibTmux::Transport::Result.stdout","signatures":[],"source":{"file":"lib/LibTmux/Transport.rakumod","line":64,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"libtmux-transport-result-stdout"},{"apiScope":"exported","doc":{"body":"# Identifiers and states\n\nIDs validate ASCII spelling only. Store daemon identity separately and check\nit before operations. WindowLink identity additionally includes session/index;\nan observed index is not a permanent link identifier.\n\nValueState describes field availability. KnownNull is domain absence;\nUnloaded means acquisition omitted data, and Unavailable means the selected\nacquisition context cannot supply it. Unsupported is a capability refusal.\nNone of these states is encoded as an empty string or numeric zero.","summary":""},"id":"LibTmux::Types","kind":"module","modifiers":[],"name":"LibTmux::Types","package":"LibTmux","parent":"LibTmux","product":"core","publicId":"LibTmux::Types","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":3,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types"},{"apiScope":"exported","doc":{"body":"A nonnegative count or dimension. Bool is deliberately not a number here.","summary":"A nonnegative count or dimension. Bool is deliberately not a number here."},"id":"LibTmux::Types::Count","kind":"typealias","modifiers":[],"name":"Count","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::Count","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":12,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-count"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome","kind":"enum","modifiers":[],"name":"Outcome","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::Outcome","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-outcome"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.Complete","kind":"constant","modifiers":[],"name":"Complete","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.Complete","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"1","slug":"libtmux-types-outcome-complete"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.Failed","kind":"constant","modifiers":[],"name":"Failed","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.Failed","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"2","slug":"libtmux-types-outcome-failed"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.Indeterminate","kind":"constant","modifiers":[],"name":"Indeterminate","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.Indeterminate","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"4","slug":"libtmux-types-outcome-indeterminate"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.NotStarted","kind":"constant","modifiers":[],"name":"NotStarted","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.NotStarted","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"0","slug":"libtmux-types-outcome-notstarted"},{"apiScope":"exported","doc":{"body":"What the caller knows about an operation's effects.","summary":"What the caller knows about an operation's effects."},"id":"LibTmux::Types::Outcome.Skipped","kind":"constant","modifiers":[],"name":"Skipped","package":"LibTmux","parent":"LibTmux::Types::Outcome","product":"core","publicId":"LibTmux::Types::Outcome.Skipped","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"3","slug":"libtmux-types-outcome-skipped"},{"apiScope":"exported","doc":{"body":"A pane identifier scoped to a captured daemon incarnation.","summary":"A pane identifier scoped to a captured daemon incarnation."},"id":"LibTmux::Types::PaneId","kind":"typealias","modifiers":[],"name":"PaneId","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::PaneId","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":10,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-paneid"},{"apiScope":"exported","doc":{"body":"A positive dimension or resource limit.","summary":"A positive dimension or resource limit."},"id":"LibTmux::Types::Positive","kind":"typealias","modifiers":[],"name":"Positive","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::Positive","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":14,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-positive"},{"apiScope":"exported","doc":{"body":"A session identifier's spelling; existence and daemon ownership are separate.","summary":"A session identifier's spelling; existence and daemon ownership are separate."},"id":"LibTmux::Types::SessionId","kind":"typealias","modifiers":[],"name":"SessionId","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::SessionId","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":6,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-sessionid"},{"apiScope":"exported","doc":{"body":"Capability evidence never treats an unprobed feature as supported.","summary":"Capability evidence never treats an unprobed feature as supported."},"id":"LibTmux::Types::SupportState","kind":"enum","modifiers":[],"name":"SupportState","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::SupportState","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-supportstate"},{"apiScope":"exported","doc":{"body":"Capability evidence never treats an unprobed feature as supported.","summary":"Capability evidence never treats an unprobed feature as supported."},"id":"LibTmux::Types::SupportState.NotSupported","kind":"constant","modifiers":[],"name":"NotSupported","package":"LibTmux","parent":"LibTmux::Types::SupportState","product":"core","publicId":"LibTmux::Types::SupportState.NotSupported","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"1","slug":"libtmux-types-supportstate-notsupported"},{"apiScope":"exported","doc":{"body":"Capability evidence never treats an unprobed feature as supported.","summary":"Capability evidence never treats an unprobed feature as supported."},"id":"LibTmux::Types::SupportState.Supported","kind":"constant","modifiers":[],"name":"Supported","package":"LibTmux","parent":"LibTmux::Types::SupportState","product":"core","publicId":"LibTmux::Types::SupportState.Supported","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"0","slug":"libtmux-types-supportstate-supported"},{"apiScope":"exported","doc":{"body":"Capability evidence never treats an unprobed feature as supported.","summary":"Capability evidence never treats an unprobed feature as supported."},"id":"LibTmux::Types::SupportState.Unknown","kind":"constant","modifiers":[],"name":"Unknown","package":"LibTmux","parent":"LibTmux::Types::SupportState","product":"core","publicId":"LibTmux::Types::SupportState.Unknown","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"2","slug":"libtmux-types-supportstate-unknown"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState","kind":"enum","modifiers":[],"name":"ValueState","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::ValueState","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-valuestate"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.KnownNull","kind":"constant","modifiers":[],"name":"KnownNull","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.KnownNull","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"1","slug":"libtmux-types-valuestate-knownnull"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.Present","kind":"constant","modifiers":[],"name":"Present","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.Present","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"0","slug":"libtmux-types-valuestate-present"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.Unavailable","kind":"constant","modifiers":[],"name":"Unavailable","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.Unavailable","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"3","slug":"libtmux-types-valuestate-unavailable"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.Unloaded","kind":"constant","modifiers":[],"name":"Unloaded","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.Unloaded","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"4","slug":"libtmux-types-valuestate-unloaded"},{"apiScope":"exported","doc":{"body":"Availability states preserve absence without conflating false, zero or empty text.","summary":"Availability states preserve absence without conflating false, zero or empty text."},"id":"LibTmux::Types::ValueState.Unsupported","kind":"constant","modifiers":[],"name":"Unsupported","package":"LibTmux","parent":"LibTmux::Types::ValueState","product":"core","publicId":"LibTmux::Types::ValueState.Unsupported","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"value":"2","slug":"libtmux-types-valuestate-unsupported"},{"apiScope":"exported","doc":{"body":"A physical window identifier. An index in a session is a different value.","summary":"A physical window identifier. An index in a session is a different value."},"id":"LibTmux::Types::WindowId","kind":"typealias","modifiers":[],"name":"WindowId","package":"LibTmux","parent":"LibTmux::Types","product":"core","publicId":"LibTmux::Types::WindowId","signatures":[],"source":{"file":"lib/LibTmux/Types.rakumod","line":8,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"libtmux-types-windowid"},{"apiScope":"exported","doc":{"body":"Base for explicit library failures; operational failures are never absence.","summary":"Base for explicit library failures; operational failures are never absence."},"extends":["Exception"],"id":"X::LibTmux","kind":"exception","modifiers":[],"name":"X::LibTmux","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":9,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux"},{"apiScope":"exported","doc":{"body":"Human-readable diagnostic; typed fields carry machine-readable context.","summary":"Human-readable diagnostic; typed fields carry machine-readable context."},"id":"X::LibTmux.message","kind":"property","modifiers":[],"name":"message","package":"LibTmux","parent":"X::LibTmux","product":"core","publicId":"X::LibTmux.message","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":11,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-message"},{"apiScope":"exported","doc":{"body":"Exact or optional cardinality was violated.","summary":"Exact or optional cardinality was violated."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::Cardinality","kind":"exception","modifiers":[],"name":"X::LibTmux::Cardinality","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::Cardinality","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":82,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-cardinality"},{"apiScope":"exported","doc":{"body":"Exact number of captured matches which violated cardinality.","summary":"Exact number of captured matches which violated cardinality."},"id":"X::LibTmux::Cardinality.count","kind":"property","modifiers":[],"name":"count","package":"LibTmux","parent":"X::LibTmux::Cardinality","product":"core","publicId":"X::LibTmux::Cardinality.count","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":84,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"x-libtmux-cardinality-count"},{"apiScope":"exported","doc":{"body":"Entity schema associated with this failure.","summary":"Entity schema associated with this failure."},"id":"X::LibTmux::Cardinality.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"X::LibTmux::Cardinality","product":"core","publicId":"X::LibTmux::Cardinality.entity","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":86,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-cardinality-entity"},{"apiScope":"exported","doc":{"body":"A child command failed; outcome states whether an effect may have occurred.","summary":"A child command failed; outcome states whether an effect may have occurred."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::Command","kind":"exception","modifiers":[],"name":"X::LibTmux::Command","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::Command","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":15,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-command"},{"apiScope":"exported","doc":{"body":"Underlying failure retained when a later boundary adds context.","summary":"Underlying failure retained when a later boundary adds context."},"id":"X::LibTmux::Command.cause","kind":"property","modifiers":[],"name":"cause","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.cause","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":33,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Exception","slug":"x-libtmux-command-cause"},{"apiScope":"exported","doc":{"body":"Copy error context with validated fields and independent immutable byte buffers.","summary":"Copy error context with validated fields and independent immutable byte buffers."},"id":"X::LibTmux::Command.clone","kind":"method","modifiers":[],"name":"clone","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.clone","signatures":[{"params":[{"keywordOnly":false,"name":"%changes","optional":false}],"raw":"method clone(*%changes --> X::LibTmux::Command:D)","references":[{"end":48,"start":27,"target":"X::LibTmux::Command"}],"returns":"X::LibTmux::Command:D","nativeSyntax":[{"start":7,"end":12,"kind":"name"}],"nativeSpans":[{"text":"method "},{"text":"clone","declaration":true},{"text":"(*%changes --> "},{"text":"X::LibTmux::Command:D","target":"X::LibTmux::Command"},{"text":")"}]}],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":41,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-command-clone"},{"apiScope":"exported","doc":{"body":"Observed child exit status, when a child completion is available.","summary":"Observed child exit status, when a child completion is available."},"id":"X::LibTmux::Command.exitcode","kind":"property","modifiers":[],"name":"exitcode","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.exitcode","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":17,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"x-libtmux-command-exitcode"},{"apiScope":"exported","doc":{"body":"Failure category such as argument, spawn, exit, timeout, cancelled or cleanup.","summary":"Failure category such as argument, spawn, exit, timeout, cancelled or cleanup."},"id":"X::LibTmux::Command.kind","kind":"property","modifiers":[],"name":"kind","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.kind","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":19,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-command-kind"},{"apiScope":"exported","doc":{"body":"What is known about effects at the failure boundary.","summary":"What is known about effects at the failure boundary."},"id":"X::LibTmux::Command.outcome","kind":"property","modifiers":[],"name":"outcome","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.outcome","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":21,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Outcome:D","slug":"x-libtmux-command-outcome"},{"apiScope":"exported","doc":{"body":"Owned client process ID, when process creation was established.","summary":"Owned client process ID, when process creation was established."},"id":"X::LibTmux::Command.pid","kind":"property","modifiers":[],"name":"pid","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.pid","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":27,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"x-libtmux-command-pid"},{"apiScope":"exported","doc":{"body":"Whether cleanup established that the owned client was joined.","summary":"Whether cleanup established that the owned client was joined."},"id":"X::LibTmux::Command.reaped","kind":"property","modifiers":[],"name":"reaped","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.reaped","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":31,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Bool:D","slug":"x-libtmux-command-reaped"},{"apiScope":"exported","doc":{"body":"Observed terminating signal, when child completion is available.","summary":"Observed terminating signal, when child completion is available."},"id":"X::LibTmux::Command.signal","kind":"property","modifiers":[],"name":"signal","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.signal","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":29,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Int","slug":"x-libtmux-command-signal"},{"apiScope":"exported","doc":{"body":"Captured stderr bytes available when the operation failed.","summary":"Captured stderr bytes available when the operation failed."},"id":"X::LibTmux::Command.stderr","kind":"property","modifiers":[],"name":"stderr","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.stderr","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":25,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"x-libtmux-command-stderr"},{"apiScope":"exported","doc":{"body":"Captured stdout bytes available when the operation failed.","summary":"Captured stdout bytes available when the operation failed."},"id":"X::LibTmux::Command.stdout","kind":"property","modifiers":[],"name":"stdout","package":"LibTmux","parent":"X::LibTmux::Command","product":"core","publicId":"X::LibTmux::Command.stdout","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":23,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Blob:D","slug":"x-libtmux-command-stdout"},{"apiScope":"exported","doc":{"body":"Captured bytes violate the declared projection or field codec.","summary":"Captured bytes violate the declared projection or field codec."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::Decode","kind":"exception","modifiers":[],"name":"X::LibTmux::Decode","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::Decode","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":56,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-decode"},{"apiScope":"exported","doc":{"body":"Field or relation associated with this failure, when known.","summary":"Field or relation associated with this failure, when known."},"id":"X::LibTmux::Decode.field","kind":"property","modifiers":[],"name":"field","package":"LibTmux","parent":"X::LibTmux::Decode","product":"core","publicId":"X::LibTmux::Decode.field","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":60,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-decode-field"},{"apiScope":"exported","doc":{"body":"Zero-based byte offset in the decoder context reported by this error.","summary":"Zero-based byte offset in the decoder context reported by this error."},"id":"X::LibTmux::Decode.offset","kind":"property","modifiers":[],"name":"offset","package":"LibTmux","parent":"X::LibTmux::Decode","product":"core","publicId":"X::LibTmux::Decode.offset","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":64,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"x-libtmux-decode-offset"},{"apiScope":"exported","doc":{"body":"One-based record number; zero means no record was identified.","summary":"One-based record number; zero means no record was identified."},"id":"X::LibTmux::Decode.row","kind":"property","modifiers":[],"name":"row","package":"LibTmux","parent":"X::LibTmux::Decode","product":"core","publicId":"X::LibTmux::Decode.row","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":62,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Count:D","slug":"x-libtmux-decode-row"},{"apiScope":"exported","doc":{"body":"Declared wire or acquisition schema that rejected the input.","summary":"Declared wire or acquisition schema that rejected the input."},"id":"X::LibTmux::Decode.schema","kind":"property","modifiers":[],"name":"schema","package":"LibTmux","parent":"X::LibTmux::Decode","product":"core","publicId":"X::LibTmux::Decode.schema","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":58,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-decode-schema"},{"apiScope":"exported","doc":{"body":"Contextual rows disagree about one physical entity in a capture interval.","summary":"Contextual rows disagree about one physical entity in a capture interval."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::InconsistentSnapshot","kind":"exception","modifiers":[],"name":"X::LibTmux::InconsistentSnapshot","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::InconsistentSnapshot","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":103,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-inconsistentsnapshot"},{"apiScope":"exported","doc":{"body":"Entity schema associated with this failure.","summary":"Entity schema associated with this failure."},"id":"X::LibTmux::InconsistentSnapshot.entity","kind":"property","modifiers":[],"name":"entity","package":"LibTmux","parent":"X::LibTmux::InconsistentSnapshot","product":"core","publicId":"X::LibTmux::InconsistentSnapshot.entity","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":105,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-inconsistentsnapshot-entity"},{"apiScope":"exported","doc":{"body":"Field or relation associated with this failure, when known.","summary":"Field or relation associated with this failure, when known."},"id":"X::LibTmux::InconsistentSnapshot.field","kind":"property","modifiers":[],"name":"field","package":"LibTmux","parent":"X::LibTmux::InconsistentSnapshot","product":"core","publicId":"X::LibTmux::InconsistentSnapshot.field","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":107,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-inconsistentsnapshot-field"},{"apiScope":"exported","doc":{"body":"Criteria are invalid before any collection traversal occurs.","summary":"Criteria are invalid before any collection traversal occurs."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::InvalidFilter","kind":"exception","modifiers":[],"name":"X::LibTmux::InvalidFilter","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::InvalidFilter","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":68,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-invalidfilter"},{"apiScope":"exported","doc":{"body":"Criterion path identifying invalid query data.","summary":"Criterion path identifying invalid query data."},"id":"X::LibTmux::InvalidFilter.path","kind":"property","modifiers":[],"name":"path","package":"LibTmux","parent":"X::LibTmux::InvalidFilter","product":"core","publicId":"X::LibTmux::InvalidFilter.path","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":70,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-invalidfilter-path"},{"apiScope":"exported","doc":{"body":"A requested local field or relation was not acquired in this observation.","summary":"A requested local field or relation was not acquired in this observation."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::MissingData","kind":"exception","modifiers":[],"name":"X::LibTmux::MissingData","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::MissingData","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":74,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-missingdata"},{"apiScope":"exported","doc":{"body":"Field or relation associated with this failure, when known.","summary":"Field or relation associated with this failure, when known."},"id":"X::LibTmux::MissingData.field","kind":"property","modifiers":[],"name":"field","package":"LibTmux","parent":"X::LibTmux::MissingData","product":"core","publicId":"X::LibTmux::MissingData.field","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":76,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-missingdata-field"},{"apiScope":"exported","doc":{"body":"Availability or support state explaining this refusal.","summary":"Availability or support state explaining this refusal."},"id":"X::LibTmux::MissingData.state","kind":"property","modifiers":[],"name":"state","package":"LibTmux","parent":"X::LibTmux::MissingData","product":"core","publicId":"X::LibTmux::MissingData.state","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":78,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"ValueState:D","slug":"x-libtmux-missingdata-state"},{"apiScope":"exported","doc":{"body":"A target belongs to a daemon incarnation which is no longer current.","summary":"A target belongs to a daemon incarnation which is no longer current."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::StaleReference","kind":"exception","modifiers":[],"name":"X::LibTmux::StaleReference","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::StaleReference","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":100,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-stalereference"},{"apiScope":"exported","doc":{"body":"A capability is unavailable or not established for the connected daemon.","summary":"A capability is unavailable or not established for the connected daemon."},"extends":["X::LibTmux","Exception"],"id":"X::LibTmux::Unsupported","kind":"exception","modifiers":[],"name":"X::LibTmux::Unsupported","package":"LibTmux","parent":"LibTmux::Exceptions","product":"core","publicId":"X::LibTmux::Unsupported","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":90,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"slug":"x-libtmux-unsupported"},{"apiScope":"exported","doc":{"body":"Capability identifier which could not be established or used.","summary":"Capability identifier which could not be established or used."},"id":"X::LibTmux::Unsupported.feature","kind":"property","modifiers":[],"name":"feature","package":"LibTmux","parent":"X::LibTmux::Unsupported","product":"core","publicId":"X::LibTmux::Unsupported.feature","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":92,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-unsupported-feature"},{"apiScope":"exported","doc":{"body":"Evidence-based explanation of the unsupported or unknown capability.","summary":"Evidence-based explanation of the unsupported or unknown capability."},"id":"X::LibTmux::Unsupported.reason","kind":"property","modifiers":[],"name":"reason","package":"LibTmux","parent":"X::LibTmux::Unsupported","product":"core","publicId":"X::LibTmux::Unsupported.reason","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":96,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"Str:D","slug":"x-libtmux-unsupported-reason"},{"apiScope":"exported","doc":{"body":"Availability or support state explaining this refusal.","summary":"Availability or support state explaining this refusal."},"id":"X::LibTmux::Unsupported.state","kind":"property","modifiers":[],"name":"state","package":"LibTmux","parent":"X::LibTmux::Unsupported","product":"core","publicId":"X::LibTmux::Unsupported.state","signatures":[],"source":{"file":"lib/LibTmux/Exceptions.rakumod","line":94,"revision":"9a9838047f1585c2c790b011cb708670999b7bdd","repo":"libtmux/libtmux-raku","extractedRevision":"9a9838047f1585c2c790b011cb708670999b7bdd"},"type":"SupportState:D","slug":"x-libtmux-unsupported-state"}],"exportGroups":[{"members":["LibTmux::Attachment","LibTmux::Batch","LibTmux::Capabilities","LibTmux::Catalogue","LibTmux::Client","LibTmux::Command","LibTmux::Configuration","LibTmux::Control","LibTmux::Engine","LibTmux::Exceptions","LibTmux::Format","LibTmux::Layout","LibTmux::Model","LibTmux::Query","LibTmux::Selection","LibTmux::Server","LibTmux::Transport","LibTmux::Types"],"owner":"LibTmux","title":"Public declarations"},{"members":["LibTmux::Batch::Batch","LibTmux::Batch::Evidence","LibTmux::Batch::Operation","LibTmux::Batch::OperationResult","LibTmux::Batch::Report"],"owner":"LibTmux::Batch","title":"Public declarations"},{"members":["LibTmux::Catalogue.catalogue","LibTmux::Catalogue.parse-tmux-version","LibTmux::Catalogue.support-policy","LibTmux::Catalogue::CatalogueData","LibTmux::Catalogue::OptionSpec","LibTmux::Catalogue::SupportPolicy","LibTmux::Catalogue::TmuxVersion"],"owner":"LibTmux::Catalogue","title":"Public declarations"},{"members":["LibTmux::Client::ClientTarget","LibTmux::Client::CommandTemplate","LibTmux::Client::MenuItem"],"owner":"LibTmux::Client","title":"Public declarations"},{"members":["LibTmux::Command::Invocation"],"owner":"LibTmux::Command","title":"Public declarations"},{"members":["LibTmux::Configuration::BufferInfo","LibTmux::Configuration::Buffers","LibTmux::Configuration::Environment","LibTmux::Configuration::EnvironmentValue","LibTmux::Configuration::Hooks","LibTmux::Configuration::KeyBinding","LibTmux::Configuration::KeyBindings","LibTmux::Configuration::OptionValue","LibTmux::Configuration::Options"],"owner":"LibTmux::Configuration","title":"Public declarations"},{"members":["LibTmux::Control::Connection","LibTmux::Control::Decoder","LibTmux::Control::Event","LibTmux::Control::PaneOutput","LibTmux::Control::Response","LibTmux::Control::UnframedOutput","LibTmux::Control::UnknownEvent"],"owner":"LibTmux::Control","title":"Public declarations"},{"members":["LibTmux::Engine::Endpoint","LibTmux::Engine::Incarnation","LibTmux::Engine::Observation"],"owner":"LibTmux::Engine","title":"Public declarations"},{"members":["X::LibTmux","X::LibTmux::Cardinality","X::LibTmux::Command","X::LibTmux::Decode","X::LibTmux::InconsistentSnapshot","X::LibTmux::InvalidFilter","X::LibTmux::MissingData","X::LibTmux::StaleReference","X::LibTmux::Unsupported"],"owner":"LibTmux::Exceptions","title":"Public declarations"},{"members":["LibTmux::Format::DecodedRow","LibTmux::Format::FrameDecoder","LibTmux::Format::Projection"],"owner":"LibTmux::Format","title":"Public declarations"},{"members":["LibTmux::Layout.decode-layout","LibTmux::Layout::Layout","LibTmux::Layout::LayoutNode"],"owner":"LibTmux::Layout","title":"Public declarations"},{"members":["LibTmux::Model::Buffer","LibTmux::Model::BufferSelection","LibTmux::Model::Client","LibTmux::Model::ClientRef","LibTmux::Model::ClientSelection","LibTmux::Model::Pane","LibTmux::Model::PaneRef","LibTmux::Model::PaneSelection","LibTmux::Model::Session","LibTmux::Model::SessionGroup","LibTmux::Model::SessionGroupSelection","LibTmux::Model::SessionRef","LibTmux::Model::SessionSelection","LibTmux::Model::Snapshot","LibTmux::Model::View","LibTmux::Model::Window","LibTmux::Model::WindowLink","LibTmux::Model::WindowLinkRef","LibTmux::Model::WindowLinkSelection","LibTmux::Model::WindowRef","LibTmux::Model::WindowSelection"],"owner":"LibTmux::Model","title":"Public declarations"},{"members":["LibTmux::Query::Filter","LibTmux::Query::Limits","LibTmux::Query::Plan"],"owner":"LibTmux::Query","title":"Public declarations"},{"members":["LibTmux::Query::Plan::Plan"],"owner":"LibTmux::Query::Plan","title":"Public declarations"},{"members":["LibTmux::Selection::Selection"],"owner":"LibTmux::Selection","title":"Public declarations"},{"members":["LibTmux::Transport::Cancellation","LibTmux::Transport::Result"],"owner":"LibTmux::Transport","title":"Public declarations"},{"members":["LibTmux::Types::Count","LibTmux::Types::Outcome","LibTmux::Types::PaneId","LibTmux::Types::Positive","LibTmux::Types::SessionId","LibTmux::Types::SupportState","LibTmux::Types::ValueState","LibTmux::Types::WindowId"],"owner":"LibTmux::Types","title":"Public declarations"}],"generatedSources":{"examples/batch-recovery.raku":"use v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name, :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $before = $server.snapshot;\n my $batch = Batch.new(:operations([\n Operation.new(:name, :acknowledgement-only,\n :command(Invocation.new(:argv(['set-option', '-s', '@before-failure', 'set'])))),\n Operation.new(:name, :acknowledgement-only,\n :command(Invocation.new(:argv(['libtmux-example-unknown-command='])))),\n Operation.new(:name, :acknowledgement-only,\n :command(Invocation.new(:argv(['set-option', '-s', '@after-failure', 'set'])))),\n ]));\n my $report = $server.run-batch($batch);\n die 'Batch attribution was wrong'\n unless $report.operations.map(*.outcome).List eqv (Complete, Failed, Skipped);\n my $options = $server.options;\n die 'The successful first effect disappeared' unless $options.get('@before-failure') eq 'set';\n die 'A skipped operation ran' if $options.entries(:name<@after-failure>).elems;\n say .name ~ ': ' ~ .outcome ~ ' (scope: ' ~ .completion-scope ~ ')' for $report.operations;\n\n $options.unset('@before-failure');\n die 'Explicit recovery failed' if $options.entries(:name<@before-failure>).elems;\n say 'Recovery: removed the first effect explicitly';\n my $pid = $before.incarnation.pid;\n my $directory = $server.endpoint.socket-path.IO.parent;\n $server.close;\n die 'Owned daemon or socket directory survived cleanup' if \"/proc/$pid\".IO.e || $directory.e;\n say 'Owned daemon and socket cleaned up';\n}\n","examples/floating-panes.raku":"use v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(120), :height(36), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $snapshot = $server.snapshot;\n my $main = $snapshot.panes.single.ref;\n my $floating = $snapshot.capabilities.supports('pane-floating');\n my $auxiliary = $floating\n ?? $main.new-floating(:width(40), :height(12), :x(2), :y(2), :empty)\n !! $main.split(:horizontal, :empty);\n $auxiliary.set-title('status');\n\n my $after = $server.snapshot;\n die 'The auxiliary pane was not captured' unless $after.panes.elems == 2;\n say 'Status pane: ' ~ ($floating ?? 'floating' !! 'tiled');\n say $after.panes.where(%(id => $auxiliary.id)).single.title;\n}\n","examples/query-panes.raku":"use v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(160), :height(40), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $editor = $server.snapshot.panes.single.ref;\n my $tests = $editor.split(:horizontal, :shell-command('exec cat'));\n my $logs = $tests.split(:shell-command('exec cat'));\n $editor.set-title('editor');\n $tests.set-title('tests');\n $logs.set-title('logs');\n\n my $snapshot = $server.snapshot;\n my @wide := $snapshot.panes.where(%(width => %(gte => 60)));\n my $selected = @wide.filter(*.title eq 'editor').single;\n say \"Wide pane: {$selected.title}\";\n\n my @others = $snapshot.panes.grep(*.id ne $selected.id).map(*.title).sort;\n say 'Other panes: ' ~ @others.join(', ');\n}\n","examples/quickstart.raku":"use LibTmux;\n\nmy $server = Server.start(:name, :shell-command('exec cat'));\nLEAVE $server.close if $server.defined;\n\nmy $before = $server.snapshot;\nmy $left = $before.panes.single.ref;\nmy $right = $left.split(:horizontal, :shell-command('exec cat'));\n$left.set-title('editor');\n$right.set-title('logs');\n\nmy $after = $server.snapshot;\nmy $editor = $after.panes.filter(*.title eq 'editor').single;\nsay \"{$editor.title}: {$after.panes.elems} panes\";\n","examples/session-workflow.raku":"use v6.d;\nuse LibTmux;\nuse LibTmux::Control;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(160), :height(32), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $before = $server.snapshot;\n my $left = $before.panes.single.ref;\n my $right = $left.split(:horizontal, :shell-command('exec cat'));\n $left.set-title('editor');\n $right.set-title('logs');\n\n my $connection = $server.open-control(:session-id($before.sessions.single.id));\n LEAVE $connection.close if $connection.defined;\n my $seen = Promise.new;\n my $vow = $seen.vow;\n my $lock = Lock.new;\n my $output = '';\n my $message = 'hello from Raku';\n my $tap = $connection.events.tap(-> $event {\n if $event ~~ PaneOutput && $event.pane-id eq $left.id {\n $lock.protect({\n $output ~= $event.data.decode('utf8-c8');\n die 'Example output exceeded its bound' if $output.chars > 65536;\n $vow.keep(True) if $seen.status == Planned && $output.contains($message);\n });\n }\n }, :quit(-> $error { $lock.protect({ $vow.break($error) if $seen.status == Planned }) }));\n LEAVE $tap.close if $tap.defined;\n $left.send-text($message);\n $left.send-keys('Enter');\n my $wait = await Promise.anyof($seen, Promise.in(2));\n die 'No matching pane output arrived before the deadline' unless $seen.status == Kept;\n die 'Capture did not contain the observed output' unless $left.capture.decode('utf8').contains($message);\n\n my $after = $connection.snapshot;\n my @wide := $after.panes.where(%(width => %(gte => 60)));\n my $editor = @wide.filter(*.title eq 'editor').single;\n die 'Captured membership or titles were wrong' unless @wide.elems == 2;\n die 'An earlier snapshot changed' unless $before.panes.elems == 1;\n my $plan = $server.explain-panes(:where(%(id => $left.id, width => %(gte => 60))));\n die 'The declared scalar query was not exactly pushable' unless $plan.fully-pushed;\n die 'Source acquisition selected the wrong pane'\n unless $server.query-panes(:where(%(id => $left.id)), :pushdown).single.id eq $left.id;\n\n say \"Session: {@wide.elems} panes\";\n say \"{$editor.title}: $message\";\n say 'Floating panes: ' ~ ($after.capabilities.supports('pane-floating') ?? 'available' !! 'unavailable');\n say \"Query: {$plan.acquisition-mode}, exact source restriction\";\n\n my $pid = $after.incarnation.pid;\n my $directory = $server.endpoint.socket-path.IO.parent;\n $tap.close;\n $connection.close;\n $server.close;\n die 'Owned daemon or socket directory survived cleanup' if \"/proc/$pid\".IO.e || $directory.e;\n say 'Owned clients, daemon and socket cleaned up';\n}\n","examples/watch-output.raku":"use v6.d;\nuse LibTmux;\nuse LibTmux::Control;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name, :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $snapshot = await $server.snapshot-async;\n my $pane = $snapshot.panes.single.ref;\n my $connection = await $server.open-control-async(:session-id($snapshot.sessions.single.id));\n LEAVE $connection.close if $connection.defined;\n\n my $message = 'hello from Raku';\n my $received = '';\n react {\n whenever $connection.events.grep(PaneOutput) -> $event {\n if $event.pane-id eq $pane.id {\n $received ~= $event.data.decode('utf8-c8');\n die 'Pane output exceeded its bound' if $received.chars > 65536;\n done if $received.contains($message);\n }\n }\n whenever start { $pane.send-text($message); $pane.send-keys('Enter') } { }\n whenever Promise.in(2) { die 'Pane output timed out' }\n }\n\n die 'The captured screen did not contain the message'\n unless $pane.capture.decode('utf8').contains($message);\n say $message;\n say 'Screen capture confirmed';\n}\n","lib/LibTmux.rakumod":"use v6.d;\n\nunit module LibTmux;\n\nneed LibTmux::Exceptions;\nneed LibTmux::Server;\nneed LibTmux::Control::Connection;\nneed LibTmux::Attachment;\nneed LibTmux::Model;\nneed LibTmux::Selection;\nneed LibTmux::Query;\nneed LibTmux::Query::Plan;\nneed LibTmux::Command;\nneed LibTmux::Transport;\nneed LibTmux::Batch;\nneed LibTmux::Client;\nneed LibTmux::Capabilities;\nneed LibTmux::Types;\n\nmy constant Server is export = LibTmux::Server;\nmy constant ControlConnection is export = LibTmux::Control::Connection;\nmy constant Attachment is export = LibTmux::Attachment;\nmy constant Snapshot is export = LibTmux::Model::Snapshot;\nmy constant Session is export = LibTmux::Model::Session;\nmy constant Window is export = LibTmux::Model::Window;\nmy constant WindowLink is export = LibTmux::Model::WindowLink;\nmy constant Pane is export = LibTmux::Model::Pane;\nmy constant Client is export = LibTmux::Model::Client;\nmy constant SessionGroup is export = LibTmux::Model::SessionGroup;\nmy constant Buffer is export = LibTmux::Model::Buffer;\nmy constant SessionRef is export = LibTmux::Model::SessionRef;\nmy constant WindowRef is export = LibTmux::Model::WindowRef;\nmy constant WindowLinkRef is export = LibTmux::Model::WindowLinkRef;\nmy constant PaneRef is export = LibTmux::Model::PaneRef;\nmy constant ClientRef is export = LibTmux::Model::ClientRef;\nmy constant SessionSelection is export = LibTmux::Model::SessionSelection;\nmy constant WindowSelection is export = LibTmux::Model::WindowSelection;\nmy constant WindowLinkSelection is export = LibTmux::Model::WindowLinkSelection;\nmy constant PaneSelection is export = LibTmux::Model::PaneSelection;\nmy constant ClientSelection is export = LibTmux::Model::ClientSelection;\nmy constant SessionGroupSelection is export = LibTmux::Model::SessionGroupSelection;\nmy constant BufferSelection is export = LibTmux::Model::BufferSelection;\nmy constant Selection is export = LibTmux::Selection::Selection;\nmy constant Filter is export = LibTmux::Query::Filter;\nmy constant QueryLimits is export = LibTmux::Query::Limits;\nmy constant QueryPlan is export = LibTmux::Query::Plan::Plan;\nmy constant Invocation is export = LibTmux::Command::Invocation;\nmy constant Cancellation is export = LibTmux::Transport::Cancellation;\nmy constant CommandResult is export = LibTmux::Transport::Result;\nmy constant Batch is export = LibTmux::Batch::Batch;\nmy constant Operation is export = LibTmux::Batch::Operation;\nmy constant Evidence is export = LibTmux::Batch::Evidence;\nmy constant BatchReport is export = LibTmux::Batch::Report;\nmy constant OperationResult is export = LibTmux::Batch::OperationResult;\nmy constant MenuItem is export = LibTmux::Client::MenuItem;\nmy constant CommandTemplate is export = LibTmux::Client::CommandTemplate;\nmy constant Capabilities is export = LibTmux::Capabilities;\nmy constant SessionId is export = LibTmux::Types::SessionId;\nmy constant WindowId is export = LibTmux::Types::WindowId;\nmy constant PaneId is export = LibTmux::Types::PaneId;\nmy constant Count is export = LibTmux::Types::Count;\nmy constant Positive is export = LibTmux::Types::Positive;\nmy constant ValueState is export = LibTmux::Types::ValueState;\nmy constant SupportState is export = LibTmux::Types::SupportState;\nmy constant Outcome is export = LibTmux::Types::Outcome;\nmy constant Present is export = LibTmux::Types::Present;\nmy constant KnownNull is export = LibTmux::Types::KnownNull;\nmy constant Unsupported is export = LibTmux::Types::Unsupported;\nmy constant Unavailable is export = LibTmux::Types::Unavailable;\nmy constant Unloaded is export = LibTmux::Types::Unloaded;\nmy constant Supported is export = LibTmux::Types::Supported;\nmy constant NotSupported is export = LibTmux::Types::NotSupported;\nmy constant Unknown is export = LibTmux::Types::Unknown;\nmy constant NotStarted is export = LibTmux::Types::NotStarted;\nmy constant Complete is export = LibTmux::Types::Complete;\nmy constant Failed is export = LibTmux::Types::Failed;\nmy constant Skipped is export = LibTmux::Types::Skipped;\nmy constant Indeterminate is export = LibTmux::Types::Indeterminate;\n\n=begin pod\n=NAME LibTmux\n=DESCRIPTION\nTyped tmux snapshots, local selections and explicit commands for Raku programs.\n\n=head1 Create a session and split a pane\n\nL starts and owns a private daemon. Split the first pane,\nset pane titles, then capture the new state. Both panes run C as an echo\nprocess. C closes the owner on normal or exceptional exit.\n\n=comment runs: examples/quickstart.raku\n\n=begin code :lang\nuse LibTmux;\n\nmy $server = Server.start(:name, :shell-command('exec cat'));\nLEAVE $server.close if $server.defined;\n\nmy $before = $server.snapshot;\nmy $left = $before.panes.single.ref;\nmy $right = $left.split(:horizontal, :shell-command('exec cat'));\n$left.set-title('editor');\n$right.set-title('logs');\n\nmy $after = $server.snapshot;\nmy $editor = $after.panes.filter(*.title eq 'editor').single;\nsay \"{$editor.title}: {$after.panes.elems} panes\";\n=end code\n\nThe program prints C. The earlier snapshot retains\none pane. C<.ref> constructs an explicit command target; mutation does not change\nan earlier observation. C performs I/O, while reading a captured field\nor relationship stays local.\n\n=head1 Follow the captured graph\n\nA L contains sessions, session groups, physical\nwindows, window links, panes, clients and buffer metadata. A physical window can\nappear at several indexes, including twice in the same session. Its\nC owns the session-relative index and active state. C and\nC enumerate physical identities once; C preserves placements.\n\nA pane's C and a window's C resolve against the retained graph.\nKeeping an observation after closing its acquisition owner remains useful:\nfield reads, relationship traversal and selection operations make no tmux calls.\nUse C<.ref.inspect> or a new snapshot when fresh information is needed.\nReferences include daemon incarnation evidence, so a replacement daemon does\nnot inherit an old pane reference merely by reusing its ID.\n\n=head1 Query captured values\n\nCombine validated query data with native Raku predicates and transformations:\n\n=comment runs: examples/query-panes.raku\n\n=begin code :lang\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(160), :height(40), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $editor = $server.snapshot.panes.single.ref;\n my $tests = $editor.split(:horizontal, :shell-command('exec cat'));\n my $logs = $tests.split(:shell-command('exec cat'));\n $editor.set-title('editor');\n $tests.set-title('tests');\n $logs.set-title('logs');\n\n my $snapshot = $server.snapshot;\n my @wide := $snapshot.panes.where(%(width => %(gte => 60)));\n my $selected = @wide.filter(*.title eq 'editor').single;\n say \"Wide pane: {$selected.title}\";\n\n my @others = $snapshot.panes.grep(*.id ne $selected.id).map(*.title).sort;\n say 'Other panes: ' ~ @others.join(', ');\n}\n=end code\n\nIt prints C and\nC.\n\nBinding with C<:=> preserves a typed selection. Array assignment materializes\nordinary Raku values; scalar assignment itemizes the collection. C\nvalidates fields and operators even on an empty selection. C evaluates a\ncallback eagerly and returns the same entity selection type. C, including\nC<:k>, C<:kv> and C<:p>, retains its native C contract. C, C,\nC and junction operations also retain ordinary Raku behavior. Mapping\npanes to titles does not produce a pane selection of strings.\n\nUse C for exactly one member and C for zero or one;\nmultiple matches throw L. C remains a\njunction. A directly returned C from a C callback throws its\nwrapped exception before Boolean coercion.\n\nCompile reusable criteria with L. Its C\nmethod permits native matching, and C/C preserve the bounded\nportable data grammar. Closures, regexes and junctions remain local Raku\nmatchers. Data equality follows field types; it does not use generic smartmatch.\nRelations use C, C, C, C and C. An unloaded\nrelation raises L instead of behaving like\nan empty relation.\n\nFor explicit live acquisition, C accepts C and a pushdown\npolicy. C pushes proven exact restrictions and evaluates residual work\nlocally; C evaluates locally after acquisition; C refuses an\ninexact translation. C describes projections, scope, pushed\nconditions and residual work. Arbitrary callbacks are not translated to tmux.\n\n=head1 Choose an operation from capabilities\n\nCapabilities describe the observed daemon separately from the client executable.\nAsk C before offering a newer operation, or use C to obtain a\ntyped refusal with its reason. This program creates an empty C pane\nas a floating pane when supported and a tiled split otherwise:\n\n=comment runs: examples/floating-panes.raku\n\n=begin code :lang\nuse v6.d;\nuse LibTmux;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name,\n :width(120), :height(36), :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n\n my $snapshot = $server.snapshot;\n my $main = $snapshot.panes.single.ref;\n my $floating = $snapshot.capabilities.supports('pane-floating');\n my $auxiliary = $floating\n ?? $main.new-floating(:width(40), :height(12), :x(2), :y(2), :empty)\n !! $main.split(:horizontal, :empty);\n $auxiliary.set-title('status');\n\n my $after = $server.snapshot;\n die 'The auxiliary pane was not captured' unless $after.panes.elems == 2;\n say 'Status pane: ' ~ ($floating ?? 'floating' !! 'tiled');\n say $after.panes.where(%(id => $auxiliary.id)).single.title;\n}\n=end code\n\nThe selected placement and C are printed. An empty pane can\nhave no child PID; its C is then null rather than a fabricated integer.\nC distinguishes known null from a field that was not acquired.\nUnknown release profiles are refused conservatively. Field, codec, layout and\ncommand decisions come from the same packaged catalogue.\n\n=head1 React to terminal output\n\nSynchronous acquisition returns a snapshot or selection. An C<-async> method\nreturns a C resolving to that result. A\nL owns one persistent client;\nits event C is shared by its subscribers. Native C and C\ncan consume the output without polling:\n\n=comment runs: examples/watch-output.raku\n\n=begin code :lang\nuse v6.d;\nuse LibTmux;\nuse LibTmux::Control;\n\nsub MAIN(Str:D :$tmux = 'tmux') {\n my $server = Server.start(:binary($tmux), :name, :shell-command('exec cat'));\n LEAVE $server.close if $server.defined;\n my $snapshot = await $server.snapshot-async;\n my $pane = $snapshot.panes.single.ref;\n my $connection = await $server.open-control-async(:session-id($snapshot.sessions.single.id));\n LEAVE $connection.close if $connection.defined;\n\n my $message = 'hello from Raku';\n my $received = '';\n react {\n whenever $connection.events.grep(PaneOutput) -> $event {\n if $event.pane-id eq $pane.id {\n $received ~= $event.data.decode('utf8-c8');\n die 'Pane output exceeded its bound' if $received.chars > 65536;\n done if $received.contains($message);\n }\n }\n whenever start { $pane.send-text($message); $pane.send-keys('Enter') } { }\n whenever Promise.in(2) { die 'Pane output timed out' }\n }\n\n die 'The captured screen did not contain the message'\n unless $pane.capture.decode('utf8').contains($message);\n say $message;\n say 'Screen capture confirmed';\n}\n=end code\n\nIt prints C and C.\nThe pane runs C as an echo process. Subscribing precedes input.\nReceived pane bytes establish the screen-capture\nprecondition; the deadline bounds the wait. C never appends Enter.\nOutput remains bytes until an explicit decoder is selected, so fragmented and\ninvalid UTF-8 remains available. Unknown notification types retain their raw\nrepresentation.\n\nConnections need explicit close. Cancellation terminates and joins owned client\nwork, but does not undo commands that the daemon already executed. Reconnection\nrequires a fresh observation; event delivery does not imply a complete current\ngraph. L is a separate terminal client owner.\n\n=head1 Recover from partial completion\n\nL reports each operation's completion scope and\noutcome. The\nL\nchecks C, C and C, verifies the successful first\neffect, then removes it explicitly. Acknowledgement alone does not prove an\napplication effect. A failed batch offers no rollback guarantee.\n\nThe\nL\ncombines creation, a control-output subscription, screen capture, local\nfiltering and an explained source query in one checked lifecycle.\n\n=head1 Ownership and operational errors\n\nC owns its private daemon. C configures a borrowed\nendpoint; closing that facade leaves the daemon running. Both need explicit\nclose. A connection or terminal attachment has its own lifetime and must also\nbe closed. An observation retains values and the captured graph, not a live\nacquisition process.\n\nCommands pass an argument vector. Literal pane text, explicit key presses,\nFORMAT expressions, tmux command templates and deliberate shell commands have\nseparate entry points. Operational errors retain typed context and captured\nbytes. Optional lookup absence never disguises a failed command. Fields retain\nknown null, false, zero, empty text, unsupported, unavailable and unloaded data\nas distinct states.\n=end pod\n","lib/LibTmux/Attachment.rakumod":"use v6.d;\n\n#| Own one interactive tmux child on a caller-supplied terminal, with explicit cleanup.\nunit class LibTmux::Attachment;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Engine;\nuse LibTmux::Command :DEFAULT, :internals;\nuse LibTmux::Transport;\nuse LibTmux::Format;\nuse LibTmux::Client;\nuse LibTmux::Operations;\n\n#| State established by process completion or the most recent explicit inspection.\nenum AttachmentState is export ;\n\nmy class Environment {\n has Map:D $.entries is required;\n method Bool(--> Bool:D) { True }\n method hash(--> Hash:D) { $!entries.Hash }\n}\n\n#| Socket and executable configuration used for this child and explicit inspections.\nhas Endpoint:D $.endpoint is required;\n#| Daemon identity captured before attachment; a replacement daemon is rejected.\nhas Incarnation:D $.incarnation is required;\n#| Initial session ID; later interactive switching does not change this value.\nhas SessionId:D $.session is required;\nhas IO::Handle:D $!terminal is required;\n#| Retained stderr byte limit; exceeding it terminates the child and fails when-exited.\nhas Positive:D $.max-stderr-bytes = 64 * 1024;\nhas Int $!pid = 0;\nhas Proc::Async $!process;\nhas Promise $!process-exit;\nhas Promise $!exited .= new;\nhas $!exit-vow;\nhas Promise $!closed;\nhas Lock $!lock .= new;\nhas Buf $!stderr .= new;\nhas Exception $!stream-error;\nhas Bool $!overflow = False;\nhas AttachmentState $!state = AttachmentPending;\n\nsubmethod BUILD(:$!endpoint!, :$!incarnation!, :$!session!, :$!terminal!,\n :$!max-stderr-bytes = 64 * 1024) { }\nsubmethod TWEAK() { $!exit-vow = $!exited.vow }\n\n#| Construction requires spawn so an unstarted process owner cannot escape.\nmethod new(|) { invalid-argument('Use Attachment.spawn with an explicit terminal handle') }\n#| Refuse copying an owner, which would duplicate cleanup authority over one child.\nmethod clone(|) { invalid-argument('An owning Attachment cannot be cloned') }\n\n#| Spawn a tmux client on a supplied terminal. This does not prove attachment.\nmethod spawn(Endpoint:D :$endpoint!, Incarnation:D :$incarnation!,\n SessionId:D :$session!, IO::Handle:D :$terminal!,\n Positive:D :$timeout-ms = 10_000, Positive:D :$max-stderr-bytes = 64 * 1024,\n Bool:D :$read-only = False, Bool:D :$detach-others = False,\n Bool:D :$update-environment = False,\n Cancellation :$cancel = Cancellation --> LibTmux::Attachment:D) is single-operation {\n invalid-argument('Attachment requires an open terminal handle')\n unless $terminal.opened && $terminal.t;\n X::LibTmux::StaleReference.new(:message('Attachment endpoint and incarnation disagree')).throw\n unless $endpoint.key eq $incarnation.endpoint-key;\n my $deadline = now + $timeout-ms / 1000;\n my $runtime = Runtime.new(:$endpoint, :$timeout-ms);\n LEAVE $runtime.close if $runtime.defined;\n my $projection = Projection.new(:entity, :fields(['id']),\n :capabilities(operation-capabilities($incarnation)));\n my @sessions = $runtime.read($projection, Invocation.new(:argv(['list-sessions'])),\n :$incarnation, :$cancel, :$deadline);\n X::LibTmux::StaleReference.new(:message('Attachment session no longer exists')).throw\n unless @sessions.first(*.value('id') eq $session).defined;\n my @argv = 'attach-session', '-t', $session;\n @argv.push('-r') if $read-only;\n @argv.push('-d') if $detach-others;\n @argv.push('-E') unless $update-environment;\n my $attach = Invocation.new(:argv(@argv));\n my $condition = '#{==:#{pid}/#{start_time},' ~ $incarnation.pid ~ '/'\n ~ $incarnation.start-time ~ '}';\n my $guard = Invocation.new(:argv(['if-shell', '-F', $condition,\n $attach.source, 'libtmux-attachment-stale=']));\n my $owner = self.bless(:$endpoint, :$incarnation, :$session, :$terminal, :$max-stderr-bytes);\n my $failure;\n try {\n $owner!launch($guard, $deadline, $cancel);\n CATCH { default { $failure = $_ } }\n }\n if $failure.defined {\n my $cleanup;\n try { $owner.close; CATCH { default { $cleanup = $_ } } }\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :pid($owner.pid), :!reaped, :cause($failure),\n :message('Attachment startup failed and child cleanup did not complete')).throw\n if $cleanup.defined;\n $failure.throw;\n }\n $owner\n}\n\nmethod !signal(Int:D $signal --> Nil) {\n try $!process.kill($signal) if $!process.defined\n && $!process-exit.defined && $!process-exit.status == Planned;\n}\n\nmethod !launch(Invocation:D $command, Instant:D $deadline, Cancellation $cancel --> Nil) {\n X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :message('Attachment spawn was cancelled')).throw\n if $cancel.defined && $cancel.cancelled;\n X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :message('Attachment startup deadline expired')).throw if now >= $deadline;\n $!process = Proc::Async.new(|$!endpoint.argv, '-N', |$command.as-argv);\n $!process.bind-stdin($!terminal);\n $!process.bind-stdout($!terminal);\n my $stream-done = Promise.new;\n my $stream-vow = $stream-done.vow;\n my $tap = $!process.stderr(:bin).tap(-> Blob:D $bytes {\n my $overflow = $!lock.protect({\n if $!stderr.elems + $bytes.elems > $!max-stderr-bytes { $!overflow = True }\n else { $!stderr.append($bytes); False }\n });\n self!signal(9) if $overflow;\n }, :done({ $stream-vow.keep(True) }), :quit(-> $error {\n $!lock.protect({ $!stream-error //= $error });\n $stream-vow.keep(True);\n self!signal(9);\n }));\n my $spawn-error;\n try {\n $!process-exit = $!process.start(:ENV(Environment.new(:entries($!endpoint.environment))),\n :cwd($!endpoint.cwd));\n CATCH { default { $spawn-error = $_ } }\n }\n if $spawn-error.defined {\n $tap.close;\n $!state = AttachmentExited;\n $!exit-vow.break(X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :cause($spawn-error), :message('Could not spawn attachment client')));\n await $!exited;\n }\n start {\n LEAVE $tap.close;\n my $pid = try await $!process.pid;\n $!lock.protect({ $!pid = $pid }) if $pid.defined;\n my $proc;\n my $failure;\n try { $proc = await $!process-exit; CATCH { default { $failure = $_ } } }\n await $stream-done;\n my ($stderr, $overflow, $stream-error) = $!lock.protect({\n $!state = AttachmentExited;\n (Blob.new($!stderr.list), $!overflow, $!stream-error).List\n });\n if $failure.defined || $stream-error.defined || $overflow {\n $!exit-vow.break(X::LibTmux::Command.new(\n :kind($overflow ?? 'output-limit' !! ($!pid ?? 'io' !! 'spawn')),\n :outcome($!pid ?? Indeterminate !! NotStarted), :pid($!pid), :$stderr, :reaped,\n :cause($failure // $stream-error // Exception),\n :message('Attachment process or stderr acquisition failed')));\n } else {\n $!exit-vow.keep(Result.new(:$stderr, :exitcode($proc.exitcode),\n :signal($proc.signal), :pid($!pid),\n :outcome($proc.exitcode || $proc.signal ?? Failed !! Complete)));\n }\n }\n my $remaining = ($deadline - now).Num max 0;\n my @events = $!process.pid, Promise.in($remaining);\n @events.push($cancel.when-cancelled) if $cancel.defined;\n my $wait = try await Promise.anyof(|@events);\n my $failure;\n try {\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Attachment startup was cancelled')).throw\n if $cancel.defined && $cancel.cancelled;\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Attachment startup deadline expired')).throw\n if $!process.pid.status == Planned;\n $!pid = await $!process.pid;\n CATCH { default { $failure = $_ } }\n }\n if $failure.defined {\n $failure.throw if $failure ~~ X::LibTmux::Command;\n X::LibTmux::Command.new(:kind, :outcome(NotStarted), :cause($failure),\n :message('Could not spawn attachment client')).throw;\n }\n self!signal(9) if $!lock.protect({ $!overflow || $!stream-error.defined });\n}\n\n#| Owned OS child identity; a nonzero PID does not establish attachment readiness.\nmethod pid(--> Int:D) { $!pid }\n#| Last explicit attachment observation, or the independently observed process exit.\nmethod state(--> AttachmentState:D) { $!lock.protect({ $!state }) }\n#| Resolve after the child exits and stderr is drained, preserving its exit status.\nmethod when-exited(--> Promise:D) { $!exited }\n\n#| Perform one explicit listing. Nil means no matching attached client was observed.\nmethod inspect-client(Positive:D :$timeout-ms = 10_000 --> Mu) is single-operation {\n return Nil if self.state == AttachmentExited;\n my $runtime = Runtime.new(:endpoint($!endpoint), :$timeout-ms);\n LEAVE $runtime.close if $runtime.defined;\n my $projection = Projection.new(:entity, :fields(),\n :capabilities(operation-capabilities($!incarnation)));\n my @rows = $runtime.read($projection, Invocation.new(:argv(['list-clients'])),\n :incarnation($!incarnation));\n my @matching = @rows.grep(*.value('pid') == $!pid);\n X::LibTmux::Decode.new(:schema($projection.schema),\n :message('Multiple attached clients share the owned process identity')).throw\n if @matching.elems > 1;\n $!lock.protect({\n $!state = @matching ?? AttachmentAttached !! AttachmentPending\n unless $!state == AttachmentExited;\n });\n return Nil if self.state == AttachmentExited;\n return Nil unless @matching;\n ClientTarget.new(:endpoint($!endpoint), :incarnation($!incarnation), :pid($!pid),\n :name(@matching[0].bytes('name').decode('utf8-c8')),\n :created(@matching[0].value('created')))\n}\n\n#| Terminate and reap only this child. The caller's terminal handle stays open.\nmethod close(--> Nil) { await self.close-async }\n#| Share idempotent child cleanup; failure to reap breaks the returned Promise.\nmethod close-async(--> Promise:D) {\n $!lock.protect({\n $!closed //= start {\n if $!process-exit.defined {\n self!signal(15);\n my $wait = try await Promise.anyof($!exited, Promise.in(0.25));\n if $!exited.status == Planned {\n self!signal(9);\n $wait = try await Promise.anyof($!exited, Promise.in(0.75));\n }\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :pid($!pid), :!reaped, :message('Attachment child did not finish cleanup')).throw\n if $!exited.status == Planned;\n my $result = try await $!exited;\n }\n Nil\n }\n })\n}\n\n=begin pod\n=head1 Explicit interactive terminal ownership\n\nspawn binds stdin and stdout to the supplied open terminal handle. It never\ninherits the calling program's terminal implicitly. The caller owns that handle\nand its terminal output; Attachment owns the child and bounded binary stderr.\nclose stops and reaps only that child, leaves the handle open, and does not stop\nthe daemon or other clients. Cancellation applies to startup, not the later\ninteractive lifetime. Use close to end that lifetime.\n\nspawn proves OS process creation only. state starts as AttachmentPending;\ninspect-client makes one explicit listing and records AttachmentAttached when\nthe owned PID is present. Child exit independently records AttachmentExited.\nThere is no polling loop or implicit readiness claim. An event from a separately\nowned control connection may supply application-specific readiness evidence.\n\nThe initial session read checks Linux daemon identity, and the attach command\nruns in a PID/start-time fence. The Engine's documented same-PID/same-second\nreplacement and normal builtin-dispatch assumptions also apply here. An exit\nResult describes the tmux client process, not the lifetime of its session.\n=end pod\n","lib/LibTmux/Batch.rakumod":"use v6.d;\n\n#| Sequential bounded commands with explicit completion evidence and partial outcomes.\nunit module LibTmux::Batch;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Engine;\nuse LibTmux::Command;\nuse LibTmux::Transport;\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Command.new(:kind, :outcome(NotStarted), :$message).throw\n}\n\nsub positive(Mu $value --> Bool:D) {\n so ($value.^isa(Int) && !$value.^isa(Bool) && $value.defined && $value > 0)\n}\n\nsub name(Str:D $value --> Str:D) {\n invalid('Operation names must contain 1 through 256 characters without NUL')\n unless 1 <= $value.chars <= 256 && !$value.contains(\"\\0\");\n $value\n}\n\n#| Caller-supplied evidence for one named operation, not a command acknowledgement.\nclass Evidence is export {\n #| Unique batch operation name this observation was armed to verify.\n has Str:D $.operation is required;\n #| Caller description of the observed postcondition, limited to 4096 characters.\n has Str:D $.description is required;\n #| Whether that postcondition held; False records a failed effect contract.\n has Bool:D $.satisfied is required;\n\n submethod TWEAK() {\n name($!operation);\n invalid('Evidence needs a nonempty description of at most 4096 characters')\n unless 1 <= $!description.chars <= 4096 && !$!description.contains(\"\\0\");\n }\n\n #| Validate replacement observation data; cloning does not reobserve an effect.\n method clone(*%changes --> Evidence:D) {\n my %values = operation => $!operation, description => $!description, satisfied => $!satisfied;\n for %changes.kv -> $key, $value {\n invalid(\"Unknown evidence setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n}\n\n#| One immutable command and an explicit completion contract.\nclass Operation is export {\n #| Batch-unique correlation name, limited to 256 characters without NUL.\n has Str:D $.name is required;\n #| Immutable command admitted before any batch entry is dispatched.\n has Invocation:D $.command is required;\n #| Accept command acknowledgement as completion without external effect proof.\n has Bool:D $.acknowledgement-only = False;\n #| Caller-owned Promise of Evidence; undefined in acknowledgement-only mode.\n has Promise $.evidence = Promise;\n\n submethod TWEAK() {\n name($!name);\n invalid('Choose acknowledgement-only or an evidence Promise, exclusively')\n unless $!acknowledgement-only != $!evidence.defined;\n }\n\n #| Revalidate replacements; unchanged evidence retains its one-shot Promise.\n method clone(*%changes --> Operation:D) {\n my %values = name => $!name, command => $!command,\n acknowledgement-only => $!acknowledgement-only, evidence => $!evidence;\n for %changes.kv -> $key, $value {\n invalid(\"Unknown operation setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n}\n\n#| One position's outcome, preserving its acknowledgement and original exception.\nclass OperationResult is export {\n #| Zero-based position in the admitted batch, including skipped entries.\n has Count:D $.index is required;\n #| Correlation name copied from the admitted operation.\n has Str:D $.name is required;\n #| Complete, Failed, Skipped or Indeterminate under this entry's completion scope.\n has Outcome:D $.outcome is required;\n #| command means acknowledgement; effect additionally requires satisfied Evidence.\n has Str:D $.completion-scope is required;\n #| Successful executor Receipt, or an undefined value when none was received.\n has $.acknowledgement;\n #| Observed caller Evidence when received, including an unsatisfied observation.\n has Evidence $.evidence;\n #| Original execution/evidence exception; undefined for complete or skipped work.\n has Exception $.error;\n #| Why dispatch was omitted; empty for an operation that was attempted.\n has Str:D $.skip-reason = '';\n #| Admission time for this position, even when dispatch was skipped.\n has Instant:D $.started is required;\n #| Time its outcome was recorded, not proof that an uncertain effect stopped.\n has Instant:D $.finished is required;\n\n #| Refuse fabricated results; only Batch.run constructs execution observations.\n method new(|) { invalid('OperationResult values are produced by Batch.run') }\n #| Refuse altered copies of recorded execution outcomes.\n method clone(|) { invalid('OperationResult values cannot be cloned') }\n #| Whether a successful command acknowledgement was received before any later failure.\n method acknowledged(--> Bool:D) { $!acknowledgement.defined }\n #| Preserve backend effect certainty even when batch classification differs.\n method error-outcome(--> Outcome) {\n $!error ~~ X::LibTmux::Command ?? $!error.outcome !! Outcome\n }\n}\n\n#| Captured per-operation results. No runtime, control owner or caller task is retained.\nclass Report is export {\n #| Eager immutable membership containing one OperationResult per admitted entry.\n has List:D $.operations is required;\n #| Time before command preflight began; the overall deadline starts here.\n has Instant:D $.started is required;\n #| Time all positions were classified, including the undispatched suffix.\n has Instant:D $.finished is required;\n #| One absolute deadline shared by execution and caller-evidence waiting.\n has Instant:D $.deadline is required;\n #| Cause that requested a stop; undefined when no stopping condition occurred.\n has Exception $.stop-error;\n #| Counted receipt and Command-error bytes, with shared causes counted once.\n has Count:D $.output-bytes = 0;\n #| Admission threshold in bytes; the final retained response may exceed it.\n has Positive:D $.output-budget-bytes is required;\n\n #| Refuse fabricated reports; only Batch.run records a complete batch attempt.\n method new(|) { invalid('Report values are produced by Batch.run') }\n #| Refuse altered copies of recorded batch outcomes.\n method clone(|) { invalid('Report values cannot be cloned') }\n #| Aggregate uncertainty first, then failure, skipped work, and complete work.\n method outcome(--> Outcome:D) {\n return Indeterminate if $!operations.first(*.outcome == Indeterminate).defined;\n return Failed if $!operations.first(*.outcome == Failed).defined;\n return Skipped if $!operations.first(*.outcome == Skipped).defined;\n Complete\n }\n}\n\nsub classification(Exception:D $error --> Outcome:D) {\n return Indeterminate unless $error ~~ X::LibTmux::Command;\n $error.outcome == any(Indeterminate, Complete) ?? Indeterminate !! Failed\n}\n\nsub error-output(Exception $error, %counted --> Count:D) {\n my $bytes = 0;\n my $current = $error;\n while $current.defined && $current.^isa(X::LibTmux::Command) {\n my $identity = $current.WHICH.Str;\n last if %counted{$identity}:exists;\n %counted{$identity} = True;\n $bytes += $current.stdout.elems + $current.stderr.elems;\n $current = $current.cause;\n }\n $bytes\n}\n\nsub stopped(Instant:D $deadline, Cancellation $cancel --> Exception) {\n return X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :message('Batch cancelled before the next dispatch'))\n if $cancel.defined && $cancel.cancelled;\n return X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :message('Batch deadline expired before the next dispatch')) if now >= $deadline;\n Exception\n}\n\nsub await-evidence(Operation:D $operation, Instant:D $deadline, Cancellation $cancel --> Evidence:D) {\n my $before = stopped($deadline, $cancel);\n X::LibTmux::Command.new(:kind($before.kind), :outcome(Indeterminate),\n :cause($before), :message('Batch stopped before effect evidence was inspected')).throw\n if $before.defined;\n my $settled = Promise.new;\n my $vow = $settled.vow;\n my $lock = Lock.new;\n my &finish = -> Str:D $kind, Mu $value {\n $lock.protect({ $vow.keep([$kind, $value]) if $settled.status == Planned });\n };\n my $tap = $operation.evidence.Supply.tap(\n -> Mu $value { finish('value', $value) }, :quit(-> $error { finish('error', $error) }));\n LEAVE $tap.close if $tap.defined;\n my $timer = $*SCHEDULER.cue({ finish('error', X::LibTmux::Command.new(\n :kind, :outcome(Indeterminate), :message('Batch effect evidence timed out'))) },\n :in(0 max ($deadline - now).Numeric));\n LEAVE $timer.cancel if $timer.defined;\n my $cancel-tap = $cancel.defined ?? $cancel.when-cancelled.Supply.tap(-> $ {\n finish('error', X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Batch cancelled while waiting for effect evidence')));\n }) !! Tap;\n LEAVE $cancel-tap.close if $cancel-tap.defined;\n my ($kind, $value) = (await $settled).list;\n $value.throw if $kind eq 'error';\n $value.exception.throw if $value.^isa(Failure);\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Evidence Promise did not resolve to Evidence for this operation')).throw\n unless $value.^isa(Evidence) && $value.operation eq $operation.name;\n $value\n}\n\n#| A finite replayable sequence of explicit commands, without transaction semantics.\nclass Batch is export {\n #| Captured eager Operation membership; replay preserves this order.\n has List:D $.operations = ().List;\n #| Maximum admitted operation count, enforced during incremental traversal.\n has Positive:D $.max-operations = 256;\n #| Maximum sum of encoded Invocation source bytes before executor guard encoding.\n has Positive:D $.max-command-bytes = 1024 * 1024;\n #| Stop further dispatch once retained output reaches this byte threshold.\n has Positive:D $.output-budget-bytes = 8 * 1024 * 1024;\n\n #| Copy finite membership and validate all size/name limits without I/O.\n method new(Mu :$operations!, Mu :$max-operations = 256,\n Mu :$max-command-bytes = 1024 * 1024,\n Mu :$output-budget-bytes = 8 * 1024 * 1024, *%unknown) {\n invalid('Unknown batch setting: ' ~ %unknown.keys.sort.join(', ')) if %unknown;\n invalid('Batch limits must be positive integers')\n unless positive($max-operations) && positive($max-command-bytes)\n && positive($output-budget-bytes);\n invalid('Batch operations must be a positional collection')\n if $operations.^isa(Junction) || $operations !~~ Positional:D;\n my $iterator = $operations.iterator;\n invalid('Batch membership cannot be lazy') if $iterator.is-lazy;\n my @copy;\n my %names;\n my $bytes = 0;\n loop {\n my $operation := $iterator.pull-one;\n last if $operation =:= IterationEnd;\n invalid('Batch exceeds its operation limit') if @copy.elems >= $max-operations;\n invalid('Batch membership requires defined Operation values')\n unless $operation.^isa(Operation) && $operation.defined;\n invalid('Batch operation names must be unique') if %names{$operation.name}:exists;\n %names{$operation.name} = True;\n $bytes += $operation.command.source.encode('utf8-c8').elems;\n invalid('Batch exceeds its total command byte limit') if $bytes > $max-command-bytes;\n @copy.push($operation<>);\n }\n self.bless(:operations(@copy.map({ $_<> }).eager.List), :$max-operations,\n :$max-command-bytes, :$output-budget-bytes)\n }\n\n #| Revalidate changed membership or limits; unchanged evidence is not rearmed.\n method clone(*%changes --> Batch:D) {\n my %values = operations => $!operations, max-operations => $!max-operations,\n max-command-bytes => $!max-command-bytes, output-budget-bytes => $!output-budget-bytes;\n for %changes.kv -> $key, $value {\n invalid(\"Unknown batch setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n\n #| Run sequentially through a caller-owned executor; collect every position.\n method run(*%options --> Report:D) { await self.run-async(|%options) }\n\n #| Share one deadline across commands and evidence; never invoke caller callbacks.\n method run-async(Mu :$executor!, Mu :$incarnation!, Mu :$timeout-ms = 10_000,\n Mu :deadline($requested-deadline) = Instant,\n Mu :$cancel = Cancellation, Mu :$on-error = 'stop',\n *%unknown --> Promise:D) {\n my $error;\n my $started;\n my $deadline;\n try {\n invalid('Unknown batch operation setting: ' ~ %unknown.keys.sort.join(', ')) if %unknown;\n invalid('Batch executor must implement CommandExecutor')\n unless $executor.^does(CommandExecutor);\n invalid('Batch execution requires a defined executor and Incarnation')\n unless $executor.defined && $incarnation.^isa(Incarnation) && $incarnation.defined;\n invalid('Batch timeout must be a positive integer') unless positive($timeout-ms);\n invalid('Batch deadline must be an Instant when supplied')\n unless $requested-deadline.^isa(Instant)\n && ($requested-deadline.defined || $requested-deadline === Instant);\n invalid('Batch cancellation requires a Cancellation token')\n unless $cancel.^isa(Cancellation) && ($cancel.defined || $cancel === Cancellation);\n invalid('Batch on-error must be stop or continue')\n unless $on-error.^isa(Str) && $on-error.defined && $on-error eq any();\n $started = now;\n $deadline = $started + $timeout-ms / 1000;\n $deadline = $requested-deadline\n if $requested-deadline.defined && $requested-deadline < $deadline;\n $executor.validate-command(.command, :$incarnation) for $!operations.list;\n CATCH { default { $error = $_ } }\n }\n return Promise.broken($error) if $error.defined;\n start {\n my @results;\n my Exception $stop;\n my $stop-name = '';\n my $output-bytes = 0;\n my %counted-errors;\n for $!operations.kv -> $index, $operation {\n $stop //= stopped($deadline, $cancel);\n my $began = now;\n my $outcome = Skipped;\n my $acknowledgement;\n my Evidence $evidence;\n my Exception $failure;\n my $skip-reason = $stop.defined\n ?? ($stop-name.chars ?? \"Stopped after operation $stop-name\" !! $stop.message) !! '';\n unless $stop.defined {\n try {\n my $candidate = await $executor.execute-async($operation.command,\n :$incarnation, :$cancel, :$deadline);\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('CommandExecutor did not return a defined Receipt')).throw\n unless $candidate.defined && $candidate.^does(Receipt);\n my Mu $retained = $candidate.output-bytes;\n X::LibTmux::Command.new(:kind, :outcome(Indeterminate),\n :message('Receipt output-bytes must be one nonnegative integer')).throw\n unless $retained.defined && $retained.^isa(Int)\n && !$retained.^isa(Bool) && $retained >= 0;\n $acknowledgement = $candidate;\n $output-bytes += $retained;\n if $operation.acknowledgement-only { $outcome = Complete }\n else {\n $evidence = await-evidence($operation, $deadline, $cancel);\n if $evidence.satisfied { $outcome = Complete }\n else {\n $failure = X::LibTmux::Command.new(:kind, :outcome(Failed),\n :message('Observed effect did not satisfy the operation contract'));\n $outcome = Failed;\n }\n }\n CATCH { default {\n $failure = $_;\n $outcome = $acknowledgement.defined ?? Indeterminate !! classification($_);\n } }\n }\n if $failure.defined && $on-error eq 'stop' {\n $stop = $failure;\n $stop-name = $operation.name;\n }\n $output-bytes += error-output($failure, %counted-errors);\n if $output-bytes >= $!output-budget-bytes && $index + 1 < $!operations.elems {\n $stop = X::LibTmux::Command.new(:kind, :outcome(NotStarted),\n :cause($failure), :message('Cumulative batch output threshold reached'));\n $stop-name = '';\n }\n }\n @results.push(OperationResult.bless(:$index, :name($operation.name), :$outcome,\n :completion-scope($operation.acknowledgement-only ?? 'command' !! 'effect'),\n :$acknowledgement, :$evidence, :error($failure), :$skip-reason,\n :started($began), :finished(now)));\n }\n Report.bless(:operations(@results.map({ $_<> }).eager.List), :$started,\n :finished(now), :$deadline, :stop-error($stop), :$output-bytes,\n :output-budget-bytes($!output-budget-bytes))\n }\n }\n}\n\n=begin pod\n=head1 Partial outcomes, not transactions\n\nOperation requires either acknowledgement-only or a Promise of Evidence. In\ncommand scope, Complete means a successful command acknowledgement; it does not\nprove an asynchronous external effect. In effect scope, Complete additionally\nrequires matching named Evidence with satisfied=True. Evidence is supplied by\nthe caller, who must arm and correlate its operation-specific observer before\ndispatch. A name match is not proof of causation. No caller callback runs inside\nthe batch. Its deadline bounds waiting, not the caller's independent work.\nEvidence Promises are one-shot: rerunning effect-aware commands requires newly\narmed evidence, rather than treating an old observation as a new completion.\n\nThe immutable Batch captures finite membership, preserving order and rejecting\nduplicate names. Empty membership is a no-op. run/run-async accept an existing\nRuntime, Control connection or compatible CommandExecutor and never close it.\nAdapters must validate without effects, honor absolute deadlines and cancellation,\nsettle their execution Promises with Receipt values, and preserve effect certainty\nin typed errors.\nAll operations share one absolute deadline. A supplied C<:deadline(Instant)>\ncan shorten the local C budget; it never extends that budget. The\nsame Instant is passed to every command and retained in the report. An already\nexpired deadline skips dispatch. The executor may use a shorter local limit. Cleanup retains\nthe executor's own separate bounds. Cancelling a dispatched Control request can\nclose that connection according to its documented delivery contract.\n\nEvery position receives an OperationResult. Failure stops subsequent dispatch\nby default; on-error=continue attempts remaining operations while time and\ncancellation permit. Never-dispatched suffixes are Skipped. A timed out or lost\nin-flight effect is Indeterminate, even if acknowledgement was received. The\noriginal exception and its outcome remain available through error/error-outcome.\nNo rollback is attempted or promised, and reports retain no executor owner.\n\noutput-budget-bytes defaults to 8 MiB. After each operation, Batch counts receipt\noutput and Command exception stdout/stderr, following shared Command causes only\nonce. Reaching or exceeding the threshold stops further dispatch even under\non-error=continue. The complete threshold-crossing receipt/error is retained and\nthe undispatched suffix is Skipped. This is an admission threshold: retained\noutput can reach the budget plus one executor-bounded response. It is not a hard\nRSS cap; object overhead, arbitrary adapter/evidence exceptions and independent\ncaller-owned tasks remain outside that bound. Such adapters must accurately\nreport Receipt.output-bytes and bound their own responses.\n=end pod\n","lib/LibTmux/Capabilities.rakumod":"use v6.d;\n\n#| Immutable daemon evidence and catalogue policy; construction performs no I/O.\nunit class LibTmux::Capabilities;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Catalogue;\n\n#| Evidence and required handling; a repair policy never means repair ran.\nclass Decision {\n #| Catalogue feature, field or defect identifier used by this decision.\n has Str:D $.id is required;\n #| Whether the decision concerns a feature, field or known upstream defect.\n has Str:D $.kind = 'feature';\n #| Qualified support state; Unknown is distinct from an unsupported release.\n has SupportState:D $.state is required;\n #| Refusal, fallback or repair policy; it does not record an executed action.\n has Str:D $.handling = 'refuse';\n #| Explanation of availability, missing evidence or a blocking defect.\n has Str:D $.reason is required;\n #| Pinned upstream source supporting the policy, or empty when no rule exists.\n has Str:D $.source = '';\n #| Provenance label from the immutable daemon capability observation.\n has Str:D $.evidence = '';\n #| Explicit alternative capability identifier; empty when no fallback is declared.\n has Str:D $.fallback = '';\n\n #| True only for a supported feature or field, never for a known defect.\n method supported(--> Bool:D) { $!kind ne 'defect' && $!state == Supported }\n #| Whether this defect needs handling; True does not mean a repair has run.\n method applies(--> Bool:D) { $!kind eq 'defect' && $!state == Supported }\n}\n\n#| Version observed from the daemon; client version does not establish support.\nhas Str:D $.daemon-version = '';\n#| Independently observed executable version, retained for diagnostics.\nhas Str:D $.client-version = '';\n#| Opaque immutable identity supplied by the engine's explicit identity probe.\nhas Str:D $.incarnation = '';\n#| How the caller acquired the daemon observation.\nhas Str:D $.source = 'explicit observation';\n#| Flags already negotiated by an explicitly owned connection.\nhas List:D $.negotiated-features = ().List;\n\nhas TmuxVersion $!parsed-daemon-version;\nhas TmuxVersion $!parsed-client-version;\nhas $!catalogue;\nhas $!support;\n\nsubmethod TWEAK() {\n $!parsed-daemon-version = parse-tmux-version($!daemon-version);\n $!parsed-client-version = parse-tmux-version($!client-version);\n $!negotiated-features = $!negotiated-features.map({ .Str }).eager.List;\n $!catalogue = catalogue();\n $!support = support-policy();\n}\n\n#| Reconstruct copies so changed observations cannot retain stale parsed evidence.\nmethod clone(*%changes --> LibTmux::Capabilities:D) {\n my %arguments = daemon-version => $!daemon-version, client-version => $!client-version,\n incarnation => $!incarnation, source => $!source,\n negotiated-features => $!negotiated-features;\n for %changes.kv -> $name, $value {\n X::LibTmux::Decode.new(:schema,\n :message(\"Unknown capability observation field $name\")).throw\n unless %arguments{$name}:exists;\n %arguments{$name} = $value;\n }\n self.WHAT.new(|%arguments)\n}\n\n#| Parsed daemon release; syntactic stability does not establish a support profile.\nmethod parsed-daemon-version(--> TmuxVersion:D) { $!parsed-daemon-version }\n#| Parsed executable release retained for diagnostics, not daemon feature decisions.\nmethod parsed-client-version(--> TmuxVersion:D) { $!parsed-client-version }\n\nmethod !profile-state(--> SupportState:D) {\n return Unknown unless $!parsed-daemon-version.stable;\n return Supported if $!support.profile($!parsed-daemon-version.release).defined;\n return NotSupported unless $!parsed-daemon-version.at-least(\n parse-tmux-version($!support.minimum));\n Unknown\n}\n\nmethod !profile-reason(--> Str:D) {\n return 'No daemon version was observed' unless $!daemon-version.chars;\n return \"Daemon release $!daemon-version is below the declared floor {$!support.minimum}\"\n if self!profile-state == NotSupported;\n \"Daemon release $!daemon-version has no exact declared support profile\"\n}\n\nmethod !decision($spec --> Decision:D) {\n my $profile-state = self!profile-state;\n return Decision.new(:id($spec.id), :kind($spec.kind), :state($profile-state),\n :handling($spec.handling), :reason(self!profile-reason),\n :source($spec.source), :evidence($!source), :fallback($spec.fallback))\n unless $profile-state == Supported;\n my $available = $spec.releases.elems\n ?? so $spec.releases.first(* eq $!parsed-daemon-version.release).defined\n !! $!parsed-daemon-version.at-least(parse-tmux-version($spec.since));\n if $available {\n for $spec.blocked-by.List -> $id {\n my $blocker = self.workaround($id);\n return Decision.new(:id($spec.id), :kind($spec.kind), :state(NotSupported),\n :handling, :reason(\"Blocked by $id: {$blocker.reason}\"),\n :source($blocker.source), :evidence($!source), :fallback($spec.fallback))\n if $blocker.applies;\n }\n }\n Decision.new(:id($spec.id), :kind($spec.kind),\n :state($available ?? Supported !! NotSupported),\n :handling($spec.handling), :reason($spec.reason), :source($spec.source),\n :evidence($!source), :fallback($spec.fallback))\n}\n\n#| Inspect one feature without I/O. Unknown names remain explicitly unknown.\nmethod status(Str:D $id --> Decision:D) {\n my $spec = $!catalogue.capability($id);\n return Decision.new(:$id, :state(Unknown),\n :reason(\"Unknown feature $id\"), :evidence($!source)) unless $spec.defined;\n self!decision($spec)\n}\n\n#| Native support only; an available fallback does not make the feature native.\nmethod supports(Str:D $id --> Bool:D) { self.status($id).supported }\n\n#| Require native support or throw a typed, reason-bearing refusal.\nmethod require(Str:D $id --> Decision:D) {\n my $decision = self.status($id);\n self!refuse($decision) unless $decision.supported;\n $decision\n}\n\nmethod !refuse(Decision:D $decision --> Nil) {\n X::LibTmux::Unsupported.new(:feature($decision.id), :state($decision.state),\n :reason($decision.reason),\n :message(\"Feature {$decision.id}: {$decision.reason}\")).throw\n}\n\n#| Inspect an upstream defect. applies means handling is needed, not completed.\nmethod workaround(Str:D $id --> Decision:D) {\n my $spec = $!catalogue.workaround($id);\n return Decision.new(:$id, :kind, :state(Unknown),\n :reason(\"Unknown workaround $id\"), :evidence($!source)) unless $spec.defined;\n self!decision($spec)\n}\n\n#| All discoverable feature decisions for this immutable observation.\nmethod features(--> List:D) {\n $!catalogue.all-capabilities.grep(*.kind eq 'feature').map({ self!decision($_) }).List\n}\n\n#| All declared defects, including those which do not apply to this release.\nmethod workarounds(--> List:D) {\n $!catalogue.all-capabilities.grep(*.kind eq 'defect').map({ self!decision($_) }).List\n}\n\n#| Codec identifier selected through catalogue policy: qa or t6.\nmethod codec-profile(--> Str:D) {\n self.require('managed-commands');\n return 'qa' if self.supports('format-argument-quote');\n my $fallback = self.status('format-argument-quote').fallback;\n self.require($fallback);\n 't6'\n}\n\n#| Required legacy decoding stage: vis or none. No repair has run here.\nmethod output-repair(--> Str:D) {\n self.require('managed-commands');\n self.workaround('format-output-vis').applies ?? 'vis' !! 'none'\n}\n\n#| Default captured-layout dialect. Control negotiation remains explicit.\nmethod layout-profile(--> Str:D) {\n self.require('managed-commands');\n return 'classic' if $!negotiated-features.first(* eq 'control-mode').defined\n && !$!negotiated-features.first(* eq 'control-new-layouts').defined;\n self.supports('layout-json') ?? 'json' !! 'classic'\n}\n\n#| Availability of a registered field, independent of acquisition completeness.\nmethod field-status(Str:D $entity, Str:D $name --> Decision:D) {\n my $field = $!catalogue.field($entity, $name);\n my $id = \"field:$entity.$name\";\n return Decision.new(:$id, :kind, :state(Unknown),\n :reason(\"Unknown field $entity.$name\"), :evidence($!source)) unless $field.defined;\n my $profile-state = self!profile-state;\n return Decision.new(:$id, :kind, :state($profile-state),\n :reason(self!profile-reason), :source($field.source), :evidence($!source))\n unless $profile-state == Supported;\n my $available = $!parsed-daemon-version.at-least(parse-tmux-version($field.since));\n Decision.new(:$id, :kind, :state($available ?? Supported !! NotSupported),\n :reason($available ?? \"Field $entity.$name is declared in this release\"\n !! \"Field $entity.$name requires {$field.since}\"),\n :source($field.source), :evidence($!source))\n}\n\n#| Whether the observed daemon supports the registered field; unknown means False.\nmethod supports-field(Str:D $entity, Str:D $name --> Bool:D) {\n self.field-status($entity, $name).supported\n}\n\n#| Return the supported field specification or throw Unsupported with its reason.\nmethod require-field(Str:D $entity, Str:D $name) {\n my $decision = self.field-status($entity, $name);\n self!refuse($decision) unless $decision.supported;\n $!catalogue.field($entity, $name)\n}\n\n=begin pod\n=head1 Capability observations\nConstruction consumes explicit observations and packaged catalogue data. It\nnever launches tmux. Replacing a daemon or negotiating connection flags needs\na new capability object. The engine binds these observations to actual\ndaemon identity; this class does not establish that identity by itself.\n\nC and C describe native features. A fallback identifies an\nalternative which the caller must choose explicitly. C describes\nrequired handling; it never claims the repair was performed. Field support\ndoes not mean the field was acquired or is available in every context.\n=end pod\n","lib/LibTmux/Catalogue.rakumod":"use v6.d;\n\n#| Packaged, source-qualified fields, relationships, options and release profiles.\nunit module LibTmux::Catalogue;\n\nuse JSON::Fast;\nuse LibTmux::Exceptions;\n\n#| Parsed release spelling; an exact release can still lack a support profile.\nclass TmuxVersion is export {\n #| Original input, including any executable banner or unqualified suffix.\n has Str:D $.raw is required;\n #| Release spelling without the optional tmux prefix; empty when unqualified.\n has Str:D $.release = '';\n #| Whether the spelling is a stable release, independent of supported versions.\n has Bool:D $.stable = False;\n #| Numeric major component; zero for an unqualified spelling.\n has Int:D $.major = 0;\n #| Numeric minor component; zero for an unqualified spelling.\n has Int:D $.minor = 0;\n #| Lowercase patch-release letter, or empty for a plain or unqualified release.\n has Str:D $.suffix = '';\n\n #| Compare stable release components, including tmux's letter suffix.\n method at-least(TmuxVersion:D $other --> Bool:D) {\n return False unless $!stable && $other.stable;\n for ($!major, $!minor, $!suffix.chars ?? $!suffix.ord !! 0)\n Z ($other.major, $other.minor, $other.suffix.chars ?? $other.suffix.ord !! 0)\n -> ($left, $right) {\n return True if $left > $right;\n return False if $left < $right;\n }\n True\n }\n}\n\n#| Preserve the raw string and reject vendor/development suffixes as unqualified.\nsub parse-tmux-version(Str:D $raw --> TmuxVersion:D) is export {\n my $match = $raw.trim ~~ /^ [ 'tmux' \\s+ ]?\n $=<[0..9]>+ '.' $=<[0..9]>+ $=<[a..z]>? $/;\n return TmuxVersion.new(:$raw) unless $match;\n my $suffix = ~$match;\n my $release = ~$match ~ '.' ~ ~$match ~ $suffix;\n TmuxVersion.new(:$raw, :$release, :stable,\n :major(+$match), :minor(+$match), :$suffix)\n}\n\n#| Immutable source identity for one explicitly supported tmux release.\nclass ReleaseProfile {\n has Str:D $.version is required;\n has Str:D $.commit is required;\n #| Immutable upstream tree for this release's pinned commit.\n method source(--> Str:D) { 'https://github.com/tmux/tmux/tree/' ~ $!commit }\n}\n\n#| One field's acquisition, decoding and portable-query contract.\nclass FieldSpec {\n has Str:D $.entity is required;\n has Str:D $.name is required;\n has Str:D $.wire-name is required;\n has Str:D $.format is required;\n has Str:D $.context is required;\n has Str:D $.kind is required;\n has Bool:D $.nullable is required;\n has Str:D $.decoder is required;\n has List:D $.operators is required;\n has List:D $.pushdown is required;\n has Int $.pushdown-minimum;\n has Int $.pushdown-maximum;\n has Str:D $.pushdown-source = '';\n has Str:D $.since is required;\n has Str:D $.source is required;\n has Str:D $.null-when = '';\n has Str:D $.null-dependency = '';\n}\n\n#| A local graph relationship with an explicit multiplicity and target schema.\nclass RelationSpec {\n has Str:D $.entity is required;\n has Str:D $.name is required;\n has Str:D $.wire-name is required;\n has Str:D $.target is required;\n has Str:D $.cardinality is required;\n has Bool:D $.nullable is required;\n}\n\n#| Availability or a known upstream defect; handling is a policy, not an effect.\nclass CapabilitySpec {\n has Str:D $.id is required;\n has Str:D $.name is required;\n has Str:D $.kind is required;\n has Str:D $.handling is required;\n has Str:D $.reason is required;\n has Str:D $.source is required;\n has Str:D $.since is required;\n has List:D $.releases is required;\n has List:D $.commands is required;\n has List:D $.blocked-by = ().List;\n has Str:D $.fallback = '';\n}\n\n#| One source-qualified option type, scope and operand range.\nclass OptionSpec {\n #| Native option name, without an array index.\n has Str:D $.name is required;\n #| Native operand category used by typed option validation and decoding.\n has Str:D $.kind is required;\n #| First declared support profile using this exact option variant.\n has Str:D $.since is required;\n #| Exclusive ending profile; empty when this variant has no declared end.\n has Str:D $.before = '';\n #| Pinned options-table.c source from which this variant was extracted.\n has Str:D $.source is required;\n #| Permitted server, session, window or pane scopes; membership is read-only.\n has List:D $.scopes is required;\n #| Closed native choice vocabulary; empty for other operand categories.\n has List:D $.choices = ().List;\n #| Whether callers must address individual numeric array elements.\n has Bool:D $.is-array = False;\n #| Whether the option stores hook command lists.\n has Bool:D $.is-hook = False;\n #| Whether string values use tmux style syntax.\n has Bool:D $.is-style = False;\n #| Lowest accepted integer in the option's native units; undefined outside numeric schemas.\n has Int $.minimum;\n #| Highest accepted integer in the option's native units; undefined outside numeric schemas.\n has Int $.maximum;\n}\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Decode.new(:$message, :schema).throw\n}\n\nsub text-value($value, Str:D $label --> Str:D) {\n invalid(\"$label must be nonempty text\") unless $value ~~ Str:D && $value.chars;\n $value.Str\n}\n\nsub string-list($value, Str:D $label --> List:D) {\n invalid(\"$label must be an array\") unless $value ~~ Array:D;\n $value.map({ text-value($_, $label) }).eager.List\n}\n\nsub read-resource(Str:D $name --> Hash:D) {\n my $resource = %?RESOURCES{$name};\n invalid(\"Missing distribution resource $name\") unless $resource.defined;\n my $bytes = $resource.slurp(:bin);\n invalid(\"Oversized distribution resource $name\") if $bytes.elems > 1024 * 1024;\n my $data = from-json($bytes.decode('utf8'));\n invalid(\"Resource $name must contain an object\") unless $data ~~ Hash:D;\n $data\n}\n\n#| Ordered release profiles are the sole source of the floor and CI endpoints.\nclass SupportPolicy {\n #| Read-only profiles in strictly increasing release order, each with pinned source identity.\n has List:D $.releases is required;\n\n #| Oldest declared supported release; no older compatibility is inferred.\n method minimum(--> Str:D) { $!releases[0].version }\n #| Newest declared supported release, independent of unqualified future releases.\n method latest(--> Str:D) { $!releases[*-1].version }\n #| Exact declared profile, or Nil for an undeclared spelling.\n method profile(Str:D $version) { $!releases.first(*.version eq $version) }\n #| Oldest and newest profiles for required CI, deduplicated for a single release.\n method endpoints(--> List:D) {\n $!releases.elems == 1 ?? ($!releases[0],).List\n !! ($!releases[0], $!releases[*-1]).List\n }\n}\n\nsub build-support-policy(--> SupportPolicy:D) {\n my @pins =\n '3.3a' => '0b355ae8114511e1ff6359272b164f1cdf718e80',\n '3.4' => '9ae69c3795ab5ef6b4d760f6398cd9281151f632',\n '3.5' => 'ac44566c9c7e3e94d23be6def4c7ae83472543f5',\n '3.5a' => '549c35b06165f6ae023115eb76f83f2cbf945395',\n '3.6' => '0dac7fe434d029a4f0b819cba8eb7963df291990',\n '3.6a' => 'cc117b5048f77a4842820f8ebbe3a86e5c077224',\n '3.6b' => '0623d1e968423ad0c192e0d8debf1258671063d5',\n '3.7' => '81f88f8517c9fc5371b56cf117530c6b477c96ac',\n '3.7a' => '0e418b62d259ce8da8970f75732cc6632ee4c3a0',\n '3.7b' => 'e802909de06012a4df6209d55e86487c56223163',\n '3.7c' => 'e476c1230b958df0cb12977517d24b3dc931375b',\n '3.8' => '7f2a35ad3321f9ba57a1062ca73b1f3ff26aca53';\n my @releases;\n my TmuxVersion $previous;\n for @pins -> $pin {\n my Str $version = $pin.key;\n my Str $commit = $pin.value;\n my $parsed = parse-tmux-version($version);\n invalid(\"Unstable support release $version\") unless $parsed.stable;\n invalid('Support releases must be strictly increasing')\n if $previous.defined && $previous.at-least($parsed);\n invalid('Invalid source commit') unless $commit ~~ /^ <[0..9a..f]> ** 40 $/;\n @releases.push(ReleaseProfile.new(:$version, :$commit));\n $previous = $parsed;\n }\n SupportPolicy.new(:releases(@releases.map({ $_<> }).List))\n}\n\n#| Return the immutable release policy without reading configuration or contacting tmux.\nsub support-policy(--> SupportPolicy:D) is export {\n state SupportPolicy $policy = build-support-policy();\n $policy\n}\n\n#| Typed schema lookup used by acquisition, local criteria and documentation.\nclass CatalogueData {\n #| Read-only field records across all registered entity schemas.\n has List:D $.all-fields is required;\n #| Read-only graph relation records, independent of snapshot completeness.\n has List:D $.all-relations is required;\n #| Read-only feature and defect policies with upstream provenance.\n has List:D $.all-capabilities is required;\n #| All option variants; use options(release) to select a qualified profile.\n has List:D $.all-options is required;\n\n #| Registered schema names in catalogue order, without duplicates.\n method entities(--> List:D) { $!all-fields.map(*.entity).unique.List }\n #| Whether a schema is registered, without inspecting any captured entities.\n method has-entity(Str:D $entity --> Bool:D) {\n so $!all-fields.first(*.entity eq $entity).defined\n }\n #| Registered field records; an unknown entity schema throws InvalidFilter.\n method fields(Str:D $entity --> List:D) {\n self!require-entity($entity);\n $!all-fields.grep(*.entity eq $entity).List\n }\n #| Registered relation records; an unknown entity schema throws InvalidFilter.\n method relations(Str:D $entity --> List:D) {\n self!require-entity($entity);\n $!all-relations.grep(*.entity eq $entity).List\n }\n #| One field record or Nil; an unknown entity schema throws InvalidFilter.\n method field(Str:D $entity, Str:D $name) {\n self!require-entity($entity);\n $!all-fields.first({ .entity eq $entity && .name eq $name })\n }\n #| One relation record or Nil; an unknown entity schema throws InvalidFilter.\n method relation(Str:D $entity, Str:D $name) {\n self!require-entity($entity);\n $!all-relations.first({ .entity eq $entity && .name eq $name })\n }\n #| Feature policy or Nil; defect identifiers belong to workaround.\n method capability(Str:D $id) {\n $!all-capabilities.first({ .kind eq 'feature' && .id eq $id })\n }\n #| Defect policy or Nil, without claiming that handling has occurred.\n method workaround(Str:D $id) {\n $!all-capabilities.first({ .kind eq 'defect' && .id eq $id })\n }\n #| Active option variants for an exact support profile; empty for an unqualified release.\n method options(Str:D $release --> List:D) {\n return ().List unless support-policy().profile($release).defined;\n my $version = parse-tmux-version($release);\n $!all-options.grep({\n $version.at-least(parse-tmux-version(.since))\n && (!.before.chars || !$version.at-least(parse-tmux-version(.before)))\n }).List\n }\n #| One active option variant, or Nil for an unknown option or unqualified release.\n method option(Str:D $name, Str:D $release) {\n return Nil unless support-policy().profile($release).defined;\n my $version = parse-tmux-version($release);\n $!all-options.first({\n .name eq $name && $version.at-least(parse-tmux-version(.since))\n && (!.before.chars || !$version.at-least(parse-tmux-version(.before)))\n })\n }\n method !require-entity(Str:D $entity --> Nil) {\n X::LibTmux::InvalidFilter.new(:path($entity),\n :message(\"Unknown entity schema $entity\")).throw unless self.has-entity($entity);\n Nil\n }\n}\n\nsub load-catalogue(--> CatalogueData:D) {\n my $raw = read-resource('catalogue.json');\n my $support = support-policy();\n invalid('Unexpected catalogue schema') unless $raw eq 'libtmux.catalogue/v1';\n my @fields; my @relations; my @capabilities; my @options; my %names; my %wires;\n for -> $key {\n invalid(\"Catalogue $key must be an array\") unless $raw{$key} ~~ Array:D;\n }\n for $raw.List -> $row {\n my %copy;\n for -> $key {\n %copy{$key} = text-value($row{$key}, \"field $key\");\n }\n invalid('Invalid field scalar kind') unless %copy\n eq any();\n invalid('Invalid field context') unless %copy\n eq any();\n invalid('Field decoder disagrees with kind') unless %copy eq %copy;\n invalid('Field nullability must be Boolean') unless $row ~~ Bool:D;\n my $key = %copy ~ '.' ~ %copy;\n my $wire = %copy ~ '.' ~ %copy;\n invalid(\"Duplicate field $key\") if %names{$key}++ || %wires{$wire}++;\n my $since = $row // $support.minimum;\n invalid(\"Unknown field release $since\") unless $support.profile($since).defined;\n my $operators = string-list($row, 'field operators');\n my $pushdown = string-list($row, 'field pushdown');\n my @allowed = ;\n @allowed.append() if %copy eq any();\n @allowed.append() if %copy eq 'text';\n @allowed.push('is-null') if $row;\n for $operators.List -> $operator {\n invalid(\"Invalid operator for field $key\")\n unless @allowed.first(* eq $operator).defined;\n }\n for $pushdown.List -> $operator {\n invalid(\"Undeclared pushdown operator for field $key\")\n unless $operators.first(* eq $operator).defined;\n }\n my $minimum = $row // Int;\n my $maximum = $row // Int;\n my $pushdown-source = ($row // '').Str;\n if $pushdown.elems {\n invalid(\"Nullable field cannot use the exact scalar pushdown profile: $key\") if $row;\n invalid(\"Pushdown requires source evidence: $key\") unless $pushdown-source.chars;\n if %copy eq any() {\n invalid(\"Numeric pushdown requires an exact bounded source domain: $key\")\n unless $minimum ~~ Int:D && $minimum !~~ Bool\n && $maximum ~~ Int:D && $maximum !~~ Bool\n && -(2**53 - 1) <= $minimum <= $maximum <= 2**53 - 1;\n }\n }\n @fields.push(FieldSpec.new(|%copy, :$since, :nullable($row),\n :null-when(($row // '').Str),\n :null-dependency(($row // '').Str),\n :$operators, :$pushdown, :pushdown-minimum($minimum),\n :pushdown-maximum($maximum), :$pushdown-source));\n }\n for @fields -> $field {\n invalid('Nullable field requires a declared null policy')\n if $field.nullable && $field.null-when ne 'empty'\n && $field.null-when ne 'not-grouped';\n invalid('Nonnullable field cannot have a null policy')\n if !$field.nullable && $field.null-when.chars;\n if $field.null-when eq 'not-grouped' {\n my $dependency = @fields.first({ .entity eq $field.entity\n && .name eq $field.null-dependency });\n invalid('Null dependency must name a Boolean field in the same entity')\n unless $dependency.defined && $dependency.kind eq 'bool';\n }\n }\n my %entities = @fields.map(*.entity).unique.map({ $_ => True });\n for $raw.List -> $row {\n my %copy;\n for -> $key {\n %copy{$key} = text-value($row{$key}, \"relation $key\");\n }\n invalid('Unknown relation schema') unless (%entities{%copy}:exists)\n && (%entities{%copy}:exists);\n invalid('Invalid relation cardinality') unless %copy eq any();\n invalid('Relation nullability must be Boolean') unless $row ~~ Bool:D;\n my $key = %copy ~ '.' ~ %copy;\n my $wire = %copy ~ '.' ~ %copy;\n invalid(\"Duplicate relation $key\") if %names{$key}++ || %wires{$wire}++;\n @relations.push(RelationSpec.new(|%copy, :nullable($row)));\n }\n my %capabilities;\n for $raw.List -> $row {\n my %copy;\n for -> $key {\n %copy{$key} = text-value($row{$key}, \"capability $key\");\n }\n invalid('Invalid capability kind') unless %copy eq any();\n invalid('Invalid capability handling') unless %copy eq any();\n invalid('Duplicate capability') if %capabilities{%copy}++;\n my $since = $row // (%copy eq 'defect' ?? '' !! $support.minimum);\n my $releases = string-list($row // [], 'capability releases');\n invalid('A defect requires exact affected releases')\n if %copy eq 'defect' && !$releases.elems;\n my @versions = $releases.List;\n @versions.unshift($since) if $since.chars;\n for @versions -> $version {\n invalid(\"Unknown capability release $version\") unless $support.profile($version).defined;\n }\n @capabilities.push(CapabilitySpec.new(|%copy, :$since, :$releases,\n :fallback(($row // '').Str),\n :blocked-by(string-list($row // [], 'capability blockers')),\n :commands(string-list($row, 'capability commands'))));\n }\n for @capabilities -> $spec {\n invalid('Only features may be blocked by defects')\n if $spec.kind ne 'feature' && $spec.blocked-by.elems;\n for $spec.blocked-by.List -> $id {\n my $defect = @capabilities.first(*.id eq $id);\n invalid(\"Unknown blocking defect $id\") unless $defect.defined && $defect.kind eq 'defect';\n }\n invalid('Unknown capability fallback') if $spec.fallback.chars\n && !(%capabilities{$spec.fallback}:exists);\n invalid('Fallback handling requires a named fallback')\n if $spec.handling eq 'fallback' && !$spec.fallback.chars;\n my %seen;\n my $current = $spec;\n while $current.fallback.chars {\n invalid('Cyclic capability fallback') if %seen{$current.id}++;\n $current = @capabilities.first(*.id eq $current.fallback);\n invalid('A defect cannot serve as a fallback') if $current.kind eq 'defect';\n }\n }\n my %option-names;\n for $raw.List -> $row {\n my $name = text-value($row, 'option name');\n invalid('Duplicate option name') if %option-names{$name}++;\n invalid('Option variants must be a nonempty array')\n unless $row ~~ Array:D && $row.elems;\n my $previous;\n for $row.List -> $variant {\n my %copy;\n for -> $key {\n %copy{$key} = text-value($variant{$key}, \"option $key\");\n }\n %copy = ($variant // '').Str;\n invalid('Unknown option kind') unless %copy\n eq any();\n my @versions = %copy;\n @versions.push(%copy) if %copy.chars;\n for @versions -> $release {\n invalid(\"Unknown option release $release\") unless $support.profile($release).defined;\n }\n my $since = parse-tmux-version(%copy);\n invalid('Invalid option version interval') if %copy.chars\n && $since.at-least(parse-tmux-version(%copy));\n invalid('Option variants overlap or are unordered') if $previous.defined\n && (!$previous.before.chars || !$since.at-least(parse-tmux-version($previous.before)));\n my $scopes = string-list($variant, 'option scopes');\n invalid('Invalid option scope') unless $scopes.elems\n && $scopes.all eq any();\n my $choices = string-list($variant // [], 'option choices');\n invalid('Choice option needs its vocabulary') if %copy eq 'choice' && !$choices.elems;\n for -> $flag {\n invalid('Option flags must be Boolean') unless $variant{$flag} ~~ Bool:D;\n %copy{\"is-$flag\"} = $variant{$flag};\n }\n for -> $bound {\n next unless $variant{$bound}:exists;\n invalid('Option bounds must be integers')\n unless $variant{$bound} ~~ Int:D && $variant{$bound} !~~ Bool;\n %copy{$bound} = $variant{$bound};\n }\n invalid('Numeric option requires ordered bounds') if %copy eq 'number'\n && (!%copy.defined || !%copy.defined\n || %copy > %copy);\n $previous = OptionSpec.new(:$name, :$scopes, :$choices, |%copy);\n @options.push($previous);\n }\n }\n CatalogueData.new(:all-fields(@fields.map({ $_<> }).List),\n :all-relations(@relations.map({ $_<> }).List),\n :all-capabilities(@capabilities.map({ $_<> }).List),\n :all-options(@options.map({ $_<> }).List))\n}\n\n#| Return the validated packaged catalogue; no tmux command is executed.\nsub catalogue(--> CatalogueData:D) is export {\n state $catalogue = load-catalogue();\n $catalogue\n}\n","lib/LibTmux/Client.rakumod":"use v6.d;\n\n#| Explicit client-targeted UI commands and immutable menu/template values.\nunit module LibTmux::Client;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Engine;\nuse LibTmux::Command :DEFAULT, :internals;\nuse LibTmux::Transport;\nuse LibTmux::Format;\nuse LibTmux::Operations;\n\nsub text(Str:D $value --> Str:D) {\n invalid-argument('UI values cannot contain NUL') if $value.contains(\"\\0\");\n $value\n}\n\n#| Explicit tmux command-template syntax, including percent substitutions.\nclass CommandTemplate is export {\n #| Unescaped tmux command-template syntax, including native percent placeholders.\n has Str:D $.source is required;\n submethod TWEAK() { text($!source) }\n #| Revalidate replacement source without executing the template.\n method clone(*%changes --> CommandTemplate:D) {\n invalid-argument('Unknown template setting') if %changes.keys.grep(* ne 'source');\n self.WHAT.new(:source(%changes:exists ?? %changes !! $!source))\n }\n}\n\n#| A menu entry. Empty labels are separators; labels retain tmux display styles.\nclass MenuItem is export {\n #| Display text with tmux styles retained; an empty label creates a separator.\n has Str:D $.label is required;\n #| Native tmux key name; empty text leaves the item without a shortcut.\n has Str:D $.key = '';\n #| Command executed on selection; undefined only for a separator.\n has Invocation $.command;\n #| Render an unavailable item whose command cannot be selected.\n has Bool:D $.disabled = False;\n\n submethod TWEAK() {\n text($!label); text($!key);\n invalid-argument('A nonempty menu entry requires an Invocation')\n if $!label.chars && !$!command.defined;\n invalid-argument('Separators cannot have keys, commands or disabled state')\n if !$!label.chars && ($!key.chars || $!command.defined || $!disabled);\n invalid-argument('Use disabled for a menu label beginning with a minus sign')\n if $!label.starts-with('-') && !$!disabled;\n }\n\n #| Revalidate a modified entry, including separator and command consistency.\n method clone(*%changes --> MenuItem:D) {\n my %values = label => $!label, key => $!key, command => $!command, disabled => $!disabled;\n for %changes.kv -> $key, $value {\n invalid-argument(\"Unknown menu setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n}\n\nsub menu-arguments(MenuItem:D $item --> List:D) {\n return ('',).List unless $item.label.chars;\n (($item.disabled && !$item.label.starts-with('-') ?? '-' !! '') ~ literal-format($item.label),\n $item.key, literal-format($item.command.source)).List\n}\n\n#| A value-only client target. No subprocess or connection is retained.\nclass ClientTarget is export {\n #| Socket and executable configuration; no active connection is retained.\n has Endpoint:D $.endpoint is required;\n #| Daemon identity checked before dispatching a client operation.\n has Incarnation:D $.incarnation is required;\n #| Observed client name decoded with utf8-c8 to preserve target bytes.\n has Str:D $.name is required;\n #| Observed client process ID, checked together with name and creation time.\n has Positive:D $.pid is required;\n #| Observed tmux client creation timestamp in Unix seconds.\n has Count:D $.created is required;\n\n submethod TWEAK() {\n invalid-argument('A client name must be nonempty') unless text($!name).chars;\n X::LibTmux::StaleReference.new(:message('Client endpoint and incarnation disagree')).throw\n unless $!endpoint.key eq $!incarnation.endpoint-key;\n }\n\n #| Revalidate changed target values; this performs no existence check or I/O.\n method clone(*%changes --> ClientTarget:D) {\n my %values = endpoint => $!endpoint, incarnation => $!incarnation,\n name => $!name, pid => $!pid, created => $!created;\n for %changes.kv -> $key, $value {\n invalid-argument(\"Unknown client setting $key\") unless %values{$key}:exists;\n %values{$key} = $value;\n }\n self.WHAT.new(|%values)\n }\n\n # cmd_find_client removes one trailing colon before exact name/tty matching.\n method !target(--> Str:D) { $!name ~ ':' }\n\n method !run(Invocation:D $command, Positive:D :$timeout-ms = 10_000,\n Cancellation :$cancel = Cancellation, PaneId :$pane = PaneId,\n Bool:D :$check = True, Bool:D :$retain-session = False --> Promise:D) is single-operation('async') {\n my $deadline = now + $timeout-ms / 1000;\n start {\n my $runtime = Runtime.new(:endpoint($!endpoint), :$timeout-ms);\n LEAVE $runtime.close if $runtime.defined;\n my $caps = operation-capabilities($!incarnation);\n my $projection = Projection.new(:entity,\n :fields(), :capabilities($caps));\n my @clients = $runtime.read($projection, Invocation.new(:argv(['list-clients'])),\n :incarnation($!incarnation), :$cancel, :$deadline);\n my $name = Blob.new($!name.encode('utf8-c8').list);\n my @matching = @clients.grep({ .bytes('name') eqv $name\n && .value('pid') == $!pid && .value('created') == $!created });\n X::LibTmux::StaleReference.new(:message('Observed client is no longer attached')).throw\n unless @matching.elems == 1;\n if $pane.defined {\n my $panes = Projection.new(:entity, :fields(['id']), :capabilities($caps));\n my @rows = $runtime.read($panes, Invocation.new(:argv([\n 'list-panes', '-s', '-t', @matching[0].value('session-id'),\n ])), :incarnation($!incarnation), :$cancel, :$deadline);\n X::LibTmux::StaleReference.new(\n :message('UI pane is absent from the client session')).throw\n unless @rows.first(*.value('id') eq $pane).defined;\n }\n my $dispatch = $retain-session ?? Invocation.new(:argv([\n |$command.argv, '-t', @matching[0].value('session-id'),\n ])) !! $command;\n $runtime.execute($dispatch, :incarnation($!incarnation), :$cancel, :$deadline, :$check)\n }\n }\n\n #| Display literal FORMAT/time text; tmux still interprets display styles.\n method display-message(Str:D $message, PaneId:D :$pane!, Count :$duration-ms = Count,\n Bool:D :$print = False, *%operation --> Result:D) is single-operation {\n my @argv = 'display-message', '-c', self!target, '-t', $pane;\n @argv.append('-d', $duration-ms.Str) if $duration-ms.defined;\n @argv.push('-p') if $print;\n @argv.append('--', literal-format(text($message)).subst('%', '#{a:37}', :g));\n await self!run(Invocation.new(:argv(@argv)), :$pane, |%operation)\n }\n\n #| Evaluate explicit FORMAT and strftime syntax in an existing pane context.\n method display-format(Str:D $format, PaneId:D :$pane!, Bool:D :$print = True,\n *%operation --> Result:D) is single-operation {\n my @argv = 'display-message', '-c', self!target, '-t', $pane;\n @argv.push('-p') if $print;\n @argv.append('-F', text($format));\n await self!run(Invocation.new(:argv(@argv)), :$pane, |%operation)\n }\n\n #| Show a menu. Completion follows tmux's command lifecycle, not rendering proof.\n method menu-async(Positional:D $items, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str:D :$x = 'C', Str:D :$y = 'C',\n Bool:D :$stay-open = False, Bool:D :$mouse = False,\n Str :$style = Str, Str :$border-style = Str,\n Str :$selected-style = Str, Str :$border-lines = Str,\n Count :$starting-choice = Count, *%operation --> Promise:D) is single-operation('async') {\n invalid-argument('A menu requires one or more finite entries')\n if $items.iterator.is-lazy;\n my @argv = 'display-menu', '-c', self!target, '-t', $pane,\n '-T', literal-format(text($title)), '-x', text($x), '-y', text($y);\n my $caps = operation-capabilities($!incarnation);\n $caps.require('menu-appearance') if $style.defined || $border-style.defined\n || $selected-style.defined || $border-lines.defined || $starting-choice.defined;\n $caps.require('menu-mouse') if $mouse;\n @argv.append('-s', text($style)) if $style.defined;\n @argv.append('-S', text($border-style)) if $border-style.defined;\n @argv.append('-H', text($selected-style)) if $selected-style.defined;\n @argv.append('-b', text($border-lines)) if $border-lines.defined;\n @argv.append('-C', $starting-choice.Str) if $starting-choice.defined;\n @argv.push('-M') if $mouse;\n @argv.push('-O') if $stay-open;\n @argv.push('--');\n my $count = 0;\n for $items -> $item {\n invalid-argument('A menu accepts at most 256 MenuItem values')\n unless ++$count <= 256 && $item.^isa(MenuItem) && $item.defined;\n @argv.append(menu-arguments($item));\n }\n invalid-argument('A menu requires one or more entries') unless $count;\n self!run(Invocation.new(:argv(@argv)), :$pane, :$timeout-ms, |%operation)\n }\n\n #| Start an explicitly supplied shell command in a popup; wait asynchronously.\n method popup-async(Str:D :$shell-command!, PaneId:D :$pane!, Positive:D :$timeout-ms!,\n Str:D :$title = '', Str :$directory = Str,\n Positive :$width = Positive, Positive :$height = Positive,\n Str:D :$x = 'C', Str:D :$y = 'C',\n Str:D :$close = 'exit', Bool:D :$border = True,\n Bool:D :$close-on-key = False, Bool:D :$reset-flags = False,\n *%operation --> Promise:D) is single-operation('async') {\n invalid-argument('Popup close must be exit, success or manual')\n unless $close eq any();\n my @argv = 'display-popup', '-c', self!target, '-t', $pane,\n '-T', literal-format(text($title)), '-x', text($x), '-y', text($y);\n @argv.append('-w', $width.Str) if $width.defined;\n @argv.append('-h', $height.Str) if $height.defined;\n @argv.append('-d', literal-format(text($directory))) if $directory.defined;\n @argv.push('-B') unless $border;\n my $caps = operation-capabilities($!incarnation);\n if $close-on-key { $caps.require('popup-close-on-key'); @argv.push('-k') }\n if $reset-flags { $caps.require('popup-reset-flags'); @argv.push('-N') }\n @argv.append(('-E') xx ($close eq 'success' ?? 2 !! 1)) unless $close eq 'manual';\n @argv.append('--', text($shell-command));\n self!run(Invocation.new(:argv(@argv)), :$pane, :$timeout-ms, |%operation)\n }\n\n #| Explicitly remove the current popup/overlay, including one left after timeout.\n method close-popup(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['display-popup', '-C', '-c', self!target])), |%operation)\n }\n\n #| Prompt with explicit tmux template syntax. Commas separate prompts and inputs.\n method prompt-async(CommandTemplate:D $template, Positive:D :$timeout-ms!,\n Str:D :$prompts = ':', Str:D :$inputs = '',\n Str:D :$mode = 'text', Str:D :$type = 'command',\n Bool:D :$literal-commas = False,\n *%operation --> Promise:D) is single-operation('async') {\n my %modes = text => '', single => '-1', numeric => '-N', key => '-k';\n invalid-argument('Prompt mode must be text, single, numeric or key')\n unless %modes{$mode}:exists;\n my @argv = 'command-prompt', '-t', self!target, '-p', literal-format(text($prompts)),\n '-I', literal-format(text($inputs)), '-T', text($type);\n @argv.push(%modes{$mode}) if %modes{$mode}.chars;\n if $literal-commas {\n operation-capabilities($!incarnation).require('prompt-literal-commas');\n @argv.push('-l');\n }\n @argv.append('--', $template.source);\n self!run(Invocation.new(:argv(@argv)), :$timeout-ms, |%operation)\n }\n\n #| Ask confirmation before one Invocation. A refusal is returned as a Result.\n method confirm-async(Invocation:D $command, Positive:D :$timeout-ms!,\n Str:D :$prompt = 'Confirm? (y/n)', *%operation --> Promise:D) is single-operation('async') {\n self!run(Invocation.new(:argv(['confirm-before', '-t', self!target,\n '-p', literal-format(text($prompt)), '--', $command.source])),\n :$timeout-ms, :!check, |%operation)\n }\n\n #| Enter a pane mode shared by every client viewing that pane.\n method choose(Str:D $kind, PaneId:D :$pane!, Str :$format = Str,\n Str :$filter = Str, Str :$key-format = Str, Str :$sort = Str,\n Bool:D :$reverse = False, Bool:D :$zoom = False,\n Bool:D :$preview = True, CommandTemplate :$template = CommandTemplate,\n *%operation --> Result:D) is single-operation {\n my %commands = tree => 'choose-tree', client => 'choose-client',\n buffer => 'choose-buffer', customize => 'customize-mode';\n invalid-argument('Choose kind must be tree, client, buffer or customize')\n unless %commands{$kind}:exists;\n invalid-argument('Customize mode has no key format, sort or command template')\n if $kind eq 'customize' && ($key-format.defined || $sort.defined || $reverse || $template.defined);\n my @argv = %commands{$kind}, '-t', $pane;\n @argv.append('-F', text($format)) if $format.defined;\n @argv.append('-f', text($filter)) if $filter.defined;\n @argv.append('-K', text($key-format)) if $key-format.defined;\n @argv.append('-O', text($sort)) if $sort.defined;\n @argv.push('-r') if $reverse;\n @argv.push('-Z') if $zoom;\n @argv.push('-N') unless $preview;\n @argv.append('--', $template.source) if $template.defined;\n await self!run(Invocation.new(:argv(@argv)), :$pane, |%operation)\n }\n\n #| Open the native finder using tmux match/FORMAT syntax, not literal substring data.\n method find-window(Str:D $pattern, PaneId:D :$pane!, Bool:D :$content = True,\n Bool:D :$names = True, Bool:D :$titles = True,\n Bool:D :$regex = False, Bool:D :$ignore-case = False,\n Bool:D :$zoom = False, *%operation --> Result:D) is single-operation {\n invalid-argument('Find-window requires at least one search area')\n unless $content || $names || $titles;\n my @argv = 'find-window', '-t', $pane;\n @argv.push('-C') if $content;\n @argv.push('-N') if $names;\n @argv.push('-T') if $titles;\n @argv.push('-r') if $regex;\n @argv.push('-i') if $ignore-case;\n @argv.push('-Z') if $zoom;\n @argv.append('--', text($pattern));\n await self!run(Invocation.new(:argv(@argv)), :$pane, |%operation)\n }\n\n #| Display pane numbers, with an optional explicit tmux selection template.\n method display-panes-async(Positive:D :$timeout-ms!, Count :$duration-ms = Count,\n Bool:D :$select = True,\n CommandTemplate :$template = CommandTemplate,\n *%operation --> Promise:D) is single-operation('async') {\n my @argv = 'display-panes', '-t', self!target;\n @argv.append('-d', $duration-ms.Str) if $duration-ms.defined;\n @argv.push('-N') unless $select;\n @argv.append('--', $template.source) if $template.defined;\n self!run(Invocation.new(:argv(@argv)), :$timeout-ms, |%operation)\n }\n\n #| Refresh the display, status, or viewport using one explicit action.\n method refresh(Str:D :$part = 'all', Positive :$amount = Positive,\n *%operation --> Result:D) is single-operation {\n my %flags = all => '', status => '-S', reset => '-c',\n left => '-L', right => '-R', up => '-U', down => '-D';\n invalid-argument('Unknown refresh action') unless %flags{$part}:exists;\n invalid-argument('An adjustment requires a viewport direction')\n if $amount.defined && $part ne any();\n my @argv = 'refresh-client', '-t', self!target;\n @argv.push(%flags{$part}) if %flags{$part}.chars;\n @argv.push($amount.Str) if $amount.defined;\n await self!run(Invocation.new(:argv(@argv)), |%operation)\n }\n\n #| Request detachment of this exact observed client. Completion is not exit proof.\n method detach(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['detach-client', '-t', self!target])), |%operation)\n }\n\n #| Suspend the client's terminal process through tmux.\n method suspend(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['suspend-client', '-t', self!target])), |%operation)\n }\n\n #| Invoke the configured lock command for this client.\n method lock(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['lock-client', '-t', self!target])), |%operation)\n }\n\n #| Switch session by ID. Updating the session environment is opt-in.\n method switch(SessionId:D $session, Bool:D :$update-environment = False,\n Bool:D :$keep-zoom = False, *%operation --> Result:D) is single-operation {\n my @argv = 'switch-client', '-c', self!target, '-t', $session;\n @argv.push('-E') unless $update-environment;\n @argv.push('-Z') if $keep-zoom;\n await self!run(Invocation.new(:argv(@argv)), |%operation)\n }\n\n #| Select an existing key table; its name is passed without FORMAT expansion.\n method key-table(Str:D $table, *%operation --> Result:D) is single-operation {\n invalid-argument('A key table name cannot be empty') unless text($table).chars;\n await self!run(Invocation.new(:argv(['switch-client', '-c', self!target,\n '-T', $table])), |%operation)\n }\n\n #| Switch relative to this client's current/previous session.\n method switch-relative(Str:D $direction, *%operation --> Result:D) is single-operation {\n my %flags = next => '-n', previous => '-p', last => '-l';\n invalid-argument('Relative session must be next, previous or last')\n unless %flags{$direction}:exists;\n await self!run(Invocation.new(:argv(['switch-client', '-c', self!target,\n '-E', %flags{$direction}])), |%operation)\n }\n\n #| Toggle read-only and ignore-size flags while retaining the observed session.\n method toggle-read-only(*%operation --> Result:D) is single-operation {\n await self!run(Invocation.new(:argv(['switch-client', '-c', self!target, '-r', '-E', '-Z'])),\n :retain-session, |%operation)\n }\n\n #| Return raw prompt-history output, without claiming newline-safe entry framing.\n method prompt-history(Str :$type = Str, *%operation --> Blob:D) is single-operation {\n my @argv = 'show-prompt-history';\n @argv.append('-T', text($type)) if $type.defined;\n (await self!run(Invocation.new(:argv(@argv)), |%operation)).stdout\n }\n\n #| Clear the daemon's selected prompt history; it is shared across clients.\n method clear-prompt-history(Str :$type = Str, *%operation --> Result:D) is single-operation {\n my @argv = 'clear-prompt-history';\n @argv.append('-T', text($type)) if $type.defined;\n await self!run(Invocation.new(:argv(@argv)), |%operation)\n }\n}\n\n=begin pod\n=head1 Client commands\n\nClientTarget retains endpoint and daemon identity values only. Each operation\nlists clients and checks the observed name, process ID and creation time before\ndispatch. tmux exposes no permanent client ID: disconnect and name reuse between\nthis check and the command remain possible. The daemon fence does not make that\ncheck atomic. A client target never silently selects a current client.\nThe read-only toggle follows tmux's paired read-only/ignore-size flag behavior;\nit retains the observed session and suppresses environment updates.\n\nPane-context UI methods require an explicit pane belonging to the client's\ncurrent session. This avoids display-message's missing-target fallback. Pane\nmodes are shared by every client viewing that pane, not private UI state.\n\nMenu, prompt, popup and pane-number methods return Promises and require an\nexplicit timeout in milliseconds. Human interaction may outlast that budget.\nCancellation or timeout stops the command client; it does not retract an overlay\nor command already submitted. Use close-popup explicitly when appropriate.\nResults describe command completion, not rendered pixels or a human response.\n\nLiteral messages disable FORMAT and strftime interpolation. tmux display styles\nstill apply. Menu labels retain display styles and leading-minus disabled-entry\nsemantics. CommandTemplate deliberately exposes tmux template syntax and percent\nsubstitutions; it is never compiled as Raku. Popup shell-command deliberately\nrequests shell execution. Other commands use argv and the shared tmux encoder.\n=end pod\n","lib/LibTmux/Command.rakumod":"use v6.d;\n\nunit module LibTmux::Command;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Command.new(:$message, :kind, :outcome(NotStarted)).throw\n}\n\n# Internal admission for role protos, which must specialize before typed dispatch.\nsub admit-operation(Capture:D $capture, :%named = {}, Bool:D :$forwarded = False --> Nil)\n is export(:internals) {\n for $capture.list -> Mu $value {\n invalid('An operation argument must be one value, not a Junction')\n if $value.^isa(Junction);\n }\n for $capture.hash.kv -> $name, Mu $value {\n invalid('An operation argument must be one value, not a Junction')\n if $value.^isa(Junction);\n invalid(\"Unknown operation argument $name\")\n unless $forwarded || (%named{$name}:exists);\n }\n}\n\n#| Reject implicit operation fan-out and misspelled settings before native binding.\nmulti sub trait_mod:(Routine:D $routine, Mu :$single-operation!) is export(:internals) {\n my Bool $async = $single-operation ~~ Str:D && $single-operation eq 'async';\n invalid('single-operation accepts only its default or async mode')\n unless $single-operation === True || $async;\n my $parameters = $routine.signature.params;\n my Bool $forwarded = $parameters.first({ .slurpy && .named && .name ne '%_' }).defined;\n my %named = $parameters.grep(*.named).map(*.named_names).flat.map({ $_ => True });\n $routine.wrap(sub (|capture) {\n my Exception $failure;\n try {\n admit-operation(capture, :%named, :$forwarded);\n CATCH { default { $failure = $_ } }\n }\n if $failure.defined { return $async ?? Promise.broken($failure) !! $failure.throw }\n if $async {\n my $value;\n try { $value = callsame; CATCH { default { $failure = $_ } } }\n return $failure.defined ?? Promise.broken($failure) !! $value;\n }\n callsame\n });\n}\n\nsub quote(Str:D $value --> Str:D) {\n my @pieces;\n for $value.encode('utf8-c8').list -> $byte {\n @pieces.push(32 <= $byte <= 126 && $byte != any(34, 92, 36, 126)\n ?? $byte.chr !! '\\\\' ~ $byte.fmt('%03o'));\n }\n '\"' ~ @pieces.join ~ '\"'\n}\n\n#| One copied tmux command with distinct argv and command-language encodings.\nclass Invocation is export {\n has List:D $!argv = ().List;\n has Str:D $!source = '';\n\n submethod BUILD(Mu :$argv!, Mu :$max-bytes = 12 * 1024, *%unknown) {\n invalid('Unknown command setting ' ~ %unknown.keys.sort.join(', ')) if %unknown;\n invalid('Command size limit must be a positive integer')\n if $max-bytes.^isa(Junction) || $max-bytes !~~ Positive:D;\n invalid('A command needs a nonempty argument vector')\n if $argv.^isa(Junction) || $argv !~~ Positional:D || !$argv.elems;\n my @copied;\n for $argv.list -> Mu $argument {\n invalid('Command arguments must be defined strings')\n if $argument.^isa(Junction) || $argument !~~ Str:D;\n invalid('Command arguments cannot contain NUL') if $argument.contains(\"\\0\");\n @copied.push($argument.Str);\n }\n invalid('Command name cannot be empty') unless @copied[0].chars;\n $!argv = @copied.map(-> $value { $value }).eager.List;\n $!source = $!argv.map("e).join(' ');\n invalid('Encoded command exceeds its byte limit')\n if $!source.encode('utf8-c8').elems > $max-bytes;\n }\n\n #| Original literal values, detached from the caller's membership containers.\n method argv(--> List:D) { $!argv }\n\n #| Protect literal final semicolons from tmux's OS-argv command separator.\n method as-argv(--> List:D) {\n $!argv.map({ .ends-with(';') ?? .substr(0, .chars - 1) ~ '\\;' !! $_ }).List\n }\n\n #| A bounded tmux command string, with no shell expansion or Raku evaluation.\n method source(--> Str:D) { $!source }\n}\n\n=begin pod\n=head1 Interpretation boundaries\n\nInvocation encodes a tmux command, not a shell command or a FORMAT literal.\nDouble quoting alone does not suppress tmux tilde expansion. Exact octal\nescapes preserve quotes, backslashes, dollars, tildes, controls and high bytes.\nThe encoded size limit applies after expansion and before dispatch.\n\nEngine code inserts command separators deliberately between Invocation values;\nliteral semicolons inside their argument values remain data. Commands which\ninterpret FORMAT syntax require an additional command-specific policy.\n\n=head1 Single-operation admission\n\nEffectful entry points use C to reject Junction arguments\nbefore Raku can autothread a typed method into several operations. Unknown named\narguments are rejected unless the method explicitly forwards a slurpy options\nhash; the receiving operation validates those forwarded names. Nested command\noperands remain the responsibility of Invocation and the command's validators.\nNative signatures, defaults and constraints retain their normal binding rules.\nAn effectful multi must guard its explicit proto, since candidate dispatch can\nautothread before a wrapper on an individual candidate runs.\nRole methods use capture admission in the proto body before typed candidate\ndispatch. Wrapping an unspecialized role method loses its private-method context\nafter precompilation on the pinned compiler.\n\nC returns one broken Promise for rejected input or\na synchronous exception from the method. Junctions and unknown names produce\nC with C argument and C NotStarted. Native\nbinding errors and exceptions from the body retain their types. An accepted\nmethod's Promise passes through unchanged. Portable query validation keeps its\nown C policy, while local selections retain native Junction\nmatching.\n=end pod\n","lib/LibTmux/Configuration.rakumod":"use v6.d;\n\nunit module LibTmux::Configuration;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\nuse LibTmux::Catalogue;\nuse LibTmux::Capabilities;\nuse LibTmux::Command :DEFAULT, :internals;\nuse LibTmux::Engine;\nuse LibTmux::Transport;\nuse LibTmux::Operations;\nuse LibTmux::Format :DEFAULT, :internal;\n\nsub bad(Str:D $message, Str:D :$field = '' --> Nil) {\n X::LibTmux::Decode.new(:$message, :schema, :$field).throw\n}\nsub text-argument($text, Str:D $label, Bool :$empty = False --> Str:D) {\n invalid-argument(\"$label must be defined text without NUL\")\n unless $text ~~ Str:D && !$text.contains(\"\\0\") && ($empty || $text.chars);\n $text.Str\n}\nsub record-bytes(Blob:D $output, Str:D $repair --> List:D) {\n my @rows; my $start = 0;\n for ^$output.elems -> $i {\n next unless $output[$i] == 10;\n @rows.push(decode-command-output($output.subbuf($start, $i - $start), :$repair));\n $start = $i + 1;\n }\n bad('Truncated command output record') unless $start == $output.elems;\n @rows.List\n}\n\nrole Scoped {\n #| Captured connection settings; retaining them owns no process.\n has Endpoint:D $.endpoint is required;\n #| Captured daemon identity used to reject references after replacement.\n has Incarnation:D $.incarnation is required;\n has Str:D $.scope = 'server';\n has Str:D $.target = '';\n has Bool:D $.global = False;\n has Positive:D $.timeout-ms = 10_000;\n #| Combined output-byte limit for one owned command response.\n has Positive:D $.max-output-bytes = 8 * 1024 * 1024;\n #| Maximum encoded command size in bytes, including tmux quoting.\n has Positive:D $.max-command-bytes = 12 * 1024;\n\n submethod TWEAK() {\n invalid-argument('Configuration endpoint and incarnation disagree')\n unless $!endpoint.key eq $!incarnation.endpoint-key;\n invalid-argument('Unknown configuration scope')\n unless $!scope eq any();\n invalid-argument('Global configuration has no object target')\n if $!global && ($!target.chars || $!scope eq any());\n unless $!global {\n my $valid = do given $!scope {\n when 'server' { !$!target.chars }\n when 'session' { so $!target ~~ SessionId }\n when 'window' { so $!target ~~ WindowId }\n when 'pane' { so $!target ~~ PaneId }\n };\n invalid-argument('Configuration target has the wrong identity type') unless $valid;\n }\n }\n #| Copy endpoint, scope and limits through constructor validation.\n method clone(*%changes) {\n my %arguments = endpoint => $!endpoint, incarnation => $!incarnation,\n scope => $!scope, target => $!target, global => $!global,\n timeout-ms => $!timeout-ms, max-output-bytes => $!max-output-bytes,\n max-command-bytes => $!max-command-bytes;\n for %changes.kv -> $name, $value {\n invalid-argument(\"Unknown configuration setting $name\") unless %arguments{$name}:exists;\n %arguments{$name} = $value;\n }\n self.WHAT.new(|%arguments)\n }\n method !capabilities() { operation-capabilities($!incarnation) }\n method !scope-flags(--> List:D) {\n my @flags;\n @flags.push('-s') if $!scope eq 'server';\n @flags.push('-w') if $!scope eq 'window';\n @flags.push('-p') if $!scope eq 'pane';\n @flags.push('-g') if $!global;\n @flags.append('-t', $!target) if $!target.chars;\n @flags.List\n }\n method !with-runtime(&body) {\n my $deadline = now + $!timeout-ms / 1000;\n self!capabilities.require('managed-commands');\n my $runtime = Runtime.new(:endpoint($!endpoint), :timeout-ms($!timeout-ms),\n :max-output-bytes($!max-output-bytes), :max-command-bytes($!max-command-bytes));\n LEAVE $runtime.close if $runtime.defined;\n my $value = body($runtime, $deadline);\n X::LibTmux::Command.new(:kind, :outcome(Complete),\n :message('Configuration decoding exceeded the operation deadline')).throw\n if now >= $deadline;\n $value<>\n }\n method !execute(@argv, Blob:D :$stdin = Blob.new, Bool :$check = True,\n :&decode = -> $result { $result }) {\n my $command = Invocation.new(:@argv, :max-bytes($!max-command-bytes));\n self!with-runtime(-> $runtime, $deadline {\n decode($runtime.execute($command, :incarnation($!incarnation), :$stdin, :$check, :$deadline))\n })\n }\n}\n\n#| One observed option value. The source schema determines its native scalar type.\nclass OptionValue is export {\n #| Exact observed resource or option name.\n has Str:D $.name is required;\n #| Array member index; undefined for a scalar option.\n has Int $.index;\n #| Whether the effective value came from an ancestor option scope.\n has Bool:D $.inherited = False;\n #| Decoded native option value; its type follows the option catalogue.\n has Mu $.value is required;\n}\n\nsub option-value($spec, Blob:D $bytes) {\n my $text = $bytes.decode('utf8-c8');\n given $spec.kind {\n when 'flag' {\n bad('Invalid option flag', :field($spec.name)) unless $text eq any();\n $text eq 'on'\n }\n when 'number' {\n bad('Invalid option integer', :field($spec.name)) unless $text ~~ /^ '-'? <[0..9]>+ $/;\n bad('Option integer is outside its declared range', :field($spec.name))\n unless $spec.minimum <= $text.Int <= $spec.maximum;\n $text.Int\n }\n when 'choice' {\n bad('Option choice is outside the declared profile', :field($spec.name))\n unless $spec.choices.first(* eq $text).defined;\n $text\n }\n when 'string' { decode-argument-token($bytes).decode('utf8-c8') }\n default { $text }\n }\n}\n\nsub option-entries(Blob:D $output, Str:D $repair, &describe --> List:D) {\n my @entries;\n for record-bytes($output, $repair) -> $row {\n my $text = $row.decode('utf8-c8');\n my $head = $text ~~ /^ $=[ <-[\\[\\*\\s]>+ ]\n [ '[' $=<[0..9]>+ ']' ]? $='*'? [ ' ' $=.* ]? $/;\n bad('Malformed option output') unless $head;\n my $field = ~$head;\n my $spec = describe($field);\n next unless $head.defined;\n my $offset = $head.from;\n my $prefix = $text.substr(0, $offset).encode('utf8-c8').elems;\n my $value = option-value($spec, $row.subbuf($prefix));\n @entries.push(OptionValue.new(:name($field),\n :index($head.defined ?? +$head !! Int),\n :inherited(so $head.chars), :$value));\n }\n @entries.List\n}\n\n#| Typed native options. Reads and writes are explicit daemon operations.\nclass Options does Scoped is export {\n #| Inspect the source-qualified schema locally; user options have text values.\n method describe(Str:D $name --> LibTmux::Catalogue::OptionSpec:D) {\n self!capabilities.require('managed-commands');\n if $name ~~ /^ '@' <[A..Za..z0..9_\\-]>+ $/ {\n return LibTmux::Catalogue::OptionSpec.new(:$name, :kind,\n :since(support-policy().minimum), :scopes((self.scope,).List),\n :source(support-policy().profile(self.incarnation.daemon-version).source\n .subst('/tree/', '/blob/') ~ '/options.c'));\n }\n my $spec = catalogue().option($name, self.incarnation.daemon-version);\n X::LibTmux::Unsupported.new(:feature(\"option:$name\"), :state(NotSupported),\n :reason('Option is absent from the declared daemon profile'),\n :message(\"Unknown or unavailable option $name\")).throw unless $spec.defined;\n invalid-argument(\"Option $name does not belong to scope {self.scope}\")\n unless $spec.scopes.first(* eq self.scope).defined;\n $spec\n }\n #| Read values, array indices and inherited provenance as captured entries.\n method entries(Str :$name, Bool :$effective = True --> List:D) is single-operation {\n CATCH {\n when X::LibTmux::Command {\n return ().List if $name.defined && $name.starts-with('@')\n && .kind eq 'exit' && .exitcode == 1 && !.signal && !.stdout.elems\n && .stderr.list eqv \"invalid option: $name\\n\".encode.list;\n .rethrow\n }\n }\n self.describe($name) if $name.defined;\n my @argv = 'show-options', |self!scope-flags;\n @argv.push('-A') if $effective;\n @argv.push($name) if $name.defined;\n self!execute(@argv, :decode(-> $result {\n option-entries($result.stdout, self!capabilities.output-repair,\n -> $field { self.describe($field) })\n }))\n }\n #| Read a native scalar, an array Map, or Nil for an absent local value/member.\n method get(Str:D $name, Int :$index, Bool :$effective = True) is single-operation {\n my $spec = self.describe($name);\n invalid-argument('Array index must be nonnegative and refer to an array')\n if $index.defined && ($index !~~ Count || !$spec.is-array);\n my @entries = self.entries(:$name, :$effective);\n if $spec.is-array && !$index.defined {\n return Map.new(@entries.map({ .index => .value }));\n }\n my $entry = $index.defined ?? @entries.first({ .index.defined && .index == $index })\n !! @entries.first;\n $entry.defined ?? $entry.value !! Nil\n }\n #| Validate a typed value and set one scalar or explicitly indexed array member.\n method set(Str:D $name, $value, Int :$index --> Result:D) is single-operation {\n my $spec = self.describe($name);\n invalid-argument('Array options require an explicit nonnegative index')\n if $spec.is-array && (!$index.defined || $index !~~ Count);\n invalid-argument('Scalar options cannot have an array index') if !$spec.is-array && $index.defined;\n my Str $argument = do given $spec.kind {\n when 'flag' {\n invalid-argument('Flag option requires Bool') unless $value ~~ Bool:D;\n $value ?? 'on' !! 'off'\n }\n when 'number' {\n invalid-argument('Numeric option requires an integer in its declared range')\n unless $value ~~ Int:D && $value !~~ Bool\n && $spec.minimum <= $value <= $spec.maximum;\n $value.Str\n }\n when 'choice' {\n invalid-argument('Choice option requires a declared text value')\n unless $value ~~ Str:D && $spec.choices.first(* eq $value).defined;\n $value\n }\n when 'command' {\n invalid-argument('Command option requires Invocation') unless $value ~~ Invocation:D;\n $value.source\n }\n default { text-argument($value, 'Option value', :empty) }\n };\n my $key = $name ~ ($index.defined ?? \"[$index]\" !! '');\n self!execute(['set-option', |self!scope-flags, '--', $key, $argument])\n }\n #| Remove a local value or array member; tmux's inherited/default value may remain.\n method unset(Str:D $name, Int :$index --> Result:D) is single-operation {\n my $spec = self.describe($name);\n invalid-argument('Option index must be nonnegative and refer to an array')\n if $index.defined && (!$spec.is-array || $index !~~ Count);\n self!execute(['set-option', |self!scope-flags, '-u', '--',\n $name ~ ($index.defined ?? \"[$index]\" !! '')])\n }\n #| Explicit schema escape hatch. tmux validates the option and interprets its value.\n method set-raw(Str:D $name, Str:D $value --> Result:D) is single-operation {\n text-argument($name, 'Raw option name'); text-argument($value, 'Raw option value', :empty);\n self!execute(['set-option', |self!scope-flags, '--', literal-format($name), $value])\n }\n #| Read raw native output for an option outside the declared typed schema.\n method get-raw(Str:D $name --> Blob:D) is single-operation {\n text-argument($name, 'Raw option name');\n self!execute(['show-options', |self!scope-flags, '-v', '--', literal-format($name)]).stdout\n }\n}\n\n#| Environment absence and an explicit removed marker are different states.\nclass EnvironmentValue is export {\n #| Exact observed resource or option name.\n has Str:D $.name is required;\n #| Captured environment bytes, preserved separately from text conversion.\n has Blob:D $.bytes = Blob.new;\n #| Whether tmux marks this variable for removal from child environments.\n has Bool:D $.removed = False;\n #| Whether this entry belongs to the explicitly requested hidden environment.\n has Bool:D $.hidden = False;\n submethod TWEAK() { $!bytes = Blob.new($!bytes.list) }\n #| Decode captured bytes losslessly, or return Nil for an explicit removed marker.\n method value() { $!removed ?? Nil !! $!bytes.decode('utf8-c8') }\n #| Revalidate copies and detach mutable byte input.\n method clone(*%changes) {\n my %arguments = name => $!name, bytes => $!bytes, removed => $!removed, hidden => $!hidden;\n for %changes.kv -> $key, $value {\n invalid-argument(\"Unknown environment value field $key\") unless %arguments{$key}:exists;\n %arguments{$key} = $value;\n }\n self.WHAT.new(|%arguments)\n }\n}\n\nsub environment-name($name --> Str:D) {\n text-argument($name, 'Environment name');\n invalid-argument('Environment names must use the portable variable alphabet')\n unless $name ~~ /^ <[A..Za..z_]> <[A..Za..z0..9_]>* $/;\n $name\n}\n\n\n#| Internal decoder for native show-environment -s output; never evaluates shell text.\nsub decode-environment(Blob:D $output, Str:D $repair, Bool:D $hidden --> List:D)\n is export(:internal) {\n my $bytes = Buf.new;\n for record-bytes($output, $repair) -> $row { $bytes.append($row); $bytes.push(10) }\n my @values; my int $i = 0;\n while $i < $bytes.elems {\n my $start = $i;\n if $i + 6 <= $bytes.elems\n && $bytes[$i] == 117 && $bytes[$i + 1] == 110\n && $bytes[$i + 2] == 115 && $bytes[$i + 3] == 101\n && $bytes[$i + 4] == 116 && $bytes[$i + 5] == 32 {\n $i += 6;\n my $name-start = $i;\n $i++ while $i < $bytes.elems && $bytes[$i] != 59;\n bad('Truncated removed environment entry')\n unless $i + 1 < $bytes.elems && $bytes[$i + 1] == 10;\n my $name = $bytes.subbuf($name-start, $i - $name-start).decode('utf8-c8');\n bad('Malformed environment variable name', :field($name))\n unless $name ~~ /^ <[A..Za..z_]> <[A..Za..z0..9_]>* $/;\n @values.push(EnvironmentValue.new(:$name, :removed, :$hidden));\n $i += 2;\n } else {\n $i++ while $i < $bytes.elems && $bytes[$i] != 61;\n bad('Truncated environment assignment')\n unless $i + 1 < $bytes.elems && $bytes[$i + 1] == 34;\n my $name = $bytes.subbuf($start, $i - $start).decode('utf8-c8');\n bad('Malformed environment variable name', :field($name))\n unless $name ~~ /^ <[A..Za..z_]> <[A..Za..z0..9_]>* $/;\n $i += 2;\n my $value = Buf.new;\n loop {\n bad('Unclosed environment value') if $i >= $bytes.elems;\n my $byte = $bytes[$i++];\n last if $byte == 34;\n if $byte == 92 {\n bad('Truncated environment escape') if $i >= $bytes.elems;\n $byte = $bytes[$i++];\n bad('Unknown environment escape') unless $byte == any(36, 96, 34, 92);\n }\n $value.push($byte);\n }\n my $suffix = \"; export $name;\\n\".encode;\n bad('Malformed environment export suffix')\n unless $i + $suffix.elems <= $bytes.elems\n && $bytes.subbuf($i, $suffix.elems).list eqv $suffix.list;\n $i += $suffix.elems;\n @values.push(EnvironmentValue.new(:$name, :bytes($value), :$hidden));\n }\n }\n @values.List\n}\n\n#| Session or global environment, including hidden and removed entries.\nclass Environment does Scoped is export {\n method !flags(--> List:D) {\n invalid-argument('Environment scope must be server or session')\n unless self.scope eq any();\n self.scope eq 'server' || self.global ?? ('-g',).List !! ('-t', self.target).List\n }\n #| Capture normal entries, or only hidden entries when requested explicitly.\n method list(Bool :$hidden = False --> List:D) is single-operation {\n my @argv = 'show-environment', '-s', |self!flags;\n @argv.push('-h') if $hidden;\n self!execute(@argv, :decode(-> $result {\n decode-environment($result.stdout, self!capabilities.output-repair, $hidden)\n }))\n }\n #| Find a captured entry; Nil means absent from the requested visibility class.\n method get(Str:D $name, Bool :$hidden = False) is single-operation {\n CATCH {\n when X::LibTmux::Command {\n return Nil if .kind eq 'exit' && .exitcode == 1 && !.signal\n && !.stdout.elems\n && .stderr.list eqv \"unknown variable: $name\\n\".encode.list;\n .rethrow\n }\n }\n environment-name($name);\n my @argv = 'show-environment', '-s', |self!flags;\n @argv.push('-h') if $hidden;\n @argv.append('--', $name);\n self!execute(@argv, :decode(-> $result {\n my @values = decode-environment($result.stdout, self!capabilities.output-repair, $hidden);\n bad('Named environment lookup returned another entry', :field($name))\n if @values.elems > 1 || (@values.elems && @values[0].name ne $name);\n @values.first\n }))\n }\n #| Store literal text without FORMAT or shell expansion; NUL is not representable.\n method set(Str:D $name, Str:D $value, Bool :$hidden = False --> Result:D) is single-operation {\n environment-name($name); text-argument($value, 'Environment value', :empty);\n my @argv = 'set-environment', |self!flags;\n @argv.push('-h') if $hidden;\n @argv.append('--', $name, $value);\n self!execute(@argv)\n }\n #| Delete an entry from this environment.\n method unset(Str:D $name --> Result:D) is single-operation {\n environment-name($name);\n self!execute(['set-environment', |self!flags, '-u', '--', $name])\n }\n #| Store a removed marker so the variable is omitted from newly spawned processes.\n method remove(Str:D $name --> Result:D) is single-operation {\n environment-name($name);\n self!execute(['set-environment', |self!flags, '-r', '--', $name])\n }\n}\n\n#| Buffer metadata is separate from explicitly acquired binary contents.\nclass BufferInfo is export {\n #| Exact observed resource or option name.\n has Str:D $.name is required;\n #| Buffer content length in bytes; content acquisition is separate.\n has Count:D $.size is required;\n #| Buffer creation time as Unix seconds.\n has Count:D $.created is required;\n #| Native buffer preview text; it is not the complete binary content.\n has Str:D $.sample is required;\n}\n\n#| Server-scoped paste buffers with binary load and save operations.\nclass Buffers does Scoped is export {\n method !server(--> Nil) {\n invalid-argument('Buffers belong to the server scope') unless self.scope eq 'server';\n }\n #| Acquire buffer metadata without loading the complete contents.\n method list(--> List:D) is single-operation {\n self!server;\n my $projection = Projection.new(:entity, :context,\n :fields(.List), :capabilities(self!capabilities));\n self!with-runtime(-> $runtime, $deadline {\n $runtime.read($projection, Invocation.new(:argv(['list-buffers'])),\n :incarnation(self.incarnation), :$deadline).map(-> $row {\n BufferInfo.new(:name($row.value('name')), :size($row.value('size')),\n :created($row.value('created')), :sample($row.value('sample')))\n }).List\n })\n }\n #| Acquire complete buffer bytes, including NUL, within the output bound.\n method get(Str:D $name --> Blob:D) is single-operation {\n self!server; text-argument($name, 'Buffer name');\n self!capabilities.require('buffer-save');\n self!execute(['save-buffer', '-b', $name, '-']).stdout\n }\n #| Load binary stdin into the named server buffer.\n method put(Str:D $name, Blob:D $bytes --> Result:D) is single-operation {\n self!server; text-argument($name, 'Buffer name');\n self!execute(['load-buffer', '-b', $name, '-'], :stdin($bytes))\n }\n #| Delete the named buffer.\n method delete(Str:D $name --> Result:D) is single-operation {\n self!server; text-argument($name, 'Buffer name');\n self!execute(['delete-buffer', '-b', $name])\n }\n #| Rename a buffer without decoding its contents.\n method rename(Str:D $name, Str:D $new-name --> Result:D) is single-operation {\n self!server; text-argument($name, 'Buffer name'); text-argument($new-name, 'New buffer name');\n self!execute(['set-buffer', '-b', $name, '-n', $new-name])\n }\n #| Paste into an explicit pane, optionally deleting the buffer afterward.\n method paste(Str:D $name, PaneId:D $pane, Bool :$delete = False,\n Bool :$bracketed = False, Str :$separator --> Result:D) is single-operation {\n self!server; text-argument($name, 'Buffer name');\n my @argv = 'paste-buffer', '-b', $name, '-t', $pane;\n @argv.push('-d') if $delete;\n @argv.push('-p') if $bracketed;\n @argv.append('-s', text-argument($separator, 'Paste separator', :empty)) if $separator.defined;\n self!execute(@argv)\n }\n}\n\n#| Named hook command arrays. Reading a hook never executes its command source.\nclass Hooks does Scoped is export {\n method !describe(Str:D $name --> LibTmux::Catalogue::OptionSpec:D) {\n self!capabilities.require('managed-commands');\n my $spec = catalogue().option($name, self.incarnation.daemon-version);\n X::LibTmux::Unsupported.new(:feature(\"hook:$name\"), :state(NotSupported),\n :reason('Hook is absent from the declared daemon profile'),\n :message(\"Unknown or unavailable hook $name\")).throw\n unless $spec.defined && $spec.is-hook;\n invalid-argument(\"Hook $name does not belong to scope {self.scope}\")\n unless $spec.scopes.first(* eq self.scope).defined;\n $spec\n }\n #| Read local hook entries; each value is native printed command source.\n method list(Str :$name --> List:D) is single-operation {\n invalid-argument('Hooks require session, window or pane scope') if self.scope eq 'server';\n self!describe($name) if $name.defined;\n my @argv = 'show-hooks', |self!scope-flags;\n @argv.push($name) if $name.defined;\n self!execute(@argv, :decode(-> $result {\n option-entries($result.stdout, self!capabilities.output-repair,\n -> $field { self!describe($field) })\n }))\n }\n #| Set one hook index to a validated tmux command; the command is deferred.\n method set(Str:D $name, Invocation:D $command, Count:D :$index = 0 --> Result:D) is single-operation {\n self!describe($name);\n self!execute(['set-hook', |self!scope-flags, '--', \"$name\\[$index]\", $command.source])\n }\n #| Append one command to the hook array using tmux's native array allocation.\n method append(Str:D $name, Invocation:D $command --> Result:D) is single-operation {\n self!describe($name);\n self!execute(['set-hook', |self!scope-flags, '-a', '--', $name, $command.source])\n }\n #| Remove a hook array or one explicit index.\n method unset(Str:D $name, Count :$index = Count --> Result:D) is single-operation {\n self!describe($name);\n self!execute(['set-hook', |self!scope-flags, '-u', '--',\n $name ~ ($index.defined ?? \"[$index]\" !! '')])\n }\n #| Queue a hook now. Acknowledgement does not prove its commands' effects.\n method run(Str:D $name --> Result:D) is single-operation {\n self!describe($name);\n self!execute(['set-hook', |self!scope-flags, '-R', '--', $name])\n }\n}\n\n#| Captured binding metadata. Legacy listings leave note-state Unloaded.\nclass KeyBinding is export {\n #| Key-table name in which the binding was observed.\n has Str:D $.table is required;\n #| Native tmux key spelling.\n has Str:D $.key is required;\n #| Whether tmux allows this binding to repeat.\n has Bool:D $.repeat is required;\n #| Observed tmux command syntax; retaining it does not execute it.\n has Str:D $.command-source is required;\n #| Binding note text when the selected profile can acquire it.\n has Str:D $.note = '';\n #| Availability of the note; older profiles retain Unloaded rather than inventing text.\n has ValueState:D $.note-state = Unloaded;\n}\n\nsub key-table(Str:D $table --> Str:D) {\n invalid-argument('Key table must use letters, digits, underscore or hyphen')\n unless $table ~~ /^ <[A..Za..z0..9_\\-]>+ $/;\n $table\n}\n\n#| Server key tables. Invocation keeps stored command arguments distinct.\nclass KeyBindings does Scoped is export {\n method !server(--> Nil) {\n invalid-argument('Key tables belong to the server scope') unless self.scope eq 'server';\n }\n #| Bind a key to one command, with optional repeatability and literal note.\n method bind(Str:D $key, Invocation:D $command, Str:D :$table = 'prefix',\n Bool :$repeat = False, Str :$note --> Result:D) is single-operation {\n self!server; key-table($table); text-argument($key, 'Key');\n my @argv = 'bind-key', '-T', $table;\n @argv.push('-r') if $repeat;\n @argv.append('-N', text-argument($note, 'Binding note', :empty)) if $note.defined;\n @argv.append('--', $key, $command.source);\n self!execute(@argv)\n }\n #| Remove one binding. Unknown tables remain operational errors.\n method unbind(Str:D $key, Str:D :$table = 'prefix' --> Result:D) is single-operation {\n self!server; key-table($table); text-argument($key, 'Key');\n self!execute(['unbind-key', '-T', $table, '--', $key])\n }\n #| Remove the explicitly named table and all its bindings.\n method clear(Str:D $table --> Result:D) is single-operation {\n self!server; key-table($table);\n self!execute(['unbind-key', '-a', '-T', $table])\n }\n #| Capture one table; modern profiles include notes, legacy profiles mark them unloaded.\n method list(Str:D :$table = 'prefix' --> List:D) is single-operation {\n self!server; key-table($table);\n if self!capabilities.supports('key-binding-format') {\n my $projection = Projection.new(:entity, :context,\n :fields(.List), :capabilities(self!capabilities));\n return self!with-runtime(-> $runtime, $deadline {\n $runtime.read($projection, Invocation.new(:argv(['list-keys', '-T', $table])),\n :incarnation(self.incarnation), :$deadline).map(-> $row {\n KeyBinding.new(:table($row.value('table')), :key($row.value('key')),\n :repeat($row.value('repeat')), :command-source($row.value('command-source')),\n :note($row.value('note')), :note-state(Present))\n }).List\n });\n }\n self!execute(['list-keys', '-T', $table], :decode(-> $result {\n my @bindings;\n for record-bytes($result.stdout,\n self!capabilities.output-repair) -> $row {\n my $text = $row.decode('utf8-c8');\n my $match = $text ~~ /^ 'bind-key' \\s+ $=[ '-r' \\s+ ]?\n '-T' \\s+ $
=\\S+ \\s+\n $=[ '\"' [ '\\\\' . | <-[\"\\\\]> ]* '\"'\n | \"'\" <-[']>* \"'\" | [ '\\\\' . | <-[\\s\\\\]> ]+ ]\n \\s+ $=.* $/;\n bad('Malformed native key binding') unless $match && ~$match
eq $table;\n @bindings.push(KeyBinding.new(:$table,\n :key(decode-argument-token((~$match).encode('utf8-c8')).decode('utf8-c8')),\n :repeat(so $match.chars), :command-source(~$match)));\n }\n @bindings.List\n }))\n }\n}\n\n\n=begin pod\n=head1 Configuration and stored commands\n\nOptions, Environment, Buffers, Hooks and KeyBindings are value-only facades\nbound to an endpoint and daemon incarnation. Construction and schema access\nperform no I/O. Each operation owns and closes its temporary command runtime;\nit checks daemon identity and applies one timeout and output bound.\n\nOptions use source-qualified types and ranges from L.\nFlags require Bool, numeric options reject Bool, and array writes require an\nexplicit index. C preserves inherited provenance; C returns a\nnative scalar or an indexed Map. Unknown native options use the explicitly\nnamed raw operations. User options in the typed API use C<@> followed by\nletters, digits, underscores or hyphens. Native printed command values are\nsource text, not parsed Invocation values.\n\nEnvironment reads distinguish an absent entry, an explicit removed marker,\nand hidden entries. C<:hidden> selects hidden entries only. Environment names\nuse the portable variable alphabet. C requests only that name; C\nrefuses a native entry whose name falls outside the declared alphabet.\nValues preserve bytes through UTF8-C8;\nreading the shell-shaped output never executes it. Buffer content is acquired\nseparately as Blob and may contain NUL.\n\nHooks and key bindings accept L for commands\nto store. Reads preserve tmux's printed command source without executing or\nreconstructing it. Legacy key listings mark notes Unloaded; modern projected\nlistings capture them. Key table names use letters, digits, underscores or\nhyphens so legacy native listings remain unambiguous.\n\nHook C acknowledges queuing. Paste and other mutations acknowledge tmux\ncommands; they do not prove that a pane application consumed input or that a\nhook's asynchronous work completed. Timeouts after dispatch cannot roll back\nserver effects. Captured values do not refresh themselves.\n=end pod\n","lib/LibTmux/Control.rakumod":"use v6.d;\n\nunit module LibTmux::Control;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Command.new(:kind, :outcome(NotStarted), :$message).throw\n}\n\n#| One notification, retaining its original bytes without the record terminator.\nclass Event is export {\n #| Notification name or unframed-output kind, without assuming a known event schema.\n has Str:D $.kind is required;\n #| Original physical record bytes with the terminating LF removed.\n has Blob:D $.raw is required;\n submethod TWEAK() { $!raw = Blob.new($!raw.list) }\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('Control events cannot be cloned; retain the immutable value') }\n}\n\n#| An unrecognized notification remains inspectable without interpreting its body.\nclass UnknownEvent is Event is export { }\n\n#| Some queued jobs print after their end guard; preserve that unframed line.\nclass UnframedOutput is Event is export { }\n\n#| Pane output is terminal bytes, not an independently decodable UTF-8 string.\nclass PaneOutput is Event is export {\n #| Pane identity from the notification, scoped to its owning connection.\n has PaneId:D $.pane-id is required;\n #| Decoded terminal bytes, which may contain NUL or partial UTF-8 sequences.\n has Blob:D $.data is required;\n #| Extended-output age in milliseconds; undefined for ordinary output events.\n has Count $.age-ms;\n submethod TWEAK() { $!data = Blob.new($!data.list) }\n}\n\n#| A matched command guard pair acknowledges execution, not asynchronous effects.\nclass Response is export {\n #| Guard timestamp in Unix seconds, retained for correlation.\n has Count:D $.time is required;\n #| Command number from the matched begin/end or error guard.\n has Count:D $.number is required;\n #| Native guard flags; these are not an operation-completion guarantee.\n has Count:D $.flags is required;\n #| Whether the matching terminal guard was percent-error.\n has Bool:D $.failed = False;\n #| Response bytes between matching guards, retaining their line separators.\n has Blob:D $.payload = Blob.new;\n submethod TWEAK() { $!payload = Blob.new($!payload.list) }\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('Control responses cannot be cloned') }\n}\n\nsub octal-bytes(Blob:D $encoded, Int:D $offset --> Blob:D) {\n my $decoded = Buf.new;\n my $index = 0;\n while $index < $encoded.elems {\n my $byte = $encoded[$index++];\n if $byte == 92 {\n X::LibTmux::Decode.new(:schema, :offset($offset + $index - 1),\n :message('Malformed control output octal escape')).throw\n unless $index + 3 <= $encoded.elems && 48 <= $encoded[$index] <= 51\n && 48 <= $encoded[$index + 1] <= 55 && 48 <= $encoded[$index + 2] <= 55;\n $decoded.push(($encoded[$index] - 48) * 64\n + ($encoded[$index + 1] - 48) * 8 + $encoded[$index + 2] - 48);\n $index += 3;\n } else {\n X::LibTmux::Decode.new(:schema, :offset($offset + $index - 1),\n :message('Unescaped control byte in pane output')).throw if $byte < 32;\n $decoded.push($byte);\n }\n }\n Blob.new($decoded.list)\n}\n\nmy constant KNOWN = set ;\n\nsub notification(Blob:D $line, Int:D $offset --> Event:D) {\n # UTF8-C8 only finds the ASCII header. The retained body never passes through text.\n my $text = $line.decode('utf8-c8');\n my $header = $text.match(/^ '%' $=[<[a..z]>+ [ '-' <[a..z]>+ ]*] [ ' ' | $ ] /);\n X::LibTmux::Decode.new(:schema, :$offset,\n :message('Expected a control notification or response guard')).throw unless $header;\n my $kind = ~$header;\n if $kind eq any() {\n my $prefix = $kind eq 'output'\n ?? $text.match(/^ '%output ' $=[ '%' <[0..9]>+ ] ' ' /)\n !! $text.match(/^ '%extended-output ' $=[ '%' <[0..9]>+ ] ' '\n $=[<[0..9]>+] [ ' ' <-[\\x00..\\x20:]>+ ]* ' : ' /);\n X::LibTmux::Decode.new(:schema, :$offset,\n :message('Malformed pane output header')).throw unless $prefix;\n my $size = (~$prefix).encode('utf8-c8').elems;\n my %age = $kind eq 'extended-output' ?? (age-ms => +$prefix) !! ();\n return PaneOutput.new(:$kind, :raw($line), :pane-id(~$prefix),\n :data(octal-bytes($line.subbuf($size), $offset + $size)), |%age);\n }\n (KNOWN{$kind} ?? Event !! UnknownEvent).new(:$kind, :raw($line))\n}\n\n#| Incremental LF framing with exact response guards and bounded retained data.\nclass Decoder is export {\n #| Maximum incomplete or complete physical control line length in bytes.\n has Positive:D $.max-line-bytes = 1024 * 1024;\n #| Maximum payload bytes retained inside one response block.\n has Positive:D $.max-response-bytes = 8 * 1024 * 1024;\n #| Maximum bytes accepted in one feed call.\n has Positive:D $.max-chunk-bytes = 8 * 1024 * 1024;\n #| Maximum completed frames emitted by one feed call.\n has Positive:D $.max-frames = 4096;\n has Buf $!line = Buf.new;\n has Buf $!payload = Buf.new;\n has List $!guard;\n has Count $!offset = 0;\n has Count $!line-start = 0;\n has Bool $!closed = False;\n has Bool $!failed = False;\n\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('A control decoder cannot be cloned') }\n method !error(Str:D $message --> Nil) {\n $!failed = True;\n X::LibTmux::Decode.new(:schema, :offset($!line-start), :$message).throw\n }\n method !record(Blob:D $line) {\n my $text = $line.decode('utf8-c8');\n my $guard = $text.match(/^ '%' $=[ 'begin' | 'end' | 'error' ] ' '\n $
.List), :capabilities(self!capabilities));\n return self!with-runtime(-> $runtime, $deadline {\n $runtime.read($projection, Invocation.new(:argv(['list-keys', '-T', $table])),\n :incarnation(self.incarnation), :$deadline).map(-> $row {\n KeyBinding.new(:table($row.value('table')), :key($row.value('key')),\n :repeat($row.value('repeat')), :command-source($row.value('command-source')),\n :note($row.value('note')), :note-state(Present))\n }).List\n });\n }\n self!execute(['list-keys', '-T', $table], :decode(-> $result {\n my @bindings;\n for record-bytes($result.stdout,\n self!capabilities.output-repair) -> $row {\n my $text = $row.decode('utf8-c8');\n my $match = $text ~~ /^ 'bind-key' \\s+ $=[ '-r' \\s+ ]?\n '-T' \\s+ $
=\\S+ \\s+\n $=[ '\"' [ '\\\\' . | <-[\"\\\\]> ]* '\"'\n | \"'\" <-[']>* \"'\" | [ '\\\\' . | <-[\\s\\\\]> ]+ ]\n \\s+ $=.* $/;\n bad('Malformed native key binding') unless $match && ~$match
eq $table;\n @bindings.push(KeyBinding.new(:$table,\n :key(decode-argument-token((~$match).encode('utf8-c8')).decode('utf8-c8')),\n :repeat(so $match.chars), :command-source(~$match)));\n }\n @bindings.List\n }))\n }\n}\n\n\n=begin pod\n=head1 Configuration and stored commands\n\nOptions, Environment, Buffers, Hooks and KeyBindings are value-only facades\nbound to an endpoint and daemon incarnation. Construction and schema access\nperform no I/O. Each operation owns and closes its temporary command runtime;\nit checks daemon identity and applies one timeout and output bound.\n\nOptions use source-qualified types and ranges from L.\nFlags require Bool, numeric options reject Bool, and array writes require an\nexplicit index. C preserves inherited provenance; C returns a\nnative scalar or an indexed Map. Unknown native options use the explicitly\nnamed raw operations. User options in the typed API use C<@> followed by\nletters, digits, underscores or hyphens. Native printed command values are\nsource text, not parsed Invocation values.\n\nEnvironment reads distinguish an absent entry, an explicit removed marker,\nand hidden entries. C<:hidden> selects hidden entries only. Environment names\nuse the portable variable alphabet. C requests only that name; C\nrefuses a native entry whose name falls outside the declared alphabet.\nValues preserve bytes through UTF8-C8;\nreading the shell-shaped output never executes it. Buffer content is acquired\nseparately as Blob and may contain NUL.\n\nHooks and key bindings accept L for commands\nto store. Reads preserve tmux's printed command source without executing or\nreconstructing it. Legacy key listings mark notes Unloaded; modern projected\nlistings capture them. Key table names use letters, digits, underscores or\nhyphens so legacy native listings remain unambiguous.\n\nHook C acknowledges queuing. Paste and other mutations acknowledge tmux\ncommands; they do not prove that a pane application consumed input or that a\nhook's asynchronous work completed. Timeouts after dispatch cannot roll back\nserver effects. Captured values do not refresh themselves.\n=end pod\n","lib/LibTmux/Control.rakumod":"use v6.d;\n\nunit module LibTmux::Control;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Command.new(:kind, :outcome(NotStarted), :$message).throw\n}\n\n#| One notification, retaining its original bytes without the record terminator.\nclass Event is export {\n #| Notification name or unframed-output kind, without assuming a known event schema.\n has Str:D $.kind is required;\n #| Original physical record bytes with the terminating LF removed.\n has Blob:D $.raw is required;\n submethod TWEAK() { $!raw = Blob.new($!raw.list) }\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('Control events cannot be cloned; retain the immutable value') }\n}\n\n#| An unrecognized notification remains inspectable without interpreting its body.\nclass UnknownEvent is Event is export { }\n\n#| Some queued jobs print after their end guard; preserve that unframed line.\nclass UnframedOutput is Event is export { }\n\n#| Pane output is terminal bytes, not an independently decodable UTF-8 string.\nclass PaneOutput is Event is export {\n #| Pane identity from the notification, scoped to its owning connection.\n has PaneId:D $.pane-id is required;\n #| Decoded terminal bytes, which may contain NUL or partial UTF-8 sequences.\n has Blob:D $.data is required;\n #| Extended-output age in milliseconds; undefined for ordinary output events.\n has Count $.age-ms;\n submethod TWEAK() { $!data = Blob.new($!data.list) }\n}\n\n#| A matched command guard pair acknowledges execution, not asynchronous effects.\nclass Response is export {\n #| Guard timestamp in Unix seconds, retained for correlation.\n has Count:D $.time is required;\n #| Command number from the matched begin/end or error guard.\n has Count:D $.number is required;\n #| Native guard flags; these are not an operation-completion guarantee.\n has Count:D $.flags is required;\n #| Whether the matching terminal guard was percent-error.\n has Bool:D $.failed = False;\n #| Response bytes between matching guards, retaining their line separators.\n has Blob:D $.payload = Blob.new;\n submethod TWEAK() { $!payload = Blob.new($!payload.list) }\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('Control responses cannot be cloned') }\n}\n\nsub octal-bytes(Blob:D $encoded, Int:D $offset --> Blob:D) {\n my $decoded = Buf.new;\n my $index = 0;\n while $index < $encoded.elems {\n my $byte = $encoded[$index++];\n if $byte == 92 {\n X::LibTmux::Decode.new(:schema, :offset($offset + $index - 1),\n :message('Malformed control output octal escape')).throw\n unless $index + 3 <= $encoded.elems && 48 <= $encoded[$index] <= 51\n && 48 <= $encoded[$index + 1] <= 55 && 48 <= $encoded[$index + 2] <= 55;\n $decoded.push(($encoded[$index] - 48) * 64\n + ($encoded[$index + 1] - 48) * 8 + $encoded[$index + 2] - 48);\n $index += 3;\n } else {\n X::LibTmux::Decode.new(:schema, :offset($offset + $index - 1),\n :message('Unescaped control byte in pane output')).throw if $byte < 32;\n $decoded.push($byte);\n }\n }\n Blob.new($decoded.list)\n}\n\nmy constant KNOWN = set ;\n\nsub notification(Blob:D $line, Int:D $offset --> Event:D) {\n # UTF8-C8 only finds the ASCII header. The retained body never passes through text.\n my $text = $line.decode('utf8-c8');\n my $header = $text.match(/^ '%' $=[<[a..z]>+ [ '-' <[a..z]>+ ]*] [ ' ' | $ ] /);\n X::LibTmux::Decode.new(:schema, :$offset,\n :message('Expected a control notification or response guard')).throw unless $header;\n my $kind = ~$header;\n if $kind eq any() {\n my $prefix = $kind eq 'output'\n ?? $text.match(/^ '%output ' $=[ '%' <[0..9]>+ ] ' ' /)\n !! $text.match(/^ '%extended-output ' $=[ '%' <[0..9]>+ ] ' '\n $=[<[0..9]>+] [ ' ' <-[\\x00..\\x20:]>+ ]* ' : ' /);\n X::LibTmux::Decode.new(:schema, :$offset,\n :message('Malformed pane output header')).throw unless $prefix;\n my $size = (~$prefix).encode('utf8-c8').elems;\n my %age = $kind eq 'extended-output' ?? (age-ms => +$prefix) !! ();\n return PaneOutput.new(:$kind, :raw($line), :pane-id(~$prefix),\n :data(octal-bytes($line.subbuf($size), $offset + $size)), |%age);\n }\n (KNOWN{$kind} ?? Event !! UnknownEvent).new(:$kind, :raw($line))\n}\n\n#| Incremental LF framing with exact response guards and bounded retained data.\nclass Decoder is export {\n #| Maximum incomplete or complete physical control line length in bytes.\n has Positive:D $.max-line-bytes = 1024 * 1024;\n #| Maximum payload bytes retained inside one response block.\n has Positive:D $.max-response-bytes = 8 * 1024 * 1024;\n #| Maximum bytes accepted in one feed call.\n has Positive:D $.max-chunk-bytes = 8 * 1024 * 1024;\n #| Maximum completed frames emitted by one feed call.\n has Positive:D $.max-frames = 4096;\n has Buf $!line = Buf.new;\n has Buf $!payload = Buf.new;\n has List $!guard;\n has Count $!offset = 0;\n has Count $!line-start = 0;\n has Bool $!closed = False;\n has Bool $!failed = False;\n\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('A control decoder cannot be cloned') }\n method !error(Str:D $message --> Nil) {\n $!failed = True;\n X::LibTmux::Decode.new(:schema, :offset($!line-start), :$message).throw\n }\n method !record(Blob:D $line) {\n my $text = $line.decode('utf8-c8');\n my $guard = $text.match(/^ '%' $=[ 'begin' | 'end' | 'error' ] ' '\n $
.List), :capabilities(self!capabilities));\n return self!with-runtime(-> $runtime, $deadline {\n $runtime.read($projection, Invocation.new(:argv(['list-keys', '-T', $table])),\n :incarnation(self.incarnation), :$deadline).map(-> $row {\n KeyBinding.new(:table($row.value('table')), :key($row.value('key')),\n :repeat($row.value('repeat')), :command-source($row.value('command-source')),\n :note($row.value('note')), :note-state(Present))\n }).List\n });\n }\n self!execute(['list-keys', '-T', $table], :decode(-> $result {\n my @bindings;\n for record-bytes($result.stdout,\n self!capabilities.output-repair) -> $row {\n my $text = $row.decode('utf8-c8');\n my $match = $text ~~ /^ 'bind-key' \\s+ $=[ '-r' \\s+ ]?\n '-T' \\s+ $
=\\S+ \\s+\n $=[ '\"' [ '\\\\' . | <-[\"\\\\]> ]* '\"'\n | \"'\" <-[']>* \"'\" | [ '\\\\' . | <-[\\s\\\\]> ]+ ]\n \\s+ $=.* $/;\n bad('Malformed native key binding') unless $match && ~$match
eq $table;\n @bindings.push(KeyBinding.new(:$table,\n :key(decode-argument-token((~$match).encode('utf8-c8')).decode('utf8-c8')),\n :repeat(so $match.chars), :command-source(~$match)));\n }\n @bindings.List\n }))\n }\n}\n\n\n=begin pod\n=head1 Configuration and stored commands\n\nOptions, Environment, Buffers, Hooks and KeyBindings are value-only facades\nbound to an endpoint and daemon incarnation. Construction and schema access\nperform no I/O. Each operation owns and closes its temporary command runtime;\nit checks daemon identity and applies one timeout and output bound.\n\nOptions use source-qualified types and ranges from L.\nFlags require Bool, numeric options reject Bool, and array writes require an\nexplicit index. C preserves inherited provenance; C returns a\nnative scalar or an indexed Map. Unknown native options use the explicitly\nnamed raw operations. User options in the typed API use C<@> followed by\nletters, digits, underscores or hyphens. Native printed command values are\nsource text, not parsed Invocation values.\n\nEnvironment reads distinguish an absent entry, an explicit removed marker,\nand hidden entries. C<:hidden> selects hidden entries only. Environment names\nuse the portable variable alphabet. C requests only that name; C\nrefuses a native entry whose name falls outside the declared alphabet.\nValues preserve bytes through UTF8-C8;\nreading the shell-shaped output never executes it. Buffer content is acquired\nseparately as Blob and may contain NUL.\n\nHooks and key bindings accept L for commands\nto store. Reads preserve tmux's printed command source without executing or\nreconstructing it. Legacy key listings mark notes Unloaded; modern projected\nlistings capture them. Key table names use letters, digits, underscores or\nhyphens so legacy native listings remain unambiguous.\n\nHook C acknowledges queuing. Paste and other mutations acknowledge tmux\ncommands; they do not prove that a pane application consumed input or that a\nhook's asynchronous work completed. Timeouts after dispatch cannot roll back\nserver effects. Captured values do not refresh themselves.\n=end pod\n","lib/LibTmux/Control.rakumod":"use v6.d;\n\nunit module LibTmux::Control;\n\nuse LibTmux::Types;\nuse LibTmux::Exceptions;\n\nsub invalid(Str:D $message --> Nil) {\n X::LibTmux::Command.new(:kind, :outcome(NotStarted), :$message).throw\n}\n\n#| One notification, retaining its original bytes without the record terminator.\nclass Event is export {\n #| Notification name or unframed-output kind, without assuming a known event schema.\n has Str:D $.kind is required;\n #| Original physical record bytes with the terminating LF removed.\n has Blob:D $.raw is required;\n submethod TWEAK() { $!raw = Blob.new($!raw.list) }\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('Control events cannot be cloned; retain the immutable value') }\n}\n\n#| An unrecognized notification remains inspectable without interpreting its body.\nclass UnknownEvent is Event is export { }\n\n#| Some queued jobs print after their end guard; preserve that unframed line.\nclass UnframedOutput is Event is export { }\n\n#| Pane output is terminal bytes, not an independently decodable UTF-8 string.\nclass PaneOutput is Event is export {\n #| Pane identity from the notification, scoped to its owning connection.\n has PaneId:D $.pane-id is required;\n #| Decoded terminal bytes, which may contain NUL or partial UTF-8 sequences.\n has Blob:D $.data is required;\n #| Extended-output age in milliseconds; undefined for ordinary output events.\n has Count $.age-ms;\n submethod TWEAK() { $!data = Blob.new($!data.list) }\n}\n\n#| A matched command guard pair acknowledges execution, not asynchronous effects.\nclass Response is export {\n #| Guard timestamp in Unix seconds, retained for correlation.\n has Count:D $.time is required;\n #| Command number from the matched begin/end or error guard.\n has Count:D $.number is required;\n #| Native guard flags; these are not an operation-completion guarantee.\n has Count:D $.flags is required;\n #| Whether the matching terminal guard was percent-error.\n has Bool:D $.failed = False;\n #| Response bytes between matching guards, retaining their line separators.\n has Blob:D $.payload = Blob.new;\n submethod TWEAK() { $!payload = Blob.new($!payload.list) }\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('Control responses cannot be cloned') }\n}\n\nsub octal-bytes(Blob:D $encoded, Int:D $offset --> Blob:D) {\n my $decoded = Buf.new;\n my $index = 0;\n while $index < $encoded.elems {\n my $byte = $encoded[$index++];\n if $byte == 92 {\n X::LibTmux::Decode.new(:schema, :offset($offset + $index - 1),\n :message('Malformed control output octal escape')).throw\n unless $index + 3 <= $encoded.elems && 48 <= $encoded[$index] <= 51\n && 48 <= $encoded[$index + 1] <= 55 && 48 <= $encoded[$index + 2] <= 55;\n $decoded.push(($encoded[$index] - 48) * 64\n + ($encoded[$index + 1] - 48) * 8 + $encoded[$index + 2] - 48);\n $index += 3;\n } else {\n X::LibTmux::Decode.new(:schema, :offset($offset + $index - 1),\n :message('Unescaped control byte in pane output')).throw if $byte < 32;\n $decoded.push($byte);\n }\n }\n Blob.new($decoded.list)\n}\n\nmy constant KNOWN = set ;\n\nsub notification(Blob:D $line, Int:D $offset --> Event:D) {\n # UTF8-C8 only finds the ASCII header. The retained body never passes through text.\n my $text = $line.decode('utf8-c8');\n my $header = $text.match(/^ '%' $=[<[a..z]>+ [ '-' <[a..z]>+ ]*] [ ' ' | $ ] /);\n X::LibTmux::Decode.new(:schema, :$offset,\n :message('Expected a control notification or response guard')).throw unless $header;\n my $kind = ~$header;\n if $kind eq any() {\n my $prefix = $kind eq 'output'\n ?? $text.match(/^ '%output ' $=[ '%' <[0..9]>+ ] ' ' /)\n !! $text.match(/^ '%extended-output ' $=[ '%' <[0..9]>+ ] ' '\n $=[<[0..9]>+] [ ' ' <-[\\x00..\\x20:]>+ ]* ' : ' /);\n X::LibTmux::Decode.new(:schema, :$offset,\n :message('Malformed pane output header')).throw unless $prefix;\n my $size = (~$prefix).encode('utf8-c8').elems;\n my %age = $kind eq 'extended-output' ?? (age-ms => +$prefix) !! ();\n return PaneOutput.new(:$kind, :raw($line), :pane-id(~$prefix),\n :data(octal-bytes($line.subbuf($size), $offset + $size)), |%age);\n }\n (KNOWN{$kind} ?? Event !! UnknownEvent).new(:$kind, :raw($line))\n}\n\n#| Incremental LF framing with exact response guards and bounded retained data.\nclass Decoder is export {\n #| Maximum incomplete or complete physical control line length in bytes.\n has Positive:D $.max-line-bytes = 1024 * 1024;\n #| Maximum payload bytes retained inside one response block.\n has Positive:D $.max-response-bytes = 8 * 1024 * 1024;\n #| Maximum bytes accepted in one feed call.\n has Positive:D $.max-chunk-bytes = 8 * 1024 * 1024;\n #| Maximum completed frames emitted by one feed call.\n has Positive:D $.max-frames = 4096;\n has Buf $!line = Buf.new;\n has Buf $!payload = Buf.new;\n has List $!guard;\n has Count $!offset = 0;\n has Count $!line-start = 0;\n has Bool $!closed = False;\n has Bool $!failed = False;\n\n #| Refuse cloning; retain this value or construct a fresh decoder.\n method clone(|) { invalid('A control decoder cannot be cloned') }\n method !error(Str:D $message --> Nil) {\n $!failed = True;\n X::LibTmux::Decode.new(:schema, :offset($!line-start), :$message).throw\n }\n method !record(Blob:D $line) {\n my $text = $line.decode('utf8-c8');\n my $guard = $text.match(/^ '%' $=[ 'begin' | 'end' | 'error' ] ' '\n $