Могу ли я заблокировать экран после перемещения мыши в экран блокировки?

Использовать интроспективный API Gio для чтения файла с его асинхронными методами и при выполнении начального вызова сделать это как тайм-аут с GLib.timeout_add_seconds(3, call_the_gio_stuff), где call_the_gio_stuff - это функция, которая возвращает False. [ ! d0]

Тайм-аут здесь необходимо добавить (может потребоваться другое количество секунд), потому что, хотя вызовы асинхронного вызова Gio являются асинхронными, они не являются неблокирующими, что означает, что активность жесткого диска чтения большой файл или большое количество файлов, может привести к заблокированному пользовательскому интерфейсу, поскольку пользовательский интерфейс и ввод-вывод все еще находятся в одном и том же (основном) потоке.

Если вы хотите написать свои собственные функции async и интегрироваться с основным циклом, используя API-интерфейсы ввода-вывода файлов Python, вам нужно будет написать код в виде GObject или передать обратные вызовы или использовать python-defer, чтобы помочь вам это сделать. Но лучше использовать Gio здесь, так как это может принести вам массу приятных функций, особенно если вы делаете файл открытым / сохраненным в UX.

1
задан 28 October 2012 в 12:37

1 ответ

Ярлык для отключения экрана снова не существует. Вы должны подождать несколько минут или разблокировать и снова заблокировать.

1
ответ дан 25 May 2018 в 05:00

Другие вопросы по тегам:

Похожие вопросы: