WOn Tuesday, June 23, 2015 1:04 AM, Michael Tiedtke <michele.ti...@o2online.de> wrote:
> Now, full access to "POSIX system calls" means more and less than > that. When you want to have a look at my current terminal > application driver you will see it's current shortcomings: missing a > general (Linux specific) ioctl primitive it uses the stay > command to set raw and sane mode of terminal operation. Try to > read out the dimension of the terminal with get-dimensions: > for me this surprisingly works flawlessly in the modern Gnome > Terminal - but it remains stuck in the response reader on a > Linux tty and even in XTerm itsself although the escape > sequence used stems from it's documentation (ctlseqs.txt). > Well, probably window control sequences are turned off on > my Ubuntu system and I should revert to the Linux specific ioctl. > Well, already you are running into the small differences between terminals. The terminfo part of ncurses tries to capture the differences between terminals. It is a mammoth undertaking. Without reimplementing or using terminfo, you'll have to choose a small set of target terminals or a small subset of escape sequences that actually work on most terminals. > I would like to suggest rethinking the POSIX interface > to allow it to be extended with device semantics, i.e. > meaningful entries. In the case of the virtual terminal > a well crafted terminal device application driver allows > to do without the C-specific readline and ncurses > libraries and it would allow to write real applications > capable of treating the terminal as the keyboard+screen > that it is instead of abusing it as stdio like a typewriter > from 100 years ago. Yeah. In the guile-ncurses bindings, I did try to make the interface slightly more like Scheme, but, it is what it is. The underlying ncurses interface is hard to make scheme-like. www.gnu.org/s/guile-ncurses -Mike Gran