0

全て、

ユーザーがキーを押してメニューを選択する必要がある C で書かれた小さなユーティリティがあります。コードは予想通り単純です。

    system("stty raw");
    save_ID = getchar();
    system("stty cooked");

キーストロークを取得し、ENTER を待つ必要はありません。コマンドラインからは正常に動作しますが、コマンドをGnome/metacityのホットキーにバインドしようとすると、キーストロークが正常に実行されるのを待ちますが、キーストロークはコマンドへの入力としてではなく、まるでそれは別のコマンドでした。例えば。キーストロークが「1」で、ターミナルにいる場合、次のように表示されます。

「zsh: コマンドが見つかりません: 1」

「システム」行なしで試しましたが、何も変わりませんでした。GUIで動作する「getchar」の特別なバージョンはおそらくありますか?ちなみに、プログラムの非対話型バージョンは、ホットキーにバインドすると正常に動作するため、プログラムは基本的に機能しますが、対話型で使用することはできません.

ありがとう

4

1 に答える 1

0

私は GTK を個人的に使用したことはありませんが、GTK に興味があるかもしれません。

http://www.gtk.org/

.

gnome-terminal も実行できるはずです。アプリを通常どおり実行するコマンドとして /opt/appFoo/appFoo を使用すると、次のように実行されます。

gnome-terminal -e "/opt/appFoo/appFoo" &

于 2012-01-25T06:15:15.710 に答える