Server.init(socketPath:tmuxExecutable:configurationFile:)
Source and package
- Qualified name
-
Server.init(socket Path: tmux Executable: configuration File:) - Declared in
Server- Package
- libtmux-swift
- Source
- Sources/LibTmux/Server.swift
- init( socket
Path : String, tmuxExecutable : String, configurationFile : String?) -
Examples#
Address an existing server by socket. Construct a Server for the fixture's socket and list its sessions. Server is a value that addresses a tmux daemon; constructing it does not start or stop that daemon. 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 ApiServer {static func main() async {do {try await withTmuxServer { @Sendable fixture inguard case let .socketPath(path) = fixture.endpoint else {throw ExampleError.expectedSocketPath}let server = try Server(socketPath: path,tmuxExecutable: fixture.tmuxExecutable,configurationFile: "/dev/null")let names = try await server.sessions().map(\.name).sorted()print("Sessions: \(names.joined(separator: ", "))")}} catch {FileHandle.standardError.write(Data("Example failed: \(error)\n".utf8))exit(EXIT_FAILURE)}}enum ExampleError: Error {case expectedSocketPath}}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:
Sessions: bootstrap- Parameters
- Raises