LINUX.ORG.RU

[KDE4][C++/Qt] Смена wallpaper


0

0

Кто-нить знает, как программно поменять картинку на рабочем столе? Вот уже пару часов насилую гугель и курю исходники kdebase-workspace, и чувствую, что где-то жутко туплю, но пока не могу найти решение.

В 3х кедах для этого можно было отправить сообщение через dcop. В 4х кедах dcop поменяли на dbus, и, вообще говоря, должно быть что-то для управления параметрами плазмы (уверен, за валпепер отвечает именно она) через dbus, но, похоже, это что-то ещё не реализовано. Сходу нагуглилось вот что:

kwriteconfig --file plasma-appletsrc --group Containments --group 1 --group Wallpaper --group image --key wallpaper <path-to-wallpaper>

Насколько рабочее - не знаю, кедов не пользую.

Laz ★★★★★
()
Ответ на: комментарий от Laz

> kwriteconfig --file plasma-appletsrc --group Containments --group 1 --group Wallpaper --group image --key wallpaper <path-to-wallpaper>

А вы говорили: «реестр в Гноме». Вот и в кедах то же самое, только ещё более запутанно

Divius ★★
()
Ответ на: комментарий от Divius

>Вот и в кедах то же самое

учим матчасть. В кедах используются отдельные конфиги, формат вроде бы ini, и общие функции в либах для работы с ними. Никаких древовидных реестров здесь нет.

nu11 ★★★★★
()
Ответ на: комментарий от nu11

> учим матчасть. В кедах используются отдельные конфиги

Никаких древовидных реестров здесь нет.


хочешь сказать в гноме все в одном файле, да? ;)

lester ★★★★
()
Ответ на: комментарий от lester_dev

>по туевой хуче файлов
ну это смотря сколько софта поставлено, а так да. У меня порядка 130 конфигов

как в 80х годах, да?

Тебя /etc не смущает?

nu11 ★★★★★
()

Никак, но есть плагин для плазмы. Возьми код оттуда.

summatus
()
Ответ на: комментарий от nu11

Верим в карму? В КДЕ все прекрасно, в гноме все УГ? Столько я такого уже видел. Сравнение с реестром от полного непонимания способа работы. Для человека не видевшего графические редакторы тоже легко сравнивать MS Paint и GIMP. Разници похожая

ГКонф - программа, которая решает проблему конфигурации приложений, в том числе и друг друга на лету без проверок запущено ли приложение. Вся система и приложения содержат сотни оповещений на изменение ключей и при их изменении каждое приложение, которого касается это изменение получает уведомление о изменении конкретного ключа. Тоесть к примеру приложение А меняет ключ Б (разрешить делать что-то), и поэтому у приложений В и Г моментально добавляются кнопки. Вообще кнопки добавились бы и у приложения Д, но оно не запущено. Когда оно будет запущено, то уже кнопки у него будут добавлены при чтении конфига во время запуска.

Дерево GConf состоит из отдельных файлов - схем, каждая из которых идет с приложением и ложится в определенное место. GConf абстрактно объединяет их в дерево для того чтобы унифицировано собрать их вместе в одно удобное приложение и чтобы настройка происходила унифицировано любыми приложениями. И не только приложениями, а еще и пользователями. Для этого каждый ключ может быть документирован в схеме. Стандартизирована конфигурация+документация для любых приложений. Этот подход позволяет уменшить труд на монотонное создание громоздких «Панелей управления» для всех параметров, так как GConf достаточно дружелюбен и одновременно унифицировано охватывает все настройки системы.

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

>Верим в карму? В КДЕ все прекрасно, в гноме все УГ?
ничего подобного я не писал. У тебя butthurt на слово «реестр»?

ГКонф - программа, которая решает проблему конфигурации приложений

чем оно принципиально отличается от реестра венды, кроме деталей реализации?

nu11 ★★★★★
()
Ответ на: комментарий от nu11

1. Оповещения. Не смотря что есть маленькая никому не известная функция в ванапи, ей никто не пользуется. Здесь весь гном и все его приложения сидят и ждут оповещений. Философия однако, конфигурирование на лету. Это заметьте не SIGHUP и перечитывание конфига. Сдесь вам четко присылают что изменилось.

2. Не нужно проверок. Вы/скрипт просто меняете ключ и вам не надо знать запущено приложение или нет. Более того вам не надо оповещать 10 приложений если ключ их всех касается. Просто меняете ключ и все, остальное автоматически

3. Документирование ключей на месте. Позволяет уйти от необходимости велосипедить гуевины для каждой галочки в системе. Через них ведь настраивается основное, чего не много и легко разобраться. Идеально для обычного пользователя. Если вам нужно больше, лезем в документированный gconf, там все и лежит.

4. Схемы. Через gconf вы просто правите конфиг как и раньше. Теперь он называется схема и вам не надо знать где он лежит. Просто теперь все абстрактно слито в дерево. По настоящему дерева нет и удаление схемы удалит все конфиги этого приложения

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

1) детали использования
2) не отличается
3) детали реализации, дополнительные функции
4) словоблудие

Концептуально ничем не отличается, назначение то же, принцип тот же.

nu11 ★★★★★
()

facepalm.jpg

ЛОР верен своим традициям.

Chaser_Andrey ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.