curses: beginning of screen support
parent
f2e5b168a7
commit
717f036e52
|
@ -122,6 +122,30 @@ PRIVATE>
|
|||
] curry with-window
|
||||
] 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
|
||||
|
||||
|
|
Loading…
Reference in New Issue