Core Library0.xAPI Reference

Choose documentation 1

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

module libtmux-raku latest

LibTmux.Control

Source and package
Qualified name
LibTmux::Control
Declared in
LibTmux
Package
LibTmux
Source
lib/LibTmux/Control.rakumod
Anonymous module

Description#

Control framing and delivery

Decoder frames bytes on LF and correlates all three numeric guard fields. Notification-shaped lines within a response remain payload. PaneOutput keeps octal-decoded bytes, including NUL and incomplete UTF-8; text decoding belongs to a separate incremental consumer. UnknownEvent preserves future notifications.

The tmux wire protocol does not escape arbitrary command payloads from matching their own terminal guard. Managed reads must use declared, prefixed projections; raw command output cannot promise lossless framing for guard-shaped payloads. A Response acknowledges dispatch. Its end guard does not establish completion of a launched job, popup, detach, or other asynchronous effect. Some queued jobs print outside response blocks. UnframedOutput preserves such lines, but the protocol cannot distinguish arbitrary job text from notifications.

Event delivery is live, without replay. A late tap misses earlier events. Each subscriber has an independently bounded queue and serial worker. A slow subscriber overflows explicitly; a throwing callback terminates only its own subscription. Closing a tap discards queued values. Owner completion drains already accepted values before done; failure drains before quit. User callbacks already executing cannot be cancelled, and owner teardown does not wait for them.

Members7#

  • Connection class
  • Decoder class Incremental LF framing with exact response guards and bounded retained data.
  • Event class One notification, retaining its original bytes without the record terminator.
  • PaneOutput class Pane output is terminal bytes, not an independently decodable UTF-8 string.
  • Response class A matched command guard pair acknowledges execution, not asynchronous effects.
  • UnframedOutput class Some queued jobs print after their end guard; preserve that unframed line.
  • UnknownEvent class An unrecognized notification remains inspectable without interpreting its body.
Esc

Type to search.

Reference previewOpen reference