Procházet zdrojové kódy

refactor: Optimizing the implementation of Linux URL Scheme registration

MystiPanda před 1 rokem
rodič
revize
1ffc4f538b

+ 9 - 0
src-tauri/clash-verge.desktop

@@ -0,0 +1,9 @@
+[Desktop Entry]
+Categories={{{categories}}}
+Comment={{{comment}}}
+Exec={{{exec}}} %u
+Icon={{{icon}}}
+Name={{{name}}}
+Terminal=false
+Type=Application
+MimeType=x-scheme-handler/clash;

+ 0 - 6
src-tauri/src/utils/desktop/clash-verge-scheme.desktop

@@ -1,6 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Clash Verge Scheme Handler
-Exec=clash-verge %u
-StartupNotify=false
-MimeType=x-scheme-handler/clash;

+ 1 - 12
src-tauri/src/utils/init.rs

@@ -325,20 +325,9 @@ pub fn init_scheme() -> Result<()> {
 }
 #[cfg(target_os = "linux")]
 pub fn init_scheme() -> Result<()> {
-    use std::io::Write;
-
-    let desktop_file_content = include_str!("./desktop/clash-verge-scheme.desktop");
-    let desktop_dir = dirs::local_applications_dir()?;
-    if !desktop_dir.exists() {
-        let _ = std::fs::create_dir_all(&desktop_dir);
-    }
-    let mut desktop_file =
-        std::fs::File::create(dirs::local_applications_dir()?.join("clash-verge-scheme.desktop"))?;
-    desktop_file.write_all(desktop_file_content.as_bytes())?;
-
     let output = std::process::Command::new("xdg-mime")
         .arg("default")
-        .arg("clash-verge-scheme.desktop")
+        .arg("clash-verge.desktop")
         .arg("x-scheme-handler/clash")
         .output()?;
     if !output.status.success() {

+ 2 - 1
src-tauri/tauri.linux.conf.json

@@ -6,7 +6,8 @@
     "bundle": {
       "targets": ["deb", "appimage", "updater"],
       "deb": {
-        "depends": ["openssl"]
+        "depends": ["openssl"],
+        "desktopTemplate": "./clash-verge.desktop"
       }
     }
   }