From 51382bc63a1b306a3ffc781957c79212726937ef Mon Sep 17 00:00:00 2001 From: hl-valdemar Date: Tue, 13 Oct 2026 09:10:42 +0200 Subject: [PATCH] fix: match compact settings icon size and color --- README.md | 2 +- Sources/App/TerebiApp.swift | 5 +++-- TODO.md | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 88717b9..8483b92 100644 --- a/README.md +++ b/README.md @@ -251,7 +251,7 @@ The inline URL field, including its placeholder, uses the same 12-point system f With no media open, the full window uses native behind-window HUD glass with a 35%-opaque brown tint. Static, cached amber/rust radial gradients add ambient color only to the empty screen; they disappear during loading or errors, and are never drawn over video or playback chrome. Glass title/control/error surfaces use the same brown tint with half-point sand outlines. Decorative drawing does not intercept input. The idle Metal surface stays attached but hidden; opening media restores a solid black background and letterboxing without tinting the video, and closing it restores the ambient frosted background. macOS controls the material’s appearance, including Reduce Transparency. -In normal mode, the captions selector sits immediately right of the compact-mode button and is disabled when no external subtitle tracks are available. Its native symbol uses a 15-point configuration within a 24-point click target. The native pull-down menu includes a visible Off option and prefers opening above the button; AppKit can reposition it to fit the screen. In compact mode, subtitle selection and Off are available through the settings button's Subtitles submenu; the compact cog uses a 21-point symbol to balance the adjacent icons. Subtitle glass hugs the text and its 12-point internal padding, with the complete container capped at 80% of the window width; longer text wraps within that limit. Its HUD-glass background uses 60% opacity without dimming the text. Visible compact controls raise subtitles by the actual compact control height plus spacing, rather than the normal controller's clearance. Subtitle-load errors remain visible independently of auto-hidden controls. +In normal mode, the captions selector sits immediately right of the compact-mode button and is disabled when no external subtitle tracks are available. Its native symbol uses a 15-point configuration within a 24-point click target. The native pull-down menu includes a visible Off option and prefers opening above the button; AppKit can reposition it to fit the screen. In compact mode, subtitle selection and Off are available through the settings button's Subtitles submenu; the compact cog uses a 21-point symbol to balance the adjacent icons. The settings menu uses a plain button style so its symbol respects that size and inherits the same cream icon color as the other controls, rather than the orange accent tint. Subtitle glass hugs the text and its 12-point internal padding, with the complete container capped at 80% of the window width; longer text wraps within that limit. Its HUD-glass background uses 60% opacity without dimming the text. Visible compact controls raise subtitles by the actual compact control height plus spacing, rather than the normal controller's clearance. Subtitle-load errors remain visible independently of auto-hidden controls. Accepted relative seeks, including keyboard shortcuts, preserve control visibility instead of revealing hidden chrome. Seek failures still reveal the error; dragging the timeline continues to show the controls. diff --git a/Sources/App/TerebiApp.swift b/Sources/App/TerebiApp.swift index 5073638..e399b16 100644 --- a/Sources/App/TerebiApp.swift +++ b/Sources/App/TerebiApp.swift @@ -1591,9 +1591,10 @@ private struct PlayerContent: View { PlayerActionButton(model: model, action: model.onTopAction, title: model.isOnTop ? "Stop Keeping Window on Top" : "Keep Window on Top") } label: { - Image(systemName: "gearshape").font(.system(size: model.isCompact ? 21 : 17)).frame(width: 24, height: 24) + Image(systemName: "gearshape").font(.system(size: model.isCompact ? 17 : 14)).frame(width: 24, height: 24) } - .menuStyle(.borderlessButton) + .menuStyle(.button) + .buttonStyle(.plain) .menuIndicator(.hidden) .fixedSize() .accessibilityLabel("Playback Actions") diff --git a/TODO.md b/TODO.md index 6578988..68f5cf0 100644 --- a/TODO.md +++ b/TODO.md @@ -1,3 +1,5 @@ - [x] add miruro streaming support - [ ] investigate and fix audio when streaming from miruro - audio seems to crackle (not for youtube i think; only for miruros) +- [ ] in the "choose what to play" screen, we should change the youtube button general streaming + - we can figure out the stream and how to handle it from the url (i.e. if youtube url, handle as youtube stream; if miruro url, handle accordingly) - [ ] add chrome cast support \ No newline at end of file