Date: Thu, 1 Jan 2009 14:33:40 +0100 From: Ed Schouten <ed@80386.nl> To: current@FreeBSD.org Subject: VT100/xterm-support for syscons(4) committed to SVN Message-ID: <20090101133340.GE1176@hoeg.nl>
next in thread | raw e-mail | index | archive | help
--UpdKy7mRHviOTiWe Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello all, I've just committed libteken (the VT100/xterm-compatible terminal emulator I've been working on) to the FreeBSD SVN source tree. See the commit message below. Even though I had some people test the code, there's always a chance I did something wrong. Let me know if you discover any rendering issues. Happy 2009! --=20 Ed Schouten <ed@80386.nl> WWW: http://80386.nl/ ----- Forwarded message from Ed Schouten <ed@FreeBSD.org> ----- > Date: Thu, 1 Jan 2009 13:26:53 +0000 (UTC) > From: Ed Schouten <ed@FreeBSD.org> > To: src-committers@freebsd.org, svn-src-all@freebsd.org, > svn-src-head@freebsd.org > Subject: svn commit: r186681 - in head/sys: conf dev/syscons > dev/syscons/teken pc98/cbus >=20 > Author: ed > Date: Thu Jan 1 13:26:53 2009 > New Revision: 186681 > URL: http://svn.freebsd.org/changeset/base/186681 >=20 > Log: > Replace syscons terminal renderer by a new renderer that uses libteken. > =20 > Some time ago I started working on a library called libteken, which is > terminal emulator. It does not buffer any screen contents, but only > keeps terminal state, such as cursor position, attributes, etc. It > should implement all escape sequences that are implemented by the > cons25 terminal emulator, but also a fair amount of sequences that are > present in VT100 and xterm. > =20 > A lot of random notes, which could be of interest to users/developers: > =20 > - Even though I'm leaving the terminal type set to `cons25', users can > do experiments with placing `xterm-color' in /etc/ttys. Because we > only implement a subset of features of xterm, this may cause > artifacts. We should consider extending libteken, because in my > opinion xterm is the way to go. Some missing features: > =20 > - Keypad application mode (DECKPAM) > - Character sets (SCS) > =20 > - libteken is filled with a fair amount of assertions, but unfortunately > we cannot go into the debugger anymore if we fail them. I've done > development of this library almost entirely in userspace. In > sys/dev/syscons/teken there are two applications that can be helpful > when debugging the code: > =20 > - teken_demo: a terminal emulator that can be started from a regular > xterm that emulates a terminal using libteken. This application can > be very useful to debug any rendering issues. > =20 > - teken_stress: a stress testing application that emulates random > terminal output. libteken has literally survived multiple terabytes > of random input. > =20 > - libteken also includes support for UTF-8, but unfortunately our input > layer and font renderer don't support this. If users want to > experiment with UTF-8 support, they can enable `TEKEN_UTF8' in > teken.h. If you recompile your kernel or the teken_demo application, > you can hold some nice experiments. > =20 > - I've left PC98 the way it is right now. The PC98 platform has a custom > syscons renderer, which supports some form of localised input. Maybe > we should port PC98 to libteken by the time syscons supports UTF-8? > =20 > - I've removed the `dumb' terminal emulator. It has been broken for > years. It hasn't survived the `struct proc' -> `struct thread' > conversion. > =20 > - To prevent confusion among people that want to hack on libteken: > unlike syscons, the state machines that parse the escape sequences are > machine generated. This means that if you want to add new escape > sequences, you have to add an entry to the `sequences' file. This will > cause new entries to be added to `teken_state.h'. > =20 > - Any rendering artifacts that didn't occur prior to this commit are by > accident. They should be reported to me, so I can fix them. > =20 > Discussed on: current@, hackers@ > Discussed with: philip (at 25C3) > ----- End forwarded message ----- --UpdKy7mRHviOTiWe Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEARECAAYFAklcxjMACgkQ52SDGA2eCwWzkACeI+Log91UxWSYNGeHHmQcyYMs csYAni4b6McmK6c0wyDca/sBCNuwlQOE =gtvV -----END PGP SIGNATURE----- --UpdKy7mRHviOTiWe--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090101133340.GE1176>