如何使用全局快捷键以编程方式显示/隐藏我的应用程序窗口?

mon*_*ker 6 shortcut-keys gtk application-development pygi

我正在使用 Quickly (PyGI) 为 Gnome/Ubuntu 编写 Notational Velocity 克隆,我希望允许用户设置一个全局快捷键,该快捷键将在应用程序运行时切换应用程序窗口的可见性(类似于 Tilda 为其所做的事情)终端模拟器)。即,一旦应用程序启动,用户可以按 F2 隐藏窗口,然后再次按 F2 使其可见并将其带到前面。我不想使用外部热键应用程序或任何需要应用程序外设置的东西。我该怎么办?

这里有一个类似的问题:How can I listen on global keypress event? 但主要的答案是一个笨拙的非程序化解决方案。一位评论者提到“通过 X api 调用抓住键盘”,但我不确定从哪里开始。

Rob*_*ans 5

Keybinder 库正是这样做的。如果您检查拉取请求,就会有使用 pygi 的示例的请求,其中之一是我的 py3k。