GithubHelp home page GithubHelp logo

sukso96100 / dasom Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dasom-im/dasom

0.0 3.0 0.0 435 KB

Dasom is a multilingual input method framework

Home Page: https://dasom-im.github.io

License: GNU Lesser General Public License v3.0

C 99.01% JavaScript 0.85% CSS 0.01% Shell 0.13%

dasom's Introduction

Dasom is an input method framework, which provides

  * Input Method Server
    * dasom-daemon including XIM

  * Indicators
    * GNOME shell: dasom agent extension
    * KDE, Unity, GNOME panel: dasom-indicator (based on libappindicator3)

Project Homepage: https://github.com/dasom-im/dasom


INSTALL
-------

  * Compile

    ./autogen.sh
    make
    sudo make install
    sudo ldconfig
    sudo make update-gtk-icon-cache

  * For gnome-shell, enable [email protected]

    gnome-shell-extension-tool -e [email protected]

  * Configure im-config

    Run im-config, then select Dasom, logout and login.


Troubleshoot
------------

* Failed to load shared library
  Check /etc/ld.so.conf and /etc/ld.so.conf.d/ for /usr/local/lib path


Architecture
------------

    +- im modules (optional) -+  +---- each process -----+  +- a process --+
    |        dasom-gtk        |  | gnome-shell-extension |  |   X server   |
    |        dasom-qt         |  | dasom-indicator       |  +--------------+
    +-------------------------+  +-----------------------+    ^ |
                 | calls                  | calls             | |
       +------------------+    +---------------------+        | |
       | dasom IM library |    | dasom agent library |        | | communicates
       +------------------+    +---------------------+        | |
                ^ |                      ^ |                  | |
                | |   communicates       | |                  | |
                | |   via Unix Socket    | |                  | |
                | v                      | v                  | v
          +---------------------- a process ----------------------+
          |                     dasom-daemon (including XIM)      |
          +-------------------------------------------------------+
                          | calls                  | create instance
                          | singleton instance     | (not module yet)
                +---------------+            +------------------+
                | engine module |   calls    | candidate module |
                |   interface   | ---------> |    interface     |
                +---------------+            +------------------+
                  |                             |
                  +- dasom-english (embedded)   +- dasom-candidate (gtk3)
                  +- dasom-jeongeum (optional)


References
----------
  http://www.x.org/releases/X11R7.6/doc/libX11/specs/XIM/xim.html
  http://www.w3.org/TR/ime-api/
  https://developer.chrome.com/extensions/input_ime
  https://docs.enlightenment.org/stable/efl/group__Ecore__IMF__Lib__Group.html
  http://doc.qt.io/qt-4.8/qinputcontext.html
  http://doc.qt.io/qt-5/qinputmethod.html
  https://git.gnome.org/browse/gtk+

  https://github.com/ibus/ibus
  https://github.com/fcitx/fcitx
  https://github.com/uim/uim

dasom's People

Contributors

sukso96100 avatar

Watchers

 avatar  avatar  avatar

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.