![]() But on libvte terminal emulators, it just pushes the current screen up into the scrollback buffer and adds a screen's worth of blank lines. On other terminal emulators such as Xterm and Unicode RXVT, the ED 2 control sequence really does erase the screen, erasing every position on the screen in place, from the top down, and not altering the scrollback buffer. Rather it is doing something that has a superficial resemblance to that, until one does exactly what the questioner has done here: scroll the terminal window back to look at the scroll back buffer. libvte is not erasing the whole screen when told to. Rather, libvte scrolls the screen down an entire screen's worth of blank lines, and moves the cursor position to the first of those blank lines. More specifically, the library that it is based upon, libvte, does not do that in the code of its VteTerminalPrivate::seq_clear_screen() function. But GNOME Terminal does not implement erase the whole screen correctly.The contents of the clear capability for those terminfo entries are the control sequences to home the cursor followed by erase the whole screen.So clear just writes out the contents of the clear capability. The gnome terminfo entry does not define an E3 capability, and on many systems - still! - neither does the xterm entry as this has not percolated down from Dickey terminfo.The terminal type is properly gnome, but some people leave it erroneously set to xterm. ![]() When it comes to GNOME Terminal in particular:
0 Comments
Leave a Reply. |