4 ms·
> You might find the ANSI escape code for reset, {ESC}c, does what you need: See https://news.ycombinator.com/item?id=39638794 https://news.ycombinator.com/ite
by dataflow 3y ago
> You might find the ANSI escape code for reset, {ESC}c, does what you need:
See https://news.ycombinator.com/item?id=39638794 https://news.ycombinator.com/item?id=39638794
- hnlmorg 3y agoIf you've already got a working solution then I don't see why this is problem. The way you've conversed in this thread sounds like it's a daily annoyance for you.
- dataflow 3y agoIt was one for several years, until I solved it like this. It was such an unnecessary waste of my time. And it would not have taken nearly that long if everyone's response to "how to clear the terminal on Linux" on Google wasn't "clear" or "Ctrl+L".
- hnlmorg 3y agoGoogles response is correct though. The scroll back is a “new” concept introduced by terminal emulators. It’s not something that ever existed in hardware terminals or even early pseudo-terminals (like the default console Linux drops you into if you don’t have a GUI installed). It’s just something that desktop software added. Because of this, there isn’t really any standardisation for how scrollback should work. Every terminal could implement it differently (albeit in practice there isn’t a whole lot of variation one can do to such a simple concept). So support for how you clear your scrollback is going to vary from one terminal emulator to another. As I demonstrated in an earlier comment with ‘reset’ not clearing the scrollback on one terminal in macOS. Really there should be a dedicated ANSI escape code for doing this. There’s a few different codes for clearing the terminal already, one extra wouldn’t do any harm there. Plus xterm has already introduced the concept of bespoke codes for application terms like window title (something other terms have expanded on with codes to move the terminal window). In fact, I’m going to create a code for just this and implement it in my own terminal emulator and others are welcome to adopt this as a new de facto standard if they wish. Anyway, that’s the history of why you had such a hard time. None of this is intended to justify the status quo, and I do accept that this is all a bit frustrating to newcomers. But as I said before, I don’t agree the solution is to change the purpose of ‘reset’. Instead terminal emulators should be supporting new functionality to manage something that they added to the paradigm — and to be fair, most terminal emulators already do.
- seba_dos1 3y ago> It’s not something that ever existed in hardware terminals or even early pseudo-terminals (like the default console Linux drops you into if you don’t have a GUI installed). FWIW, the default Linux console had scrollback until a few years ago when it was removed in Linux 5.9. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=50145474f6ef4a9c19205b173da6264a644c7489 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
- hnlmorg 3y agoI did not know that. Thanks for the share. Linus' comments on that commit are interesting to note too. Because, in my opinion, they add weight to the comments made on here regarding the annoying non-standardised complexities to terminal scrollback. I think that is the real problem here.
- aumerle 3y agoThere is an escape code that does clear screen and scrollback invented by xterm \e3J. And kitty invented one that clears screen into scrollback \e22J. https://sw.kovidgoyal.net/kitty/conf/#shortcut-kitty.Reset-the-terminal https://sw.kovidgoyal.net/kitty/conf/#shortcut-kitty.Reset-t...
- hnlmorg 3y agoThanks for sharing. I’ll add that to my own $TERM
- Propelloni 3y agoYour idiosyncratic opinion what "clear" means doesn't make the answers wrong. "clear" clears the terminal. If you'd asked what you meant, ie. "how to clear the terminal screen and scroll buffer on Linux" you'd might have found ALT+CTRL+L which does what you want on most terminal emulators. Or you could have read the man page https://man7.org/linux/man-pages/man1/clear.1.html https://man7.org/linux/man-pages/man1/clear.1.html and found that the E3 property is what you want to know about.
- dataflow 3y ago> Your idiosyncratic opinion what "clear" means What? This is not my idiosyncratic opinion. This is literally what cls ("CLear Screen") does on Windows.
- Propelloni 3y agoI may be mistaken, but aren't you the one complaining that "clear" only clears the screen area and not the scroll buffer on libvte terminals? Or are you complaining that a different command on a different operating system does something different than a similar sounding command on another operating system with a command that sounds like it would only clear the screen but actually does clear the scroll buffer, too? By the way, did you know that up to and including some versions of MS Windows 10 "clear" in Powershell only cleared the screen, as did "cls" in cmd.com. Considering the name, that would actually be what I expect "cls" to do, but I digress. Since some later MS Windows 10 versions or the very least, MS Windows 11, Powershell and cmd.com do clear the screen and the scroll buffer on "clear" or "cls". That's due to newer versions of ConPTY. Anyway, it was fun digging out this old knowledge. Thank you.