Commit graph

882 commits

Author SHA1 Message Date
Hariharan Mudaliar
04e4f88928
Merge pull request #462 from Ebullioscopic/fix-pr-428
Turkish Localization Fixes and resolve merge conflicts
2026-05-18 19:32:21 +05:30
Hariharan Mudaliar
1241aa3b24
Resolve merge conflicts 2026-05-18 19:28:04 +05:30
Hariharan Mudaliar
63e001ad7b
Merge pull request #456 from rojshanliang/fix/zh-hans-localization-completeness
feat: Comprehensive Simplified Chinese (zh-Hans) Localization Completeness
2026-05-18 19:17:57 +05:30
Hariharan Mudaliar
bc858401c7
Merge pull request #458 from StudioKeys/bugfix/minimalist-notch
Atoll: Fix layout issues on Minimalist Notch UI and improve widgets upon unlock
2026-05-18 10:07:54 +05:30
Jis G Jacob
3829627dbd Atoll: clear lock screen widgets faster on unlock
- Add session-active and CGSession poll fallbacks for unlock detection
- Force weather panel alpha to 0 before orderOut for instant hide

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-18 09:51:50 +05:30
Jis G Jacob
854eb3e4bd Atoll: tighten minimalist music player layout
- Push content below notch cutout, tighten album art halo
- Resize play/pause and side buttons to fit inside notch bounds
- Scope progress bar clipping so album art glow renders fully

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-18 09:51:42 +05:30
RoyShan
a980c87e80 feat: complete missing zh-Hans localization and fix hardcoded UI strings 2026-05-17 20:47:02 +08:00
Hariharan Mudaliar
81ed7c1ec2
Merge pull request #455 from StudioKeys/pr-440
Atoll: pause Spotify Canvas in dynamic island when audio pauses
2026-05-16 10:11:17 +05:30
Jis G Jacob
3117bdb919 Atoll: pause Spotify Canvas in dynamic island when audio pauses
Subscribe DynamicIslandArtworkLoopController to MusicManager.isPlaying
so the looping AVQueuePlayer pauses and resumes with playback state.

Signed-off-by: Jis G Jacob <jackeagle102@gmail.com>
2026-05-16 08:38:56 +05:30
Hariharan Mudaliar
be09d93d2d
Merge pull request #451 from StudioKeys/pr-440
440-fixes
2026-05-14 23:16:21 +05:30
Jis G Jacob
e14945645a Atoll: Revert pbx changes did in 5bd84270aa
Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-14 20:33:10 +05:30
Jis G Jacob
b31bab2b4d Merge branch 'main' of https://github.com/Ebullioscopic/Atoll into pr-440 2026-05-14 20:32:58 +05:30
Hariharan Mudaliar
20218f97c7
Merge pull request #438 from macanoclothing-blip/batteria2
waiting for approve (bat)
2026-05-14 20:21:34 +05:30
delli
945707425a batteria finale, waiting for approve 2026-05-14 15:25:56 +02:00
Jis G Jacob
a92ee9c9b3 Atoll: block embedded Google OAuth in Spotify login sheet
Google's "secure browsers" policy refuses OAuth inside any WKWebView
regardless of UA, so signing into Spotify with a Google-linked account
in the in-app sheet dead-ended on Google's "browser may be insecure"
page. Intercept navigations to accounts.google.com / accounts.youtube.com
in both decidePolicyFor and the createWebViewWith popup path, redirect
back to Spotify's login screen, and surface a status message pointing
users at email/password/Apple/Facebook sign-in or the existing
"Open in Browser" escape hatch for Google accounts. Update the sheet's
initial banner so the limitation is visible before the user tries it.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-14 08:36:05 +05:30
Jis G Jacob
1dffdd05f2 Atoll: freeze Spotify Canvas wallpaper when audio is paused
SIGSTOP WallpaperAgent and the aerial extensions while MusicManager
reports paused so the lockscreen Canvas holds its current frame, and
SIGCONT on resume, hide(), and willTerminate so the agent is never
left suspended.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-14 08:27:31 +05:30
Jis G Jacob
2e796b08a7 Atoll: add in-app Spotify login sheet for sp_dc cookie capture
Wraps accounts.spotify.com login in a WKWebView so users can sign in
without opening the browser inspector to copy the sp_dc cookie. The
sheet uses a non-persistent data store, observes the cookie store, and
hands the captured value to the existing SpotifyAuthManager.validate
flow on a match.

Spotify's anti-bot blocks the WebView path for some accounts, so this
sits alongside (not replaces) the manual paste field, with an "Open in
Browser" escape hatch in the sheet toolbar.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-12 23:29:29 +05:30
Jis G Jacob
8bea68d0fc Atoll: re-SIGSTOP OSDUIHelper across launchd respawns
OSDUIHelper jetsam-exits when idle and launchd spawns a fresh PID on
the next media-key press, so the one-shot SIGSTOP only suppressed the
first incarnation. SystemOSDManager now polls for the PID after
kickstart and runs a background watcher that re-SIGSTOPs every new
incarnation, with state guarded by OSAllocatedUnfairLock. Watcher is
torn down on enableSystemHUD().

