Server.sessions()
Every session on this server, in tmux's own order.
Source and package
- Qualified name
-
Server.sessions() - Declared in
Server- Package
- libtmux-swift
- Source
- Sources/LibTmux/Server.swift
- Other languages
- Perlmethod Erlangfunction PowerShellcmdlet Juliafunction Elixirfunction Haskell Common Lispfunction PythonRubyLuaTypeScriptRustGoJavaC#C++KotlinScalaOCamlfunction F#function Clojurefunction
-
Description#
Use
isRunning()when absence is an expected probe; a failed listing throws rather than impersonating a running server with no sessions.Examples#
List session snapshots. Create two sessions and read the server-wide listing. Sort by name for this display; the API itself returns tmux's order. The fixture also owns a bootstrap session. Use Swift 6.2 or newer and tmux 3.3a or newer on Linux or macOS. In an empty directory, save this consumer package as
Package.swift; SwiftPM fetches the library from release 0.1.1:// swift-tools-version: 6.2import PackageDescriptionlet package = Package(name: "ApiExample",platforms: [.macOS(.v13)],dependencies: [.package(url: "https://github.com/libtmux/libtmux-swift.git", from: "0.1.1")],targets: [.executableTarget(name: "ApiExample",dependencies: [.product(name: "LibTmux", package: "libtmux-swift"),.product(name: "TmuxFixture", package: "libtmux-swift"),],path: "Sources")])Create a
Sourcesdirectory and save this complete program asSources/Example.swift. ThewithTmuxServerfixture owns a private tmux server and stops it after success or failure. Ordinary application code usesServerfor its own socket; these examples use the fixture until their setup moves to ordinary server objects. View sourceimport Foundationimport LibTmuximport TmuxFixture@mainstruct ApiSessions {static func main() async {do {try await withTmuxServer { @Sendable server in_ = try await server.newSession(named: "work")_ = try await server.newSession(named: "build")let sessions = try await server.sessions()for session in sessions.sorted(by: { $0.name < $1.name }) {print("\(session.name): \(session.windowCount) window")}}} catch {FileHandle.standardError.write(Data("Example failed: \(error)\n".utf8))exit(EXIT_FAILURE)}}}Build and run the saved program. An operation or cleanup error produces a failing exit status. Set
LIBTMUX_TMUX_BINto an absolute executable path to select a tmux version:Terminal window $ swift run ApiExampleExpected output:
bootstrap: 1 windowbuild: 1 windowwork: 1 window- Raises
tmux command#
The tmux commands behind sessions().
tmux C API#
The C declarations in tmux that implement these commands.
Guides#
Pages that discuss sessions().
In other ports#
List the server’s sessions
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Ruby | Lib |
| Lua | libtmux |
| PowerShell | Lib Acquires sessions through -Server, with optional exact -Id and -Name selectors. |
| Julia | Lib sessions reads membership from a captured Snapshot without contacting tmux. |
| Erlang | tmux Returns captured rows without tmux I/O. |
| Elixir | Lib Returns a Selection of captured sessions without contacting tmux. |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| Common Lisp | libtmux: sessions returns a fresh vector from a captured snapshot without contacting tmux. |
| TypeScript | server |
| Rust | server |
| Go | tmux |
| Java | io |
| Clojure | libtmux Acquires a new captured graph and returns its session maps; acquisition failure throws. |
| Kotlin | io |
| Scala | io |
| C# | Lib |
| F# | Lib Builds a deferred session query on LibTmux.Server. Query.list acquires the results; it does not traverse the handle’s captured membership. |
| C++ | libtmux:: |
| OCaml | Libtmux Reads an immutable array of already captured sessions without I/O. |
| Perl | Lib Reads captured membership locally, preserving order. |