From 946c057dce9f9460b65d933de1e56f6d80d48b56 Mon Sep 17 00:00:00 2001 From: Qijia Liu Date: Thu, 4 Jan 2024 20:41:23 -0500 Subject: [PATCH] LIBIME_MODEL_DIRS --- src/fcitx.cpp | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/fcitx.cpp b/src/fcitx.cpp index 76091c2..d4a12c0 100644 --- a/src/fcitx.cpp +++ b/src/fcitx.cpp @@ -35,14 +35,24 @@ void setupLog(bool verbose) { void start_fcitx() { setupLog(true); - // /Library/Input\ Methods/Fcitx5.app/Contents:~/Library/fcitx5 + + // ~/Library/fcitx5 std::string fcitx5_prefix = std::string(getenv("HOME")) + "/Library/fcitx5"; - std::string addon_dirs = - APP_CONTENTS_PATH "/lib/fcitx5:" + fcitx5_prefix + "/lib/fcitx5"; - std::string data_dirs = fcitx5_prefix + "/share"; + + // /Library/Input\ Methods/Fcitx5.app/Contents/lib/fcitx5:~/Library/fcitx5/lib/fcitx5 // Separate plugins so that dmg replacement won't remove them - setenv("FCITX_ADDON_DIRS", addon_dirs.c_str(), 1); - setenv("XDG_DATA_DIRS", data_dirs.c_str(), 1); + std::string fcitx_addon_dirs = + APP_CONTENTS_PATH "/lib/fcitx5:" + fcitx5_prefix + "/lib/fcitx5"; + setenv("FCITX_ADDON_DIRS", fcitx_addon_dirs.c_str(), 1); + + // ~/Library/fcitx5/share + std::string xdg_data_dirs = fcitx5_prefix + "/share"; + setenv("XDG_DATA_DIRS", xdg_data_dirs.c_str(), 1); + + // ~/Library/fcitx5/lib/libime + std::string libime_model_dirs = fcitx5_prefix + "/lib/libime"; + setenv("LIBIME_MODEL_DIRS", libime_model_dirs.c_str(), 1); + p_instance = std::make_unique(0, nullptr); auto &addonMgr = p_instance->addonManager(); addonMgr.registerDefaultLoader(&staticAddon);