From 535b42a7b8304340182ca1367aa42f047eb06bff Mon Sep 17 00:00:00 2001 From: Tommaso Negri Date: Mon, 27 Jul 2026 16:18:34 +0200 Subject: scaffold basic structure --- Sources/phbar/Models/Screen.swift | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Sources/phbar/Models/Screen.swift (limited to 'Sources/phbar/Models/Screen.swift') diff --git a/Sources/phbar/Models/Screen.swift b/Sources/phbar/Models/Screen.swift new file mode 100644 index 0000000..e4b968f --- /dev/null +++ b/Sources/phbar/Models/Screen.swift @@ -0,0 +1,24 @@ +import AppKit + +@MainActor +enum Screen { + /// Frame of the bar within a screen, in global display coordinates. + static func barFrame(_ screen: NSScreen, position: Config.Position, height: CGFloat) -> NSRect { + switch position { + case .top: + return NSRect( + x: screen.frame.minX, + y: screen.frame.maxY - height, + width: screen.frame.width, + height: height + ) + case .bottom: + return NSRect( + x: screen.frame.minX, + y: screen.frame.minY, + width: screen.frame.width, + height: height + ) + } + } +} -- cgit v1.2.3