Skip to main content

三 ⊂二二二( ^o^)二二⊃ < 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

Requirements

Python 2.6/2.7 unix/linux 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.75.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Egg

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

Uploaded Egg

File details

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

File metadata

File hashes

Hashes for sentimental-skk-0.0.75.tar.gz
Algorithm Hash digest
SHA256 cc606eca067a36ba9abd25f4aa511780acc285518db1ae1a2a05f6942cfff6d0
MD5 7aeaca2aa1fc6dbabd1dc3c26f2d8267
BLAKE2b-256 00ad7b94aabecd09db094f98d48f53e735c239743e0710b254f7899c48f7c9af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sentimental_skk-0.0.75-py2.7.egg
Algorithm Hash digest
SHA256 addf44433c8143b5e3e74a6bcce763bdc70ba820d897f25fb636163458af97a0
MD5 6c39a22d70dcd61881d1037dd4b5c0e2
BLAKE2b-256 f62253c7a53f8a136f460276950b1b4ee94b49a19a520fab31691e05dfb7fb1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sentimental_skk-0.0.75-py2.6.egg
Algorithm Hash digest
SHA256 9880bb18b8f47a29445034566faf04ded75f723f0e24b013321ac862ffa1c904
MD5 60232467136e9013ced17bb4f438a900
BLAKE2b-256 a61e30cc66e6ca50d8784b79ec636785ecc7e3b9e7b96567a5ae480ee639902f

See more details on using hashes here.

Supported by

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