Cursor mit tput ein- und ausblenden

8
tput civis

versteckt den Cursor erfolgreich.

tput cvvis

sollte es einblenden, aber es tut es nicht.

Irgendeine Idee, was das Problem sein könnte?

PSkocik
quelle
9
Versuchen Sie es tput cnormstattdessen.
Drav Sloan

Antworten:

7

In der ncurses Terminal - Datenbank , cvviswie dokumentiert in der term Handbuch Seite verwendet:

   cursor_visible            cvvis  vs   make cursor very
                                         visible

und wenn es keinen Unterschied zwischen normal und sehr sichtbar gibt , wird die cvvisFähigkeit normalerweise weggelassen. Die Funktion wird verwendet in curs_set:

Die curs_setRoutine setzt den Cursor Zustand unsichtbar, normal oder gut sichtbar für die Sichtbarkeit zu entsprechen 0, 1oder 2 jeweils. Wenn das Terminal die angeforderte Sichtbarkeit unterstützt, wird der vorherige Cursorstatus zurückgegeben. Andernfalls ERRwird zurückgegeben.

Die terminfo(5)Handbuchseite sagt auch

Wenn der Cursor sichtbarer als normal gemacht werden muss, wenn er sich nicht in der unteren Zeile befindet (um beispielsweise eine nicht blinkende Unterstreichung in einen leichter zu findenden Block oder eine blinkende Unterstreichung zu verwandeln), geben Sie diese Sequenz als an cvvis. Wenn es eine Möglichkeit gibt, den Cursor vollständig unsichtbar zu machen, geben Sie dies als an civis. Es cnormsollte die Fähigkeit angegeben werden, die die Auswirkungen dieser beiden Modi rückgängig macht.

Einige Terminalbeschreibungen können (falsch) Equate cvvisund cnorm, da einige Emacs Konfigurationen annehmen , dass cvvisist immer gesetzt.

Thomas Dickey
quelle