Commit graph

860 commits

Author SHA1 Message Date
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
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
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
Soham Sharma
0f034b8528 Fix terminal keyboard open + sticky outside-click 2026-04-16 19:36:42 +08:00
Hariharan Mudaliar
a4d34b7f0f
Update ReadMe.md 2026-04-16 11:17:20 +05:30
AkhilKonduru1
659a90ad9f
Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-15 19:54:52 -05:00
AkhilKonduru1
0c98e73e84
Merge pull request #1 from AkhilKonduru1/copilot/add-groq-api-ai-provider-option
Add Groq as a first-class Screen Assistant provider with dedicated UI placement and model selection
2026-04-14 22:18:45 -05:00
copilot-swe-agent[bot]
c640921fa5
Extract shared model validation helper in model selection panel
Agent-Logs-Url: https://github.com/AkhilKonduru1/Atoll/sessions/d40c666d-f589-48ca-9539-1fd33c799962

Co-authored-by: AkhilKonduru1 <210101196+AkhilKonduru1@users.noreply.github.com>
2026-04-15 03:16:34 +00:00
copilot-swe-agent[bot]
bb8f157d47
Deduplicate OpenAI and Groq response parsing switch cases
Agent-Logs-Url: https://github.com/AkhilKonduru1/Atoll/sessions/d40c666d-f589-48ca-9539-1fd33c799962

Co-authored-by: AkhilKonduru1 <210101196+AkhilKonduru1@users.noreply.github.com>
2026-04-15 03:16:05 +00:00
copilot-swe-agent[bot]
5c2ab19614
Refine Groq model selection fallback and provider card layout constants
Agent-Logs-Url: https://github.com/AkhilKonduru1/Atoll/sessions/d40c666d-f589-48ca-9539-1fd33c799962

Co-authored-by: AkhilKonduru1 <210101196+AkhilKonduru1@users.noreply.github.com>
2026-04-15 03:15:36 +00:00
copilot-swe-agent[bot]
e8b8ea5602
Address review feedback for Groq provider changes
Agent-Logs-Url: https://github.com/AkhilKonduru1/Atoll/sessions/d40c666d-f589-48ca-9539-1fd33c799962

Co-authored-by: AkhilKonduru1 <210101196+AkhilKonduru1@users.noreply.github.com>
2026-04-15 03:14:55 +00:00
copilot-swe-agent[bot]
01c4284270
Add Groq provider to screen assistant model selection and API routing
Agent-Logs-Url: https://github.com/AkhilKonduru1/Atoll/sessions/d40c666d-f589-48ca-9539-1fd33c799962

Co-authored-by: AkhilKonduru1 <210101196+AkhilKonduru1@users.noreply.github.com>
2026-04-15 03:14:11 +00:00
Soham Sharma
c7299edd72 Camera constant added back 2026-04-13 21:58:42 +08:00
Soham Sharma
8ae78dc6fe fixed collateral edits 2026-04-13 21:55:46 +08:00
Soham Sharma
517de364f7 Added Amazon Music Support 2026-04-13 18:52:56 +08:00
Hariharan Mudaliar
dbdeabdd83
Merge pull request #412 from Ebullioscopic/feature/camera-mirror-mode
Multiple camera choice
2026-04-13 14:00:43 +05:30
Hariharan Mudaliar
a03d361243
Clean-up commit 2026-04-13 13:54:53 +05:30
NekomiRyan
edd8ecc3bb
feat: add camera selector for mirror mode and fix hover glitch 2026-04-13 13:00:00 +05:30
Hariharan Mudaliar
74d641c135
Merge pull request #411 from Ebullioscopic/feature/discord-request/gestures
Feature/discord request/gestures
2026-04-13 12:41:32 +05:30
Hariharan Mudaliar
23c763146f
Increase symbol size 2026-04-11 23:13:28 +05:30
Hariharan Mudaliar
3a99478cc1
Add non opening gestures 2026-04-11 23:08:12 +05:30
Hariharan Mudaliar
8792019c1b
Merge pull request #408 from Ebullioscopic/fix-pr-407
Fix pr 407
2026-04-10 15:37:54 +05:30
Hariharan Mudaliar
0141e414d2
Merge remote-tracking branch 'origin/main' into update-korean-language
Merge try
2026-04-10 15:35:22 +05:30
Hariharan Mudaliar
f9fe2e363d
Update: CLI support 2026-04-10 15:17:46 +05:30
StellarSea
6dc11afe8d Update Korean language 2026-04-10 11:16:22 +09:00