Skip to content

Riey/kime

Repository files navigation

kime

Korean IME

View in other languages

English, í•śęµ­ě–´


build discord release version aur version license

Why kime

  • Well tested input engine
  • Blazing fast
  • Small memory footprint
  • Written in Rust, no segmentation fault
  • Custom layouts

Have a question?

Please contact us on Discord or create github issue.

Supported frontend

  • XIM
  • Wayland
  • GTK3
  • GTK4
  • Qt5
  • Qt6

Installation

NixOS

Add this code to your configuration.nix

i18n = {
  defaultLocale = "en_US.UTF-8";
  inputMethod = {
    enable = true;
    type = "kime";
    kime.config = {
      indicator.icon_color = "White";
    };
  };
};

Arch Linux

Latest release of kime is available on kime AUR package.

Developing version is available on kime-git.

Debian, Ubuntu

.deb package is available on github releases tab.

Fedora

The unofficial package is being maintained on Fedora Copr.

dnf copr enable toroidalfox/kime
dnf install kime # `kime-git` for bleeding edge

Gentoo

eselect repository add riey git https://github.com/Riey/overlay
eselect repository enable riey
emaint sync -r riey
emerge -av kime

Build from source

Docker

Building with docker does not requires any other dependencies.

git clone https://github.com/riey/kime
cd kime

docker build --file build-docker/<distro path>/Dockerfile --tag kime-build:git .
docker run --name kime kime-build:git
docker cp kime:/opt/kime-out/kime.tar.xz .
# if you want to build deb package try this command instead
# docker cp kime:/opt/kime-out/kime_amd64.deb .

Manual build

Make sure that cargo and other dependencies listed below are installed before build.

git clone https://github.com/Riey/kime
cd kime

scripts/build.sh -ar

Every files needed for manual install is in build/out directory.

scripts/install.sh <install-prefix> can be used for packaging.

scripts/release-deb.sh <deb-out-path> can be used for packaging deb package.

GTK

Typically, this step is not necessary when kime is installed from binary package because most Linux distros does these steps themselves.

# for gtk3
sudo gtk-query-immodules-3.0 --update-cache
# for gtk4
sudo gio-querymodules /usr/lib/gtk-4.0/4.0.0/immodules

Development

C/C++

Run ./scripts/generate_properties.sh for using intellisense C/C++ in vscode

Configuration

environment variables setup

Debian-like

Set input method as kime in language setting

Others

Append following lines to your init script

export GTK_IM_MODULE=kime
export QT_IM_MODULE=kime
export XMODIFIERS=@im=kime

if you use X, append above lines to file ~/.xprofile

Start additional server

kime.desktop file is installed in /etc/xdg/autostart when installing kime.

KDE Plasma Wayland

It is required to select kime daemon under System Settings > Hardware > Input Devices > Virtual Keyboard.
A logout is recommended afterwards.

Weston

It is required to have the following lines in ~/.config/weston.ini

[input-method]
path=/usr/bin/kime

Configuration

Read CONFIGURATION.md for detail options.

Dependencies

Run time

These dependencies are optional depending on your environments. For example, qt6 is not required when it is not used.

  • gtk3
  • gtk4
  • qt5
  • qt6
  • libdbus (indicator)
  • xcb (candidate)
  • fontconfig (xim)
  • freetype (xim)
  • libxkbcommon (wayland)

Build time (you don't need this on running compiled binary)

Required

  • cmake
  • cargo
  • libclang
  • pkg-config

Optional

  • gtk3
  • gtk4
  • qtbase5-private
  • qtbase6-private
  • libdbus
  • xcb
  • fontconfig
  • freetype
  • libxkbcommon