在Gnome / metacity中,我们可以将键绑定到需要用户从键盘输入的命令吗?

时间:2012-01-15 18:11:06

标签: c gnome metacity

所有

我有一个用C编写的小实用程序,要求用户按一个键进行菜单选择。代码很简单:

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

它抓住击键而不需要等待ENTER。它在命令行中工作正常,但是,当我尝试将命令绑定到Gnome / metacity中的热键时,它等待键击正常,但是按键似乎不是作为命令的输入处理,而是好像这是一个单独的命令。例如。如果我的击键是“1”并且我在一个终端,我看到:

“zsh:command not found:1”

我在没有“系统”行的情况下尝试过,但没有任何改变。是否有一些特殊版本的“getchar”可以与GUI一起使用?顺便提一下,程序的非交互式版本在绑定到热键时工作正常,因此程序基本上是功能性的,它不能以交互方式使用。

由于

1 个答案:

答案 0 :(得分:0)

我相信GTK可能会让你感兴趣,尽管我从来没有亲自使用它。

http://www.gtk.org/

您还应该能够运行gnome-terminal。使用/ opt / appFoo / appFoo作为正常运行应用程序的命令,您将运行

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