Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions Core-Monitor.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
DABD00042F95000100000004 /* HardwareRescueDiagnosticsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DABD00022F95000100000002 /* HardwareRescueDiagnosticsTests.swift */; };
DABD10022F96000100000002 /* CoreMonitorShareKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DABD10012F96000100000001 /* CoreMonitorShareKitTests.swift */; };
DABD20022F97000100000002 /* SMCTemperatureSensorCatalogTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DABD20012F97000100000001 /* SMCTemperatureSensorCatalogTests.swift */; };
DABD30022F98000100000002 /* WeatherViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DABD30012F98000100000001 /* WeatherViewModelTests.swift */; };
DABD30042F98000100000004 /* TouchBarCustomizationSettingsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DABD30032F98000100000003 /* TouchBarCustomizationSettingsTests.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand Down Expand Up @@ -55,6 +57,8 @@
DABD00022F95000100000002 /* HardwareRescueDiagnosticsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HardwareRescueDiagnosticsTests.swift; sourceTree = "<group>"; };
DABD10012F96000100000001 /* CoreMonitorShareKitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreMonitorShareKitTests.swift; sourceTree = "<group>"; };
DABD20012F97000100000001 /* SMCTemperatureSensorCatalogTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SMCTemperatureSensorCatalogTests.swift; sourceTree = "<group>"; };
DABD30012F98000100000001 /* WeatherViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeatherViewModelTests.swift; sourceTree = "<group>"; };
DABD30032F98000100000003 /* TouchBarCustomizationSettingsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TouchBarCustomizationSettingsTests.swift; sourceTree = "<group>"; };
E5B12BED2CCB8BBEC03C227F /* Core-MonitorTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Core-MonitorTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

Expand Down Expand Up @@ -106,6 +110,8 @@
DABD00012F95000100000001 /* DashboardProcessSamplingPolicyTests.swift */,
DABD00022F95000100000002 /* HardwareRescueDiagnosticsTests.swift */,
DABD20012F97000100000001 /* SMCTemperatureSensorCatalogTests.swift */,
DABD30012F98000100000001 /* WeatherViewModelTests.swift */,
DABD30032F98000100000003 /* TouchBarCustomizationSettingsTests.swift */,
);
path = "Core-MonitorTests";
sourceTree = "<group>";
Expand Down Expand Up @@ -314,6 +320,8 @@
DABD00032F95000100000003 /* DashboardProcessSamplingPolicyTests.swift in Sources */,
DABD00042F95000100000004 /* HardwareRescueDiagnosticsTests.swift in Sources */,
DABD20022F97000100000002 /* SMCTemperatureSensorCatalogTests.swift in Sources */,
DABD30022F98000100000002 /* WeatherViewModelTests.swift in Sources */,
DABD30042F98000100000004 /* TouchBarCustomizationSettingsTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
4 changes: 3 additions & 1 deletion Core-Monitor/CoreMonTouchBarController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,9 @@ final class CoreMonTouchBarController: NSObject {
}

private func updateWeatherMonitoring() {
let shouldRunWeather = isStarted && configuredItems.values.contains(where: { $0.builtInKind == .weather })
let shouldRunWeather = isStarted
&& customizationSettings.weatherEnabled
&& configuredItems.values.contains(where: { $0.builtInKind == .weather })
guard shouldRunWeather != isWeatherRunning else { return }

isWeatherRunning = shouldRunWeather
Expand Down
168 changes: 0 additions & 168 deletions Core-Monitor/NowPlayingTouchBarView.swift

This file was deleted.

10 changes: 5 additions & 5 deletions Core-Monitor/PockWidgetSources/Weather/WeatherWidget.swift
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,14 @@ final class WeatherWidget: NSView, TouchBarThemable {
let tooltip: String
switch state {
case .idle:
compactTitleLabel.stringValue = "Weather"
compactSubtitleLabel.stringValue = "Waiting for location"
expandedTitleLabel.stringValue = "Weather"
expandedSubtitleLabel.stringValue = "Waiting for location"
compactTitleLabel.stringValue = "Weather Off"
compactSubtitleLabel.stringValue = "Enable in Settings"
expandedTitleLabel.stringValue = "Weather Off"
expandedSubtitleLabel.stringValue = "Enable Live Weather in Settings"
detailLabel.stringValue = ""
compactIconView.image = defaultImage()
expandedIconView.image = defaultImage()
tooltip = "Waiting for location"
tooltip = "Enable Live Weather in Settings"
case .loading:
compactTitleLabel.stringValue = "Weather"
compactSubtitleLabel.stringValue = "Updating weather"
Expand Down
18 changes: 17 additions & 1 deletion Core-Monitor/SettingsWindow.swift
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,14 @@ private struct TouchBarSettingsTab: View {
}
}

Section {
Toggle("Enable Live Weather", isOn: weatherBinding)
} header: {
Text("Live Weather")
} footer: {
Text("Off by default. Enabling this adds the Weather widget, requests location access, and contacts Apple WeatherKit and CoreLocation. Core-Monitor does not receive this data.")
}

Section("Presets") {
ForEach(TouchBarPreset.all) { preset in
HStack {
Expand Down Expand Up @@ -331,7 +339,7 @@ private struct TouchBarSettingsTab: View {
}

Section("Built-In Widgets") {
ForEach(TouchBarWidgetKind.allCases) { kind in
ForEach(TouchBarWidgetKind.allCases.filter { $0 != .weather }) { kind in
Toggle(kind.title, isOn: widgetBinding(kind))
}
}
Expand All @@ -355,6 +363,14 @@ private struct TouchBarSettingsTab: View {
}
}

private var weatherBinding: Binding<Bool> {
Binding {
settings.weatherEnabled
} set: { enabled in
settings.setWeatherEnabled(enabled)
}
}

private func widgetBinding(_ kind: TouchBarWidgetKind) -> Binding<Bool> {
Binding {
settings.contains(kind)
Expand Down
Loading