Window
One tmux window, independent of every session that links it.
Source and package
- Qualified name
-
Window - Package
- libtmux-swift
- Source
- Sources/LibTmux/Window.swift
- Other languages
- Perlclass Erlangstruct PowerShellcmdlet Juliastruct Elixirstruct Haskell Common Lispclass PythonRubyLuaTypeScriptRustGoJavaC#C++KotlinScalaOCamltypealias F#module Clojurefunction
-
Examples#
List windows across the server. Create editor and logs windows, then find them in the server-wide listing. Each window appears once even if linked into several sessions; use windowLinks() when session-local indexes matter. 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 ApiWindows {static func main() async {do {try await withTmuxServer { @Sendable server inlet session = try await server.newSession(named: "work", windowName: "editor")_ = try await server.newWindow(in: session, named: "logs")let windows = try await server.windows()let created = windows.filter { ["editor", "logs"].contains($0.name) }for window in created.sorted(by: { $0.name < $1.name }) {print("\(window.name): \(window.paneCount) pane")}}} 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:
editor: 1 panelogs: 1 pane
Members11#
Common operations5#
Other members6#
- filterFieldID(for:) method The stable wire id for a key path, or
nilif the property is not filterable. - filterFieldType(_:) method The value kind an id names, or
nilwhen this model does not know it. - filterFormatField(_:) method The tmux format field an id reads, or
nilwhen it has no single one. - filterValue(_:of:) method Reads the field an id names, or
nilif this model has no such field. - incarnation: let incarnation: Server
Incarnation property - init(id:name:paneCount:width:height:incarnation:) method
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.
Guides#
Pages that discuss Window.
- Concepts
In other ports#
A tmux window
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Ruby | Lib |
| Lua | libtmux |
| PowerShell | Lib This cmdlet reads shared .NET LibTmux.Window placements. Use -Server for all sessions or -Session for one session. |
| Julia | Lib WindowSnapshot holds captured physical-window data. WindowLink records a placement in a session; actions use WindowRef. |
| Erlang | #tmux A physical window can have several session memberships. window_link holds the session-relative index and active flag. |
| Elixir | Lib Window is a physical window. WindowLink records its session index and active state. |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| Common Lisp | libtmux: window is a physical captured window. window-link preserves each session placement. |
| TypeScript | window |
| Rust | window |
| Go | tmux |
| Java | io |
| Clojure | libtmux Traverses captured window-placement maps without I/O; the window value is a map with an explicit Java reference for effects. |
| Kotlin | io |
| Scala | io |
| C# | Lib |
| F# | Lib This F# module identifies shared .NET LibTmux.Window placements and builds deferred pane queries. Query.list acquires their results from tmux. |
| C++ | libtmux:: |
| OCaml | Libtmux A global window can have several session placements. Window_link holds the session, index and current flag. |
| Perl | Lib Physical window identity. WindowLink owns each session/index placement. |