Git Product home page Git Product logo

kime's Introduction

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 = {
    enabled = "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.

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

kime's People

Contributors

80rokwoc4j avatar adenosie avatar bobinmathew avatar chwnam avatar damhiya avatar demokritos avatar doortothefuture avatar foriequal0 avatar github-actions[bot] avatar jhyub avatar kianmeng avatar kimhongsu avatar kpqi5858 avatar lens0021 avatar majecty avatar octopuset avatar palindrom615 avatar pbzweihander avatar riey avatar sephiron99 avatar seungheonoh avatar simnalamburt avatar so-chiru avatar sudosubin avatar tiktock avatar wind0204 avatar xiniha avatar xnuk avatar zero734kr avatar zeroday0619 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kime's Issues

Add GTK4 frontend

Maybe just feature in gtk3 module would be enough because they share many codes

Rework config file

  • Generate default config file in build time then install under /etc/kime
  • Don't generate config file itself
  • Read custom layout from config not data

vscode doesn't work well

  • Arrow key delete preedit text
  • With vim plugin in hangul mode ESC doesn't change to normal mode only turn off hangul(Only ibus works well)

firefox backspace bug

[gtk3/src/lib.rs:139] ret = Preedit(
    'ㄱ',
)
[gtk3/src/lib.rs:139] ret = ClearPreedit

is committed when backspace is pressed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.