[Toybox] Screen vs. tmux (was: optional fatter cat(1))

2014-12-28 Thread Jason Spiro
Rob Landley rob@... wrote:
 
 I plan to implement vi over the next year, but it's one of the four
 realy big commands required by posix (sed, awk, sh, vi) and I've been
 debugging sed against real-world data for _weeks_ now. [...]
 
 There are some others (the kernel build requires bc now, if I'm doing
 less and vi I should be able to do screen, and rsync is really
 useful...) but right now I'm focused on the list for 1.0, and there are
 a lot of smaller commands (and the giant backlog of pending cleanups)
 that could get knocked off the list faster...

In this message, I will tell you why I think toybox should emulate tmux 
instead of GNU Screen.

Let me begin.

GNU Screen, a terminal multiplexer, is very useful.  Still, I've since 
switched to tmux.  It's a newer terminal multiplexer, and is BSD-licensed.  
It is true that GNU Screen has now started making releases again for the 
first time in half a decade.  Still, I like tmux so much that I don't plan 
to switch back to Screen.

tmux makes certain operations easier.[1]  For example:  It ships with 
preconfigured keybindings (C-b 0, C-b 1, ..., C-b 9) which let you 
jump to low-numbered windows in just a few keystrokes.  Another example:  To 
renumber a window, you need only hit five keys (C-b . 9 RET), instead of 
nine (C-a : n u TAB 9 RET).

tmux is also easier to learn.  For example:  It shows a status line (tab 
bar) by default, instead of forcing users to mess with complex configuration 
options just to get a status line.  See screenshot[2].

tmux is included in the software repositories of Ubuntu, Debian stable, 
and other distros.

tmux's basic keybindings are fairly similar to Screen's.  But, instead of 
Ctrl+A, tmux's default prefix is Ctrl+B.  (This is reconfigurable.)

You can find a tmux reference card[3] on the Web.

Dear Rob:  I know you mention Screen in your todo.txt file[4].  But please 
consider instead mentioning tmux.  Those who are familiar only with good old 
Screen can either adapt to the nicer user interface that tmux provides, or 
can download and install Screen themselves.

Cheers,
--Jason

P.S.  I thank everyone on this list for maintaining Toybox.  My next Android 
device will be a  more pleasant to work with, thanks to you all.

^  [1].  http://www.techrepublic.com/blog/linux-and-open-source/is-tmux-the-
gnu-screen-killer/
^  [2].  http://tmux.sf.net/tmux3.png
^  [3].  http://www.mechanicalkeys.com/files/os/notes/tm.html
^  [4].  http://www.landley.net/code/toybox/todo.txt

___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] Screen vs. tmux (was: optional fatter cat(1))

2014-12-28 Thread David Seikel
On Mon, 29 Dec 2014 03:12:03 + (UTC) Jason Spiro
jasonspi...@gmail.com wrote:

 Rob Landley rob@... wrote:
  
  I plan to implement vi over the next year, but it's one of the four
  realy big commands required by posix (sed, awk, sh, vi) and I've
  been debugging sed against real-world data for _weeks_ now. [...]
  
  There are some others (the kernel build requires bc now, if I'm
  doing less and vi I should be able to do screen, and rsync
  is really useful...) but right now I'm focused on the list for 1.0,
  and there are a lot of smaller commands (and the giant backlog of
  pending cleanups) that could get knocked off the list faster...
 
 In this message, I will tell you why I think toybox should emulate
 tmux instead of GNU Screen.

Well, if I can go ahead with my plans for boxes for toybox, which will
eventually include a screen / tmux type system, then no one has to
convince me to make it more like tmux than screen.  I fully agree with
you, tmux is much better, it's what I use.  I've configured tmux to be
friendly to screen users in the past, and convinced one of my clients
to switch to it.  Actually, he convinced himself with the phrase
h, you can resize the window panes with your mouse.  Mind you,
he was resizing MY window panes from another computer at the time,
which annoyed me watching from the other side of the city.  lol

 Let me begin.
 
 GNU Screen, a terminal multiplexer, is very useful.  Still, I've
 since switched to tmux.  It's a newer terminal multiplexer, and is
 BSD-licensed. It is true that GNU Screen has now started making
 releases again for the first time in half a decade.  Still, I like
 tmux so much that I don't plan to switch back to Screen.

From my point of view tmux seems to be better designed.

 tmux makes certain operations easier.[1]  For example:  It ships with 
 preconfigured keybindings (C-b 0, C-b 1, ..., C-b 9) which let
 you jump to low-numbered windows in just a few keystrokes.  Another
 example:  To renumber a window, you need only hit five keys (C-b .
 9 RET), instead of nine (C-a : n u TAB 9 RET).
 
 tmux is also easier to learn.  For example:  It shows a status line
 (tab bar) by default, instead of forcing users to mess with complex
 configuration options just to get a status line.  See screenshot[2].
 
 tmux is included in the software repositories of Ubuntu, Debian
 stable, and other distros.
 
 tmux's basic keybindings are fairly similar to Screen's.  But,
 instead of Ctrl+A, tmux's default prefix is Ctrl+B.  (This is
 reconfigurable.)

I do generally configure the hot key and a few others for screen
compatibility.  So that if I ever have to use screen, then I know what
to do, and others used to screen can still use my tmux installs.

