fix: compositors not supported by Überzug Wayland layer, or WSL not with WezTerm should fallback to Chafa (#1735)

This commit is contained in:
三咲雅 · Misaki Masa 2024-10-05 22:16:20 +08:00 committed by GitHub
parent 3321f47d46
commit 491f8b8fb1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 8 deletions

View File

@ -83,9 +83,10 @@ impl Adapter {
impl Adapter {
pub fn matches() -> Self {
let emulator = Emulator::detect();
#[cfg(windows)]
if matches!(emulator, Emulator::Microsoft) {
return Self::Sixel;
} else if *WSL && matches!(emulator, Emulator::WezTerm) {
return Self::KgpOld;
}
let mut protocols = emulator.adapters();
@ -104,18 +105,15 @@ impl Adapter {
match env::var("XDG_SESSION_TYPE").unwrap_or_default().as_str() {
"x11" => return Self::X11,
"wayland" if supported_compositor => return Self::Wayland,
"wayland" if !supported_compositor => warn!("[Adapter] Unsupported Wayland compositor"),
"wayland" if !supported_compositor => return Self::Chafa,
_ => warn!("[Adapter] Could not identify XDG_SESSION_TYPE"),
}
if supported_compositor && env_exists("WAYLAND_DISPLAY") {
return Self::Wayland;
if env_exists("WAYLAND_DISPLAY") {
return if supported_compositor { Self::Wayland } else { Self::Chafa };
}
if env_exists("DISPLAY") {
return Self::X11;
}
if *WSL {
return Self::KgpOld;
}
warn!("[Adapter] Falling back to chafa");
Self::Chafa

View File

@ -29,7 +29,12 @@ function M:preload()
end
local cache = ya.file_cache(self)
if not cache or fs.cha(cache) then
if not cache then
return 1
end
local cha = fs.cha(cache)
if cha and cha.length > 0 then
return 1
end