пятница, 30 сентября 2011 г.

Ubuntu Wallpaper Changer (v.0.4.34x)


В предыдущей заметке я рассказал, что на dropbox закинуто почти 50 000 картинок с разрешением от 1920х1080 и выше. Сделал я это для того, чтобы на моем ноуте автоматически менялись обои и у меня не было желания лазить по сайтам, вводить какие то логины с паролями и прочую лабуду, чтобы скачать пару картинок. на заставку

Что же я с этим добром сделал?
А вот что:

Понравилась программа?
Поддержи:


  • Программа выбирает случайную картинку из категории указанной в аргументах командной строки и устанавливает ее в качестве wallpaper.

  • Кроме того программа может подхватывать "Охуенный блять совет" и делать из него картинку.



  • Программа имеет возможность работы совместно с популярным системным монитором conky и может создавать подложку чтобы выводимые сообщения conky не сливались с фоном.


Установка и удаление

Для установки в Ubuntu кликните на ссылке: chbg-03_4.382.73_all.deb и выберите "откырыть с помощью Ubuntu Software Center"
Или выполните в терминале следующие команды: $ cd /tmp $ wget http://axaru.opendrive.com/files/55333828_ZCyxn_3e15/chbg-03_4.382.73_all.deb -O chbg-03_4.382.73_all.deb $ sudo apt-get install imagemagick curl $ sudo dpkg -i chbg-03_4.382.73_all.deb
Затем откройте в nautilus папку ~/.local/share/applications и перетащите файл change_bg.desktop на панель unity launcher.


Удалить программу можно опять же через Ubuntu Software Center или из терминала, дав команду: $ sudo dpkg -r chbg-03

Как это работает

Все картинки размещены на dropbox и доступны для скачивания без всяких ограничений. Это значит что, если вы установите эту программу к себе на компьютер, то она будет обновлять картинки и на вашем десктопе.
Во время установки в систему будет скопирована программа /usr/bin/chbg-03, в каталог /usr/share/fonts/truetype/other будут проинсталлированы дополнительные шрифты и в /etc/crontab будет добавлена команда запуска.
# Смена wallpaper каждые 5 минут
1-59/5 * * * * user env DISPLAY=:0 /usr/bin/chbg-03 -r -b -c 220,600

Ключи командной строки:
$ chbg-03 -h usage: chbg-03 [options] -h - this help -b - no action on battery -c W,H - WxH area from Left-Upper corner a murky glass under conky -f RUS|ENG - facking bitch advise russian/english -j - random FBA in selected theme -t [Theme1[,Theme2]...] - select random image from Theme is: Abstract Animal Anime Art Avia Car Comp Cosmos Fba Fiction Flowers Game Girl Holiday Kids Lingerie Map Mechanic Men Military Movie Music Nature Nude Ship Sport Texture Urban -r - resize to current display geometry -s ON|OFF|TOGGLE - set key stop execute to on/off or toggle -u - update unity change_bg.desktop file -p - select picture playlist for desktop wallpapers change -w - disable wallet info -v - version

Совместимость и отвественность

Да, чуть не забыл: все это работает под Ubuntu 11.04, 11.10 и 12.04. Под другими системами я не проверял, но не вижу препятствий и все должно работать.
Стандартные, но все таки важные замечания: вы устанавливаете эту программу на свой страх и риск.

Копирайты и копилефты

Вы можете скачивать, устанавливать, удалять, модифицировать эту программу без всяких ограничений. Единственная просьба: не удаляйте мое имя из исходников. Это тешит мое самолюбие. 8-).
Исходный текст доступен по этой ссылке: chbg-03

Последние изменения

26/12/2011 v 0.4.31 - Улучшил отображение FBA (fucking bitch advice). В качестве цвета надписи берется основной цвет картинки, который "подсвечивается".
03/01/2012 v 0.4.33 - Добавлена функция создания подложки под conky, чтобы выводимые сообщения не сливались с фоном.
07/02/2012 v 0.4.341.44 - Добавлена поддержка Sony Vaio VGN-NR385E
13/02/2012 v 0.4.38.79 Дизастер!!!
Видать тулза пользуется некоторой популярностью и мы заюзали трафик у Дропбокса. Эти говнюки нам его порезали.
В связи с чем я в некоторых раздумьях, что делать? В общем нужно на каком нибудь бесплатном сервисе с широким трафиком организовать около 100 gb.
. Возможно это http://minus.com. Изучаю API. А пока я сделал релиз, который в рамках этого сервиса уменьшит на него нагрузку.
03/03/2012 v 0.4.382.73 Устранен мелкий баг взаимодействия с conky



Для развития программы важна обратная связь

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


Планы по развитию

  1. Показ картинок расположенных на локальном диске.
    Реализовано, начиная с версии 0.4.38
  2. Обои на каждый рабочий стол.
  3. "Проигрывание" обоев из плейлиста.
  4. Добавление в плейлист текущей установленной картинки.
  5. Поменять расположение конфига с /tmp на ${HOME}/.config/bgch
    Реализовано. Конфиг и связанные файлы распологаются в ${HOME}/.chbg-03/
  6. Разработать новую формулу вычисления размера шрифта.
  7. Автоматически добавлять иконку на unity.launcher при установке программы.
  8. Сделать возможность приостанавливать\запускать скрипт.
    Реализовано. Ключ -s разрешает/ запрещает смену обоев.


Полезные ссылки:

