Experimental html based terminal emulator using pyte and webkit.
JavaScript Python Clojure Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



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



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.


$ 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 .


    $ 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


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


Copyright (C) 2012 Erik Soehnel

Licenced under the GPLv3.

Client library is BSD licenced.