What should Python apps do when asked to show help?

Jussi Piitulainen jussi.piitulainen at helsinki.fi
Fri Apr 29 02:02:00 EDT 2016


Rustom Mody writes:

> On Friday, April 29, 2016 at 7:45:35 AM UTC+5:30, Paul Rubin wrote:
>> Steven D'Aprano  writes:
>> > (1) print the help text to stdout;
>> > (2) run the help text through a pager;
>> 
>> Stdout unless the PAGER env var is set.  Otherwise, I'd say still stdout
>> since the person can pipe it through a pager if they want, but you could
>> use the pager or be fancy and try to detect if stdout is a pty/tty
>> before using the pager.  Git pages by default and it bugs me because I
>> tend to use git commands in emacs shell windows and the pager makes a
>> mess.
>
> Quite bewildered by this thread...

Yet you seem to agree with everybody else in this thread? Including the
two persons you quote above, if I read them right :)

> Are we in 2016?

$ date '+Yes: %F %T'
Yes: 2016-04-29 08:11:07

> [Reminds me of the bizarre claim that world has not moved on from text]
> eg I am on on Ubuntu 16.4 (vanilla) right now.
> This means that when I pull up a terminal I get gnome-terminal.
> Which means that when the screen fills up I get a scroll bar
> Now I can get perverse and use xterm/rxvt.
> Or a console outside of X (ctrl-Alt-F[1-6] )
> And even there Shift-pgup works
>
> Of course there is the 1 in 100 times this does not hold;
> - ssh to a remote machine
> - Upgraded ubuntu and broke X 
> - etc

Remote shell works fine.

I spend most of my time in a shell on a remote machine over ssh, without
X forwarding. I have turned scrollbars off.

If I need to scroll back the remote shell session a screen or more, I
just slide my index finger along the touchpad edge, or index and middle
finger over the touchpad on the other laptop.

In Emacs in that remote shell, including a shell session in the Emacs, I
use the normal keys to scroll back and forth. There the touchpad doesn't
scroll at all, and I don't expect it to, either.

> [What happens in windows on a cmd-box... not sure]

If that happens to be crippled, there must be other terminal programs
that work.

> IOW pager functionality is quite builtin in shells nowadays
> Why replicate and cause annoyance?

First, more and less do more than just scroll and they may be nicer even
for just scrolling. Second, if things are set up the way that just about
everybody in this thread has been advocating, you have full control over
your use of a pager. If it hurts, don't do it. Does it annoy you that
somebody else is doing it?

It's the *default* paging that is mildly annoying when it works and a
major pain when it doesn't. (Another major pain is a command-line tool
that tries to open a window and can't because I haven't enabled it.
Please don't make this the default either. :)



More information about the Python-list mailing list