問題タブ [curses]
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.
c - curses プログラムでフレームレートを制限するには?
ncurses を使ってゲームを作ろうとしています。ただし、メインループのタイミング部分を機能させる方法に困惑しています。移植性を維持し、速度を犠牲にせずに、メインループにフレームレートコードを追加する方法について、誰かが洞察を追加できるでしょうか。前もって感謝します!
python - (n)curses を使用して端末の右側または下部に印刷する
n/curses を使用して端末ウィンドウの右側および/または下側に印刷する標準的な方法は何ですか?
ここに小さなスケッチがあります:
C または Python でのソリューションは問題ありません。
ありがとう!
c - キーが ncurses によって解釈されない
curses ベースのアプリケーション ( WordGrinder ) があります。あるユーザーから、キーボードで一部のキーが正しく機能しないというバグ レポートがありました。調査の結果、彼は正しい。
問題のキーは、SHIFT + カーソル キーと、END などのキーパッド ナビゲーション キーの一部です。何が起こっているのかを調査したところ、curses がこれらのキーのイベントを送信していないようです。SHIFT + カーソル キーの場合、何も得られず、END の場合は生のエスケープ シーケンスが得られます。
これは私を驚かせます。他のすべてのキーは解釈され、キーシムに正しく変換されます。とになると思います。なぜ私はそうではないのですか?KEY_SLEFT
KEY_END
これらのキーが機能する他のアプリケーションをいくつか調べましたが、間違っていることを示す明らかなものは見つかりませんでした。また、nano のようなアプリケーションは、独自のエスケープ キーの解析を処理するなど、非常に悪いことを行うため、ソース コードの候補として適しているかどうかはわかりません。
次のように ncurses を初期化しています。
端末エミュレーターとして gnome-terminal を使用し、端末タイプとして xterm を使用しています。ロケールは UTF-8 で、ライブラリの ncursesw バリアントがあります。
何か案は?
アップデート:
数か月後、Gnome 3 の gnome-terminal で Wordgrinder を試してみたところ、これらすべての風変わりなキーが有効な ncurses キーコードを生成することがわかりました。たとえば、SHIFT+LEFT はキーコード 393 を生成するようになりました。xterm はまったく同じ結果を生成します。残念ながら、CTRL + LEFT はキーコード 539 を生成し、Curses のドキュメントでは、有効なキーコードは KEY_MIN から KEY_MAX の範囲 (257 から 511...) であると明確に述べています。
少なくとも現在は機能していますが、これらの奇妙な新しいキーコードはどのように機能するのでしょうか? それらはどこかで定義されていますか?それらは確かにヘッダーにはありません。
python - Python Curses:前のメニューに戻る
ncursesにメニューシステムがあります。オプションの1つを選択すると、別のメニューに移動します。しかし、どうすれば元に戻すことができますか?
理想的には、GOTOモジュールを使用してコード行間をジャンプする必要がありますが、使用しているデバイスにはそのモジュールが組み込まれていません。
他の方法を知っていますか?本当に助けてくれてありがとう。
============更新:==================
さて、私はまた、両方のメニューを簡単に再生成できることに気づきました。
emacs - テキスト形式のユーザー インターフェイスを使用する IDE (ncurses など)
GUI の代わりにシェルで実行される IDE はありますか。私は本当にマウスを使うのが好きではないので(スクロールを除いて、ショートカットを使用するFirefoxなど、すべてが高速です)。
私はテキストのユーザー インターフェイス (tui モードの gdb など) が本当に好きで、キーボードで完全に制御できる ide があればいいと思います (私は現在 emacs を学んでいますが、実際には ide として設計されていないと思います)。
c - ncursesでテキストスクロールを実装するための推奨される方法は何ですか?
私は、lessのようにテキストをスクロールするncursesアプリを実装しようとしています。これを行うための推奨される方法は何ですか?
これが私が知っていることです:
- を使用
scroll
して、テキストバッファを1行上または下に移動できます。ただし、下にスクロールすると上部に1行、上にスクロールすると下部に1行の空白行が表示され、自分で再描画する必要があります。 - Ncursesはワードラップを実行します。これは、手順1で再描画する必要がある行を決定する必要がある場合に、計算を台無しにします。
自分でワードラップを再実装して、すべてのポストラップされた行の配列を保持できると思いますが、これは一般的な問題のように思われるので、より良い方法があるかもしれません。
python - Python curses アプリケーションをインタラクティブにプログラミングする方法はありますか?
curses
既存の端末ではなく、関数へのすべての呼び出しがその端末で動作するように、2 番目の端末を作成する方法はありますか? 対話的に物事を試すことができると、作業がはるかに高速になるため、ある端末で対話型の Python インタープリターを実行し、別の端末で curses の出力を確認できるようにしたいと考えています。
そのままでは、対話型ウィンドウでの呼び出しinitscr()
が失敗する (PyDev) か、ホストからウィンドウの更新が完全に取り消される (Spyder) か、コンソール (IPython) で奇妙な動作が発生します。
を使用して別の端末を引き継ぐことはできsetupterm()
ますか? もしそうなら、どこでTERM
それを呼び出す別の文字列を取得できますか?
c++ - テキストファイルから配列への読み取り
Vimで編集したテキストファイルを配列に読み込もうとしています。
テキストファイルは30*50で、1桁の数字で構成されています。私はそれを機能させるために夢中になっていますが、改行文字が原因で問題が発生していると思います。これが私が使ってきたものです:
gridは、ヘッダーファイルでint grid[30][50]として定義されています。
印刷に使用するコードは次のとおりです。
Mapを呼び出した後sMap=Map( "testmap");
私は単に1桁の数字を配列にキャプチャし、その配列を(cursesを使用して)再印刷しようとしています。現在、テストマップファイルを読み取り、テストマップファイルに何が含まれているかに関係なく、すべてゼロを出力します。
ruby - ルビーは色を呪う
Ruby のデフォルトの Curses ライブラリで色を取得するにはどうすればよいですか?
次のようなものです:
よく働く。明るい灰色の背景に素敵な黒を与えます。でもこれは:
表示:
こんにちは!
^[[0m^[[30;47mこんにちは!^[[0m
最終的に、これには色が必要です。