Re:Heroku Fucking Console
by moolcool on Friday March 01, 2013 @11:45AM
(#5305286)
Is there any reason you can't ctrl-c out of man pages?
[ Parent
| on HN ]
Because it use less as default pager and less is an interactive utility.
If you prefer you can use another pager like more that will let you ctrl-c:
export PAGER=more
Or activate the -K option of less that will quit on ctrl+c export PAGER='less -K'Why can't interactive utilities be cancelled?
They can be cancelled, just not with CTRL+C - that key combo sends SIGINT [1] to the process, which can be caught by a handler, and often is when the writer of the utility thought there was something else that users would want that signal to do instead of quit. For example, in less, SIGINT will stop a long-running text search that's taking too much time.
Wouldn't this mean that the application has some concept of state, then? Following output, running a search, etc?
If your state is just sitting in the file, interpret the signal as exit.
It is possible, though arguably it wouldn't necessarily be the best user experience. At least I know I have the habit of smacking ctrl-c several times in a row when something isn't responding as rapidly as I like. Things like ctrl-c probably should not be stateful if one of the potential things it can do is close your program.
As another example, perhaps it would be nice if ctrl-w deleted one word backwards if you were currently editing text in your webbrowser, but close your current tab/window otherwise. If the state is always what the user expects when they press ctrl-w it would work fine, but in reality you would have lots of people accidentally closing tabs.
SIGINT in less wouldn't lose work though. It's safe and would be consistent with other apps and other uses of SIGINT inside less.
So if the search finished just before issue ctrl+c you will close the application instead. Be vary of inconsistencies, even if they are just perceived inconsistencies.
It would be pretty annoying if I ran a search or a follow (shift+F), thought it was taking too long, and hit Ctrl+C right after it finished.
Ctrl+C doesn't mean "end this program." If you want that, consider Ctrl+\.
Even Ctrl+\ (SIGQUIT) doesn't always "end this program." Java uses it to print a stack trace to the console.
Re:Heroku Fucking Console
by LeonidasXIV on Friday March 01, 2013 @08:42PM
(#5308079)
Most Java programs I have to deal with print stack traces to the console even without prompting because somebody thought that the `ex.printStackTrace();` IDE autofix is definitely more than enough to handle an exception.
I think that man uses 'less' as a pager, and 'less' uses vi-like key bindings.
It enables you to search using '/keyword', for example.
Re:Heroku Fucking Console
by trumbitta2 on Friday March 01, 2013 @01:26PM
(#5305972)
That's because vi uses less as a pager, too :)
Re:Heroku Fucking Console
by huhsamovar on Friday March 01, 2013 @05:03PM
(#5307233)
If you press 'q', the man page will close.