fix: gate Linux-only settings sections on macOS

This commit is contained in:
Afonso Jorge Ramos committed 2026-04-03 13:58:15 +02:00
1 parent b71284187b
commit 94bd222c52
1 file changed
+20 -11
+20 -11
View File
@@ -13,6 +13,7 @@
import RemoteControlSetupGuide from '../RemoteControlSetupGuide.svelte';
import LogsModal from '../LogsModal.svelte';
import DiagnosticsPanel from '../DiagnosticsPanel.svelte';
import { platform } from '$lib/utils/platform';
import VolumeSlider from '../VolumeSlider.svelte';
import UpdateCheckResultModal from '../updates/UpdateCheckResultModal.svelte';
import WhatsNewModal from '../updates/WhatsNewModal.svelte';
@@ -1468,9 +1469,11 @@
updatesCurrentVersion = getUpdatesCurrentVersion();
});
// Detect sandbox environments
loadFlatpakStatus();
loadSnapStatus();
// Detect sandbox environments (Linux-only, skip on macOS)
if (platform !== 'macos') {
loadFlatpakStatus();
loadSnapStatus();
}
// Check for legacy cached files
checkLegacyCachedFiles();
@@ -3845,6 +3848,7 @@
/>
</div>
{/if}
{#if platform !== 'macos'}
<div class="setting-row">
<div class="setting-info">
<span class="setting-label">{$t('settings.audio.audioBackend')}</span>
@@ -3878,6 +3882,7 @@
{/if}
</div>
</div>
{/if}
<div class="setting-row">
<div class="setting-info">
<span class="setting-label">{$t('settings.audio.outputDevice')}</span>
@@ -3946,6 +3951,7 @@
</div>
{/if}
</div>
{#if platform !== 'macos'}
{#if showAlsaPluginSelector}
<div class="setting-row">
<div class="setting-info">
@@ -4010,6 +4016,7 @@
<small class="setting-note">{$t('settings.audio.pwForceBitperfectNote')}</small>
{/if}
{/if}
{/if}
<div class="setting-row">
<div class="setting-info">
<span class="setting-label">{$t('settings.audio.syncAudioOnStartup')}</span>
@@ -4313,7 +4320,7 @@
<Toggle enabled={systemNotificationsEnabled} onchange={(v) => { systemNotificationsEnabled = v; setSystemNotificationsEnabled(v); }} />
</div>
<!-- Title bar toggles: hidden on macOS (always uses native overlay title bar) -->
{#if !document.documentElement.classList.contains('macos')}
{#if platform !== 'macos'}
<div class="setting-row">
<div class="setting-info">
<span class="setting-label">{$t('settings.appearance.useSystemTitleBar')}</span>
@@ -4330,7 +4337,7 @@
</div>
{/if}
<!-- Title bar customization: hidden on macOS (uses native overlay title bar) -->
{#if !document.documentElement.classList.contains('macos')}
{#if platform !== 'macos'}
<div class="setting-row">
<div class="setting-info">
<span class="setting-label">{$t('settings.appearance.searchInTitleBar')}</span>
@@ -4517,15 +4524,15 @@
</div>
<!-- System Tray / Menu Bar subsection -->
<h4 class="subsection-title">{$t(document.documentElement.classList.contains('macos') ? 'settings.appearance.tray.titleMacos' : 'settings.appearance.tray.title')}</h4>
<h4 class="subsection-title">{$t(platform === 'macos' ? 'settings.appearance.tray.titleMacos' : 'settings.appearance.tray.title')}</h4>
<div class="setting-row">
<div class="setting-info">
<span class="setting-label">{$t(document.documentElement.classList.contains('macos') ? 'settings.appearance.tray.enableTrayMacos' : 'settings.appearance.tray.enableTray')}</span>
<span class="setting-desc">{$t(document.documentElement.classList.contains('macos') ? 'settings.appearance.tray.enableTrayDescMacos' : 'settings.appearance.tray.enableTrayDesc')}</span>
<span class="setting-label">{$t(platform === 'macos' ? 'settings.appearance.tray.enableTrayMacos' : 'settings.appearance.tray.enableTray')}</span>
<span class="setting-desc">{$t(platform === 'macos' ? 'settings.appearance.tray.enableTrayDescMacos' : 'settings.appearance.tray.enableTrayDesc')}</span>
</div>
<Toggle enabled={enableTray} onchange={(v) => handleEnableTrayChange(v)} />
</div>
{#if !document.documentElement.classList.contains('macos')}
{#if platform !== 'macos'}
<div class="setting-row">
<div class="setting-info">
<span class="setting-label">{$t('settings.appearance.tray.minimizeToTray')}</span>
@@ -4553,7 +4560,8 @@
/>
</div>
<!-- Composition subsection (collapsible) -->
<!-- Composition subsection (collapsible, Linux-only: GDK/GSK/X11/Wayland/DMA-BUF) -->
{#if platform !== 'macos'}
<div class="collapsible-section composition-subsection">
<button class="section-title-btn" onclick={() => compositionCollapsed = !compositionCollapsed}>
<div class="section-title-row">
@@ -4704,6 +4712,7 @@
</div>
{/if}
</div>
{/if}
<div class="setting-row">
<div class="setting-info">
@@ -4924,7 +4933,7 @@
<h3 class="section-title">{$t('settings.integrations.title')}</h3>
<!-- Qobuz Link Handler (Linux only — macOS registers via Info.plist at build time) -->
{#if !document.documentElement.classList.contains('macos')}
{#if platform !== 'macos'}
<div class="setting-row">
<div class="setting-info">
<span class="setting-label">{$t('settings.integrations.qobuzLinkHandler')}</span>