Вот какие мысли стали меня посещать....
Пакет YDtools (Python/обновления через Launchpad) довольно широко используется (на сколько я понимаю), но он завязан на GTK и с версией для QT уже много лет все никак не получается...
yd-go (Golang/обновление вручную с github) после последнего этапа переделок стал полностью независим от DE и это дает ему явные преимущества перед YDtools.
Собственно расклад получается такой:
пакет | распространение | язык | зависимости | объем кода/производительность | поддерживаемые DE |
YDtools | apt+launcpad автоматически | Python | GTK,Appindicator,... | довольно большой, большей частью это сам Python медленно (интерпретация) | GTK-based only |
yd-go | вручную | Golang | D-Bus | мизерный(компиляция) очень высокая | ЛЮБЫЕ |
Если посмотреть с точки зрения функционала то yd-go не дотягивает до YDtools по следующим пунктам:
1. нет поддержки части языков (только русский и английский)
2. нет интерактивных настроек индикатора (только руками в файле)
3. нет расширений для ФМ
4. нет утилиты/обертки для настроек yandex-disk в GUI
5. нет GUI-настроек для yandex-disk
Причем я вот очень критично смотрю на последний пункт: не очень я согласен с идеей делать довольно сложные настройки для сторонней утилиты. А ведь yandex-disk это именно такая утилита с точки зрения индикатора.
Предпоследний пункт легко выносится в скрипт который будет проверять настройки и запускать либо сразу индикаотр либо диалог настройки yandex-disk.
П.3 лучше тоже не затаскивать в GUI - это в принципе делается 1,5 раза
при первичной настройке. Поэтому можно вообще настройку делать отдельным скриптом или все тем же скриптом которым вызывается настройка yandex-disk.
По сему вырисовывается вот какой план:
1. добавляем поддерживаемые языки
2. добавляем настройки индикатора в подменю: смена темы иконок, включение/отключение уведомлений, запуск демона при старте индикатора и остановка демона при выходе из индикатора.
3. Перетаскиваем из кода ydtools настройки файловых расширений в отдельный скрипт
4. Приписываем скрипт запуска который: проверяет установку и настройку yandex-disk и либо сообщает что нужно установить yandex-disk, либо предлагает настроить его, либо запускает индикатор.
5. Делаем обновление через launchpad
И вот по последнему пункту есть мысли заменить старый пакет YDtools содержимым доработанного yd-go.
Это потребует некоторых усилий т.к. кроме моей публикации на launchpad есть еще пара сборок в RPM, но там вроде бы вполне адекватные майнтейнеры, с которыми ранее вопросы обновления вполне успешно решались.
___________________
Проджект вырисовывается довольно объемный, и меня терзают смутные сомнения что никто мне в этом помогать не станет, а сам я это сделать быстро не смогу. Но дорогу осилит идущий.