help.txt output-handler.txt                                 

                               Output Handler

The state in editor has an entry ::output-handler. It is supposed to 
reference a datastructure of the following form:

    {:printer function: [buffer] -> nil
     :invalidate function: [] -> nil
     :dimensions function: [] -> {:rows int :cols int}

The :printer value is a function able to "print" a buffer on the output 
device (tty screen, JFrame, HTML, etc.)

The :invalidate value is a function taking no parameters. It is called when 
the editor wants to signal that a complete redraw of the screen should be 

The :dimensions value is a function return a map with :rows and :cols. It 
will usually be the output device who knows the dimensions of the print area.

Block cursor flicker

When the cursor moves fast it sometimes becomes invisible. This can be avoided
by adding the following to the .liq file:

    (swap! liq.tty-output/settings assoc
           :liq.tty-output/cursor-draw-hack true)

A white block will temporary be drawn at the cursor position when it moves.