Tmux is also built for scripting, which is hard for screen.  I have a
script that, for instance, connects to a tmux session, switches through
particular windows in that session, issuing commands to each window, to
automate some backups, running from a cron job.  The other sysadmin for
that server had originally used screen, coz she didn't know about tmux,
and completely failed to get screen to be able to do anything like that.

 You can find a tmux reference card[3] on the Web.
 
 Dear Rob:  I know you mention Screen in your todo.txt file[4].  But
 please consider instead mentioning tmux.  Those who are familiar only
 with good old Screen can either adapt to the nicer user interface
 that tmux provides, or can download and install Screen themselves.


In the end, I'll likely do what I did for the boxes based editors, make
it generic, and allow people to build their own variations easily.  So
screen and tmux users will both be happy.  After all, the boxes based
editors already support all the editors / pagers on the toybox roadmap
(except sed), and a couple more.

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.


signature.asc
Description: PGP signature
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] Screen vs. tmux (was: optional fatter cat(1))

2014-12-28 Thread Robert Thompson
Once upon a time, the serial issue would have kept me using screen. But,
these days I use picoterm as the minimal pty--serial connector, and that
works as well with tmux as screen's own serial handling worked with screen.
It also works well without any multiplexer, just letting your (virtual)
terminal handle whatever escape codes are coming, so my smaller utility
images only have to include the tiny picocom binary rather than the much
bigger screen (or tmux+picocom) binary.

Picoterm itself is unfortunately GPL, but it's also pretty simple;
basically just abstracts the serial-pty and the console-pty stuff and plugs
them together with a limited set of command keys for exit, baud-up/down,
etc, and for launching rzsz-style file-transfer programs.

For people who use serial devices on a regular basis, this is very useful.
I am *very* carefully resisting the urge to ask that it be in toybox, at
least until after everything already on the list is done :)

If boxes has a picocom toy, I'll be very happy... if not, I'll eventually
make the time to try to contribute one. Since terminal-side and serial-side
are pretty much a matter of doing the same thing for different reasons, it
might not even significantly change the size of the binary...



On Mon, Dec 29, 2014 at 3:50 AM, David Seikel onef...@gmail.com wrote:

 On Mon, 29 Dec 2014 03:12:03 + (UTC) Jason Spiro
 jasonspi...@gmail.com wrote:

  Rob Landley rob@... wrote:
  
   I plan to implement vi over the next year, but it's one of the four
   realy big commands required by posix (sed, awk, sh, vi) and I've
   been debugging sed against real-world data for _weeks_ now. [...]
  
   There are some others (the kernel build requires bc now, if I'm
   doing less and vi I should be able to do screen, and rsync
   is really useful...) but right now I'm focused on the list for 1.0,
   and there are a lot of smaller commands (and the giant backlog of
   pending cleanups) that could get knocked off the list faster...
 
  In this message, I will tell you why I think toybox should emulate
  tmux instead of GNU Screen.

 Well, if I can go ahead with my plans for boxes for toybox, which will
 eventually include a screen / tmux type system, then no one has to
 convince me to make it more like tmux than screen.  I fully agree with
 you, tmux is much better, it's what I use.  I've configured tmux to be
 friendly to screen users in the past, and convinced one of my clients
 to switch to it.  Actually, he convinced himself with the phrase
 h, you can resize the window panes with your mouse.  Mind you,
 he was resizing MY window panes from another computer at the time,
 which annoyed me watching from the other side of the city.  lol

  Let me begin.
 
  GNU Screen, a terminal multiplexer, is very useful.  Still, I've
  since switched to tmux.  It's a newer terminal multiplexer, and is
  BSD-licensed. It is true that GNU Screen has now started making
  releases again for the first time in half a decade.  Still, I like
  tmux so much that I don't plan to switch back to Screen.

 From my point of view tmux seems to be better designed.

  tmux makes certain operations easier.[1]  For example:  It ships with
  preconfigured keybindings (C-b 0, C-b 1, ..., C-b 9) which let
  you jump to low-numbered windows in just a few keystrokes.  Another
  example:  To renumber a window, you need only hit five keys (C-b .
  9 RET), instead of nine (C-a : n u TAB 9 RET).
 
  tmux is also easier to learn.  For example:  It shows a status line
  (tab bar) by default, instead of forcing users to mess with complex
  configuration options just to get a status line.  See screenshot[2].
 
  tmux is included in the software repositories of Ubuntu, Debian
  stable, and other distros.
 
  tmux's basic keybindings are fairly similar to Screen's.  But,
  instead of Ctrl+A, tmux's default prefix is Ctrl+B.  (This is
  reconfigurable.)

 I do generally configure the hot key and a few others for screen
 compatibility.  So that if I ever have to use screen, then I know what
 to do, and others used to screen can still use my tmux installs.

 Tmux is also built for scripting, which is hard for screen.  I have a
 script that, for instance, connects to a tmux session, switches through
 particular windows in that session, issuing commands to each window, to
 automate some backups, running from a cron job.  The other sysadmin for
 that server had originally used screen, coz she didn't know about tmux,
 and completely failed to get screen to be able to do anything like that.

  You can find a tmux reference card[3] on the Web.
 
  Dear Rob:  I know you mention Screen in your todo.txt file[4].  But
  please consider instead mentioning tmux.  Those who are familiar only
  with good old Screen can either adapt to the nicer user interface
  that tmux provides, or can download and install Screen themselves.


 In the end, I'll likely do what I did for the boxes based editors, make
 it generic, and allow people to build