В Gnome/metacity можем ли мы привязать ключ к команде, которая требует ввода данных с клавиатуры?

Все,

У меня есть небольшая утилита, написанная на C, которая требует, чтобы пользователь нажимал клавишу для выбора меню. Код предсказуемо прост:

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

Он захватывает нажатие клавиши и не нужно ждать ENTER. Он отлично работает из командной строки, однако, когда я пытаюсь привязать команду к горячей клавише в Gnome/metacity, он ждет нажатия клавиши в порядке, но, похоже, нажатие клавиши обрабатывается не как ввод в команду, а как если бы это была отдельная команда. Например. если мое нажатие клавиши "1", и я в терминале, я вижу:

"команда zsh: не найдена: 1"

Я пробовал без "системных" строк, но ничего не изменилось. Возможно, есть какая-то специальная версия "getchar", которая работает с графическим интерфейсом? Кстати, неинтерактивная версия программы прекрасно работает, когда привязана к горячей клавише, поэтому программа в основном функциональна, просто ее нельзя использовать в интерактивном режиме.

Спасибо

1 ответ

Я верю, что GTK может вас заинтересовать, хотя я никогда не использовал его лично.

http://www.gtk.org/

,

Вы также должны быть в состоянии запустить gnome-терминал. Используя /opt/appFoo/appFoo в качестве команды для нормального запуска приложения, вы запустите

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

Другие вопросы по тегам