{"id":13719780,"url":"https://github.com/hamonikr/nimf","last_synced_at":"2026-03-16T07:14:53.034Z","repository":{"id":35889029,"uuid":"217215704","full_name":"hamonikr/nimf","owner":"hamonikr","description":"다국어 입력기 프레임워크 Nimf is a lightweight, fast and extensible input method framework","archived":false,"fork":false,"pushed_at":"2026-01-22T07:03:56.000Z","size":12033,"stargazers_count":168,"open_issues_count":4,"forks_count":26,"subscribers_count":11,"default_branch":"master","last_synced_at":"2026-01-22T21:49:09.772Z","etag":null,"topics":["im","input-method"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hamonikr.png","metadata":{"files":{"readme":"README","changelog":"Changelog.md","contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":"hamonikr","issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2019-10-24T05:07:02.000Z","updated_at":"2026-01-22T07:04:02.000Z","dependencies_parsed_at":"2024-02-03T08:44:42.187Z","dependency_job_id":"90e02ca2-7740-4ec2-bf4d-6972d4de3a65","html_url":"https://github.com/hamonikr/nimf","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/hamonikr/nimf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamonikr%2Fnimf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamonikr%2Fnimf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamonikr%2Fnimf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamonikr%2Fnimf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hamonikr","download_url":"https://codeload.github.com/hamonikr/nimf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hamonikr%2Fnimf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29502933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T05:57:17.024Z","status":"ssl_error","status_checked_at":"2026-02-16T05:56:49.929Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["im","input-method"],"created_at":"2024-08-03T01:00:55.408Z","updated_at":"2026-02-16T07:16:56.676Z","avatar_url":"https://github.com/hamonikr.png","language":"C","funding_links":["https://liberapay.com/hamonikr"],"categories":["C","입력 엔진"],"sub_categories":[],"readme":"Nimf is a lightweight, fast and extensible input method framework.\n\nBecause this document contains upstream content, there may be errors in the build.\nIf you have any questions, please visit the address below.\nhttps://github.com/hamonikr/nimf/wiki\nhttps://github.com/hamonikr/nimf/issues\n\nNimf provides:\n  * Input Method Server:\n    * nimf\n  * Language Engines:\n    * System keyboard\n    * Chinese (based on librime)\n    * Japanese (based on anthy)\n    * Korean (based on libhangul)\n    * Various languages (based on m17n)\n  * Service Modules:\n    * Indicator (based on appindicator)\n    * Wayland\n    * NIM (Nimf Input Method)\n    * XIM (based on IMdkit)\n    * Preedit window\n    * Candidate\n  * Client Modules:\n    * GTK+2, GTK+3, Qt5\n  * Settings tool to configure the Nimf:\n    * nimf-settings\n  * Development files:\n    * C library, headers and documents\n\nProject Homepage:\n  * https://github.com/hamonikr/nimf\n\n\nLicense\n-------\n\n  Nimf is free software: you can redistribute it and/or modify it\n  under the terms of the GNU Lesser General Public License as published\n  by the Free Software Foundation, either version 3 of the License, or\n  (at your option) any later version.\n\n  Nimf is distributed in the hope that it will be useful, but\n  WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n  See the GNU Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public License\n  along with this program;  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n\nDownloads\n---------\n\n  Download latest snapshot of the current master branch\n\n  * Clone with HTTPS\n\n    git clone https://github.com/hamonikr/nimf/nimf.git\n\n  * Download tar.gz\n\n    https://github.com/hamonikr/nimf/archive/master/nimf-master.tar.gz\n\n\n\nCompiling and installing\n------------------------\n\n  * Debian, Ubuntu, Kubuntu\n\n    First of all, install devscripts, build-essential, debhelper.\n\n      username:~$ sudo apt install devscripts build-essential debhelper\n\n    After installing devscripts, build-essential perform the following commands.\n\n      username:~$ cd\n      username:~$ mkdir tmp-build\n      username:~$ cd tmp-build\n      username:~/tmp-build$ wget https://github.com/hamonikr/nimf/archive/master/nimf-master.tar.gz\n      username:~/tmp-build$ tar zxf nimf-master.tar.gz\n      username:~/tmp-build$ cd nimf-master\n      username:~/tmp-build/nimf-master$ dpkg-checkbuilddeps\n\n    You may see something like:\n\n      dpkg-checkbuilddeps: Unmet build dependencies: some-package1 some-package2 ...\n\n    Install all dependent packages and perform the following commands.\n\n      username:~/tmp-build/nimf-master$ debuild -b -uc -us\n      username:~/tmp-build/nimf-master$ cd ..\n      username:~/tmp-build$ ls\n      libnimf1_YYYY.mm.dd_amd64.deb\n      libnimf1-dbgsym_YYYY.mm.dd_amd64.deb\n      nimf_YYYY.mm.dd_amd64.build\n      nimf_YYYY.mm.dd_amd64.buildinfo\n      nimf_YYYY.mm.dd_amd64.changes\n      nimf_YYYY.mm.dd_amd64.deb\n      nimf_YYYY.mm.dd.dsc\n      nimf_YYYY.mm.dd.tar.xz\n      nimf-anthy_YYYY.mm.dd_amd64.deb\n      nimf-anthy-dbgsym_YYYY.mm.dd_amd64.deb\n      nimf-dbgsym_YYYY.mm.dd_amd64.deb\n      nimf-dev_YYYY.mm.dd_amd64.deb\n      nimf-libhangul_YYYY.mm.dd_amd64.deb\n      nimf-libhangul-dbgsym_YYYY.mm.dd_amd64.deb\n      nimf-m17n_YYYY.mm.dd_amd64.deb\n      nimf-m17n-dbgsym_YYYY.mm.dd_amd64.deb\n      nimf-master\n      nimf-rime_YYYY.mm.dd_amd64.deb\n      nimf-rime-dbgsym_YYYY.mm.dd_amd64.deb\n\n    Install deb packages.\n\n      username:~/tmp-build$ sudo dpkg -i nimf_YYYY.mm.dd_amd64.deb \\\n      libnimf1_YYYY.mm.dd_amd64.deb nimf-anthy_YYYY.mm.dd_amd64.deb \\\n      nimf-libhangul_YYYY.mm.dd_amd64.deb nimf-m17n_YYYY.mm.dd_amd64.deb \\\n      nimf-rime_YYYY.mm.dd_amd64.deb\n\n  * CentOS\n\n    Open the terminal and run the following commands step by step.\n\n    git clone --recurse-submodules https://github.com/hamonikr/nimf\n    tar -cvf master.tar.gz nimf\n    cp master.tar.gz ~/rpmbuild/SOURCES/\n\n    sudo yum install epel-release\n\n    sudo yum install gcc-c++ libtool glib2-devel pkgconfig intltool \\\n      gtk3-devel gtk2-devel qt5-qtbase-devel qt5-qtbase-private-devel \\\n      libappindicator-gtk3-devel librsvg2-tools google-noto-cjk-fonts \\\n      libhangul-devel anthy-devel anthy libxkbcommon-devel wayland-devel \\\n      libxklavier-devel gtk-doc\n\n    rpmbuild -bb nimf/nimf.spec\n\n    ls -R ~/rpmbuild/RPMS/\n\n    sudo yum install ~/rpmbuild/RPMS/`uname -m`/nimf-*.rpm\n\n  * Other Linux distributions\n\n    There are configuration options. Use it for your situation.\n\n      --disable-hardening     Disable hardening\n      --disable-nimf-anthy    Disable nimf-anthy\n      --disable-nimf-m17n     Disable nimf-m17n\n      --disable-nimf-rime     Disable nimf-rime\n      --with-im-config-data   Install im-config data\n      --with-imsettings-data  Install imsettings data\n\n    Open the terminal and run the following commands step by step.\n\n      username:~$ cd\n      username:~$ mkdir tmp-build\n      username:~$ cd tmp-build\n      username:~/tmp-build$ wget https://gitlab.com/nimf-i18n/nimf/-/archive/master/nimf-master.tar.gz\n      username:~/tmp-build$ tar zxf nimf-master.tar.gz\n      username:~/tmp-build$ cd nimf-master\n\n    If you are using im-config\n\n      ./autogen.sh --with-im-config-data\n\n    If you are using im-chooser\n\n      ./autogen.sh --with-imsettings-data\n\n    Otherwise\n\n      ./autogen.sh\n\n      make\n      sudo make install\n      sudo ldconfig\n      sudo make update-gtk-im-cache\n      sudo make update-gtk-icon-cache\n\n    To uninstall nimf, run the following command.\n\n      sudo make uninstall\n\n\nConfigure\n---------\n\n  * For GNOME Shell, use 3rd party gnome-shell-extension-appindicator\n\n    https://github.com/ubuntu/gnome-shell-extension-appindicator\n    https://extensions.gnome.org/extension/615/appindicator-support/\n\n  * How to enable Nimf on systems using im-config\n\n      im-config -n nimf\n\n  * How to enable Nimf on systems using im-chooser\n\n      imsettings-switch nimf\n\n  * How to enable Nimf on systems using systemd v233 or later\n\n    Run nimf-settings.\n    Turn on the \"Setup environment variables\" option in the Nimf menu.\n\n\nDebugging\n---------\n\n  nimf --debug\n  nimf-settings --gapplication-service \u0026 # for nimf-indicator\n  tail -f /var/log/daemon.log # or /var/log/syslog\n\n  export GTK_IM_MODULE=\"nimf\"\n  export QT4_IM_MODULE=\"xim\"\n  export QT_IM_MODULE=\"nimf\"\n  export XMODIFIERS=\"@im=nimf\"\n  export G_MESSAGES_DEBUG=nimf\n  gedit # or kate for Qt\n\n\nParticipate\n-----------\n\n  * Development\n\n    You may send pull requests.\n    https://github.com/hamonikr/nimf/pulls\n\n  * Translation\n\n    You can make nimf.pot using the following commands.\n\n      git clone https://github.com/hamonikr/nimf/nimf.git\n      cd nimf\n      ./autogen.sh\n      cd po\n      make nimf.pot\n\n    Then, you may translate nimf.pot into your native language.\n\n\nReferences\n----------\n\n  * APIs\n\n    http://www.x.org/releases/X11R7.6/doc/libX11/specs/XIM/xim.html\n    http://www.w3.org/TR/ime-api/\n    https://developer.chrome.com/extensions/input_ime\n    https://docs.enlightenment.org/stable/efl/group__Ecore__IMF__Lib__Group.html\n    http://doc.qt.io/qt-4.8/qinputcontext.html\n    http://doc.qt.io/qt-5/qinputmethod.html\n    https://git.gnome.org/browse/gtk+/tree/gtk/gtkimcontext.c\n\n  * Language Engines (alphabetically listed)\n\n    http://anonscm.debian.org/cgit/collab-maint/anthy.git\n    https://github.com/libhangul/libhangul\n    https://github.com/rime/librime\n    https://www.nongnu.org/m17n/\n\n  * Implementations\n\n    https://github.com/libhangul/nabi\n    https://github.com/libhangul/imhangul\n    https://github.com/libhangul/ibus-hangul\n    https://github.com/ibus/ibus\n    https://github.com/fcitx/fcitx\n    https://github.com/fcitx/fcitx-qt5\n    https://github.com/uim/uim\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamonikr%2Fnimf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhamonikr%2Fnimf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamonikr%2Fnimf/lists"}