opnsense-src/share/examples/bootforth/screen.4th
Franco Fichtner 402e7dde73 src: initial commit based on FreeBSD-10.0
Taken from:	https://github.com/freebsd/freebsd.git
Commit id:	d44ce30d3054a38723f89a161c5e003e64d1aaae
2014-11-09 09:30:14 +01:00

36 lines
623 B
Forth

\ Screen manipulation related words.
\ $FreeBSD$
marker task-screen.4th
: escc ( -- ) \ emit Esc-[
91 27 emit emit
;
: ho ( -- ) \ Home cursor
escc 72 emit \ Esc-[H
;
: cld ( -- ) \ Clear from current position to end of display
escc 74 emit \ Esc-[J
;
: clear ( -- ) \ clear screen
ho cld
;
: at-xy ( x y -- ) \ move cursor to x rows, y cols (1-based coords)
escc .# 59 emit .# 72 emit \ Esc-[%d;%dH
;
: fg ( x -- ) \ Set foreground color
escc 3 .# .# 109 emit \ Esc-[3%dm
;
: bg ( x -- ) \ Set background color
escc 4 .# .# 109 emit \ Esc-[4%dm
;
: me ( -- ) \ Mode end (clear attributes)
escc 109 emit
;