Fixes the legacy OSDUIHelper duplicate-HUD path in #419.

The macOS 26 Liquid Glass HUD (loginwindow -> BezelServices ->
ControlCenter SystemBannerService) is a separate render path gated by
the com.apple.private.system-banner-client entitlement and is not
suppressible from a regular user-space app; it needs a privileged
SMAppService helper and is out of scope here.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-12 22:53:13 +05:30
Jis G Jacob
b6591bca18 Atoll: keep lockscreen player legible over Spotify Canvas wallpaper
Replace the transparent canvas-fallback panel background with a soft
ultra-thin dark scrim plus a gentle vertical gradient and hairline
stroke, and add a subtle drop shadow on the foreground so titles, time
labels, and controls stay readable on bright or busy canvas videos.
Restore consistent horizontal and vertical padding in canvas-fallback
mode so the marquee title and inline elapsed/remaining timers no longer
hug the panel edges.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-12 22:53:03 +05:30
Jis G Jacob
d205923b02 Atoll: distinguish charging-on-hold from fully charged on lockscreen widget
The lockscreen battery widget treated any plugged-in-but-not-charging
state as 'Fully charged'. macOS pauses charging for battery health
(e.g., optimized battery charging at 80%), so this misreported the
actual battery state.

Now 'Fully charged' shows only at 100% + plugged in; otherwise the
detail label reads '<level>% • On hold' (with a matching accessibility
string). Charging-in-progress and fully-charged states are unchanged.
2026-05-12 16:22:24 +05:30
Jis G Jacob
43f1fb4283 Atoll: raise MemoryUsageMonitor threshold to 4 GiB in DEBUG builds
The 1 GiB resident-size threshold is reasonable for a release build,
but Swift/SwiftUI debug builds plus the AVPlayer-backed Canvas video
pipeline and SkyLight overlay windows can easily exceed it during
normal Xcode-attached development. The restart-alert dialog firing
mid-development is disruptive and not actionable.

Keep the 1 GiB safety net on release, raise to 4 GiB in DEBUG so
developers running under Xcode aren't interrupted by spurious
restart prompts. The poll interval, cooldown, and alert text all
stay the same.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-12 16:10:50 +05:30
Jis G Jacob
a8d7dff322 Atoll: deliver Spotify Canvas as lockscreen wallpaper without album-art flash
Two fixes for the right-click-artwork-to-wallpaper flow on Spotify
tracks that have a Canvas video.

1. Force AllSpacesAndDisplays.Type and SystemDefault.Type to
   "individual" while the artwork is active (was: keep existing
   value via nil-coalescing). On macOS Tahoe the user-level
   wallpaper rotation honors the parent Type field, so leaving it
   as "folder" caused WallpaperAgent to advance to the next image
   in a rotating wallpaper pack instead of honoring the patched
   single-image / aerial choice. The original Type is preserved in
   the plist backup at temp/atoll_wallpaper_backup.plist and is
   restored byte-for-byte on dismiss, so rotation resumes normally
   after the artwork is dismissed. The forced override is also
   applied to nested Displays / Spaces blocks but only when Type
   was already present, to avoid mutating block shapes that
   intentionally omit it.

2. When the Canvas is expected at right-click time
   (effectiveVideoURL != nil), defer applyArtworkToPlist and
   restartWallpaperAgent entirely. Previously the flow applied raw
   album art as the static wallpaper, restarted the agent, then
   prepared and applied the aerial in a second restart, causing a
   visible flash of the raw album cover. The deferred path stores
   the blurred fallback URL in pendingFallbackStaticURL and only
   touches the plist once: with the aerial on success, or with the
   blurred album cover via applyDeferredStaticFallback if the
   aerial asset prep or aerial-plist patch fails. The in-app
   videoWindow continues to mask the desktop wallpaper during prep
   on the unlocked screen; the lock screen simply transitions from
   the existing wallpaper straight to the Canvas video.

The earlier ?? nil-coalescing in patchWallpaperEntries also covered
per-Display, per-Space.Default, and per-Space.Displays Type fields,
so those are forced too where present.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-12 16:10:17 +05:30
Jis G Jacob
d1d9d75ba8 Atoll: drop lockscreen music player below widgets in canvas fallback
The Spotify Canvas fallback layout previously centered the panel+artwork
group on screenFrame.midY, so the enlarged artwork tile could push up
into the row of circular widgets (battery, audio, AQI, weather).
Clamp maxCenterY against the bottom edge of both
LockScreenWeatherPanelManager.latestFrame and
LockScreenTimerWidgetPanelManager.latestFrame, with a 20pt clearance,
and guard against the clamp inverting via max(maxCenterY, minCenterY).

