Outdated egg!
This is an egg for CHICKEN 3, the unsupported old release. You're almost certainly looking for the CHICKEN 4 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
stty
High-level interface
stty
[procedure] (stty [port] settings ...)Sets the terminal attributes for PORT (defaulting to current-input-port) according to the SETTINGS, which should be a list of symbols corresponding to modes in the stty(1) man page, or one or more symbols wrapped in a (not ...) list.
To enable a character setting, use a list of the setting name followed by the character (or #f to disable), as in
(stty '(erase #\delete))
The following settings are supported:
clocal cread crtscts cs5 cs6 cs7 cs8 cstopb hup hupcl parenb parodd brkint icrnl ignbrk igncr ignpar imaxbel inpck istrip ixany ixoff ixon parmrk tandem ocrnl onlcr onlret onocr opost tab0 tab1 tab2 tab3 tabs crterase crtkill ctlecho echo echoctl echoe echoke echonl echoprt icanon iexten isig noflsh prterase tostop xcase eof eol eol2 erase intr kill lnext quit rprnt start stop susp werase raw sane
with-stty
[procedure] (with-stty '(setting ...) thunk)Sets the terminal attributes with STTY, evaluates THUNK, then restores the original attributes and returns the value from THUNK.
Example:
(define (read-password prompt)
(display prompt)
(with-stty '(not echo) read-line))
Low-level interface
You shouldn't need to use this.
[procedure] (get-terminal-attributes [port-or-fd])[procedure] (set-terminal-attributes! port-or-fd action attrs)
[procedure] (make-term-attrs)
[procedure] (free-term-attrs attrs)
[procedure] (term-attrs-iflag attrs)
[procedure] (term-attrs-oflag attrs)
[procedure] (term-attrs-cflag attrs)
[procedure] (term-attrs-lflag attrs)
[procedure] (term-attrs-cc attrs i)
[procedure] (term-attrs-iflag-set! attrs int)
[procedure] (term-attrs-oflag-set! attrs int)
[procedure] (term-attrs-cflag-set! attrs int)
[procedure] (term-attrs-lflag-set! attrs int)
[procedure] (term-attrs-cc-set! attrs i char)