diff --git a/apps/desktop/src-tauri/src/commands/mod.rs b/apps/desktop/src-tauri/src/commands/mod.rs index 32aeacc5..7823c5c0 100644 --- a/apps/desktop/src-tauri/src/commands/mod.rs +++ b/apps/desktop/src-tauri/src/commands/mod.rs @@ -1 +1,2 @@ pub mod keyring; +pub mod theme; diff --git a/apps/desktop/src-tauri/src/commands/theme.rs b/apps/desktop/src-tauri/src/commands/theme.rs new file mode 100644 index 00000000..a9543d6d --- /dev/null +++ b/apps/desktop/src-tauri/src/commands/theme.rs @@ -0,0 +1,11 @@ +use std::fs; + +#[tauri::command] +pub fn get_gtk_css() -> Result { + let home = std::env::var("HOME").map_err(|_| "HOME environment variable not set")?; + let css_path = format!("{}/.config/gtk-4.0/gtk.css", home); + match fs::read_to_string(&css_path) { + Ok(content) => Ok(content), + Err(_) => Ok(String::new()), // Return empty if file doesn't exist or can't read + } +} diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 55181ed2..a7ebb375 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -138,6 +138,7 @@ pub fn run() { .plugin(tauri_plugin_system_info::init()) .invoke_handler(tauri::generate_handler![ commands::keyring::get_stronghold_key, + commands::theme::get_gtk_css, ]); let app = builder diff --git a/apps/desktop/src-tauri/src/setup/window.rs b/apps/desktop/src-tauri/src/setup/window.rs index b3187cc1..a1720e9b 100644 --- a/apps/desktop/src-tauri/src/setup/window.rs +++ b/apps/desktop/src-tauri/src/setup/window.rs @@ -8,6 +8,7 @@ pub fn setup_window(app: &AppHandle) { main_win.set_transparent_titlebar(true, true); let splashscreen_win = app.get_webview_window("splashscreen").unwrap(); splashscreen_win.set_transparent_titlebar(true, true); + main_win.center().unwrap(); } #[cfg(not(target_os = "macos"))] { @@ -16,5 +17,6 @@ pub fn setup_window(app: &AppHandle) { main_win .set_decorations(false) .expect("Failed to set decorations"); + main_win.center().unwrap(); } } diff --git a/apps/desktop/src/lib/components/standalone/general-settings.svelte b/apps/desktop/src/lib/components/standalone/general-settings.svelte index f64b85a7..7ec61733 100644 --- a/apps/desktop/src/lib/components/standalone/general-settings.svelte +++ b/apps/desktop/src/lib/components/standalone/general-settings.svelte @@ -24,6 +24,8 @@ const loadingAnimations = ["spinning-circle", "kunkun-dancing"] as const let launchAtLogin = $state(false) let language = $state(languageTag()) + const fontSizes = [12, 14, 16, 18, 20] as const + let fontSize = $state($appConfig.fontSize) onMount(() => { autoStart.isEnabled().then((enabled) => { launchAtLogin = enabled @@ -81,6 +83,12 @@ {m.settings_general_developer_mode()} + {#if $appConfig.platform === 'linux'} +
  • + Use GTK Theme + +
  • + {/if}
  • {m.settings_general_language()} @@ -130,6 +138,29 @@
  • +
  • + Font Size + + + + {fontSize}px + + + + Font Size + {#each fontSizes as size} + { + appConfig.setFontSize(size) + }} + value={size} + label={`${size}px`}>{size}px + {/each} + + + +