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',
},
}),