RubyとCursesモジュールを使って小物ツールをつくっているのですが,

端末上でのカーソル表示を消去する方法をみつけられません。

また,試しにbashコマンドラインからecho -e "\033[>5h"としても
カーソルは消えませんので,そもそもターミナルエミュレーター(konsoleやxterm)上で
カーソル消去がサポートされてないのか?とも想像しているのですが,わかりません。

環境は,Ruby 1.8.5 (2006-08-25) + Debian GNU/Linux (etch)です。

ご教示よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/12/20 09:27:10
  • 終了:2007/12/27 09:30:02

回答(1件)

id:znz No.1

znz回答回数193ベストアンサー獲得回数252007/12/20 15:31:41

ポイント60pt

「tput civis」で消えるのならターミナルエミュレータでサポートされていると思います。

元に戻すのは「tput cnorm」のようです。

http://www.docs.hp.com/ja/B2355-60104-08/terminfo.4.html

>カーソルを完全に見えなくする方法がある場合は、これを civis で指定します。これらのモードのどちらかの効果を取り消すために、機能 cnorm を指定する必要があります。

id:snpia

KDE上で,Konsole,xtermともに成功しました。ですので,Unix上にかぎれば,

system("tput civis")...system("tput cnorm")で問題解決できました。

ありがとうございます!

ちなみに,CygwinおよびWin XPのコマンドプロンプト(tputコマンド自体は存在します)

エラーはでませんが,機能しませんでした。

ひきつづき,もし他に一般的(環境非依存)な解決法があればよろしくおねがいします。

2007/12/21 02:12:08

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません