Core LibraryunreleasedConcepts

Choose documentation 1

latest

Current version

latest
English

Unreleased io.github.libtmux:libtmux-clojure has not been released. Its API may change during development. This site's structure and URLs may change too.

Edit this page on GitHub

Server, session, window, pane

open! returns a closeable Java server client for an explicit socket. snapshot! acquires a graph of persistent maps. A snapshot contains sessions; sessions contain window placements; windows contain panes. data/windows and data/panes traverse that capture without another tmux command. Ordinary keyword lookup reads its scalar fields.

Maps retain an opaque Java handle at :tmux/ref. Pass that reference to an effect such as rename!. Editing an ID in a map changes the map; it does not change the target authenticated by its reference. The old map keeps its earlier name after a rename. refresh! acquires a new observation.

A linked window can occur in several sessions. same-entity? compares physical identity; same-link? also compares its placement. Keep input order and repeated placements when processing the graph.

Use native collection functions to filter captured values. When a Java FilterExpr already exists, matching adapts it to a Clojure transducer or lazy sequence. exactly-one checks cardinality before an effect. data removes operational references for detached EDN export.

The quickstart demonstrates these operations. The captured-value reference lists the keys; captures and effects explains ownership, lazy processing and recovery.

Esc

Type to search.

Reference previewOpen reference