Где Wallch сохраняет список изображений и папок, из которых он делает фотографии?

Я хочу написать скрипт bash, который может удалить текущие обои из плейлиста wallch . Под плейлистом я говорю об этом списке в wallch, в который вы можете добавлять картинки и папки, сообщая wallch, что он может использовать их как обои.

Как этот плейлист хранится у wallch? SQLite? XML? Могу ли я получить доступ к этому плейлисту и изменить его программно?

4
задан 1 March 2012 в 04:22

2 ответа

Было бы довольно трудно удалить текущие обои из списка Wallch, в то время как Wallch работает и chaning обои, поскольку к списку получает доступ память (также сохраненный в ~/.config/Wallch/MainWindow.conf, но это не читается, там живут, это местоположение используется для восстановления плей-листа, если, например, компьютер разрушается, или программа не закрывается правильно).

Было бы намного легче сделать сценарий, который автоизменяет фон при чтении album.wallch файла с помощью команды

gsettings set org.gnome.desktop.background picture-uri "/path to image/here.jpg"

и, 'в то время как' цикл. Пример:

while read line; do
   gsettings set org.gnome.desktop.background picture-uri "$line"
   #here do what you want, remove image from the file being read, move image to trash
   #(located in ~/.local/share/Trash/files) and mark it as not wallpaper material.
   sleep $timeout #<- sleep the timeout you want until the next image
done < album.wallch

Другое решение, но слишком сложный было бы следующим:

  1. Запускайте Wallch обычно и добавляйте некоторые изображения, если нет никого в списке
  2. Выход Wallch (Ctrl+Q)
  3. Запустите Wallch в терминале с помощью команды wallch --constant
  4. Удалите соответствующие обои из ~/.config/Wallch/MainWindow.conf
  5. Сделайте то, что Вы хотите сделать.
  6. Повторитесь от шага 3.

Но я действительно предложил бы 1-е решение, делая Ваш очень собственный сценарий для этого, если Вы хотите использовать Wallch только для изменения фонового изображения, необходимо полностью использовать прямую команду

gsettings set org.gnome.desktop.background picture-uri "/path to image/here.jpg"
4
ответ дан 1 March 2012 в 04:22

Я использую wallch и, как правило, мне это не нравится: изменение списка файлов (как вы видите) - это боль. Тем не менее, можно создать каталог, содержащий мягкие ссылки и отображать их на Wallch. Тогда ваш скрипт может обезьяна с мягкими ссылками, и wallch даже не заметит. Используйте команду "ln" с -s, чтобы установить программную ссылку. Если у вас есть каталог / home / me / Pictures / Backgrounds со ссылками в нем, вы делаете что-то вроде

ln -sf /home/me/Pictures/Vacation2013/GreatPic.jpg / home / me / Pictures / Backgrounds / 1.jpg

для замены файла "1.jpg" в каталоге Backgrounds. Он будет ссылаться на GreatPic.jpg в другом каталоге и может быть легко заменен программно. Используйте программные ссылки (опция -s), чтобы не связывать изображения жестко. Используйте опцию «force» (-f или -sf) для удаления и замены существующих ссылок или файлов в каталоге.

Одна проблема: этот подход не позволяет вам изменять количество фоновых изображений. Вы можете только изменить, какие фотографии они есть.

Я попробовал команду gsettings и обнаружил, что часть «путь» должна иметь файл формата: / blah / blah / blah. Я был удивлен, увидев, что http: //server.tld/blah/blah/blah не работает.

Важно ли что-то делать с отображаемым фоном или с текущим фоном? Тогда вам, вероятно, будет лучше запустить скрипт Python или Perl (все, что вам знакомо) и обработать сигналы. Например, вы могли бы дать вашему сценарию обработчик сигнала, который заставит его удалить отображаемый в данный момент файл (если это именно то, что вы намеревались).

0
ответ дан 1 March 2012 в 04:22

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

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