Re: [dwm] st terminal

From: Anselm R. Garbe <>
Date: Thu, 15 Mar 2007 12:14:03 +0100

On Thu, Mar 15, 2007 at 12:05:44PM +0100, Szabolcs Nagy wrote:
> >2kSLOC and I think the final version will be not above 2.5kSLOC,
> >dunno why all those other coders need to put a terminal into ten
> >thousands of lines...
> maybe i'm blind but st does not handle a lot of things others do (well
> most of those stuff are unnecessary but still)
> * many esc sequences from man console_codes are not implemented (eg
> some standard ECMA-48 codes)
> * also no selection
> * no char map changing
> * no utf-8 decoding and unicode support (and don't forget about the
> many other encodings)
> * no scrollback history
> * no fast scrolling (most terminals does not scrol line by line when
> it gets lot of input like 'cat src/*.c')
> if you'd implement these then your code would be much larger
> implementing a terminal emulator bound to be bloated since the spec is
> bloated
> either your code will be huge or it won't be standard compliant
> of course those 'standards' are mostly deprecated/unneccessary/unused
> but still i thought i'd point this out that there is a reason why they
> are so huge

I still doubt the features you mention can't be achieved in some
100 lines of code. Actually the UTF8 part is rather simple, st
will only work with UTF8 correctly (*there is absolutely no
reason to use anything else nowadays*), scrollback history is
very simple to achieve, same with fast scrolling, selection has
been partly implemented by the author of blurt, but is
unfinished (however the important stuff is already there), there
are missing escape sequences, which need to be implemented (the
whole escape sequence handling sucks atm).

And there will be a very deep architectural change, st will
consist of two programs by default - a daemon which runs in
background and handles the buffers and tty/pty sessions, and a
viewer which is an X application and runs in foreground - a
viewer can be de/attached and using this way one can change
font/style using a new viewing instance on the same tty easily,
screen will be made obsolete, because the st daemon will survive
X server restarts and allow to attach/detach the buffers to
several different X servers. At least that's what I have in mind
(note, once I begin to write my editor, it will be compliant to
be attached/detached using this viewer).


 Anselm R. Garbe >< >< GPG key: 0D73F361
Received on Thu Mar 15 2007 - 12:14:03 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 14:39:17 UTC