The panel reflows through the existing
.atollLockScreenPanelFrameDidChange notification, so the artwork
overlay window follows the new panel position automatically.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-05-12 16:08:25 +05:30
Hariharan Mudaliar
1d53bbac13
Merge pull request #448 from macanoclothing-blip/file_tray_hud
new file tray hud
2026-05-10 20:50:30 +05:30
delli
47c784f284 new file tray hud 2026-05-10 14:55:58 +02:00
Yunus Örnek
0f8071f977 Add Turkish localization 2026-05-09 16:55:03 +03:00
delli
c8a6c2b1fa new version 2026-05-08 19:50:26 +02:00
delli
cc09f17074 final version?? 2026-04-29 18:47:38 +02:00
delli
f04de8f54a pleasseeee 2026-04-29 18:47:38 +02:00
delli
531340ae92 pleasseeeee 2026-04-29 18:47:06 +02:00
Jis G Jacob
fd58ae7f89 Atoll: Remove timer name from lock screen timer widget
The widget is too small to display both the title and countdown
comfortably. Replaced the title section with a spacer so the
controls and countdown spread out cleanly.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-04-29 18:40:06 +02:00
Jis G Jacob
3afa968236 Atoll: Add MusicKit animated artwork fetching for Apple Music
Uses MusicKit MusicCatalogSearchRequest to find the current track, then
fetches editorialVideo.motionTallVideo3x4 HLS URL via MusicDataRequest.
The animated artwork URL is pre-fetched on track change and cached per
song for instant availability.

Adds NSAppleMusicUsageDescription to Info.plist for MusicKit
authorization.

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-04-29 18:40:06 +02:00
Jis G Jacob
5bd84270aa Atoll: fullscreen album artwork as lockscreen wallpaper
Right-click on the album art in the lock screen music panel to set it
as the desktop wallpaper. Right-click again or click anywhere on the
background to restore the original wallpaper. Wallpaper also restores
automatically on track change or screen unlock.

Uses direct plist manipulation of the wallpaper config to avoid leaving
traces in the wallpaper picker. Album art PNG is pre-cached in the
background on track change for instant application.

Adds video artwork URL fetching from iTunes catalog for Apple Music
tracks (musicVideo entity search).

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-04-29 18:39:17 +02:00
Hariharan Mudaliar
a6d5251842
Merge pull request #436 from Ebullioscopic/bugfixes/terminal
Bugfixes/terminal
2026-04-27 10:38:22 +05:30
Hariharan Mudaliar
cdf0785e29
Merge origin/main into bug/terminal-bugs 2026-04-27 10:35:39 +05:30
Soham Sharma
f39785f920 Fix terminal notch lifecycle so open/close, hover, outside-click, focus, and opacity stay consistent.
fix: stabilize terminal notch open/close, focus, and opacity

Improve terminal tab behavior in notch by preventing hover re-open races, keeping outside-click close logic accurate, and reliably restoring terminal opacity/translucency after remounts. Also ensure terminal receives focus on open and resigns cleanly on close so keyboard input and close/open cycles behave consistently.
2026-04-24 16:31:45 +08:00
Soham Sharma
9c9f68399e Terminal opacity fix 2026-04-24 09:14:41 +08:00
Jis G Jacob
78bf018fe2 Atoll: Fix LS Music Widget Overlapping Timers
- When lyrics was enabled the music widget would overlap the timers widget causing overlapped widgets which looks awful

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-04-23 18:15:49 +02:00
Hariharan Mudaliar
30bb8a588f
Update gitignore 2026-04-23 11:51:36 +05:30
Hariharan Mudaliar
4f3f23bb77
Merge pull request #426 from macanoclothing-blip/bugfixesandimprvements
small improvements
2026-04-23 11:46:36 +05:30
delli
ffd72456d9 other small improvements 2026-04-22 17:25:14 +02:00
Hariharan Mudaliar
9ee1a7dc46
Merge pull request #427 from StudioKeys/bugfix/notch-reposition
Atoll: Center notch after leaving minimalist mode and enlarge idle animation
2026-04-22 13:07:10 +05:30
Jis G Jacob
393cc558d6 Atoll: Center notch after leaving minimalist mode and enlarge idle animation
- Also remove fixed viewports for inactive animations

Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
2026-04-22 11:12:14 +05:30
delli
f7fbb81d36 small improvements 2026-04-21 23:54:51 +02:00
Hariharan Mudaliar
3684802398
Merge pull request #423 from sharma2007/bug/terminal-bugs
[Bug Fix] Terminal Bug(s)
2026-04-21 20:29:44 +05:30
Soham Sharma
026f55dea7 Update TerminalManager.swift 2026-04-21 09:31:26 +08:00
Soham Sharma
ebaf1b0c2d Update TerminalManager.swift 2026-04-20 14:14:06 +08:00
Hariharan Mudaliar
d4cb3ef2cf
Merge pull request #418 from AkhilKonduru1/main
add groq
2026-04-19 20:34:18 +05:30
Hariharan Mudaliar
e36a728b58
Merge pull request #414 from sharma2007/feature/Amazon-Music-Support
Added Amazon Music Support
2026-04-19 20:33:22 +05:30
Hariharan Mudaliar
20df4e62ef
Merge pull request #421 from sharma2007/bug/terminal_shortcut_fix
Fix terminal keyboard open + sticky outside-click
2026-04-19 20:33:09 +05:30