WindowLink
One session-local link to a window.
Source and package
- Qualified name
-
WindowLink - Package
- libtmux-swift
- Source
- Sources/LibTmux/Window.swift
- struct WindowLink : struct Window
Link -
Examples#
Create a window at an explicit index. Create a logs window at index 3. newWindow returns a WindowAppearance containing the global window and its session-local WindowLink. An occupied index fails instead of silently replacing another window. 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 ApiNewWindow {static func main() async {do {try await withTmuxServer { @Sendable server inlet session = try await server.newSession(named: "work", windowName: "editor")let appearance = try await server.newWindow(in: session, named: "logs", at: 3)print("Window: \(appearance.window.name)")print("Index: \(appearance.link.index)")print("Same session: \(appearance.link.sessionID == session.id)")}} 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:
Window: logsIndex: 3Same session: true
Members8#
- id: var id: Window
Link property The stable identity of the entity associated with this instance.ID - incarnation: let incarnation: Server
Incarnation property - index: let index: Int property
- init(sessionID:windowID:index:isActive:incarnation:) method
- isActive: let is
Active : Bool property - sessionID: let session
ID : SessionID property - target: var target: String property The exact link target tmux resolves in this session.
- windowID: let window
ID : WindowID property
Inherited members2 members#
Reached through Equatable.!=(_:_:), Decodable.init(from:).
- !=(_:_:) function inherited Returns a Boolean value indicating whether two values are not equal.
- init(from:) method inherited Creates a new instance by decoding from the given decoder.