Bashスクリプトでターミナルスクロールを無効にする方法は?

Bashスクリプトでターミナルスクロールを無効にする方法は?

同様のプログラムを使用すると、htopマウスホイールの動作は何もしません。

Bashスクリプトでこの動作をどのように再現できますか?

スクロール要求を無視するように端末に指示する方法があるはずです。あなたはそうしなかった方法?

答え1

htopただncursesを使用してください

ncurses(および端末でフルスクリーンを使用する他のもの)は、terminfo機能を使用して端末を初期化します。smcup。 xterm(およびそれを模倣する端末エミュレータ)の場合は、次のように切り替えます。代替画面。これらのターミナルは、ターミナルウィンドウをスクロールするのではなく、上下のカーソルキーを送信してホイールマウスに応答することができます(フォーカスライン/ダウンシフトhtopとして見ることができます)。あなたのbashスクリプトはこれらのカーソルキーを見ることができますが、処理することはできません。

次のコマンドを使用して、スクリプトでこの機能を試すことができます。

tput smcup

代替画面に切り替えて

tput rmcup

通常画面に戻ります。

関連情報