1

よりインタラクティブなアプリを作るために、lessのようにコンソールを引き継いでいきたいと思います。彼らは何がどこに描かれるかを完全に制御しているようです。どうやってやるの?

4

4 に答える 4

5

ターミナルの処理にncursesライブラリを使用します。

于 2011-01-24T19:55:25.867 に答える
1

主に、lessおよびその他の全画面端末アプリケーションは、代替画面モードを使用します。DEC モード 1049 とも呼ばれますterminfo。このモードに入る/出るために必要な文字列を

enter_ca_mode=\E[?1049h
exit_ca_mode=\E[?1049l

代替画面モードに入ると、通常のエスケープ シーケンスによって画面を完全に制御できるようになり、ほとんどの端末では完全に別の「バッファー」に描画され、通常のバッファー (bash スクロールバックを含む可能性があるものなど) は影響を受けません。代替画面モードを再び終了すると、以前の内容とカーソルの状態が復元されます。

于 2012-03-13T11:23:34.027 に答える
0

システムのドキュメントで「呪い」を調べてください。

于 2011-01-24T19:54:41.373 に答える
0

ANSIエスケープコードは、開始する場所である可能性があります。http://en.wikipedia.org/wiki/ANSI_escape_code

于 2011-01-24T19:56:13.607 に答える