Server.windows()
Every window on this server, in tmux's own order.
Source and package
- Qualified name
-
Server.windows() - 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#
A window linked into more than one session appears once here. Use
windowLinks()for each session-local appearance.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- Raises
tmux command#
The tmux commands behind windows().
list-windows -a server scope, cmd_list_windows_exec tmux C API#
The C declarations in tmux that implement these commands.
In other ports#
List the server's windows
| Language | Equivalent |
|---|---|
| Python | libtmux |
| Ruby | Lib |
| Lua | libtmux |
| PowerShell | Lib Use the -Server parameter set to acquire window placements across all sessions. |
| Julia | Lib windows with a Snapshot reads every captured physical window. Use windowlinks for session placements. |
| Erlang | tmux Returns unique captured physical windows. window_links/1 lists session memberships. |
| Elixir | Lib Returns a Selection of every captured physical window. window_links/1 lists session placements. |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| Common Lisp | libtmux: windows on a snapshot returns captured physical windows once each. |
| TypeScript | server |
| Rust | server |
| Go | tmux |
| Java | io |
| Clojure | libtmux Acquires a new graph and returns its window placements without deduplicating linked windows. |
| Kotlin | io |
| Scala | io |
| C# | Lib |
| F# | Lib Builds a deferred query for placements across all sessions. Query.list acquires the results; a linked window appears once for each session placement. |
| C++ | libtmux:: |
| OCaml | Libtmux Reads captured global windows; use window_links for indexed session placements. |
| Perl | Lib One entry per physical identity. window_links retains all session placements. |