mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 04:13:44 +08:00
refactor: Optimizing the implementation of Linux URL Scheme registration
This commit is contained in:
parent
6702ac957b
commit
1ffc4f538b
9
src-tauri/clash-verge.desktop
Normal file
9
src-tauri/clash-verge.desktop
Normal file
@ -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;
|
@ -1,6 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Clash Verge Scheme Handler
|
||||
Exec=clash-verge %u
|
||||
StartupNotify=false
|
||||
MimeType=x-scheme-handler/clash;
|
@ -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() {
|
||||
|
@ -6,7 +6,8 @@
|
||||
"bundle": {
|
||||
"targets": ["deb", "appimage", "updater"],
|
||||
"deb": {
|
||||
"depends": ["openssl"]
|
||||
"depends": ["openssl"],
|
||||
"desktopTemplate": "./clash-verge.desktop"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user