
001,002,003,004...などの番号が付いた一連のスクリプトを実行するスクリプトがあります。今は041までで、今後さらにスクリプトが追加される予定です。スクリプト自体は、一部のカーソルコントロールを使用して進行状況バーやその他のステータス情報を印刷し、端末の幅と高さはtput cols
それぞれですtput lines
。
下付き文字を書き換えずに続けておきたいです。一つ結論包括的な外部スクリプトのステータス情報です。行と列に対するtputの応答を設定する方法があるかどうか疑問に思います。
tmuxがこれを実装するので、方法が必要です。私は環境変数があるかもしれないと思いましたが、envを実行したときにtmuxで見ることができる唯一の変更は、$ TERMを画面に設定することです。
どんな助けでも大変感謝します。
答え1
以下を使用すると、tputから返される行と列の数をカスタマイズできます。
export LINES=1000
export COLUMNS=1000
答え2
ソースコードを読むのは大丈夫ですが、心が弱い人にとっては、マニュアルが最善の選択です。コマンドラインオプションがない場合、環境変数と結合されたターミナルデータベースはスクリプトに必要なすべてを提供します。
- これ
tput
マニュアルページには環境変数への言及はありません。 - しかし、また、見ることができます部分はあなたを指しますcurs_termcap(3x)、termcapインターフェース(機能)マニュアル。
- そのページではフォーマット機能関連性があり、
tputs
以下を指します。curs_terminfo(3x)
ページ。 - Re(参照出力機能)は環境変数を明示的に言及しません。
悟りを探し、試してみることができます呪いマンページ。
画面幅を文字単位で指定します。ウィンドウ環境で実行されるアプリケーションは、通常、実行中のウィンドウの幅を取得できます。
COLUMNS
この値と端末の画面サイズの両方が利用できない場合呪いterminfoデータベースで指定されたサイズ(容量など)を使用しますcols
。
tput
この質問については、マニュアルページがより直接的で出力用ですが、初期化用とtputs
言えばsetupterm
良いでしょう。時々(この情報が変更ログで簡単に入手可能な場合)、マニュアルにその情報が不明であるという事実には誰も気付いていません。たとえば、このプロジェクトは2002年:
+ modify setupterm() to ensure that it initializes the baudrate, for
applications such as tput (report by Frank Henigman).
トピックに戻る:
- これ初期化
curs_terminfo(3x)
説明setupterm
、注意事項 - 一般的な状況では
use_env
まだ呼び出されていないsetupterm
ためLINES
、COLUMNS
変数はターミナルデータベース値をオーバーライドできます。 - これ
use_env
マニュアルページでは、これを繰り返して、これらの値をオペレーティングシステムから取得できることを説明します。 変更ログには、
tput
この操作(オペレーティングシステムから値を取得する)が記載されています。2007年:+ restore a call to obtain screen-size in _nc_setupterm(), which is used in tput and other non-screen applications via setupterm() (Debian #433357, reported by Florent Bayle, Christian Ohm, cf: 20070310).
要約すると、既存のドキュメントはncursesの動作に関するほとんどすべての質問に対する答えを提供しますが、読むべきいくつかの点があります。