Skip to content

Installation

mmaher88 edited this page Mar 9, 2026 · 3 revisions

Installation

Arch Linux / CachyOS / Manjaro / EndeavourOS

yay -S fcitx5-laren

That's it. The installer automatically:

  • Installs fcitx5 and fcitx5-configtool as dependencies
  • Configures your desktop environment (KDE, GNOME, Sway, Hyprland, etc.)
  • Sets up environment variables (GTK_IM_MODULE, QT_IM_MODULE, XMODIFIERS)
  • Starts fcitx5 immediately
  • Pre-configures Laren as the default input method

Toggle Arabic input with Ctrl+Space.

Build from Source (any distro)

Dependencies

Distro Packages
Arch cmake fcitx5 extra-cmake-modules
Fedora cmake gcc-c++ fcitx5-devel
Ubuntu/Debian cmake g++ fcitx5-modules-dev libfcitx5core-dev

Build & Install

git clone https://github.com/mmaher88/laren.git
cd laren
cmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF
cmake --build build -j$(nproc)
sudo cmake --install build

Run Tests (optional)

cmake -B build -DBUILD_TESTS=ON
cmake --build build -j$(nproc)
cd build && ctest --output-on-failure

Desktop Setup

KDE Plasma (Wayland)

  1. System Settings > Virtual Keyboard > Fcitx 5
  2. Log out / log in (or run qdbus6 org.kde.KWin /KWin reconfigure)

KDE Plasma (X11) / GNOME / XFCE / Others

Add to ~/.config/environment.d/fcitx5.conf:

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx

Sway

Add to ~/.config/sway/config:

exec_always fcitx5 -d --replace

Hyprland

Add to ~/.config/hypr/hyprland.conf:

exec-once = fcitx5 -d

Post-Install

flowchart TD
    A["yay -S fcitx5-laren"] --> B["Install deps<br/>fcitx5 + configtool"]
    B --> C["Build from source"]
    C --> D["Run 44 unit tests"]
    D --> E["Install files"]
    E --> F{"Detect desktop"}

    F -->|KDE| G["Configure kwinrc<br/>Reconfigure KWin<br/>Toggle virtual keyboard"]
    F -->|Sway| H["Add exec to sway config"]
    F -->|Hyprland| I["Add exec-once to config"]
    F -->|Other| J["Create XDG autostart"]

    G --> K["Inject env vars<br/>into live session"]
    H --> K
    I --> K
    J --> K

    K --> L["Start fcitx5"]
    L --> M["🎉 Ready!<br/>Ctrl+Space to toggle"]

    style A fill:#e1f5fe
    style M fill:#c8e6c9
Loading

Clone this wiki locally