web-dev-qa-db-ja.com

tputでカーソルを非表示および再表示する

tput civis

カーソルを正常に非表示にします。

tput cvvis

再表示する必要がありますが、表示されません。

問題が何であるか考えていますか?

8
PSkocik

Ncurses terminal database では、terminfoのマニュアルページに記載されているようにcvvisが使用されます。

_   cursor_visible            cvvis  vs   make cursor very
                                         visible
_

normalvery visibleの間に違いがない場合、cvvis機能は通常省略されます。この機能は_curs_set_で使用されます。

_curs_set_ルーチンは、カーソルの状態を、それぞれ_0_、_1_、または_2_に等しい可視性のために非表示、通常、または非常に表示に設定します。 Ifターミナルが再表示された可視性をサポートしている場合、以前のカーソル状態が返されます。それ以外の場合は、ERRが返されます。

terminfo(5) マニュアルページにも書いてあります

カーソルが最終行にないときに通常よりも目立つようにする必要がある場合(たとえば、点滅していない下線を見つけやすいブロックまたは点滅している下線にするには)、このシーケンスをcvvisとして指定します。カーソルを完全に非表示にする方法がある場合は、それをcivisとして指定します。これらのモードの両方の効果を元に戻す機能cnormを指定する必要があります。

一部のemacs構成ではcvvisalwaysセットであると想定しているため、一部の端末記述ではcnormcvvisが(誤って)同等になることがあります。

7
Thomas Dickey