From 84cd4ddc0b584c970f2c270a5f0693573caee4bb Mon Sep 17 00:00:00 2001 From: Eli Date: Fri, 13 Mar 2026 06:24:42 -0400 Subject: [PATCH] upgrade to v4.11.2 --- .SRCINFO | 12 +- PKGBUILD | 17 ++- disable_updater.patch | 69 +++++++++ single_instance_support.patch | 105 +++++++++----- system_tray_item.patch | 263 ++++++++++++++++++---------------- 5 files changed, 294 insertions(+), 172 deletions(-) create mode 100644 disable_updater.patch diff --git a/.SRCINFO b/.SRCINFO index edd38ad..674fed3 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = cinny-desktop-system-tray pkgdesc = Yet another matrix client - with support for system tray minimization - pkgver = 4.10.5 + pkgver = 4.11.2 pkgrel = 1 url = https://cinny.in/ arch = x86_64 @@ -18,11 +18,13 @@ pkgbase = cinny-desktop-system-tray depends = webkit2gtk conflicts = cinny-desktop conflicts = cinny-desktop-bin - source = cinny-desktop-4.10.5.zip::https://github.com/cinnyapp/cinny-desktop/releases/download/v4.10.5/cinny-desktop-v4.10.5.zip + source = cinny-desktop-4.11.2.zip::https://github.com/cinnyapp/cinny-desktop/releases/download/v4.11.2/cinny-desktop-v4.11.2.zip source = system_tray_item.patch source = single_instance_support.patch - sha256sums = 14d93e5ed81d09eb089f709d8c590020d6da8f26bfdb05acc61ad080f28a2b78 - sha256sums = d19eecf46baf3db986b5072dc32da1786e7474bcd7d7c702327d7cdc40639ab7 - sha256sums = d584556e92cea4f1d450827681a6a40a4b720840f6ce9da9f1489ab64db59fb0 + source = disable_updater.patch + sha256sums = 26bc01f7f30b20f471d72c9cf1b139f16b53c077eb6d576125404af21e10faa8 + sha256sums = 67ed1d1286a11163b644b2aa0a1b7bda6597162e4f8e7513a216b37ae2cc5431 + sha256sums = 913dcdaec82401e4a637cb25a9e353d691b22e2fd3ec38a7f7580f94748338fb + sha256sums = 221f885e4c3f43e3316541ec57eab91a66ea550501441a1f936978a2170f8603 pkgname = cinny-desktop-system-tray diff --git a/PKGBUILD b/PKGBUILD index f6a7e36..4a27a4b 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ # # This file is copied from the 'cinny-desktop' package (https://aur.archlinux.org/packages/cinny-desktop) and modified to include the system tray patches. pkgname='cinny-desktop-system-tray' -pkgver='4.10.5' +pkgver='4.11.2' pkgrel='1' pkgdesc='Yet another matrix client - with support for system tray minimization' arch=('x86_64') @@ -14,14 +14,17 @@ depends=('gst-plugins-good' 'gtk3' 'libappindicator-gtk3' 'librsvg' 'libvips' 'o makedepends=('nodejs' 'npm' 'rust') source=("cinny-desktop-${pkgver}.zip::https://github.com/cinnyapp/cinny-desktop/releases/download/v${pkgver}/cinny-desktop-v${pkgver}.zip" "system_tray_item.patch" - "single_instance_support.patch") -sha256sums=('14d93e5ed81d09eb089f709d8c590020d6da8f26bfdb05acc61ad080f28a2b78' - 'd19eecf46baf3db986b5072dc32da1786e7474bcd7d7c702327d7cdc40639ab7' - 'd584556e92cea4f1d450827681a6a40a4b720840f6ce9da9f1489ab64db59fb0') + "single_instance_support.patch" + "disable_updater.patch") +sha256sums=('26bc01f7f30b20f471d72c9cf1b139f16b53c077eb6d576125404af21e10faa8' + '67ed1d1286a11163b644b2aa0a1b7bda6597162e4f8e7513a216b37ae2cc5431' + '913dcdaec82401e4a637cb25a9e353d691b22e2fd3ec38a7f7580f94748338fb' + '221f885e4c3f43e3316541ec57eab91a66ea550501441a1f936978a2170f8603') prepare() { patch -d cinny-desktop -Np1 -i ../system_tray_item.patch || true - patch -d cinny-desktop -Np1 -i ../single_instance_support.patch + patch -d cinny-desktop -Np1 -i ../single_instance_support.patch || true + patch -d cinny-desktop -Np1 -i ../disable_updater.patch cargo update -p tauri --manifest-path cinny-desktop/src-tauri/Cargo.toml cargo update -p tauri-plugin-single-instance --manifest-path cinny-desktop/src-tauri/Cargo.toml @@ -31,7 +34,7 @@ build() { cd cinny-desktop cd ./cinny && npm --legacy-peer-deps ci cd .. && npm ci - NODE_OPTIONS=--max_old_space_size=4096 npm run tauri build -- --bundles deb + NODE_OPTIONS=--max_old_space_size=8096 npm run tauri build -- --bundles deb } package() { diff --git a/disable_updater.patch b/disable_updater.patch new file mode 100644 index 0000000..9f64b2f --- /dev/null +++ b/disable_updater.patch @@ -0,0 +1,69 @@ +From cbd03abbd607511ea5d0ef34ab1ae467a9df3983 Mon Sep 17 00:00:00 2001 +From: Eli +Date: Fri, 13 Mar 2026 06:17:54 -0400 +Subject: [PATCH] disable updater + +--- + package.json | 3 +-- + src-tauri/Cargo.toml | 1 - + src-tauri/tauri.conf.json | 11 +---------- + 3 files changed, 2 insertions(+), 13 deletions(-) + +diff --git a/package.json b/package.json +index c532878..d267d07 100644 +--- a/package.json ++++ b/package.json +@@ -23,8 +23,7 @@ + "@tauri-apps/plugin-notification": "2.3.0", + "@tauri-apps/plugin-os": "2.3.0", + "@tauri-apps/plugin-process": "2.3.0", +- "@tauri-apps/plugin-shell": "2.3.0", +- "@tauri-apps/plugin-updater": "2.9.0" ++ "@tauri-apps/plugin-shell": "2.3.0" + }, + "devDependencies": { + "@actions/github": "6.0.0", +diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml +index 84ce460..f3c2d6e 100644 +--- a/src-tauri/Cargo.toml ++++ b/src-tauri/Cargo.toml +@@ -40,7 +40,6 @@ custom-protocol = [ "tauri/custom-protocol" ] + [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] + tauri-plugin-global-shortcut = "2" + tauri-plugin-single-instance = "2" +-tauri-plugin-updater = "2" + + [lib] + name = "app_lib" +diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json +index 9c906b4..40cef42 100644 +--- a/src-tauri/tauri.conf.json ++++ b/src-tauri/tauri.conf.json +@@ -36,8 +36,7 @@ + "deb": { + "depends": [] + } +- }, +- "createUpdaterArtifacts": "v1Compatible" ++ } + }, + "build": { + "beforeBuildCommand": "cd cinny && npm run build", +@@ -49,14 +48,6 @@ + "mainBinaryName": "cinny", + "version": "4.11.2", + "identifier": "in.cinny.app", +- "plugins": { +- "updater": { +- "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDE2NDc3NDBGMTAzNTk1NUYKUldSZmxUVVFEM1JIRnRuMjVRTkFOQ21lUFI5KzRMU0s4OWtBS1RNRUVCNE9LcE9GcExNZ2M2NHoK", +- "endpoints": [ +- "https://github.com/cinnyapp/cinny-desktop/releases/download/tauri/release.json" +- ] +- } +- }, + "app": { + "security": { + "csp": "default-src 'self' blob: data: filesystem: ws: wss: http: https: tauri:; script-src 'self' 'unsafe-eval' 'unsafe-inline' blob: data: filesystem: ws: wss: http: https: tauri:; img-src 'self' data: blob: filesystem: http: https:; connect-src 'self' ipc: ws: wss: http: https: http://ipc.localhost" +-- +2.53.0 + diff --git a/single_instance_support.patch b/single_instance_support.patch index 0069385..a1f8444 100644 --- a/single_instance_support.patch +++ b/single_instance_support.patch @@ -1,53 +1,88 @@ -From ababdf4ae3f10f94241f14c1c87a2f6ba05d7557 Mon Sep 17 00:00:00 2001 -From: bytedream -Date: Wed, 29 Oct 2025 15:40:28 +0100 -Subject: [PATCH] add single instance support +From 92377631573395498381e6bf72c541f00639d4ab Mon Sep 17 00:00:00 2001 +From: Eli +Date: Fri, 13 Mar 2026 06:15:57 -0400 +Subject: [PATCH] single instance support --- - src-tauri/Cargo.toml | 1 + - src-tauri/src/main.rs | 10 +++++++++- - 2 files changed, 10 insertions(+), 1 deletion(-) + src-tauri/Cargo.lock | 16 ++++++++++++++++ + src-tauri/Cargo.toml | 1 + + src-tauri/src/lib.rs | 10 +++++++++- + 3 files changed, 26 insertions(+), 1 deletion(-) +diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock +index e92d534..eb0b1ce 100644 +--- a/src-tauri/Cargo.lock ++++ b/src-tauri/Cargo.lock +@@ -564,6 +564,7 @@ dependencies = [ + "tauri-plugin-os", + "tauri-plugin-process", + "tauri-plugin-shell", ++ "tauri-plugin-single-instance", + "tauri-plugin-updater", + "tauri-plugin-window-state", + ] +@@ -4733,6 +4734,21 @@ dependencies = [ + "tokio", + ] + ++[[package]] ++name = "tauri-plugin-single-instance" ++version = "2.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0f36019ee9832dc99e4450bb55a21cfad8633b19c2c18bd17c7741939b070ede" ++dependencies = [ ++ "serde", ++ "serde_json", ++ "tauri", ++ "thiserror 2.0.15", ++ "tracing", ++ "windows-sys 0.59.0", ++ "zbus", ++] ++ + [[package]] + name = "tauri-plugin-updater" + version = "2.9.0" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml -index 371df47..bc354dd 100644 +index f347e35..84ce460 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml -@@ -19,6 +19,7 @@ serde_json = "1.0.109" - serde = { version = "1.0.193", features = ["derive"] } - tauri = { version = "1.8.0", features = ["api-all", "devtools", "system-tray", "updater"] } - tauri-plugin-localhost = "0.1.0" -+tauri-plugin-single-instance = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" } - tauri-plugin-window-state = "0.1.1" +@@ -39,6 +39,7 @@ custom-protocol = [ "tauri/custom-protocol" ] - [features] -diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs -index 0682873..02733d8 100644 ---- a/src-tauri/src/main.rs -+++ b/src-tauri/src/main.rs -@@ -7,7 +7,7 @@ - mod menu; - mod tray; + [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] + tauri-plugin-global-shortcut = "2" ++tauri-plugin-single-instance = "2" + tauri-plugin-updater = "2" --use tauri::{utils::config::AppUrl, WindowUrl}; -+use tauri::{utils::config::AppUrl, Manager, WindowUrl}; + [lib] +diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs +index 27f6198..6d218f8 100644 +--- a/src-tauri/src/lib.rs ++++ b/src-tauri/src/lib.rs +@@ -6,7 +6,7 @@ + // mod menu; + mod tray; - fn main() { - let port = 44548; -@@ -29,6 +29,14 @@ fn main() { +-use tauri::{webview::WebviewWindowBuilder, WebviewUrl}; ++use tauri::{webview::WebviewWindowBuilder, WebviewUrl, Manager}; + pub fn run() { + let port: u16 = 44548; +@@ -21,6 +21,14 @@ pub fn run() { builder .plugin(tauri_plugin_localhost::Builder::new(port).build()) + .plugin(tauri_plugin_window_state::Builder::default().build()) + .plugin(tauri_plugin_single_instance::init(|app, _, _| { -+ let window = app.get_window("main").unwrap(); -+ let tray_handle = match app.tray_handle_by_id(tray::TRAY_LABEL) { -+ Some(h) => h, ++ let window = app.get_webview_window("main").unwrap(); ++ let icon = match app.tray_by_id(tray::TRAY_LABEL) { ++ Some(x) => x, + None => return, + }; -+ tray::toggle_window_state(window, tray_handle) ++ tray::toggle_shown(&window, &icon); + })) - .plugin(tauri_plugin_window_state::Builder::default().build()) - .on_window_event(tray::window_event_handler) - .run(context) + .setup(move |app| { + let url = format!("http://localhost:{}", port).parse().unwrap(); + let window_url = WebviewUrl::External(url); -- -2.51.2 +2.53.0 diff --git a/system_tray_item.patch b/system_tray_item.patch index 78ce23d..d0c2ff3 100644 --- a/system_tray_item.patch +++ b/system_tray_item.patch @@ -1,168 +1,181 @@ -From c1e4cdcb68c40e723c2f58c3ed319c506e03122c Mon Sep 17 00:00:00 2001 -From: bytedream -Date: Wed, 29 Oct 2025 15:37:57 +0100 -Subject: [PATCH] add system tray item +From 5fa68716fa5ff5cb1cd9dff7344c00d4a64ca38f Mon Sep 17 00:00:00 2001 +From: Eli +Date: Fri, 13 Mar 2026 06:13:53 -0400 +Subject: [PATCH] add systray features --- - src-tauri/Cargo.toml | 2 +- - src-tauri/build.rs | 2 +- - src-tauri/src/main.rs | 6 +++ - src-tauri/src/tray.rs | 77 +++++++++++++++++++++++++++++++++++++++ - src-tauri/tauri.conf.json | 5 +++ - 5 files changed, 90 insertions(+), 2 deletions(-) + src-tauri/Cargo.toml | 2 +- + src-tauri/src/lib.rs | 3 ++ + src-tauri/src/main.rs | 4 +- + src-tauri/src/tray.rs | 107 ++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 113 insertions(+), 3 deletions(-) create mode 100644 src-tauri/src/tray.rs diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml -index 16d846a..371df47 100644 +index 0b05989..f347e35 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml -@@ -17,7 +17,7 @@ tauri-build = { version = "1.5.5", features = [] } +@@ -17,7 +17,7 @@ tauri-build = { version = "2", features = [] } [dependencies] serde_json = "1.0.109" serde = { version = "1.0.193", features = ["derive"] } --tauri = { version = "1.8.0", features = ["api-all", "devtools", "updater"] } -+tauri = { version = "1.8.0", features = ["api-all", "devtools", "system-tray", "updater"] } - tauri-plugin-localhost = "0.1.0" - tauri-plugin-window-state = "0.1.1" +-tauri = { version = "2", features = [ "devtools"] } ++tauri = { version = "2", features = [ "devtools", "tray-icon" ] } + tauri-plugin-localhost = "2" + tauri-plugin-window-state = "2" + tauri-plugin-clipboard-manager = "2" +diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs +index 7162e5b..27f6198 100644 +--- a/src-tauri/src/lib.rs ++++ b/src-tauri/src/lib.rs +@@ -4,6 +4,7 @@ + )] -diff --git a/src-tauri/build.rs b/src-tauri/build.rs -index 795b9b7..d860e1e 100644 ---- a/src-tauri/build.rs -+++ b/src-tauri/build.rs -@@ -1,3 +1,3 @@ - fn main() { -- tauri_build::build() -+ tauri_build::build() - } -diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs -index 4231f30..0682873 100644 ---- a/src-tauri/src/main.rs -+++ b/src-tauri/src/main.rs -@@ -5,6 +5,7 @@ - - #[cfg(target_os = "macos")] - mod menu; + // mod menu; +mod tray; - use tauri::{utils::config::AppUrl, WindowUrl}; + use tauri::{webview::WebviewWindowBuilder, WebviewUrl}; -@@ -19,12 +20,17 @@ fn main() { - context.config_mut().build.dev_path = AppUrl::Url(window_url.clone()); - let builder = tauri::Builder::default(); - -+ let builder = builder -+ .system_tray(tray::system_tray()) -+ .on_system_tray_event(tray::system_tray_handler); -+ - #[cfg(target_os = "macos")] - let builder = builder.menu(menu::menu()); - - builder - .plugin(tauri_plugin_localhost::Builder::new(port).build()) - .plugin(tauri_plugin_window_state::Builder::default().build()) -+ .on_window_event(tray::window_event_handler) +@@ -23,11 +24,13 @@ pub fn run() { + .setup(move |app| { + let url = format!("http://localhost:{}", port).parse().unwrap(); + let window_url = WebviewUrl::External(url); ++ tray::build_tray(&app)?; + WebviewWindowBuilder::new(app, "main".to_string(), window_url) + .title("Cinny") + .build()?; + Ok(()) + }) ++ .on_window_event(tray::window_handler) .run(context) - .expect("error while building tauri application") + .expect("error while building tauri application"); } +diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs +index cea0b30..c672c6a 100644 +--- a/src-tauri/src/main.rs ++++ b/src-tauri/src/main.rs +@@ -1,5 +1,5 @@ + #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + + fn main() { +- app_lib::run(); +-} +\ No newline at end of file ++ app_lib::run(); ++} diff --git a/src-tauri/src/tray.rs b/src-tauri/src/tray.rs new file mode 100644 -index 0000000..7dd5f72 +index 0000000..ac90012 --- /dev/null +++ b/src-tauri/src/tray.rs -@@ -0,0 +1,77 @@ +@@ -0,0 +1,107 @@ +use tauri::{ -+ CustomMenuItem, GlobalWindowEvent, Manager, SystemTray, SystemTrayEvent, SystemTrayHandle, -+ SystemTrayMenu, SystemTrayMenuItem, Window, WindowEvent, ++ menu::{MenuBuilder, MenuEvent, MenuItem}, ++ tray::{TrayIcon, TrayIconBuilder, TrayIconEvent}, ++ App, AppHandle, Error, Manager, WebviewWindow, Window, WindowEvent, +}; + +pub const TRAY_LABEL: &'static str = "main-tray"; + -+pub fn window_event_handler(event: GlobalWindowEvent) { -+ match event.event() { -+ // Prevent Cinny from closing, instead hide it and let it be -+ // reopened through the tray. -+ WindowEvent::CloseRequested { api, .. } => { -+ api.prevent_close(); ++pub fn build_tray(app: &App) -> Result { ++ let toggle = MenuItem::with_id(app, "toggle", "Hide", true, None::<&str>)?; ++ let quit = MenuItem::with_id(app, "quit", "Quit Cinny", true, None::<&str>)?; ++ let menu = MenuBuilder::new(app) ++ .separator() ++ .item(&toggle) ++ .item(&quit) ++ .build()?; + -+ let window = event.window().clone(); -+ let tray_handle = window.app_handle().tray_handle_by_id(TRAY_LABEL).unwrap(); -+ toggle_window_state(window, tray_handle); -+ } -+ _ => {} ++ TrayIconBuilder::with_id(TRAY_LABEL) ++ .icon(app.default_window_icon().unwrap().clone()) ++ .show_menu_on_left_click(false) ++ .on_menu_event(menu_handler) ++ .on_tray_icon_event(icon_handler) ++ .menu(&menu) ++ .build(app) ++} ++ ++fn menu_handler(app: &AppHandle, event: MenuEvent) { ++ let window = app.get_webview_window("main").unwrap(); ++ let icon = match app.tray_by_id(TRAY_LABEL) { ++ Some(x) => x, ++ None => return, ++ }; ++ ++ match event { ++ MenuEvent { id } => match id.0.as_str() { ++ "quit" => { ++ app.exit(0); ++ } ++ "toggle" => { ++ toggle_shown(&window, &icon); ++ } ++ _ => (), ++ }, + } +} + -+/// Build the system tray object -+pub fn system_tray() -> SystemTray { -+ let toggle = CustomMenuItem::new("toggle".to_owned(), "Hide Cinny"); -+ let quit = CustomMenuItem::new("quit".to_owned(), "Quit"); -+ let menu = SystemTrayMenu::new() -+ .add_item(toggle) -+ .add_native_item(SystemTrayMenuItem::Separator) -+ .add_item(quit); ++fn icon_handler(icon: &TrayIcon, event: TrayIconEvent) { ++ let window = icon.app_handle().get_webview_window("main").unwrap(); ++ let icon = match icon.app_handle().tray_by_id(TRAY_LABEL) { ++ Some(x) => x, ++ None => return, ++ }; ++ ++ match event { ++ TrayIconEvent::Click { button, .. } => match button { ++ tauri::tray::MouseButton::Left => { ++ toggle_shown(&window, &icon); ++ } ++ _ => (), ++ }, ++ _ => (), ++ } ++} + -+ SystemTray::new() -+ .with_menu(menu) -+ .with_id(TRAY_LABEL.to_owned()) ++pub fn window_handler(window: &Window, event: &WindowEvent) { ++ let webview = window.get_webview_window("main").unwrap(); ++ let icon = match window.app_handle().tray_by_id(TRAY_LABEL) { ++ Some(x) => x, ++ None => return, ++ }; ++ match event { ++ WindowEvent::CloseRequested { api, .. } => { ++ api.prevent_close(); ++ toggle_shown(&webview, &icon); ++ } ++ _ => (), ++ } +} + -+pub fn toggle_window_state(window: Window, tray_handle: SystemTrayHandle) { -+ // Hide the window if it's visible, show it if not -+ // `is_visible` returns true for minimized state for whatever reason ++pub fn toggle_shown(window: &WebviewWindow, icon: &TrayIcon) { ++ let app = window.app_handle(); ++ let show = MenuItem::with_id(app, "toggle", "Show Cinny", true, None::<&str>).unwrap(); ++ let hide = MenuItem::with_id(app, "toggle", "Hide Cinny", true, None::<&str>).unwrap(); ++ let quit = MenuItem::with_id(app, "quit", "Quit Cinny", true, None::<&str>).unwrap(); + if window.is_visible().unwrap() { + window.hide().unwrap(); -+ tray_handle -+ .get_item("toggle") -+ .set_title("Show Cinny") ++ let menu = MenuBuilder::new(app) ++ .item(&show) ++ .separator() ++ .item(&quit) ++ .build() + .unwrap(); ++ ++ icon.set_menu(Some(menu)).unwrap(); + } else { -+ window.unminimize().unwrap(); + window.show().unwrap(); -+ window.set_focus().unwrap(); -+ tray_handle -+ .get_item("toggle") -+ .set_title("Hide Cinny") -+ .unwrap(); -+ }; -+} + -+pub fn system_tray_handler(app: &tauri::AppHandle, event: SystemTrayEvent) { -+ let tray_handle = match app.tray_handle_by_id(TRAY_LABEL) { -+ Some(h) => h, -+ None => return, -+ }; -+ let window = app.get_window("main").unwrap(); ++ let menu = MenuBuilder::new(app) ++ .item(&hide) ++ .separator() ++ .item(&quit) ++ .build() ++ .unwrap(); + -+ match event { -+ SystemTrayEvent::LeftClick { .. } => { -+ toggle_window_state(window, tray_handle); -+ } -+ SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() { -+ "quit" => { -+ app.exit(0); -+ } -+ "toggle" => toggle_window_state(window, tray_handle), -+ _ => {} -+ }, -+ _ => {} ++ icon.set_menu(Some(menu)).unwrap(); + } +} -diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json -index c5fa963..30df2f3 100644 ---- a/src-tauri/tauri.conf.json -+++ b/src-tauri/tauri.conf.json -@@ -72,6 +72,11 @@ - ], - "security": { - "csp": "script-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'" -+ }, -+ "systemTray": { -+ "iconPath": "icons/32x32.png", -+ "iconAsTemplate": true, -+ "menuOnLeftClick": false - } - } - } -- -2.51.2 +2.53.0 -- 2.53.0