我很好奇,像 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
,但在活动时锁定屏幕。