[Toybox] Editors and such.

Rob Landley rob at landley.net
Wed Jun 20 16:57:03 PDT 2012


On 06/18/2012 10:10 PM, Andre Renaud wrote:
>> No, they have an implementation of screen. The first one I used (circa
>> 1993) was from Sun.
>>
>> The wonkypedia article says the first pair of maintainers handed it over
>> to a second pair of maintainers who handed it over to the gnu project.
>> So it's a bit like Gold and Patch and Grub and EGCS so on: somebody
>> wrote a thing that worked and the Gnu project managed to take it over
>> and plaster their name all over it as the versions they ship bloat and
>> lose reliability.
> 
> There is a BSD-licensed terminal multiplexer - 'tmux'. It's
> conceptually the same as GNU screen, but I'm assuming it's a
> completely clean code base.

I wrote a terminal multiplexer for my old "chamelyn" bulletin board
system as a teenager. (DOS with Desqview. Those were the days. Well,
some of 'em anyway.)

All the tabbed browsing terminals are also terminal multiplexers. In
Linux, ptys make it easy.

The fiddly part is curses output, but the line handling stuff for
editing a shell command line and doing command line history is 90% of
the work, and then stacking those vertically gets you something like vi.
(That was my general plan of attack, anyway.)

Keep in mind that Unix doesn't implement backspace sanely (like the
commodore 64 did), thus you have to figure out when you're at the left
edge of the screen (keeping track of your cursor position)

That's why if you do "echo -n this will screw bash up" and then cursor
up a few times bash's command history gets all wonky because it _thinks_
it knows where the cursor is but actually started farther to the right.
 (I contributed ansi escape screen position querying code to busybox to
improve the situation for ash.)

I'm pretty sure I blogged about this... Recentish:

http://landley.net/notes-2011.html#15-11-2011

During toybox's first regeneration:

http://landley.net/notes-2007.html#19-10-2007

Rob
-- 
GNU/Linux isn't: Linux=GPLv2, GNU=GPLv3+, they can't share code.
Either it's "mere aggregation", or a license violation.  Pick one.

 1340236623.0


More information about the Toybox mailing list