fix: auto-detect KDE/Plasma and switch to X11 as backend to fix titlebar button freeze (#4523)

This commit is contained in:
Sergey Kharenko
2025-08-26 02:50:44 +09:00
committed by GitHub
Unverified
parent 355a18e5eb
commit d58c0a7df5

View File

@@ -435,16 +435,17 @@ pub fn run() {
let desktop_env = std::env::var("XDG_CURRENT_DESKTOP")
.unwrap_or_default()
.to_uppercase();
let session_env = std::env::var("XDG_SESSION_TYPE").unwrap_or_default();
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 {
std::env::set_var("GTK_CSD", "0");
if is_kde_desktop && is_wayland_session {
std::env::set_var("GDK_BACKEND", "x11");
logging!(
info,
Type::Setup,
true,
"KDE detected: Disabled GTK CSD for better titlebar stability."
"KDE Wayland detected: Switched to X11 backend for better titlebar stability."
);
}
}