Skip to content

merge#1313

Open
maksiosmf wants to merge 3 commits into
TheBoredTeam:mainfrom
maksiosmf:main
Open

merge#1313
maksiosmf wants to merge 3 commits into
TheBoredTeam:mainfrom
maksiosmf:main

Conversation

@maksiosmf

Copy link
Copy Markdown

No description provided.

maksiosmf and others added 2 commits June 9, 2026 23:02
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>
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ This PR targets main.

Fork PRs should normally target dev.
Targeting main is only allowed for repository metadata changes such as docs, licensing, and .github/** updates.
This PR changes one or more files outside that allowlist, so please retarget it to dev.

…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>
@Ein-Tim

Ein-Tim commented Jun 10, 2026

Copy link
Copy Markdown
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants