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

标签 c gnome metacity

全部,

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

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

它捕获击键并且不需要等待 ENTER。它在命令行中运行良好,但是,当我尝试将命令绑定(bind)到 Gnome/metacity 中的热键时,它会等待击键,但击键似乎不会被处理为命令的输入,而是好像这是一个单独的命令。例如。如果我的击键是“1”并且我在终端中,我会看到:

“zsh:找不到命令:1”

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

谢谢

最佳答案

我相信 GTK 可能会让您感兴趣,尽管我个人从未使用过它。

http://www.gtk.org/

.

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

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

关于c - 在 Gnome/metacity 中,我们可以将一个键绑定(bind)到需要用户从键盘输入的命令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8872063/

相关文章:

c - 从c中的文件中读取十六进制值

C 指针和内存分配 : Realloc Arrays and Pointer Passing

linux - 如何为 Linux : KDE, Gnome 等设置我的应用程序桌面图标?

linux - 在只读环境中启动 Gnome 3

c - 为什么 printf 在输出时连接两个变量,但前提是未指定字符串长度?

c - 对多个数据包段执行加密操作?

Gnome 1804 - 通过命令行将 .desktop 添加到启动器

python - 从 Python 发现 Gnome/Linux/Ubuntu 上哪个窗口处于事件状态?

x11 - 如何使用 Yocto Project 工具更改窗口管理器?