像 gksu 这样的应用程序在启动时如何锁定焦点?

像 gksu 这样的应用程序在启动时如何锁定焦点?

我很好奇,像 gksu 这样的应用程序在提示输入密码时如何锁定屏幕焦点。我看到 gksu 甚至有一个选项“-g”,可以禁用此行为。

我对为 Python 应用程序做类似的事情很感兴趣(我使用 Quickly 生成 GUI 应用程序 -- GTK+3),但我找不到有关如何完成此操作的任何信息。我​​找到了诸如 fullscreen() 等东西,但我真的很喜欢 gksu 的做法。

我正在使用 Lubuntu 14.04 (LXDE)

如有任何指点或建议我将不胜感激。

答案1

如果你看看源代码您将看到执行锁定和解锁的功能grab_keyboard_and_mouse()和。ungrab_keyboard_and_mouse()

核心锁定和解锁功能是通过调用 GTK 库函数gdk_pointer_grab()及其等效gdk_keyboard_grab()函数来完成的..._ungrab()

您需要让这些函数可以从 Python 调用,但我不知道这是不是一个简单的任务。或者,也许您可​​以找到一个程序,它会显示一个带有一些输入字段和按钮的消息框,就像一个扩展的xmessage,但在活动时锁定屏幕。

相关内容