問題タブ [terminfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
114 参照

ncurses - SIGWINCH、bash、dash、tput、terminfo

tputと端末サイズの相互作用について少し混乱しています。の動作はtput、それが呼び出されるシェルに依存しているようです。または、シェルが端末設定の変更を担当している可能性があります。問題を軽減するには、次のことを考慮してください。

ここで、bash では、物事は (ほぼ) 期待どおりに動作し (WINCH ハンドラーが 2 回実行される理由がよくわからないため、ほとんどと言います)、出力はtput新しい端末サイズに一致するように変更されます。ただし、ダッシュで実行するとtput、端末のサイズが変わっても出力は変わりません。また、WINCH ハンドラーはダッシュによって遅延しているように見え、次のコマンドが入力されるまで (ただし、実行される前に) 実行されないことに注意してください。ここで何が起こるはずですか?tputシェルが何をしているか気にしますか?ウインチは関係ありますか?質問は次のとおりだと思います。

tput端末のサイズはどのようにわかりますか?

また、出力をあまり混乱させたくありませんでしたが、例の各シェルでは TERM が設定され、infocmp $TERM有効と思われる te​​rminfo の説明が出力されます。(出力が得られるという事実は、それが有効なデータであることを示していると思います!)

0 投票する
1 に答える
47 参照

terminal - terminfo を使用して前景色のみをリセットする

端末でANSI シーケンスを使用するEsc[39mと、太字、下線、背景色などの他の属性を変更せずに前景色をクリアできます。例えば:

terminfo 機能からこのシーケンスを取得したいのですが、見つかりません。を試してみるとsetaf 9、シーケンスを与えることで明るい色に切り替わりますEsc[91m:

前景色をリセットすることがわかった唯一の機能は ですがsgr0、他のすべての属性もリセットされます。

terminfo からこれらの機能にアクセスすることは可能ですか?

  • デフォルトの前景Esc[39m
  • デフォルトの背景Esc[49m