Closed MikePooh closed 5 years ago
Thaks for report.
It seems not a big issue:
I'll fix it soon.
... or You can do it yourself - any push requests are appreciated!
=) you meant pull requests. I will do this!
This warnings were detected when workaround about absence of indicator icon in system tray. It shows the standard system icon in the tray and doesn't changes after calling: self.ind.set_icon(self.icon[status]) in updateIcon(self, status) function. I was trying to change self.ind.set_icon(self.icon[status]) to self.ind.set_icon_full(self.icon[status], "") but no success. May be missing some packages, but no other warnings...
Have you fixed the issue with absence of indicator icon in system tray? What was a problem?
Проблему решить не удалось. Вместо летающей тарелки показывается шестеренка. Индикатор не меняется в зависимости от состояния. Всегда показывается шестерёнка. После установки почему-то не было файлов иконок в папке .config/yd-tools.. Но даже после ручного их туда добавления проблема не решилась. Немного подебажил, все пути правильные. Функция self.ind.set_icon(self.icon[status]) не меняет индикатор. Хотя она вызывается и ей передается правильный путь к существующим файлам. Может пакетов каких-то не хватает и поэтому AppIndicator3 не правильно интерпретируется системой?
Problem is not solved. There is a gear instead of UFO. Indicator is not changing depends on condition. Gear is always shown. There was no icons in .config/yd-tools.. folder after installation. But problem doesn't solve even after manual copy. Debug revealed that all paths are correct. self.ind.set_icon(self.icon[status]) function doesn't change the indicator however it passed the correct paths to existed files. Maybe I am missing some packages and that's caused AppIndicator3 wrongly interpreted by the system?
В папке ~/.config/yd-tools/icons/ после установки иконок и не должно быть. Стандартные ставятся в /usr/share/yd-tools/icons/, а в ~/.config/yd-tools/icons/ можно сохранить свои, кастомизированные.
По идее почти все картинки в GTK (по крайней мере иконки) рисуются через PixBuffer, и уже он должен отрисовывать или ругаться если ему не найти чем отрисовывать. Но в деталях что там может не хватать я не копался. В моих экспериментах шестренки выскакивали только при несуществующих путях отданных в set_icon или неподдерживаемых форматов изображений (я пробовал анимированный GIF туда подсунуть).
Штатные либы для прорисовки через PixBuff лежат всей кучей (практически для всех видов изображений) в пакете libgdk-pixbuf, который должен быть прописан (каскадно) в зависимостях GTK.
Это закрою. Все Deprecated методы убрал.
/usr/bin/yandex-disk-indicator:717: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations self.last = Gtk.MenuItem(_('Last synchronized items'))
Same repeats in rows: 723: self.daemon_ss = Gtk.MenuItem('')
726: self.openfolder = Gtk.MenuItem(('Open Yandex.Disk Folder')) 729: openweb = Gtk.MenuItem(('Open Yandex.Disk on the web')) 733: self.preferences = Gtk.MenuItem(_('Preferences')) 736: openhelp = Gtk.MenuItem(('Help')) 738: help1 = Gtk.MenuItem(('Yandex.Disk daemon')) 741: help2 = Gtk.MenuItem(('Yandex.Disk Indicator')) 747: self.about = Gtk.MenuItem(('About')); self.about.connect("activate", self.openAbout) 750: close = Gtk.MenuItem(('Quit'))
/usr/bin/yandex-disk-indicator:694: DeprecationWarning: AppIndicator3.Indicator.set_icon is deprecated self.ind.set_icon(self.icon[status])
ArchLinux 5.0.1-arch1-1-ARCH, LXQt. App version 1.10.6, Python 3.7.2. Arch is rolling release distro that means that PyGObject and AppIndiactor are latest versions.