問題タブ [ncurses]
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.
readline - GNUReadlineの使用; 同じプログラムにncursesを追加するにはどうすればよいですか?
タイトルは私の実際の目標よりも少し具体的です:
私はGNUReadlineを使用するコマンドラインプログラムを持っています。これは主にコマンド履歴(つまり、上矢印を使用して以前のコマンドを取得するため)やその他の便利な機能です。現在、プログラムの出力はユーザーの入力に散在しているように見えますが、これは問題ない場合もありますが、出力は非同期であり(入力コマンドに応答してネットワーク接続を介して送信されます)、煩わしい場合があります(たとえば、ユーザーが行を出力する場合)新しい入力を入力しています)。
このプログラムに機能を追加したいと思います。出力用の個別の「ウィンドウ」です。このためにncursesを使用することを考えました。しかし、ncurses FAQから、2つのライブラリを一緒に使用するのは簡単ではないようです。
Readlineの代わりにEditlineまたはteclaを使用することを検討するかもしれませんが、どちらかが私の問題を解決するかどうかはわかりません。両方の種類の機能(テキストモードウィンドウとコマンド履歴)を提供するライブラリなど、ncurses以外のものを使用することも検討しますが、何が最適かわかりません。
ああ、そして色付きのテキストのサポートはボーナスポイントを獲得するかもしれません。Readlineでそれができるのではないかと思うので、別の問題かもしれませんが、私の問題を解決することで、出力に少し色を追加するのも簡単になるのであれば、はるかに優れています。
Ubuntu Hardy(Linux 2.6)を使用しています。
c - ncurses メニュー - ユーザーが入力した文字列が表示されない
リテラル文字列を作成してメニューに追加すると、すべて正常に動作します。しかし、ユーザーから文字列を入力すると、メニューは「空白」になります。私はどちらも初心者なので、これが curses/menu の問題なのか C の問題なのかわかりません。
linux - ノンブロッキング getch()、ncurses
ncurses の getch() をブロックするのに問題があります。デフォルトの操作は非ブロッキングのように見えますか (または初期化を逃したのでしょうか)? Windows の getch() のように動作するようにしたいと思います。のさまざまなバージョンを試しました
(すべて同時にではありません)。WINDOW
可能であれば、(明示的に) any を使用しないことをお勧めします。while
特定の戻り値をチェックする getch() の周りのループも OK です。
ncurses - Ncurses スクロール可能なテキスト リーダー
ncurses を使用して、unixのlessのような単純なテキスト リーダーを実装する必要があります。
その方法を理解するのに問題があります。現在、ウィンドウがあり、(たとえば) 下キーを押すたびに、適切な開始点ですべての行を更新し、スクロールのような感覚を与えます。問題はテキストの折り返しにあり、残念ながら私の現在のシステムを台無しにしてしまいます。
すでにこのようなことをしていて、私を助けてくれる人がいるのだろうかと思っていました。率直に言って、スクロール可能ではない「パッド」以外に、これに関連するものはGoogleで見つかりません。
ruby - 外部シェルへの ncurses とキーのバックいじり
この ncurses アプリケーションは、一時的に ncurses からドロップアウトし、外部エディター/シェル/その他を実行し、完了したら ncurses にドロップするための標準的なレシピを実行しています。
ncurses が後で取得する最初の数回のキー押下が明らかに偽物であることを除いて、これはほとんど機能します。上矢印を 2 回押すと、ncurses は ^[ と A がそれぞれ表示されると考えます。
以前にこの動作を見たことがあり、これを修正する魔法の呪文が何であるかを知っている人はいますか? それが少しでも役立つとすれば、これは Ruby ncurses ライブラリーです。
python - Pythonのクロスプラットフォームコンソールアプリ用のcursesのようなライブラリ
LinuxだけでなくWindowsでも実行できるPythonでコンソールアプリケーションを開発することを検討しています。このために、私は本当にcursesのような高レベルのコンソールライブラリを使用したいと思います。ただし、私が知る限り、Windowsではcursesは使用できません。
他にどのようなオプションがありますか?残念ながら、Windowsでcygwinを使用することはできません...
ご協力いただきありがとうございます!