merge#1313
Open
maksiosmf wants to merge 3 commits into
Open
Conversation
Adds on top of upstream boring.notch: - Bluetooth/AirPods connection popup with battery level (debounced, skips nameless devices) - iOS-style charging animation - Audio output device switcher in the open notch - System monitor (CPU/RAM/disk/network) + in-process CPU temperature - Weather widget via wttr.in (IP auto-location, no API key) - Customizable Home tab components + new Widgets tab - Adaptive open-notch height that grows downward for widgets instead of squishing - Faster battery/charging connect/disconnect popups Fixes: - BoringNotchXPCHelper target had no Sources build phase, so the helper never compiled (empty .xpc) and Accessibility / HUD replacement were broken. Added it. Notes: - App Sandbox disabled to allow in-process IOHID CPU temperature reads. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Lists all 13 new and 19 modified files with descriptions, plus a note for upstream maintainers about the XPC helper Sources build phase fix. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
Fork PRs should normally target |
…ecast, rates (v2.7.4) Bumps MARKETING_VERSION to 2.7.4 / build 274. New features (all toggled under Settings → Widgets): • Low battery alert — iOS-style red pulsing popup on the closed notch when the charge drops to 10% and again at 5% (battery power only, each threshold fires once and re-arms when charging). New `.lowBattery` SneakContentType (4 s), threshold logic in BatteryStatusViewModel.checkLowBattery(), view in BoringLowBatteryAlert.swift. Key: lowBatteryAlerts (default on). • Device batteries widget — Widgets-tab panel listing the battery level of every connected Bluetooth device. Reads `system_profiler SPBluetoothDataType` off the main thread (the IORegistry AppleDeviceManagementHIDEventService does NOT expose AirPods battery on all Macs — the connection popup keeps its fast in-process IORegistry path). Refreshes every 30 s. Reports the lower of left/right for earbuds. New BluetoothBatteryReader.allDevices() + DeviceBatteriesView.swift. Key: enableDeviceBatteryWidget (default on). • 3-day weather forecast — compact day / icon / max-min row under the current weather, parsed from the same wttr.in j1 response (no extra request/API). WeatherManager gains DayForecast + forecast; rendered in WeatherWidgetView. Key: weatherShowForecast (default on). • Currency / crypto rates widget — configurable comma-separated pairs (e.g. "USD/PLN, EUR/PLN, BTC/USD"). Fiat from frankfurter.dev (ECB daily, no key), crypto from CoinGecko simple/price (no key); failures in one source don't blank the other. New RatesManager.swift (mirrors WeatherManager: @mainactor singleton, ref-counted start/stop, configurable interval) + RatesWidgetView.swift. Keys: enableRatesWidget (default off), ratesPairs, ratesUpdateInterval. Supporting changes: • WidgetsView now shares the width equally across all enabled widgets instead of switching to a horizontal scroll past two — the scroll pushed the rates widget off-screen so it never showed. • TabSelectionView shows the Widgets tab when any of the four widgets is on. • ContentView renders the new low-battery popup and its chin width. • BoringViewCoordinator adds the `.lowBattery` case. • Constants adds the new Defaults keys; SettingsView adds the toggles, the forecast toggle, the device-batteries section and the rates pairs field. • project.pbxproj registers the 4 new source files. • README documents the new features and the modified-files list. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
This PR is not reviewable in its current form. Please split it into smaller once, add descriptions and make sure that you don't duplicate work that has already been done in other open PRs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.