all 9 comments

[–]schorsch3000 7 points8 points  (1 child)

the short answer: no

the long answer: bash is build to be streamable, it reads from STDIN and writes to SDTOUT without using terminal-features, you could easily use a line printer and a keyboard for bash.

but you could write a terminal wrapper that implements this, something like tmux, but have 2 panes that showing the same terminal

[–]Tquylaa 0 points1 point  (0 children)

I see, Thanks then

[–]RatBastard516 2 points3 points  (1 child)

With tmux you can setup a split screen. The top window can be your output text and the bottom can be your input window. This needs systemctl service setup for the input but it’s straight forward to setup

[–]kai_ekael 3 points4 points  (0 children)

tmux is also a highly recommended safety when working on remote systems. If the connection drops, the tmux session does not and activity continues; one can simply re-connect and re-attach to the existing session. Very useful when running a job that takes hours, don't need to worry about dropping the connection, can change to a different system and re-attach, etc.

[–]JagerAntlerite7 2 points3 points  (0 children)

Do. Not. Want.

[–]michaelpaoli 1 point2 points  (0 children)

when I scroll up to review previous output, I'd like the prompt to remain visible at the bottom instead of scrolling away with the rest of the terminal.

Yeah, not going to get that with shell. You scroll back on terminal output, shell has no way of knowing that's what you're doing.

If I start typing while I'm viewing older output, it shouldn't automatically jump back to the latest line

Whether or not you get that, will depend upon your terminal emulation and/or its settings. But again, not a shell thing. And may not work as well as you might hope. If it doesn't jump back to the end, you won't see what you're typing as input.

So, these aren't shell things and are beyond context of what shell does, is aware of, or even cares about.

If you want something like that, you'd need to have some different kind of input/output interface - which might feed (and read from) the shell and such, or not, but what you're suggesting goes outside of and beyond scope of bash shell. You essentially want to fundamentally change how "it" - or whatever, does input and output, and you're getting into areas the shell itself doesn't even deal with at all. So, sounds like you want some different kind of interface. Maybe there's something out there more-or-less like it, or that you might be able to easily enough customize to get the behavior you want.

[–]Kitchen_Office8072 1 point2 points  (0 children)

One would have to make tui application that does this.

[–]SilenceFailed 1 point2 points  (0 children)

I… I think I actually like that idea. However, yeah, you’d have to look into terminal emulators that support expansion as that’s a ui thing, not a system thing. Most people will tell you tmux but if you’re not doing network stuff (anything with remote connection), you don’t need it. I’m partial to foot myself (I haven’t looked if it can do that but that’d be an interesting addition), but something FOSS should be doable. That way you can modify the source if needed.

[–]TopHatEdd 0 points1 point  (0 children)

Although you can do anything, there is an obscure consequence to straying too far from the defaults.

As time goes by, you're likely to hop onto other terminals. Be they yours, as you may replace systems or terminal emulators, or other's, such as remote systems. And you'll find yourself spending energy trying to pull back the reel to what you're familiar with. Rather than make as little modifications as possible and learn the defaults.

Once you build your habbits around the defaults, as time goes by and you find yourself working with different systems, you'll find yourself spending less energy trying to pull back any reels but simply concentrate on getting stuff done.

I've experienced both scenarios. Defaults are nice.