The following predicates form a simple access mechanism to the Unix
termcap library to provide terminal independent I/O for screen
terminals. These predicates are only available on Unix machines. The
SWI-Prolog Windows consoles accepts the ANSI escape sequences.
- tty_get_capability(+Name,
+Type, -Result)
-
Get the capability named Name from the termcap library. See
termcap(5) for the capability names. Type specifies the type
of the expected result, and is one of
string
, number
or
bool
. String results are returned as an atom, number result
as an integer and bool results as the atom on
or off
.
If an option cannot be found this predicate fails silently. The results
are only computed once. Successive queries on the same capability are
fast.
- tty_goto(+X, +Y)
-
Goto position (X, Y) on the screen. Note that the
predicates
line_count/2
and line_position/2
will not have a well defined behaviour while using this predicate.
- tty_put(+Atom, +Lines)
-
Put an atom via the termcap library function tputs(). This function
decodes padding information in the strings returned by tty_get_capability/3
and should be used to output these strings. Lines is the
number of lines affected by the operation, or 1 if not applicable (as in
almost all cases).
- set_tty(-OldStream,
+NewStream)
-
Set the output stream, used by tty_put/2
and tty_goto/2
to a specific stream. Default is user_output.