20 коммент.:

  1. > Вставил в /etc/criontab строку, которая запускает скрипт каждые 4 минуты.

    crontab

    crontab -e

    ОтветитьУдалить
  2. Не очень ясно что имелось ввиду.

    ОтветитьУдалить
  3. что-то нихуя под ubuntu 10.04 не идёт.

    вываливается с ошибкой
    Unknown command: set_window
    Run 'xdotool help' if you want a command list

    ОтветитьУдалить
  4. Хороший скрипт!
    Есть пару предложений:
    1.Сделать возможность приостанавливать\запускать скрипт (например соединение с интернетом иногда может быть через GPRS).
    2.Сделать группу All, возможно кроме Nude.
    3.Если у человека Юнити, то при установке добавлять ярлык на Лаунчер.
    4. Ключ -u востанавливает очень древний ярлык.

    ОтветитьУдалить
  5. Спасибо, Bogdan.

    Я так понял, что с последней сборкой мы ляпы убрали.
    С ключем -u, да. Я забыл обновить. Сегодня пересоберу.

    ОтветитьУдалить
  6. не работает :(

    в консоле вываливается следующее
    chbg-03
    Reset Value
    cat: /home/shanin/.chbg-03/chbg-03.idx: Нет такого файла или каталога
    cat: /home/shanin/.chbg-03/chbg-03.idx: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 548: ((: RANDPIC=RANDOM%MAXPIC+1: деление на 0 (error token is "+1")
    cat: /home/shanin/.chbg-03/chbg-03.idx: Нет такого файла или каталога
    cp: невозможно выполнить stat для «/home/shanin/wallpaper_tmp.jpg»: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 298: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 299: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 300: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 301: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 302: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 303: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 304: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 305: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 306: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 307: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 308: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 309: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 310: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 311: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога

    устанавливал через консоль, так как при скачке пакета инсталька убунтовская ругается на deb пакет что не может его запустить

    ОтветитьУдалить
    Ответы
    1. Ух ты!!!
      Давай отложим до ближайших праздников.
      У меня сейчас сложный проект на работе и вечером валюсь с ног.
      А 5 мая (или когда у нас там выходной) разберемся.

      Удалить
    2. на другом компе поставил через софтвеар центр открыв скачанный deb

      результат в принципе тот же :(

      Удалить
    3. Ок.
      По моему ошибка была на моей стороне.
      Я 15 апреля делал изменения и неверно разместил файл content.index.
      Сегодня ночью я поправил все и, возможно, ошибка устранена.
      Попробуйте, как указано в статье, через терминал удалите пакет и установите заново.

      Если будут сообщения во время установки, то запостите их сюда.

      Если ошибка не устранена, то давайте дождемся выходных и вместе все проверим.
      В рабочие дни я не могу. У меня очень важный и интересный проект. Но устаю так, что вечером даже не могу пива выпить 8), просто засыпаю.

      Удалить
    4. Ну как там?
      Покажите
      ls ~/.chbg-03

      Удалить
    5. Вчера на чистый комп Lenovo z570 поставил Ubuntu 12.04.
      Затем установил Ubuntu Wallpaper Changer через консоль, как написано в статье.
      Все работает.

      Удалить
    6. сори что не отписался
      удалил и переустановил
      - в итоге таже ошибка :(
      заглянул в файлик /usr/bin/chbg-03
      и увидел что папка .chbg-03 создается в корне Home а не в папке пользователя
      отсюда и ошибка появляется
      поправил строчку на CONFDIR=/home/.chbg-03
      перезапустил - и все заработало :)

      ты поправил файл и выложил как новую версию? просто в статье ссылка получается на старую

      Удалить
    7. Ок.
      Я проверю еще раз.

      Удалить
  7. обнаружил небольшой косяк :)
    точнее не косяк, а неточность при работе с 2 мониторами

    при использовании 2 моников ( например с разрешением 1280*1024 на каждом )
    програмулина берет разрешение из системы и думает что оно 2560*1024

    в итоге растягивает картинку так
    http://s019.radikal.ru/i616/1205/a3/8c1eae903c1b.jpg
    обрезая её сверху и снизу
    и советы получаются обрезаются иногда с частью картинки.

    ОтветитьУдалить
    Ответы
    1. Понял.
      Это мой косяк.
      Я не закладывал случай, когда используются два монитора одновременно.
      Попробую этот режим и исправлю.

      Кстати Dropbox увеличил размеры ящиков до 18 Gb. Потихоньку буду заливать картинки, которые у меня остались в офлайне.

      Удалить
    2. есть решение :)

      включив дебаг увидел что
      nvidia x server возвращает на эту команду сумму размеров горизонтальных разрешений
      W_SCR_RES=$(/usr/bin/xdpyinfo | grep 'dimensions:' | awk '{ print $2}' | awk -F'x' '{ print $1 }')

      решение простое до безобразия :)

      сразу за этим вычислением обновляем значение с помощью деления на 2
      и включаем ресайз

      картинка отлично растянулась на оба монитора

      в рабочий скрипт можно было бы добавить условие проверки на нестандартные пропорции разрешения возвращаемые отсюда ( dimensions: )

      Удалить
    3. fox_ch2, супер.
      Ты уже со скриптом разобрался. 8)

      Спасибо, на выходных вставлю твой код.

      Просто у меня сейчас огромный проект. Целая санта-барбара. 8:) Ухожу в 8 утра, прихожу в 11 вечера.

      Как я понял, тебе то что я сделал понравилось.

      Удалить
    4. ну сама суть не нова, в убунту есть подобное реализованное силами оси
      только там картинки раб столов выбираются из локальной папки

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

      Удалить