--- /dev/null
+# console output for DCT, by Shiar
+
+# 1.10.1 200410140120 - print everything to STDOUT
+# .2 - use escape sequences for clear/reposition/invert
+# .3 - try to get width/height from environment vars
+# .4 - never clear screen (just let it scroll)
+# .5 200410142200 - startup message omitted (now shown by main)
+
+use strict;
+use warnings;
+
+return 0 if $set{display};
+$set{display} = "stdout";
+
+push @{$hook{init}}, sub {
+# print "\ec"; # reset (clear screen, go home)
+# print "\e[4mDCT $::VERSION\e[24m "; # print intro (underlined)
+ END { print "\n"; }
+
+ $set{height} = $ENV{LINES}-2 if $ENV{LINES} and $ENV{LINES}>=3;
+ $set{width} = $ENV{COLUMNS} if $ENV{COLUMNS};
+}; # init
+
+push @{$hook{showerror}}, sub {
+ print "\n\a\e[7m$_[0]\e[27m"; # bell and reverse video
+}; # showerror
+
+push @{$hook{showstack}}, sub {
+ for (reverse 0..@stack-1) {
+ print "\n$_: ", showval($stack[$_], $set{base});
+ } # show stack
+ print "\n> "; # prompt
+}; # showstack
+
+push @{$hook{showentry}}, sub {
+ print "\e[3G\e[K", $_[0]; # cursor to column #3; erase line
+}; # showentry
+
+return {
+ author => "Shiar",
+ title => "console output",
+ version => "1.10.4",
+};
+