Terminal "wiederherstellen"
-
Hi!
Wenn man eine ncurses-anwendung(z.B. man) startet und wieder beendet, sieht es in der konsole aus, als hätte man sie nie gestartet, d.h. es ist nichts mehr von derm text der man-page zu sehen.
Gibt es eine möglichkeit, die console "aufzuräumen" ohne ncurses zu benutzen? wie macht ncurses das denn? es gibt ja auch das kommando "clear", aber das scrollt nur die console nach unten.
-
Ich weis nicht wie "man" oder andere Anwendungen es machen
aber ich würde sowas mit diesen Funktionen realisieren.scr_restore()
scr_dump()
-
mhm, so mein ich das eigentlich nicht.
Mich würde einfach nur allgemein interessieren, wie ncurses es schafft, die Console zu clearen wenn man endwin() aufruft. Das hat mit man nixchts zu tun, das ist bei allen anwendungen so die curses benutzen.
-
edit: hab grad gemerkt dass ganze geht nur in xterm, bei einer richtigen konsole bleibt der text.
zur erläuterung ein keinen beispiel:
(xterm)
vorher:$> man man NAME man - an interface to the on-line reference manuals SYNOPSIS [...]
sobald man jetzt "q" drückt:
$> man man $>
das geht bei allen ncurses Anwendungen.
jetzt würde mich wie gesagt interessieren, mit welchen Steuersequenzen/ioctls/... man soetwas machen kann, aber eben ohne ncurses zu benutzen.
-
"reset" setzt das Terminal auf die Default Werte zurück.
Allerdings hört sich das stark danach an, dass mit deinem ncurses was nicht hinhaut.