端末アプリケーションにページを追加する

端末アプリケーションにページを追加する

たとえば、私の問題を説明できます。コマンドの例を見てみましょう man。ターミナルでこのコマンドを実行すると、新しいウィンドウでページが開き、ターミナルの問題で以前に行った操作を表示できません。どうすればいいですか?

私は端末アプリケーションに取り組んでいますが、同様の方法で動作したいと思います。アプリケーション名を入力すると、新しいページが開きます。

編集:Vimの例、vim端末に入力している間にvimを開くと、そのインターフェースが画面に表示されます。私が作っているアプリでどうすればこれを行うことができますか?

答え1

あなたが要求するものを代替画面バッファと呼び、アプリケーションはESCコードを端末に送信して代替画面に切り替えるか、代替画面から切り替えます。

アプリケーションがncursesライブラリを使用している場合は、これを行う関数があります。シェルスクリプトでこれを行うには、tput適切なコードを送信するだけです。

tput smcup  # switch to alt screen

tput rmcup  # switch back from alt screen

注:すべてではありませんが、ほとんどの端末エミュレータはこの機能をサポートしています。そうでない人(または一部の端末エミュレータのオプションである無効になっている人)は単にコードを無視します。

関連情報