Код Python для GET (не установлен) текущего изображения рабочего стола

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

Python, потому что мне это нравится, но я возьму то, что смогу получить. Я могу делать C / C ++. Я бы предпочел не делать Java. Пожалуйста, не ява. Это небольшая утилита, а не оружейное приложение.

Почему, спросите вы?

Я хочу посмотреть пару 100 случайных пикселей из изображения, попытаться найти общий цвет, а затем обработать текущий CSS-файл темы gtk3, чтобы изменить @dark_bg_color на мой вычисленный цвет, а затем, как-то, перезагрузите тему.

Конечным результатом будет то, что при изменении обоев цвета заголовков окон будут меняться на «match».

Я уверен, что могу делать все, кроме шага 1 ... получать текущие обои в читаемый объект. Есть много уроков о том, как изменить / установить обои, но не так много, чтобы получить их.

О, вы говорите! Вы не знаете, что такое обои для рабочего стола? Нет. Я использую , независимо от того, какие окна, панели, пусковые установки и т. Д. Могут в настоящее время быть на вершине , и он всегда загружает новые обои И использует мою личную коллекцию, случайно меняя ее каждые 10 минут или около того.

1
задан 29 May 2016 в 22:02

1 ответ

@ Тимо выше описано, как получить его в GNOME и Unity, вот как это делается в Xfce.

import subprocess

xfce_wall_cmd = subprocess.Popen('xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/workspace0/last-image', shell=True, stdout=subprocess.PIPE)

xfce_wall, xfce_wall_errs = xfce_wall_cmd.communicate()

xfce_wall = xfce_wall.decode('utf-8').replace('\n', '')

print(xfce_wall)
0
ответ дан 23 May 2018 в 10:40

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

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