как перерисовывать или делать недействительными рабочий стол ubuntu программно с помощью c или python

Теперь я использую ubuntu16.04 с рабочей средой GNOME. Я могу изменить атрибуты (например, metadata::nautilus-icon-position) файлов на рабочем столе с помощью c или python, но рабочий стол не обновляется. Затем я имитирую событие «F5», используя xdo_send_keysequence_window(x, CURRENTWINDOW, "F5", 0) из libxdo, теперь отображается обновление, но с миганием (мне кажется, что все виджеты на рабочем столе сначала очищаются, а затем перерисовываются).

У меня есть два вопроса:

Как десктопная система обрабатывает событие «F5»? (сначала очистить все виджеты, кроме фона на рабочем столе, а затем, возможно, в следующий раз отрезать все виды виджетов?) есть способ (интерфейс api или отправлять события на рабочий стол), чтобы недействить или перерисовывать рабочий стол, не мигая, как обычное приложение GUI ( widget.move () или container.invalidate ())?

Я много искал и не могу найти ответ. Спасибо большое

1
задан 7 December 2017 в 05:02

2 ответа

Поскольку F5 является привязкой клавиш для функции Refresh, он обрабатывается как таковой. Это ничем не отличается от нажатия F5 в веб-браузере для обновления. Страница очищается, и на сервер поступает новый запрос. В случае с Nautilus это означает, что представление очищено, и каталог повторно сканируется.

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

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

1
ответ дан 18 July 2018 в 01:45

Поскольку F5 является привязкой клавиш для функции Refresh, он обрабатывается как таковой. Это ничем не отличается от нажатия F5 в веб-браузере для обновления. Страница очищается, и на сервер поступает новый запрос. В случае с Nautilus это означает, что представление очищено, и каталог повторно сканируется.

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

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

1
ответ дан 24 July 2018 в 17:27

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

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