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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Плагин/индикатор для индикации статуса синхронизации с Yandex-disk  (Прочитано 143980 раз)

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

Оффлайн chrome_cat

  • Активист
  • *
  • Сообщений: 919
    • Просмотр профиля
Виндовый клиент вполне норм выглядит, вот брать и копировать внешний вид иконки 1 в 1. Имхо, так будет правильнее всего.

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

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11789
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
Иконки-светофор - это для затравки. Ведь пока были словами описано - никто ничего не предлагал (хотя я и просил ;) ) А вот повесил картинки (за 5 минут на коленке набросанные) и уже вон какой выхлоп продуктивный.  8)

Виндовые копировать - можно конечно ... лишь бы YDы не начали возбухать - у них вообще не нашел под какой лицензией все писано :idiot2: Но явно не оперсорс...

Да и я думаю мы можем оригиналнее что-то нарисовать. Лично я дизайнерскому вкусу xf∞ - доверяю  ;)


По поводу писания своего клиента (через API) мне кажется это гораздо объемнее работа чем просто парсер выхлопа yandex-disk status написать.

« Последнее редактирование: 09 Апрель 2014, 10:22:22 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6740
  • Ubuntu 16.04
    • Просмотр профиля
Я тоже голосую за простой парсинг выхлопа готовой программы.
Но вот попробовал загуглить как создать простую программку и залезть в трей. В итоге пришел к Ubuntu SDK, но как залезть в трей так и не нашел. Нашел руководство для Qt Creator, но есть некоторые отличия Qt Creator от Ubuntu-SDK, хотя последнее на основе первого создано и Центр приложений при запросе Qt Creator отдает Ubuntu-SDK.
В общем с наскоку не вышло, хотя казалось бы такая простая вещь, распарсить выхлоп yd и показать его, но вот опыта в написании системных программ для линуксов нет, кроме всяких Creator'ов для Ubuntu.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11789
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
thunderamur, может глянуть исходники grive-tools (в первом сообщении есть ссылка). Там сделан индикатор (который показывается в плагине индикаторов панели), Плагин под платформы - разный, а вот индикаторы - на DE не завязаны, по крайней мере как я понял). Да проще как-то должен быть индикатор по идее.

Собственно никто ИМХО не запретит нам взять код grive-tools за основу, на то оно и Opensorce.

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

Кстати как лаба или даже курсовая работа - ИМХО - вполне себе задание... ;)
« Последнее редактирование: 09 Апрель 2014, 13:14:46 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4073
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
peregrine,
(Нажмите, чтобы показать/скрыть)
Да кстати у тебя нет исходников-черновиков?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7070
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
alsoijw, у меня есть это, исходники программки, которая у меня в трее сидеть училась я где-то на DVD болванке забэкапил (да и не очень правильно я там подход сделал), но болванок у меня около 100 штук, искать нужную слишком долго. В трей довольно просто залезть, если не в Юнити. В Юнити свои заморочки. За то, что они с треем сделали по рукам бить надо. Если Gtkmm и С++, то есть замечательная программа Gnote. Она в трее сидеть умеет, да и исходники у неё без лишних наворотов. Там правильно механизм создания окон реализован.
Ещё, надо всё таки костяк функционала заранее продумать и реализовывать исходя из этого, а то потом неправильная структура у кода будет (классы надо прописать и иерархию наследования, а потом только методы добавлять в большинстве случаев добавления нового функционала).
« Последнее редактирование: 09 Апрель 2014, 17:38:16 от peregrine »

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11789
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
peregrine, а исходники Grive-tools не проще взять за основу - там и задача решается подобная (grive - CLI утилита, grive-tools - обертка для нее), и по сути все реализовано по очень похожему ТЗ.

Я по крайней мере, если бы брался писать, то именно по этому пути бы пошел.
« Последнее редактирование: 09 Апрель 2014, 17:58:38 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7070
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Sly_tom_cat, я Qt не очень люблю.

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11789
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
Там индикатор на питоне
(Нажмите, чтобы показать/скрыть)
А setup - вообще bash с zenity
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 09 Апрель 2014, 18:13:14 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5605
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Могу за bash взяться, только ТЗ надо сформулировать… И я так понимаю что это уже ближе к концу работы надо делать?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11789
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
Azure, башевая настройка будет простейшей  (она совершенно не завязана на индикатор, делать можно независимо) :

