hoeck / schirm

Experimental html based terminal emulator using pyte and webkit.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Schirm

A Linux compatible terminal emulator which exposes additional HTML rendering modes to client programs.

Demo

Installing

Requires Python 2.7 and PyQT4 (and ClojureScript for development).

Get the source:

$ git clone https://github.com/hoeck/schirm.git

Optionally install xsel (https://github.com/kfish/xsel or apt-get install xsel) to be able to paste the current X selection using Shift-Insert. Middle-click selection works without additional programs.

Run:

$ cd schirm
$ python -m schirm

or install and then run it:

$ python setup.py install
$ schirm

Runs all your favorite commandline applications, including:

mc, htop, vim, grep --color ...

Example Programs

See the demos in support/

  • they use the schirmclient.py lib to show HTML documents in the terminal

  • add them to your PATH:

    $ PATH="$PATH:<path-to-schirm>/support"
    

    or invoke them with <path-to-schirm>/support/<sXXX>

  • get and view some html:

    $ curl news.ycombinator.com | sview
    
  • preview a Markdown document:

    $ markdown README.md | sview
    
  • show a tree of a directory (uses d3.js, slow/crashing for large directories):

    $ stree .
    

    or

    $ stree --circle
    
  • view an image:

    $ sview schirm-logo.png
    

    with interactive rescaling buttons:

    $ sview -i schirm-logo.png
    
  • edit text using codemirror:

    $ sedit README.md
    

Styling

Place your own styles into ~/.schirm/user.css and restart the terminal. See schirm/resources/user.css for the default stylesheet.

In the terminal window, right click for the context menu and select inspect to open the webkit devtools. Right-click on the very left of the terminal window to open a context menu containing the reload item to restart the terminal

Client API

Escape-sequence based, works with every programming language which can write bytes to stdout. See support/schirmclient.py.

Missing Features/Defects

  • no terminal mouse click support
  • only 16 colors
  • only UTF-8
  • slow Application mode (e.g. fullscreen ncurses apps)
  • cat <1G file> will bring everything to a halt
  • emulation glitches (e.g. when resizing htop)

Similar Programs

Licence

Copyright (C) 2012 Erik Soehnel

Licenced under the GPLv3.

Client library is BSD licenced.

About

Experimental html based terminal emulator using pyte and webkit.

License:Other


Languages

Language:JavaScript 80.2%Language:Python 17.0%Language:Clojure 2.4%Language:CSS 0.3%Language:HTML 0.1%