From a098133124b1fb876864423888b1b87a7df5bbb1 Mon Sep 17 00:00:00 2001 From: madonuko Date: Sat, 18 Jan 2025 01:55:45 +0800 Subject: [PATCH] fix(backend/steps): download/install IMFs correctly, also skip if no IMs --- src/backend/steps/_05_dnfdownloadapps.rs | 11 +++++++++++ src/backend/steps/_08_setup_imf.rs | 3 +++ 2 files changed, 14 insertions(+) diff --git a/src/backend/steps/_05_dnfdownloadapps.rs b/src/backend/steps/_05_dnfdownloadapps.rs index 06bf099..6662b45 100644 --- a/src/backend/steps/_05_dnfdownloadapps.rs +++ b/src/backend/steps/_05_dnfdownloadapps.rs @@ -38,6 +38,17 @@ impl super::Step for DnfDownloadApps { .map(ToString::to_string), ); + if !settings.ims.is_empty() { + let pkgs: &[&str] = match &*CFG.edition { + "plasma" | "kde" => &[ + ["fcitx5-autostart", "fcitx5-qt5", "fcitx5-qt6"], + ["fcitx5-gtk", "kcm-fcitx5", "fcitx5-configtool"], + ] + .concat(), + _ => &["ibus-wayland", "ibus-qt", "ibus-gtk3", "ibus-gtk4"], + }; + settings.actions[1].extend(pkgs.iter().map(|&s| s.to_owned())); + } settings.actions[1].extend( (settings.ims.iter()) .filter_map(|im| { diff --git a/src/backend/steps/_08_setup_imf.rs b/src/backend/steps/_08_setup_imf.rs index 5ff4390..9db633b 100644 --- a/src/backend/steps/_08_setup_imf.rs +++ b/src/backend/steps/_08_setup_imf.rs @@ -12,6 +12,9 @@ impl super::Step for SetupImf { settings: &crate::backend::settings::Settings, sender: relm4::Sender, ) -> color_eyre::Result<()> { + if settings.ims.is_empty() { + return Ok(()); + } match &*CFG.edition { "plasma" | "kde" => write_fcitx5_profile(settings).await, _ => write_ibus_profile(settings).await,