Делаем через zenity окна в которых вводим все вопросы, которые задает yandex-disk setup и ответы отдаем ему же (можно просто в цикле).
А можно не париться и просто терминал открыть, а в нем запустить yandex-disk setup. :)

В принцепе настройка в CLI - меня лично - ну никак не напрягает... там все очень просто и понятно ИМХО.


Я чутка детализировал ТЗ в первом сообщении
« Последнее редактирование: 09 Апрель 2014, 19:50:03 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
почитал тему с самого начала и повнимательнее и понял, что сначала ничего не понял. :2funny: но увидел цветные иконки и решил, что они показывают, сколько на я.диске свободного места показывают. поэтому я и решил, что надо покрасивее сделать.

я сделал скрипт, который выводит уведомления через notify-send. выглядит это так:

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

для ТЗ можно иконки немного переделать. но анимация в notify вряд ли получится. там только смена самих уведомлений, но от миганий могут начать болеть глаза.
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11789
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
xf∞, красивые иконки :smitten: для нотификаторов. Но вот в индикаторе они будут очень мелкими... :(

Различные конки в первую очередь нужны для обозначения статусов:
-Синхронизировано
-Синхронизируется (тут можно и анимацию какуюто завернуть для иконки индикатора в панель)
-Ошибка

Место (занятое и всего) предполагалось узнавать наведением курсора на индикатор или по клику мышкой по индикатору.


По поводу путей к иконкам
Цитировать
notify-send uses icon from the /usr/share/icons/gnome/32x32 (& also /usr/share/notify-osd/icons/...)
Хотя можно взять текущий путь (отуда запущен скрипт) и добавлять его к пути к иконке или положить их в нужное место.


Глянул на код grive-tools индикатора и набросал 4 служебных функции на питоне....

1. функция получения текущего статуса из выхлопа yandex-disk status (делал для эксперимента - на самом деле проще конечно брать из файла Yandex.disk/.sync/status готовый статус, но там может быть вранье и кроме того - там на разных языках он).
2. функция получения текущего пути к каталогу YD (при запущеном демоне)
3. запуск демона (TODO: обратывать ошибку "сервис не настроен и валиваться из программы с сообщением о необходимости запустить yandex-disk setup")
4. останов демона

Отладочный код проверяет запущен ли демон, если не запущен - запускает и получетет текущий статус и путь к каталогу yandex.disk-а
« Последнее редактирование: 14 Ноябрь 2015, 22:59:44 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
Sly_tom_cat, спасибо. я уже понял, что иконки не для того сделаны. попробую ещё чего-нибудь нарисовать.

а вот насчёт путей я имел ввиду, что я скидываю кому-нибудь скрипт, а у них он не будет работать, если в нужные папки не скинуть. не комильфо.
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн Sly_tom_cat

  • Автор темы
  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11789
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
xf∞, можно путь к текущему каталогу подставить в скрипте:

Код: Bash
  1. notify-send "Это скрипт для демонстрации концепта по уведомлениям о свободном месте."
  2. MY_PATH=`pwd`
  3. #echo $MY_PATH
  4.  
  5. sleep 1s
  6. notify-send "B-)" "У вас очень много свободного места" --icon=$MY_PATH/yadisk_status_green.png
  7. sleep 1s
  8. notify-send ":-)" "У вас достаточно свободного места" --icon=$MY_PATH/yadisk_status_yellow.png
  9. sleep 1s
  10. notify-send ":-(" "У вас очень мало свободного места" --icon=$MY_PATH/yadisk_status_red.png
  11. sleep 1s
  12. notify-send "Конец. :)"

По поводу иконок, я бы в нотификации выводил всегда тарелку в серых тонах.
А вот в трей мысли вот какие....

Синхронизировано: Иконка сама серенькая а по борту зеленая полоска (полностью зеленая - как-то много цвета  :-\ )
Синхронизация (анимация): Иконка сама серенькая а на борту мигает желтая полоса или перемигивается желтое и синее например
Ошибка - та же серая но с красной каемкой.
« Последнее редактирование: 10 Апрель 2014, 10:30:13 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

 

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