mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-29 00:35:38 +08:00
fix: auto-detect KDE/Plasma and switch to X11 as backend to fix titlebar button freeze (#4523)
This commit is contained in:
@@ -435,16 +435,17 @@ pub fn run() {
|
|||||||
let desktop_env = std::env::var("XDG_CURRENT_DESKTOP")
|
let desktop_env = std::env::var("XDG_CURRENT_DESKTOP")
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
.to_uppercase();
|
.to_uppercase();
|
||||||
|
let session_env = std::env::var("XDG_SESSION_TYPE").unwrap_or_default();
|
||||||
let is_kde_desktop = desktop_env.contains("KDE");
|
let is_kde_desktop = desktop_env.contains("KDE");
|
||||||
let is_plasma_desktop = desktop_env.contains("PLASMA");
|
let is_wayland_session = session_env.contains("wayland");
|
||||||
|
|
||||||
if is_kde_desktop || is_plasma_desktop {
|
if is_kde_desktop && is_wayland_session {
|
||||||
std::env::set_var("GTK_CSD", "0");
|
std::env::set_var("GDK_BACKEND", "x11");
|
||||||
logging!(
|
logging!(
|
||||||
info,
|
info,
|
||||||
Type::Setup,
|
Type::Setup,
|
||||||
true,
|
true,
|
||||||
"KDE detected: Disabled GTK CSD for better titlebar stability."
|
"KDE Wayland detected: Switched to X11 backend for better titlebar stability."
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user