From 06ad0204f9e6c74f7e3ae06d89323d9bd022d5eb Mon Sep 17 00:00:00 2001 From: Tommaso Negri Date: Fri, 7 Aug 2026 23:51:15 +0200 Subject: improve documentation --- Sources/phbar/Models/Screen.swift | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'Sources/phbar/Models/Screen.swift') diff --git a/Sources/phbar/Models/Screen.swift b/Sources/phbar/Models/Screen.swift index e4b968f..870d3b6 100644 --- a/Sources/phbar/Models/Screen.swift +++ b/Sources/phbar/Models/Screen.swift @@ -1,8 +1,22 @@ import AppKit -@MainActor +/// Helpers for multi-screen geometry. +/// +/// Maps a bar configuration (position, height) into concrete +/// screen coordinates so the window can be placed correctly +/// on each display. enum Screen { /// Frame of the bar within a screen, in global display coordinates. + /// + /// - Parameters: + /// - screen: The screen to calculate the bar frame for. + /// - position: Whether the bar sits at the top or bottom + /// of the screen. + /// - height: The bar height in points (see ``Config/height``). + /// + /// - Returns: An ``NSRect`` in screen coordinates. The bar spans + /// the full width of the screen and is anchored at the top + /// or bottom edge. static func barFrame(_ screen: NSScreen, position: Config.Position, height: CGFloat) -> NSRect { switch position { case .top: -- cgit v1.2.3