From faa5b842314a30caaa35b837fbc62677ad3a5939 Mon Sep 17 00:00:00 2001 From: Abdenasser Date: Mon, 11 Nov 2024 00:25:37 +0100 Subject: [PATCH] glassy theme to only show up for windows and macos --- package-lock.json | 14 ++++- package.json | 1 + src-tauri/Cargo.lock | 78 +++++++++++++++++++++++++ src-tauri/Cargo.toml | 1 + src-tauri/src/main.rs | 7 ++- src-tauri/tauri.conf.json | 6 +- src/lib/components/ThemeSwitcher.svelte | 13 +++-- 7 files changed, 111 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9e6af88..af21504 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,17 +1,18 @@ { "name": "macos-task-manager", - "version": "1.0.9", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "macos-task-manager", - "version": "1.0.9", + "version": "1.1.0", "license": "MIT", "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@tauri-apps/api": "^2.0.3", + "@tauri-apps/plugin-os": "^2.0.0", "@tauri-apps/plugin-shell": "^2.0.1", "simple-icons": "^13.15.0", "svelte-fa": "^4.0.3" @@ -1067,6 +1068,15 @@ "node": ">= 10" } }, + "node_modules/@tauri-apps/plugin-os": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-os/-/plugin-os-2.0.0.tgz", + "integrity": "sha512-M7hG/nNyQYTJxVG/UhTKhp9mpXriwWzrs9mqDreB8mIgqA3ek5nHLdwRZJWhkKjZrnDT4v9CpA9BhYeplTlAiA==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, "node_modules/@tauri-apps/plugin-shell": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-shell/-/plugin-shell-2.0.1.tgz", diff --git a/package.json b/package.json index 2310f6a..7706692 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@tauri-apps/api": "^2.0.3", + "@tauri-apps/plugin-os": "^2.0.0", "@tauri-apps/plugin-shell": "^2.0.1", "simple-icons": "^13.15.0", "svelte-fa": "^4.0.3" diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 448c51d..85cc2b5 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -723,6 +723,16 @@ dependencies = [ "typeid", ] +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "fdeflate" version = "0.3.6" @@ -1003,6 +1013,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "gethostname" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc3655aa6818d65bc620d6911f05aa7b6aeb596291e1e9f79e52df85583d1e30" +dependencies = [ + "rustix", + "windows-targets 0.52.6", +] + [[package]] name = "getrandom" version = "0.1.16" @@ -1612,6 +1632,12 @@ dependencies = [ "libc", ] +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + [[package]] name = "lock_api" version = "0.4.12" @@ -1643,6 +1669,7 @@ dependencies = [ "sysinfo", "tauri", "tauri-build", + "tauri-plugin-os", "tauri-plugin-shell", "window-vibrancy", ] @@ -2085,6 +2112,17 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "os_info" +version = "3.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" +dependencies = [ + "log", + "serde", + "windows-sys 0.52.0", +] + [[package]] name = "os_pipe" version = "1.2.1" @@ -2639,6 +2677,19 @@ dependencies = [ "semver", ] +[[package]] +name = "rustix" +version = "0.38.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + [[package]] name = "ryu" version = "1.0.18" @@ -3056,6 +3107,15 @@ dependencies = [ "futures-core", ] +[[package]] +name = "sys-locale" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" +dependencies = [ + "libc", +] + [[package]] name = "sysinfo" version = "0.29.11" @@ -3270,6 +3330,24 @@ dependencies = [ "walkdir", ] +[[package]] +name = "tauri-plugin-os" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc5f23a86f37687c7f4fecfdc706b279087bc44f7a46702f7307ff1551ee03a" +dependencies = [ + "gethostname", + "log", + "os_info", + "serde", + "serde_json", + "serialize-to-javascript", + "sys-locale", + "tauri", + "tauri-plugin", + "thiserror 1.0.65", +] + [[package]] name = "tauri-plugin-shell" version = "2.0.2" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 6adeeca..000e8b5 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -14,6 +14,7 @@ serde = { version = "1.0", features = ["derive"] } tauri = { version = "2", features = ["macos-private-api"] } sysinfo = "0.29.0" tauri-plugin-shell = "2" +tauri-plugin-os = "2" window-vibrancy = "0.5.2" [features] diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 00a2122..25e7131 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -8,8 +8,10 @@ use sysinfo::{ SystemExt, }; use tauri::{Manager, State}; - -use window_vibrancy::{apply_acrylic, apply_vibrancy, NSVisualEffectMaterial, NSVisualEffectState}; +#[cfg(target_os = "windows")] +use window_vibrancy::apply_acrylic; +#[cfg(target_os = "macos")] +use window_vibrancy::{apply_vibrancy, NSVisualEffectMaterial, NSVisualEffectState}; struct AppState { sys: Mutex, @@ -328,6 +330,7 @@ fn main() { Ok(()) }) .plugin(tauri_plugin_shell::init()) + .plugin(tauri_plugin_os::init()) .manage(AppState::new()) .invoke_handler(tauri::generate_handler![get_processes, kill_process]) .run(tauri::generate_context!()) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 22f791f..087fd4e 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -30,7 +30,11 @@ "mainBinaryName": "NeoHtop", "version": "1.1.0", "identifier": "com.neohtop.dev", - "plugins": {}, + "plugins": { + "os": { + "all": true + } + }, "app": { "macOSPrivateApi": true, "windows": [ diff --git a/src/lib/components/ThemeSwitcher.svelte b/src/lib/components/ThemeSwitcher.svelte index d33237b..6c26e79 100644 --- a/src/lib/components/ThemeSwitcher.svelte +++ b/src/lib/components/ThemeSwitcher.svelte @@ -7,6 +7,7 @@ faChevronDown, faChevronRight, } from "@fortawesome/free-solid-svg-icons"; + import { platform } from "@tauri-apps/plugin-os"; let showMenu = false; @@ -45,10 +46,14 @@ label: "Accessibility", themes: ["highContrast"], }, - { - label: "Glassy", - themes: ["glassy"], - }, + ...(platform() === "windows" || platform() === "macos" + ? [ + { + label: "Glassy", + themes: ["glassy"], + }, + ] + : []), ];