Dasom is a multilingual input method framework, which provides

Dasom is licensed under the LGPL.

Architecture


      +- im modules --+    +---- each process -----+  +- a process --+
      | gtk im module |    | gnome-shell-extension |  |   X server   |
      | qt  im module |    | 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             +- dasom-candidate (gtk3)