aboutsummaryrefslogtreecommitdiff
path: root/Sources/phbar/Views/BarWindow.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Sources/phbar/Views/BarWindow.swift')
-rw-r--r--Sources/phbar/Views/BarWindow.swift29
1 files changed, 29 insertions, 0 deletions
diff --git a/Sources/phbar/Views/BarWindow.swift b/Sources/phbar/Views/BarWindow.swift
new file mode 100644
index 0000000..83bbcc2
--- /dev/null
+++ b/Sources/phbar/Views/BarWindow.swift
@@ -0,0 +1,29 @@
+import AppKit
+
+// A non-activating panel: clicking it (e.g. a workspace cell) runs the action
+// without stealing focus from the app you're working in.
+final class BarWindow: NSPanel {
+ init(contentRect: NSRect) {
+ super.init(
+ contentRect: contentRect,
+ styleMask: [.nonactivatingPanel],
+ backing: .buffered,
+ defer: false
+ )
+
+ isFloatingPanel = true
+ isOpaque = false
+ backgroundColor = .clear
+ hasShadow = false
+ hidesOnDeactivate = false
+ isReleasedWhenClosed = false
+ isMovable = false
+ becomesKeyOnlyIfNeeded = true
+ level = .floating
+ collectionBehavior = [.canJoinAllSpaces, .fullScreenAuxiliary, .stationary]
+ animationBehavior = .none
+ }
+
+ override var canBecomeKey: Bool { true }
+ override var canBecomeMain: Bool { false }
+}