diff --git a/lib/tray.ts b/lib/tray.ts index b4fe548..1fd66b4 100644 --- a/lib/tray.ts +++ b/lib/tray.ts @@ -165,7 +165,9 @@ async function resolveTrayIconForTheme() { const existingTheme = usePersistedStore.getState().appearance console.log('[resolveTrayIconForTheme] existingTheme', existingTheme) - const isLinux = platform() === 'linux' + if (existingTheme.tray === 'color') { + return await resolveResource('icons/favicon/icon-color.png') + } if (existingTheme.tray === 'system') { if (platform() === 'macos') { @@ -178,9 +180,7 @@ async function resolveTrayIconForTheme() { console.log('[resolveTrayIconForTheme] windowTheme', windowTheme) const pickedPath = - windowTheme === 'dark' - ? `icons/favicon/icon${isLinux ? '-padded' : ''}.png` - : `icons/favicon/icon-light${isLinux ? '-padded' : ''}.png` + windowTheme === 'dark' ? 'icons/favicon/icon.png' : 'icons/favicon/icon-light.png' return await resolveResource(pickedPath) } catch { @@ -194,9 +194,7 @@ async function resolveTrayIconForTheme() { } const pickedPath = - existingTheme.tray === 'dark' - ? `icons/favicon/icon-light${isLinux ? '-padded' : ''}.png` - : `icons/favicon/icon${isLinux ? '-padded' : ''}.png` + existingTheme.tray === 'dark' ? 'icons/favicon/icon-light.png' : 'icons/favicon/icon.png' return await resolveResource(pickedPath) } diff --git a/src-tauri/icons/favicon/icon-color.png b/src-tauri/icons/favicon/icon-color.png new file mode 100644 index 0000000..c26ee2b Binary files /dev/null and b/src-tauri/icons/favicon/icon-color.png differ diff --git a/src-tauri/icons/favicon/icon-light-padded.png b/src-tauri/icons/favicon/icon-light-padded.png deleted file mode 100644 index e6de063..0000000 Binary files a/src-tauri/icons/favicon/icon-light-padded.png and /dev/null differ diff --git a/src-tauri/icons/favicon/icon-padded.png b/src-tauri/icons/favicon/icon-padded.png deleted file mode 100644 index 9b7359b..0000000 Binary files a/src-tauri/icons/favicon/icon-padded.png and /dev/null differ diff --git a/src/pages/Settings/GeneralSection.tsx b/src/pages/Settings/GeneralSection.tsx index 8bb68a9..572bd19 100644 --- a/src/pages/Settings/GeneralSection.tsx +++ b/src/pages/Settings/GeneralSection.tsx @@ -234,7 +234,7 @@ export default function GeneralSection() { label="Tray Theme" selectedKeys={[appearance.tray]} onSelectionChange={(keys) => { - const value = Array.from(keys)[0] as 'light' | 'dark' | 'system' + const value = Array.from(keys)[0] as 'light' | 'dark' | 'system' | 'color' usePersistedStore.setState((state) => ({ appearance: { ...state.appearance, tray: value }, })) @@ -249,6 +249,7 @@ export default function GeneralSection() { System Light Dark + Color )} diff --git a/store/persisted.ts b/store/persisted.ts index 326d1db..906a6a8 100644 --- a/store/persisted.ts +++ b/store/persisted.ts @@ -1,5 +1,6 @@ import { invoke } from '@tauri-apps/api/core' import { ask } from '@tauri-apps/plugin-dialog' +import { platform } from '@tauri-apps/plugin-os' import { exit } from '@tauri-apps/plugin-process' import { LazyStore } from '@tauri-apps/plugin-store' import { create } from 'zustand' @@ -134,7 +135,7 @@ interface PersistedStateV2 { acknowledgements: string[] appearance: { - tray: 'light' | 'dark' | 'system' + tray: 'light' | 'dark' | 'system' | 'color' app: 'light' | 'dark' | 'system' } } @@ -212,7 +213,7 @@ export const usePersistedStore = create()( acknowledgements: [], appearance: { - tray: 'system', + tray: platform() === 'linux' ? 'color' : 'system', app: 'dark', }, }),