curses: beginning of screen support
parent
f2e5b168a7
commit
717f036e52
|
@ -122,6 +122,30 @@ PRIVATE>
|
||||||
] curry with-window
|
] curry with-window
|
||||||
] with-destructors ; inline
|
] with-destructors ; inline
|
||||||
|
|
||||||
|
TUPLE: curses-terminal < disposable
|
||||||
|
infd outfd ptr ;
|
||||||
|
|
||||||
|
: <curses-terminal> ( infd outfd ptr -- curses-terminal )
|
||||||
|
curses-terminal new-disposable
|
||||||
|
swap >>ptr
|
||||||
|
swap >>outfd
|
||||||
|
swap >>infd ;
|
||||||
|
|
||||||
|
M: curses-terminal dispose
|
||||||
|
[ outfd>> fclose ] [ infd>> fclose ]
|
||||||
|
[ ptr>> delscreen ] tri ;
|
||||||
|
|
||||||
|
: init-terminal ( terminal -- curses-terminal )
|
||||||
|
"xterm-color" swap [ "rb" fopen ] [ "wb" fopen ] bi
|
||||||
|
[ newterm curses-pointer-error ] 2keep <curses-terminal> ;
|
||||||
|
|
||||||
|
: start-remote-curses ( terminal window -- curses-terminal )
|
||||||
|
[
|
||||||
|
init-terminal
|
||||||
|
initscr curses-pointer-error drop
|
||||||
|
dup ptr>> set_term curses-pointer-error drop
|
||||||
|
] dip apply-options ;
|
||||||
|
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue