Skip to main content

三 三 ( ´_ゝ`)< Japanese Input Method SKK (Simple Kana to Kanji conversion) on your terminal

Project description

What is this?

This program provides Simple Kana Kanji conversion (SKK) input method service to your terminal. It depends on “Canossa”(https://github.com/saitoha/canossa), which is an off-screen terminal emulation service, “Canossa” makes application enable to restore specified screen region on demand!! So this SKK service can provide cool popup feature.

http://zuse.jp/misc/canossa.png

SKK Shell

You can enter SKK-shell mode by “C-j / $”.

http://zuse.jp/misc/skkshell.png

When you launch console applications in SKK-shell, they run in floating windows. Each programs managed by “Canossa” works asyncronously in every windows. You can resize and move each windows with mouse operations. “Canossa” includes terminal multiplexer / task switching engine.

http://zuse.jp/misc/windows.png

Consult Wikipedia

You can consult Wikipedia by pressing C-w.

http://zuse.jp/misc/sskk_wikipedia.png

Settings

You can enter configuration mode by “C-j / @”.

http://zuse.jp/misc/settings.png

Requirements

Python 2.5/2.6/2.7 unix/linux/cygwin version

Install

via github

$ git clone --recursive https://github.com/saitoha/sentimental-skk.git sentimental-skk
$ cd sentimental-skk
$ python setup.py install

or via pip

$ pip install sentimental-skk

upgrade install via pip

$ pip install sentimental-skk --upgrade

Usage

$ sskk [options]
  • Options:

    -h, --help                  show this help message and exit
    --version                   show version
    -t TERM, --term=TERM        override TERM environment variable
    -l LANG, --lang=LANG        override LANG environment variable
    -o ENC, --outenc=ENC        set output encoding
    -u, --use-titlebar          use title bar manipulation feature

How It Works

This program works as a terminal filter application and creates some PTYs. It hooks I/O stream between terminal and applications running on it.

The output stream which is recognized as STDOUT handle for applications, is duplicated and processed with the terminal emulation engine called as “Canossa”. Canossa has a virtual terminal screen buffer which consists with a couple of character cell objects, and behave as another terminal emulator.

  • +---------------------------------------------+
    |                                             |
    |                  Terminal                   |
    |                                             |
    +---------------------------------------------+
           |                       ^
           |                       |
       < input >               < output >
           |                       |
           |      +----------------+
           |      |                      [ PTY 1 ]
    +------|------|-------------------------------+
    |      v      |                               |
    |  +----------+---+       +----------------+  |
    |  |    Master    |=======|      Slave     |  |
    |  +--------------+       +--+-------------+  |
    |                            |        ^       |
    +----------------------------|--------|-------+
                                 |        |
                             < input >    |
                                 |        |
                 +---------------+    < output >
                 |                        |
    [ sskk ]     |                        |               [ canossa ]
    +------------|------------------------|------------+----------------------+
    |            |                        |            |                      |
    |            |                        |<------------------------+         |
    |            v                        |            |            |         |
    |   +-----------------+     +---------+------+     |  +---------+------+  |
    |   |                 |     |                |     |  |                |  |
    |   |                 |     |                |     |  |                |  |
    |   |  InputHandler   |     |  OutputHandler |     |  |    Canossa     |  |
    |   |                 |     |                |     |  |                |  |
    |   |                 |     |                |     |  |                |  |
    |   +--------+---+----+     +----------------+     |  +----------------+  |
    |            |   |                    ^            |      ^       ^       |
    |            |   |                    |            |      |       |       |
    |            |   |                    |            |      |       |       |
    |            |   |        +-------------------+    |      |  +----+----+  |
    |            |   |        |                   |    |      |  |         |  |
    |            |   |        |  TFF Multiplexer  +-----------+  | widgets |  |
    |            |   |        |                   |    |         |         |  |
    |            |   |        +-----------+-------+    |         +---------+  |
    |            |   |                    |            |              ^       |
    |            |   |                    |            |              |       |
    |            |   +------------------------------------------------+       |
    |            |                        |            |                      |
    +------------|------------------------|------------+----------------------+
                 |                        |
             < input >                < output >
                 |                        |
                 |       +----------------+
                 |       |
                 |       | [ PTY 2 ]
         +-------|-------|-----------------------------+
         |       v       |                             |
         |  +------------+--+       +---------------+  |
         |  |    Master     |=======|     Slave     |  |
         |  +---------------+       +----+----------+  |
         |                               |      ^      |
         +-------------------------------|------|------+
                                         |      |
                    +--------------------+      |
                    |                           |
    +---------------+----------------------------------------------+
    |                                                              |
    |                        Application Process                   |
    |                                                              |
    +--------------------------------------------------------------+

Components represented by above diagram, such as InputHandler, OutputHandler, Canossa, Multiplexer are based on TFF.

  • TFF (Terminal Filter Framework):

                        Scanner                    Event Driven Parser         Event Dispatcher
                        +-----+                         +-----+                     +-----+
      << I/O Stream >>  |     | << CodePoint Stream >>  |     | << Event Stream >>  |     |      << I/O Stream >>
    ------------------->|     |------------------------>|     |-------------------->|     |---||-------------------->
      (Raw Sequences)   |     |    (Unicode Points)     |     |   (Function Call)   |     |       (Raw Sequences)
                        +-----+                         +-----+                     +--+--+
                                                   ISO-2022 ISO-6429                   |
                                                   Compatible Parsing                  |
                                                                                       v
                                                                                    +-----+
                                                                     Event Observer |     |      << I/O Stream >>
                                                                      (I/O Handler) |     |---||-------------------->
                                                                                    |     |       (Raw Sequences)
                                                                                    +-----+

Dependency

Reference

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sentimental-skk-0.0.146.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

sentimental_skk-0.0.146-py2.7.egg (3.3 MB view details)

Uploaded Source

sentimental_skk-0.0.146-py2.6.egg (3.3 MB view details)

Uploaded Source

sentimental_skk-0.0.146-py2.5.egg (3.3 MB view details)

Uploaded Source

File details

Details for the file sentimental-skk-0.0.146.tar.gz.

File metadata

File hashes

Hashes for sentimental-skk-0.0.146.tar.gz
Algorithm Hash digest
SHA256 ca889c148e6b945c71a735a2a8eb90d919cafe2e3b0bd4c1347bafa8ec7298a9
MD5 6fa1062abb4fe133d128856d7605ba26
BLAKE2b-256 2c511942838762f782a7074060cd78f8988c316f243f204caaf0bdaf02e7b4f3

See more details on using hashes here.

File details

Details for the file sentimental_skk-0.0.146-py2.7.egg.

File metadata

File hashes

Hashes for sentimental_skk-0.0.146-py2.7.egg
Algorithm Hash digest
SHA256 7dacb7f5630bc80d8f2e5b333547c2af1f335f5d8e3e035c0587318099b2d0b2
MD5 938172e470d2cb5eee8f5e0cc952abe8
BLAKE2b-256 55feb567b34b0326b2d276dfb31007c545ff8499f7f95338176588dcee647d3f

See more details on using hashes here.

File details

Details for the file sentimental_skk-0.0.146-py2.6.egg.

File metadata

File hashes

Hashes for sentimental_skk-0.0.146-py2.6.egg
Algorithm Hash digest
SHA256 dc9b730b64b01c17a06267e20784f4f0df4bc933e7a07b395c0ca32a399b1112
MD5 2e9308dbb209daf0f0e3a829dd30da4c
BLAKE2b-256 347cce3c927e85258cdac646ca75c05e84ed0002886f5bffa08343d1856d4cf7

See more details on using hashes here.

File details

Details for the file sentimental_skk-0.0.146-py2.5.egg.

File metadata

File hashes

Hashes for sentimental_skk-0.0.146-py2.5.egg
Algorithm Hash digest
SHA256 420d10e3203b1be2c3867f3c6d9b88368927fe95777cc77edb64bdd19c57a840
MD5 9e85f9b9b9ce2f0a87195ccb710583fa
BLAKE2b-256 a3a30a10680529f100815e6ff33eb13b3c535f639d64f1ca1def662b39bdb2fe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page