# libtmux.core

- **Module:** libtmux.core
- **Package:** io.github.libtmux:libtmux-clojure
- **Language:** Clojure
- **Kind:** module
- **Source:** https://github.com/libtmux/libtmux-java/blob/5f88402151ff08fc0390dd438b90963692ec3fe4/libtmux-clojure/src/main/clojure/libtmux/core.clj#L1
- **Page:** https://libtmux.org/en/clojure/latest/reference/libtmux-core/

```
(ns libtmux.core)
```

Explicit tmux effects through [[open!]] and [[snapshot!]].

Captured maps retain opaque Java references; [[libtmux.data]] traverses them locally.

## Members

### Collections and queries

- [`sessions!`](/en/clojure/latest/reference/libtmux-core-sessions/) (function): Acquires captured sessions; acquisition failure throws.
- [`windows!`](/en/clojure/latest/reference/libtmux-core-windows/) (function): Acquires captured window occurrences.
- [`panes!`](/en/clojure/latest/reference/libtmux-core-panes/) (function): Acquires captured pane occurrences.
- [`clients!`](/en/clojure/latest/reference/libtmux-core-clients/) (function): Acquires captured clients.
- [`buffers!`](/en/clojure/latest/reference/libtmux-core-buffers/) (function): Lists captured buffer names and byte sizes.
- [`snapshot!`](/en/clojure/latest/reference/libtmux-core-snapshot/) (function): Acquires an eager captured graph from an explicit server.

### Common operations

- [`open!`](/en/clojure/latest/reference/libtmux-core-open/) (function): Opens local resources for an explicit `:socket-path` or `:socket-name` endpoint.
- [`capture!`](/en/clojure/latest/reference/libtmux-core-capture/) (function): Captures pane lines; `:from` `:history` includes scrollback.
- [`send-keys!`](/en/clojure/latest/reference/libtmux-core-send-keys/) (function): Sends an explicit vector of tmux key names.
- [`new-session!`](/en/clojure/latest/reference/libtmux-core-new-session/) (function): Creates a detached session and returns a fresh captured session map.
- [`new-window!`](/en/clojure/latest/reference/libtmux-core-new-window/) (function): Creates a window and returns a fresh captured window occurrence.
- [`split-pane!`](/en/clojure/latest/reference/libtmux-core-split-pane/) (function): Splits a Pane ref and returns a fresh captured pane occurrence.
- [`kill-server!`](/en/clojure/latest/reference/libtmux-core-kill-server/) (function): Kills the explicit tmux server; [[close!]] only releases local resources.
- [`refresh!`](/en/clojure/latest/reference/libtmux-core-refresh/) (function): Reacquires an explicit reference, retaining window and pane placement.
- [`rename!`](/en/clojure/latest/reference/libtmux-core-rename/) (function): Renames a session or window and captures its current data.
- [`apply-layout!`](/en/clojure/latest/reference/libtmux-core-apply-layout/) (function): Applies an explicit tmux layout string.
- [`batch!`](/en/clojure/latest/reference/libtmux-core-batch/) (function): Runs independent argv commands using a fresh Java Batch and returns positions.
- [`chain!`](/en/clojure/latest/reference/libtmux-core-chain/) (function): Runs dependent argv commands with tmux's implicit target between positions.
- [`send-literal!`](/en/clojure/latest/reference/libtmux-core-send-literal/) (function): Sends literal text; completion does not mean application readiness.
- [`await-channel!`](/en/clojure/latest/reference/libtmux-core-await-channel/) (function): Waits on an explicit tmux channel while reserving capacity for its release.
- [`await-text!`](/en/clojure/latest/reference/libtmux-core-await-text/) (function): Waits within a positive Duration; returns a keyword describing the outcome.
- [`move-window!`](/en/clojure/latest/reference/libtmux-core-move-window/) (function): Moves a window to a session and explicit index.

### Other members

