mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 13:03: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")]
|
#[cfg(target_os = "linux")]
|
||||||
pub fn init_scheme() -> Result<()> {
|
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")
|
let output = std::process::Command::new("xdg-mime")
|
||||||
.arg("default")
|
.arg("default")
|
||||||
.arg("clash-verge-scheme.desktop")
|
.arg("clash-verge.desktop")
|
||||||
.arg("x-scheme-handler/clash")
|
.arg("x-scheme-handler/clash")
|
||||||
.output()?;
|
.output()?;
|
||||||
if !output.status.success() {
|
if !output.status.success() {
|
||||||
|
@ -6,7 +6,8 @@
|
|||||||
"bundle": {
|
"bundle": {
|
||||||
"targets": ["deb", "appimage", "updater"],
|
"targets": ["deb", "appimage", "updater"],
|
||||||
"deb": {
|
"deb": {
|
||||||
"depends": ["openssl"]
|
"depends": ["openssl"],
|
||||||
|
"desktopTemplate": "./clash-verge.desktop"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user