Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

750 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.iconColor = "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

openSUSE (Tumbleweed)

zypper in 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.zst .
# 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, meson, ninja, and other dependencies listed below are installed before build.

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

meson setup build
ninja -C build
sudo ninja -C build install

Enable/disable the frontends by toggling -Dgtk3=true, -Dqt5=false, etc.

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

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

Debian/Ubuntu on Wayland with zsh

kime's deb package integrates with im-config, but under Wayland the im-config selection is applied through /etc/profile.d/im-config_wayland.sh, and zsh never sources it because zsh does not read /etc/profile. Either:

  • add emulate sh -c 'source /etc/profile' to /etc/zsh/zprofile, or

  • skip im-config and create ~/.config/environment.d/kime.conf containing:

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

    This is shell-independent and is the correct way to set environment variables for Wayland sessions.

See #423.

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 > Input & Output > Keyboard > Virtual Keyboard. A logout and re-login is recommended afterwards.

GNOME Wayland

Mutter implements neither zwp_input_method_v2 nor v1, so kime-wayland cannot attach in a GNOME Wayland session. GTK and Qt applications still work through kime's input method modules, but Wayland-native and sandboxed applications do not. Tracked in #422.

Weston

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

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

Sandboxed applications (snap, flatpak)

kime's GTK/Qt input method modules cannot be loaded inside snap or flatpak sandboxes: the sandbox bundles its own GTK/Qt runtime, so GTK_IM_MODULE=kime and QT_IM_MODULE=kime have nothing to load there. The most common case is Firefox, which Ubuntu 22.04+ preinstalls as a snap — use the mozilla.org build instead if you need Korean input.

On Wayland compositors that implement zwp_input_method_v2 (KDE Plasma, sway and other wlroots compositors), sandboxed applications that speak text-input-v3 still work through the compositor, so this mainly affects X11 sessions and GNOME. See #346 and #422.

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

  • meson
  • ninja
  • cargo
  • libclang
  • pkg-config

Optional

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

Releases

Sponsor this project

Packages

Used by

Contributors

Languages