- [`append-hook!`](/en/clojure/latest/reference/libtmux-core-append-hook/) (function): Appends one explicit tmux argv command to a hook.
- [`close!`](/en/clojure/latest/reference/libtmux-core-close/) (function): Releases the supplied Server's local resources without killing tmux.
- [`delete-buffer!`](/en/clojure/latest/reference/libtmux-core-delete-buffer/) (function): Deletes an explicit buffer.
- [`detach-client!`](/en/clojure/latest/reference/libtmux-core-detach-client/) (function): Detaches the explicit client.
- [`environment!`](/en/clojure/latest/reference/libtmux-core-environment/) (function): Returns values and explicitly removed names, preserving removal versus absence.
- [`error-summary`](/en/clojure/latest/reference/libtmux-core-error-summary/) (function): Returns fixed error metadata without arguments or cause messages.
- [`expand!`](/en/clojure/latest/reference/libtmux-core-expand/) (function): Evaluates an explicit tmux format at the supplied scope.
- [`find-session!`](/en/clojure/latest/reference/libtmux-core-find-session/) (function): Finds a session by exact name; absence returns `nil`.
- [`hooks!`](/en/clojure/latest/reference/libtmux-core-hooks/) (function): Returns hook names and their ordered command vectors.
- [`join-pane!`](/en/clojure/latest/reference/libtmux-core-join-pane/) (function): Joins a pane to a window.
- [`kill!`](/en/clojure/latest/reference/libtmux-core-kill/) (function): Kills the explicitly supplied session, window, or pane.
- [`link-window!`](/en/clojure/latest/reference/libtmux-core-link-window/) (function): Links a window into a session.
- [`options!`](/en/clojure/latest/reference/libtmux-core-options/) (function): Reads `:local` options by default, or `:effective` inherited options.
- [`paste-buffer!`](/en/clojure/latest/reference/libtmux-core-paste-buffer/) (function): Pastes an explicit buffer into a pane.
- [`raw!`](/en/clojure/latest/reference/libtmux-core-raw/) (function): Runs explicit tmux argv and returns exit status and streams; no shell.
- [`remove-environment!`](/en/clojure/latest/reference/libtmux-core-remove-environment/) (function): Marks an environment name removed for new child processes.
- [`resize!`](/en/clojure/latest/reference/libtmux-core-resize/) (function): Resizes a window or pane to positive cell dimensions.
- [`run-shell!`](/en/clojure/latest/reference/libtmux-core-run-shell/) (function): Runs an explicitly requested shell command on the server.
- [`select!`](/en/clojure/latest/reference/libtmux-core-select/) (function): Selects the preserved window or pane occurrence.
- [`set-buffer!`](/en/clojure/latest/reference/libtmux-core-set-buffer/) (function): Stores literal buffer contents.
- [`set-environment!`](/en/clojure/latest/reference/libtmux-core-set-environment/) (function): Sets a literal environment value.
- [`set-hook!`](/en/clojure/latest/reference/libtmux-core-set-hook/) (function): Replaces a hook with one explicit tmux argv command.
- [`set-option!`](/en/clojure/latest/reference/libtmux-core-set-option/) (function): Sets a literal option value at the explicit scope.
- [`show-buffer!`](/en/clojure/latest/reference/libtmux-core-show-buffer/) (function): Reads literal buffer contents.
- [`signal-channel!`](/en/clojure/latest/reference/libtmux-core-signal-channel/) (function): Signals an explicit tmux channel.
- [`switch-client!`](/en/clojure/latest/reference/libtmux-core-switch-client/) (function): Switches an explicit client to a session.
- [`unlink-window!`](/en/clojure/latest/reference/libtmux-core-unlink-window/) (function): Unlinks the preserved window occurrence.
- [`unset-environment!`](/en/clojure/latest/reference/libtmux-core-unset-environment/) (function): Removes the local environment entry, allowing inheritance.
- [`unset-hook!`](/en/clojure/latest/reference/libtmux-core-unset-hook/) (function): Removes an explicit hook.
- [`unset-option!`](/en/clojure/latest/reference/libtmux-core-unset-option/) (function): Removes a local option override.

## Guides

Pages that discuss `libtmux.core`.

- [Captures, effects and streams](/en/clojure/latest/guides/captures-and-effects/)
- [Getting started](/en/clojure/latest/guides/getting-started/)
