diff --git a/src/lib/components/Sidebar.svelte b/src/lib/components/Sidebar.svelte index c20328c6d..850be3e57 100644 --- a/src/lib/components/Sidebar.svelte +++ b/src/lib/components/Sidebar.svelte @@ -2430,6 +2430,12 @@ height: calc(100vh - 104px); /* Only 104px NowPlayingBar, no title bar */ } + /* macOS hidden mode: pad sidebar top so search clears the traffic lights + that the OS still draws via TitleBarStyle::Overlay. */ + :global(html.macos) .sidebar.no-titlebar { + padding-top: 36px; + } + .content { flex: 1; overflow: hidden; diff --git a/src/lib/components/views/SettingsView.svelte b/src/lib/components/views/SettingsView.svelte index d16230289..c24cb6216 100644 --- a/src/lib/components/views/SettingsView.svelte +++ b/src/lib/components/views/SettingsView.svelte @@ -4711,9 +4711,21 @@ /> {/if} - + + {#if platform === 'macos'} +
+
+ {$t('settings.appearance.hideTitleBar')} + {$t('settings.appearance.hideTitleBarDesc')} +
+ setMode(v ? 'hidden' : 'qbz')} + /> +
+ {/if} {#if platform !== 'macos'}
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index ff054610d..5a0f5eab6 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -184,6 +184,7 @@ import { loadAwardFavorites } from '$lib/stores/awardFavoritesStore'; import { resolveAwardIdByName } from '$lib/stores/awardCatalogStore'; import { getDefaultFavoritesTab } from '$lib/utils/favorites'; + import { platform } from '$lib/utils/platform'; import { formatTrackTitle } from '$lib/utils/trackTitle'; import type { FavoritesPreferences, ResolvedMusician } from '$lib/types'; @@ -5724,6 +5725,14 @@ class:match-chrome={matchSystemChrome && showTitleBar && windowTransparent} style="--chrome-radius: {chromeRadiusPx}px;" > + + {#if !showTitleBar && platform === 'macos'} +
+ {/if} {#if showTitleBar}