問題タブ [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.

0 投票する
1 に答える
384 参照

c++ - stdscr (ncurses) 使用時のリンカー警告

さて、pdcurses で stdscr を使用しようとすると、次の警告が表示されます。

これを修正するにはどうすればよいですか? それらは単なる警告ですが、プログラムを実行するとクラッシュするため、おそらく何か関係があります。特に、クラッシュする行がstdscrを使用する行であるという事実を考慮すると...

0 投票する
2 に答える
6901 参照

c - ncurses を使用してディスプレイ内のテキストを取得する

ncurses の変数に出力された文字を戻す方法はありますか?

私がそうしているとしましょう:

それから私はできるようにしたい:

画面上のすべての文字を変数に戻す関数が必要です。scr_dump get は閉じますが、出力形式は判読できません。

0 投票する
2 に答える
1846 参照

perl - Perlを使ったcursesアプリケーションの作成に関する優れた本はどこにありますか?

私は呪いのアプリを書くための良い方法を探していました。これまでのところ、Curses::UIとCurses::Toolkitを見つけましたが、どれも私が望むほど男性的ではありません。今、私はCurses自体だけでアプリを作成し、その過程でそれについて何かを学びたいと思っています。良い本/チュートリアルなどはありますか?それは私にCursesとPerlでアプリを書くことの根性を教えてくれるでしょうか?(Cのような別の言語で書かれていてもかまいません。読んだものをPerlに翻訳できる限り、問題ありません!)

ありがとうございました、

0 投票する
1 に答える
2059 参照

c - ncursesの有無にかかわらず、Linuxコンソールでキーボードの繰り返し遅延を変更するにはどうすればよいですか?

ncursesとCを使用して小さなポンクローンを作成しています。プレーヤーがパドルを動かしやすくするために、キーボードの繰り返し遅延を設定する方法を見つける必要があります。そうしないと、ダウンキーを押して約50ミリ秒待機します。キーが繰り返され始めるまで。

ncursesのマニュアルページとドキュメントを確認しましたが、キーボードの繰り返し遅延を変更するための参照が見つからないようです。また、ゲームが要求するのは少し奇妙なので、プログラムkbdrateは私の使用には適していません。ルートとして実行されます。

ありがとう、エマニュエル

0 投票する
3 に答える
2655 参照

python - ncurses と黒地に白

カラー モードの場合、黒地に白を curses で動作させることができないようです。を呼び出さないとstart_color、黒地に白になります。を呼び出すとすぐにstart_color、物事は黒地にグレーで出力され始めます。

このスクリプトを実行すると:

...きれいな色がたくさん出てくるはずです。私が欲しくて手に入れることができないのは、最後の行です:「...そしてこれは正常です。」カラー ペア 0 を要求するか、COLOR_WHITE を要求すると、COLOR_BLACK はスクリプトから明るくない #37 を取得します。

参考までに、これは Gnome ターミナルに表示されるものです。

http://rpi.edu/~wellir/random/colors.png

私は Python で (curses ライブラリを使用して) プログラミングしているので、コードは次のようになります。

...これで 37、37-ブライト、37 になります。

0 投票する
2 に答える
701 参照

c - C - ncurses ui から外部プログラムに行き、戻る

ncurses に情報を表示し、vim を開いて (を使用してsystem) ユーザーがファイルを編集できるようにするプログラムを作成しています。ただし、vim が終了すると、ncurses の画面は再描画されません。 何もしないと、美しいメニューが完全に破棄されますrefreshwrefresh

そのため、コマンドラインに送り返されます。メニュー項目に移動すると、メニュー項目が再描画されます。少し移動すると、次のようになります。

悲劇

ご覧のとおり、私はもうきれいな ncurses 環境ではありません。

ncurses を完全に破棄して再度設定することはできますが、(メニュー位置などの) いくつかのものは保持されません。

これを正しく行うにはどうすればよいですか?外部プログラムを呼び出して、ここに優雅に戻るより良い方法はありますか?

0 投票する
0 に答える
406 参照

c - def_prog_mode と reset_prog_mode、refresh の後に curses キーボードが機能しない

ncurses UI からsystem呼び出しを介してエディターに移動し、再び戻ろうとしています。ここにいる数人のフレンドリーなプログラマーの助けを借りて、ユーザーがエディターから戻った後にターミナル UI の使用方法def_prog_modeと状態を復元する方法を学びました。refresh

したがって、私のコードは次のようになります。

これにより、UI が非常にうまく復元されますが、その後、プログラムがキーボード入力を受け付けなくなったり、応答しなくなったりすることがよくあります。これがどのような状況で発生するかはわかりませんが、ほとんどの場合発生します。

これはここの問題に似ているようですが、説明されている修正 (再呼び出しkeypad) は機能していないようです。

0 投票する
1 に答える
1731 参照

cursor - ncursesカーソルとスレッドのヘルプが必要

ncursesを使用して、Cでテキストベースのクライアントを記述しています。プログラムのメインループは、キーが押されたことが検出されるまでブロックし、それを処理して、別のキーが押されるのを待ち続けます。

サーバーからの入力を(selectを使用して)ブロックする単一のスレッドを起動し(以下に投稿)、サーバーからの入力を受信すると、それをチャットログバッファーに追加し、バッファーを画面に出力します。それは完璧に動作します。

ncursesはスレッドセーフではないことは知っていますが、スレッドについての私の理解は、一度に1つのスレッドだけがncursesを呼び出していることを100%確認している限り、正常に機能するということです。

私の問題はカーソル位置にあります。

この行で変更され、move(height+1, curx); どの値を渡しても、ncursesは呼び出しを完全に無視し、カーソルを別の位置に置きます。私はそれに影響を与えることができないようです。

問題をさらに説明するために、私のメインスレッド(キープレスループ)では、同じミューテックスブロッキングを使用しています。コードのこれらのセクションでカーソルが更新されると、計画どおりに機能します。以下の受信スレッドから更新される場合、カーソル呼び出しは無視されます。

何か案は?

receive thread

0 投票する
1 に答える
2526 参照

terminal - Ncurses で倍角文字を印刷する

多くの端末エミュレーター (xterm、Konsole) は、倍角文字をサポートしています。Ncurses はこれをサポートしておらず、私の知る限り、ncurses はエスケープ文字を出力しません (\033 はエスケープされず、平文で出力されます)。

ncurses アプリケーションで 2 倍の大きさの文字を印刷することはまったく可能ですか?

0 投票する
3 に答える
18648 参照

c - ncurses をプログラムに静的にリンクする

ncurses を自分のプログラムの 1 つに静的にリンクする際に問題が発生しています

これは非常に単純なサンプル プログラムです。

でコンパイルすると

次のエラーが表示されます。

なぜこれが機能しないのか、少し混乱しています。ここで何が欠けていますか?