Я уже приводил скрипт, устанавливающий случайный файл изображения в качестве обоев рабочего стола. У него есть лишь один недостаток: его требуется запускать каждый раз, чтобы сменить обои.
Между тем, ещё в GNOME 2.28 появилась возможность установить на обои слайд-шоу в виде списка картинок в XML-файле. В нём указывается последовательность и длительность отображения каждого изображения. Более того, в нём можно даже указать плавный переход от одного изображения к другому.
Я решил создать простой скрипт, генерирующий XML-файл из заданного набора изображений и опционально устанавливающий его в качестве обоев. Для работы скрипта нужен GNOME 3+ или Ubuntu (начиная 11.10).
|
I already published a script that sets a random image file as desktop wallpaper. It has only one downside: you have to run it every time you want to rotate your wallpaper.
However GNOME since 2.28 allows assigning a slide show as wallpaper by providing an image list in XML format. There you can specify the order and duration for each image. Moreover, you can even define a transition from one image to another.
So I decided to create a simple script that generates an XML file for a given set of images and, optionally, sets that as the current wallpaper. It requires GNOME 3+ or Ubuntu (11.10 or later).
|
Исходный код
Скачать самую свежую версию можно на странице скрипта на моём сайте.
|
Source code
You can download the latest version on script page on my website.
|
Параметры
Скрипт получился довольно универсальным. Использовать его нужно следующим образом:
generate-wallpaper-xml [options] pictures_dir xml_file
Здесь:
options | Любое сочетание следующих опций: |
-d число | Переопределить длительность отображения по умолчанию (1795 секунд, то есть примерно полчаса) |
-s режим | Упорядочить файлы в соответствии с режимом, допустимые значения которого: |
name | Отсортировать список по пути и имени файла |
shuffle | Перемешать список файлов |
-t число | Переопределить длительность перехода между изображениями по умолчанию (5 секунд). Если указано значение 0, переход не используется |
-v | Выводить детальную информацию |
-w | Установить созданный XML-файл в качестве обоев |
pictures_dir | Путь к каталогу с изображениями |
xml_file | Путь к создаваемому XML-файлу |
|
Parameters
The script is quite flexible. Use it as follows:
generate-wallpaper-xml [options] pictures_dir xml_file
Where:
options | Any combination of the following: |
-d number | Override default display duration (1795 seconds, ca. half an hour) |
-s mode | Sort the files according to mode, whose values are: |
name | Sort by file path and name |
shuffle | Randomize file order |
-t number | Override default transition duration (5 seconds). If 0, no transition is used |
-v | Verbose output |
-w | Set the generated XML file as current wallpaper |
pictures_dir | Path to directory with pictures |
xml_file | Path to the output XML file |
|
Примеры использования
-
generate-wallpaper-xml ~/Pictures ~/Pictures/wallpapers.xml
Создаёт файл wallpapers.xml в подкаталоге Pictures (из домашнего каталога пользователя) на основе изображений из этого же подкаталога.
-
generate-wallpaper-xml -w ~/Pictures ~/Pictures/wallpapers.xml
То же самое, но дополнительно устанавливает сгенерированный файл в качестве текущих обоев.
-
generate-wallpaper-xml -w -d 600 -t 0 ~/Pictures ~/Pictures/wallpapers.xml
То же самое, плюс длительность отображения каждого файла установлена в 10 минут (600 секунд), а переходы между изображениями отключены.
-
generate-wallpaper-xml -w -s shuffle -d 600 -t 0 ~/Pictures ~/Pictures/wallpapers.xml
То же самое, плюс список файлов перемешивается, так что они следуют в случайном порядке.
|
Usage examples
-
generate-wallpaper-xml ~/Pictures ~/Pictures/wallpapers.xml
Creates the file wallpapers.xml in the Pictures subdirectory (in the user's home directory) from picture files from the same subdirectory.
-
generate-wallpaper-xml -w ~/Pictures ~/Pictures/wallpapers.xml
The same as above, but additionally sets the generated file as the current wallpaper.
-
generate-wallpaper-xml -w -d 600 -t 0 ~/Pictures ~/Pictures/wallpapers.xml
The same as above, plus sets display duration of each file to 10 minutes (600 seconds), and disables transitions between images.
-
generate-wallpaper-xml -w -s shuffle -d 600 -t 0 ~/Pictures ~/Pictures/wallpapers.xml
The same as above, plus shuffles the file list so that they are ordered randomly.
|