Live data from Hacker News

Ask HN: What do you love/hate about terminals? Would you change them?

news.ycombinator.com

121–130 of 204 posts

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#121
# Portability

Having a terminal that works the same in Windows, Mac and Linux.

# Browsing UI

I have autojump and I know all the cd shenanigans, but really I want my terminal to make it easier for me.

I want an url bar where I can see my file path and click on part of it like in a file browser (eg: nautilusà or put an ssh address in it.

I want a back and forward button.

I want an history.

I want bookmarks.

I want to be able to right click on a path and "open url in the browser", "unzip/untar file", "open in libre office/vlc". And I want to be able to ctrl + left-clik path and cd to it or xdg-open it.

This should be customizable. E.G: tilix let you enter regex that makes things clickable. Very useful to debug tracebacks.

# Split and tabs

Most good terminals (ex: tilix, cmder) have a good split screen, quake mode, and tab story. You can save profiles, restore them, auto run commands, etc.

It should have those, and it should be well integrated with the browsing UI.

Also changing the aspect a tab according to events. E.g: red if command return and error code. With a special icon if you are running as root, if you ssh on a remote computer.

# Graphical display

I want to be able to request the display of an media inside the terminal, like an embeded image or video.

# Take control

I get that we wanted the terminal to be separated from the shell. But this createe such an integration mismatch.

Code completion, helps, prompts... Everything is slow, hard to configure, incomplete, unsatisfying, and not cross plateform.

Just hijack the shell and do the right thing. People that don't like it can always use another terminal.

We don't lack configurability. We have freedom all the way with current solutions. Keyboard only people with no windows decoration have everything they need.

What we do lack, is a terminal for mouse lovers.

Careful with this though. Some project tried it and added a lot of graphical things that looked cool, but were totally useless in practice.

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#122
Fix scrollback. Sometimes I run a command and it has 50,000 lines of output. Either I don't care about the output — in which case I should be able to click to fold it up and be able to see my history before that one command — or I do care about it, in which case I want every scroll, search and export operation that a full-fledged document editor would have.

In either case, UI latency shouldn't suffer, scroll bars shouldn't become unusable, my scrollback history before that one command shouldn't be thrown away — Mathematica notebook style, as another commentator suggests, might work well here.

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#123
My ideal modern terminal would be pretty much a reimplementation of Symbolics' Listener: https://youtu.be/o4-YnLpLgtk?t=1m46s

- A presentation-based UI, where every on-screen element is always linked to the data it represents: https://dspace.mit.edu/handle/1721.1/6946

- A powerful autocomplete that knows about possible keywords and arguments, and can list them in a graphical fashion (e.g. a drop-down menu).

- An ability to use any previously displayed data as input to a new command just by clicking on it, with the UI highlighting only the things than can be used as valid input to the current command.

- Embedding of images and arbitrary UI widgets.

- Sensible names for commands and their arguments, i.e. "Delete File" instead of "rm", and ":Output Destination File /home/erikj/log" instead of "> /home/erikj/log". This makes a lot more sense with the enhanced autocompletion facility than the current 70s style cryptic Unix two-letter commands that were employed because of the hardware limitations. It would be easier to learn and less prone to errors.

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#124
post #34

Here are my comments and concerns. 1. Minimal latency from keyboard to screen. 2. As others have mentioned here, awareness of line wrap, so that cut and paste work correctly at all times. Not just for raw output from a command. Editors too should communicate with the terminal to indicate that it is wrapping lines. 3. 24-bit color. 4. Apps (shells, editors) can query and set the window icon as well as the window title…

> 5. Integrated graphics display. So that I can just 'cat' a picture to display it in the terminal window, instead of using an external application.

Enlightenment's Terminology has this. It's a separate command "tycat", but yeah, it can display images and videos in the terminal.

They also have "tyls", which will create little thumbnails when listing picture or video files and then you can click on the thumbnails to show the full thing.

https://www.enlightenment.org/about-terminology

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#125
post #106
post #103

I hate Bash and all of its relatives. No language where equality is tested with -eq should be in use in 2017; we can do so much better.

I actually kind of like it, powershell also has -eq, and there's no chance of mixing up assignment and equality operators.

You mix up the := operator with the = operator? (-:

There's no chance of mixing them up with the "test" command, note, which is what ajkjk was talking about (even though xe erroneously attributed this to the Bourne Again shell language), because the test command has no assignment operator. Whereas what it does have is a whole bunch of syntactic gotchas that bite people with depressing regularity.

* Miss quoting variables, and suddenly your unary operator turns into an expression that always evaluates true, because with 1 argument test merely tests whether the argument is non-blank, which a unary operator is of course.

* = is string comparison, and -eq is numeric comparison. Yes, you want the other one.

* ... but == is a non-standard bashism that does not work in scripts interpreted by /bin/sh (which is usually something like the Korn or Almquist shell) on many modern systems.

* ... and if you are using the Z, Korn, or Bourne Again shells, don't forget that you need to quote the operators.

* Beware the variable whose value has a minus sign as its first character. All comparisons for safety need to be of the form x"$var" = x"something" .

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#126
post #34

Here are my comments and concerns. 1. Minimal latency from keyboard to screen. 2. As others have mentioned here, awareness of line wrap, so that cut and paste work correctly at all times. Not just for raw output from a command. Editors too should communicate with the terminal to indicate that it is wrapping lines. 3. 24-bit color. 4. Apps (shells, editors) can query and set the window icon as well as the window title…

So basically you just want an Xterminal. This is pretty much exactly why X exists...

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#127
post #62
post #36

I would love for someone to produce a modern dumb terminal - akin to the Hazeltine/VT100 systems of the past, but using modern components. It'd have multiple serial ports, and do nothing but act as a dumb terminal for a Unix system - but it'd use modern display tech, maybe something from the elite mechanicalkeyboards world, and so on. I'd buy one for my desktop in a heartbeat - I'm truly sick of all the bloat require…

Many people have already done this, such as the people who emulate DEC VTs with arduinos and suchlike for starters. * https://github.com/mkschreder/avr-vt100 * https://hackaday.io/project/13273-diy-vt100-a-miniature-hard... * https://hackaday.com/2010/02/24/oscilloscope-doubles-as-a-se... * https://tech.scargill.net/vt100-terminal-for-hc2016/

Quite nice .. I wonder if there'd be demand for an upscale version of these, sort of more turnkey and less hack.

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#128
post #123

My ideal modern terminal would be pretty much a reimplementation of Symbolics' Listener: https://youtu.be/o4-YnLpLgtk?t=1m46s - A presentation-based UI, where every on-screen element is always linked to the data it represents: https://dspace.mit.edu/handle/1721.1/6946 - A powerful autocomplete that knows about possible keywords and arguments, and can list them in a graphical fashion (e.g. a drop-down menu). - An abil…

looks like powershell stole at least some of those ideas, which makes sense given what it is.

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#129

Earlier quoted context omitted.

> "cat" could never work of course We have an idea in that direction, where each program in a pipeline can optionally specify a file type, and the last file type hint in the pipeline determines how the stdout is rendered. So if you have "cat image.jpg", then "cat" can indicate a file type of image/jpg, causing stdout to be interpreted as an image. But if you have "cat image.jpg | grep foo" (just making something up h…

I would not recommend that. That would be the source for endless bikeshedding and could never satisfy all people. (See the mess that HTTP / REST are). It's not a problem to have this handled in the shell such that the output is rendered in such a way as to please the terminal. You can do this manually (e.g. append a "| display-jpeg-in-terminal" command to the pipeline), or use a magic bytes based file viewer. Look at…

if shells had some more types than a stream of bytes, it'd make sense for 'image' type data to be displayed as images. the pipes you mention are then simply type casts or conversion functions.

Re: Ask HN: What do you love/hate about terminals? Would you change them?

#130

First, if I want to come up with a setup that includes a modern terminal emulator with lots of features, a decent number of extensions and plugins for things like zsh, etc..., I will INEVITABLY end up with a something that: 1) has way more input latency that it should have (iterm2, Ive had to just fall back to Terminal.app) 2) takes WAY too long to launch a new bash/zsh/whatever session if I split a window (cause par…

At the risk of starting a quasi-religious argument, the object-orientation of Powershell is one of the things I really like about it.

It is nice although quite difficult if you are just an occasional user.
Post reply on HN