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

Project details


Release history Release notifications

History Node

0.0.146

History Node

0.0.145

History Node

0.0.144

History Node

0.0.143

History Node

0.0.142

History Node

0.0.141

History Node

0.0.140

History Node

0.0.139

History Node

0.0.138

History Node

0.0.137

History Node

0.0.136

History Node

0.0.135

History Node

0.0.134

History Node

0.0.133

History Node

0.0.132

History Node

0.0.131

History Node

0.0.130

History Node

0.0.129

History Node

0.0.128

History Node

0.0.127

History Node

0.0.126

History Node

0.0.125

History Node

0.0.124

This version
History Node

0.0.123

History Node

0.0.122

History Node

0.0.121

History Node

0.0.120

History Node

0.0.119

History Node

0.0.118

History Node

0.0.117

History Node

0.0.116

History Node

0.0.115

History Node

0.0.114

History Node

0.0.113

History Node

0.0.112

History Node

0.0.111

History Node

0.0.110

History Node

0.0.109

History Node

0.0.108

History Node

0.0.107

History Node

0.0.106

History Node

0.0.105

History Node

0.0.104

History Node

0.0.103

History Node

0.0.102

History Node

0.0.101

History Node

0.0.100

History Node

0.0.99

History Node

0.0.98

History Node

0.0.97

History Node

0.0.96

History Node

0.0.95

History Node

0.0.94

History Node

0.0.93

History Node

0.0.92

History Node

0.0.91

History Node

0.0.90

History Node

0.0.88

History Node

0.0.87

History Node

0.0.86

History Node

0.0.85

History Node

0.0.83

History Node

0.0.82

History Node

0.0.81

History Node

0.0.80

History Node

0.0.79

History Node

0.0.78

History Node

0.0.77

History Node

0.0.76

History Node

0.0.75

History Node

0.0.65

History Node

0.0.64

History Node

0.0.63

History Node

0.0.62

History Node

0.0.61

History Node

0.0.60

History Node

0.0.59

History Node

0.0.58

History Node

0.0.56

History Node

0.0.55

History Node

0.0.54

History Node

0.0.53

History Node

0.0.52

History Node

0.0.51

History Node

0.0.50

History Node

0.0.48

History Node

0.0.47

History Node

0.0.45

History Node

0.0.44

History Node

0.0.43

History Node

0.0.42

History Node

0.0.41

History Node

0.0.40

History Node

0.0.39

History Node

0.0.38

History Node

0.0.37

History Node

0.0.36

History Node

0.0.35

History Node

0.0.34

History Node

0.0.33

History Node

0.0.32

History Node

0.0.31

History Node

0.0.28

History Node

0.0.27

History Node

0.0.26

History Node

0.0.25

History Node

0.0.24

History Node

0.0.23

History Node

0.0.22

History Node

0.0.21

History Node

0.0.20

History Node

0.0.19

History Node

0.0.18

History Node

0.0.17

History Node

0.0.16

History Node

0.0.15

History Node

0.0.14

History Node

0.0.13

History Node

0.0.12

History Node

0.0.11

History Node

0.0.10

History Node

0.0.9

History Node

0.0.8

History Node

0.0.7

History Node

0.0.6

History Node

0.0.5

History Node

0.0.4

History Node

0.0.3

History Node

0.0.2

History Node

0.0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
sentimental_skk-0.0.123-py2.5.egg (3.3 MB) Copy SHA256 hash SHA256 Egg 2.5 Jan 8, 2014
sentimental_skk-0.0.123-py2.6.egg (3.3 MB) Copy SHA256 hash SHA256 Egg 2.6 Jan 8, 2014
sentimental_skk-0.0.123-py2.7.egg (3.3 MB) Copy SHA256 hash SHA256 Egg 2.7 Jan 8, 2014
sentimental-skk-0.0.123.tar.gz (3.1 MB) Copy SHA256 hash SHA256 Source None Jan 8, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page