Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Напоминалка на базе Conky.  (Прочитано 3722 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BarShadow

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Напоминалка на базе Conky.
« : 04 Октября 2020, 08:42:43 »
   Купил я пару лет назад на Avito RaspberryPi 2B за какие-то смешные деньги. Ну, оно и понятно - модель не новая, мало что может в плане производительности, если сравнивать с следующими поколениями... Покупал чисто поиграться, поднять на ней веб-сервер для самописных сайтов или сетевую шару сделать. Ну и домашнее радио, вроде советских радиоточек, которая в нашем доме работала постоянно, достаточно было только звук немного прибавить.
Всё это довольно быстро было реализовано, настроено и в дальнейшем ковырянии не нуждалось. Стало скучно, короче...
А надо отметить что сама малина досталась мне с экраном и веб.камерой. Не пропадать же добру, так сказать.
   
   Было решено сделать настенный календарик-фоторамку. Чтобы периодически изменялись картинки, ненавязчиво информировал о дате, времени, музыкальном треке, который сейчас играет...
В качестве рабочего стола я выбрал xfce4.
Первым делом я придумал алгоритм, по которому менялась бы обоина на экране. Создал семь каталогов с названиями дней недели, внутри которых разместил по 60 тематических фотографий, имена которых от 00.jpg до 59.jpg
Затем - написал скрипт, который будет менять изображение рабочего стола в зависимости от контекста. Так, если календарь показывает Понедельник, а часы говорят что сейчас 12 минут - изображение берётся по следующему пути: /usr/share/backgrounds/Понедельник/12.jpg
Теперь по понедельникам на экране отображаются фотографии всяких географических объектов, по вторникам - коты и кошки, по средам - собаки, четверг - рыбный день, пятница - всякие алкогольные напитки и т.д...
Написал, проверил - всё работает. Стало снова скучно.  ???

   Решил по памятным событиям отображать не ежедневные обои, а что-то особенное. Создал каталог Holydays, в котором храню файлы, имена которых соответствуют формату МесяцДень, а содержимое - отображается на экране через conky. Таким образом файл 0412 содержит в себе текст "Сегодня день космонавтики" и эта надпись отображается на экране каждый год 12 Апреля. Картинки в этот день - тематические. Космос, Гагарин и всё такое...
Точно так-же и в дни рождения, Новый год, разные юбилеи и т.д.
Написал, проверил - всё работает. Ну, вы поняли...
Теперь захотелось чтобы по определённым событиям на экране выводилась всякая информация, а обоина менялась на какую нибудь особенную.

   Создал каталог .notes, куда так-же, как и в случае с Holydays кладу файлы такого-же типа. Если, например, 24 Ноября запланирован поход к врачу - мне об этом сообщат особым изображением и текстом. И в этот раз обои меняться не будут, пока существует такой файл в таком каталоге. Прочёл напоминание, нажал на особую кнопку, файл удалился и всё стало как было.
Точно так-же и когда поступило новое сообщение на почту, пришло время выгулять собаку, попить кофе и пр.
За смену обоев отвечает скрипт changebackground.sh
(Нажмите, чтобы показать/скрыть)
Отдельно следует отметить вот эту часть кода: /backdrop/screen0/monitor0/workspace0/last-image
Это - команда на смену обоев. Она может не работать на разных компьютерах. Чтобы понять какая команда меняет изображение в вашем случае - нужно открыть терминал, выполнить
Код: (bash) [Выделить]
xfconf-query -c xfce4-desktop -mзатем - через графический интерфейс изменить обои и посмотреть "выхлоп" в терминале. У меня он как раз таки равен /backdrop/screen0/monitor0/workspace0/last-image

Другой скрипт работает в фоне и в случае наступления события меняет контекст. Я назвал его errormessage.sh
Вот его содержимое:
(Нажмите, чтобы показать/скрыть)
Обратите внимание что в переменной mail нужно указать логин и пароль, чтобы отображалось количество новых писем.

Так-же в формировании окна conky участвует скрипт /usr/bin/today.sh
Он не большой и не сложный, если сравнивать с другими.
Вот его содержимое:
(Нажмите, чтобы показать/скрыть)

Ну и содержимое файла .conkyrc, пожалуй, здесь тоже оставлю. На случай если кому-то надо будет.
(Нажмите, чтобы показать/скрыть)

Это всё, что касается напоминалки со стороны сервера. На клиентских машинах есть ещё скрипты для удобной записи событий в файлы. Если кому нибудь надо будет - могу и про них рассказать.

Важно отметить что эта статья - скорее не готовое решение, а идея, которая, может быть, подтолкнёт кого-то создать что-то подобное или даже улучшенное.

Демонстрация отображения новой почты:
https://youtu.be/9wINtvtoia8

 

Страница сгенерирована за 0.035 секунд. Запросов: 26.