aboutsummaryrefslogtreecommitdiff
path: root/patches/patch-background_blur-20260811-10fed47.patch
blob: 642dfd1c3f40e3144c257dcc060092f28a16176a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
diff --git a/Sources/bar/Config.swift b/Sources/bar/Config.swift
index c2299fc..425ac32 100644
--- a/Sources/bar/Config.swift
+++ b/Sources/bar/Config.swift
@@ -42,6 +42,9 @@ enum Config {
 	/// The color used for the bar background.
 	static let background: Color = .hex("#000000").opacity(0.75)
 
+	/// The blur amount used for the bar background.
+	static let backgroundBlur: Double = 10
+
 	/// The colors used to highlight a cell at different levels (see ``Cell``).
 	static let highlights: [Color] = [.blue, .purple]
 
diff --git a/Sources/bar/Views/AppDelegate.swift b/Sources/bar/Views/AppDelegate.swift
index cefdfc0..a9bdcb1 100644
--- a/Sources/bar/Views/AppDelegate.swift
+++ b/Sources/bar/Views/AppDelegate.swift
@@ -11,7 +11,20 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
 		for screen in NSScreen.screens {
 			let frame = Screen.barFrame(screen, position: Config.position, height: Config.height)
 			let window = BarWindow(contentRect: frame)
-			window.contentView = NSHostingView(rootView: BarView(blocks: blocks))
+
+			// Create the background blur view
+			let backgroundBlurView = BackgroundBlurView()
+			backgroundBlurView.autoresizingMask = [.width, .height]
+			backgroundBlurView.frame = window.contentView?.bounds ?? .zero
+
+			// Create the bar view as a child of the background blur view
+			let barView = NSHostingView(rootView: BarView(blocks: blocks))
+			barView.autoresizingMask = [.width, .height]
+			barView.frame = window.contentView?.bounds ?? .zero
+			backgroundBlurView.addSubview(barView)
+
+			// Present the window with the background blur view as content view
+			window.contentView = backgroundBlurView
 			window.orderFrontRegardless()
 			windows.append(window)
 		}