Skip to content
Experimental html based terminal emulator using pyte and webkit.
JavaScript Python Clojure Other


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

Optionally install 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 install
$ schirm

Runs all your favorite commandline applications, including:

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

Example Programs

See the demos in support/

  • they use the 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 | sview
  • preview a Markdown document:

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


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/

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.

Something went wrong with that request. Please try again.