Подменю в systray допиливал я сам, но там все под копирку с того, что сделано для оригинального меню. Практически все те же вызовы GTK за исключением одного единственного, который добавляет подменю.
Причем все это работает у меня на XFCE как
швейцарские часы автомат Калашникова (потому как очень быстро строчит, а не медленно и печально тикает).
Сделано там (в С-ишной части) все очень аккуратно, все действия по обновлению интерфейса делаются основным потоком (это требование GTK - там строго одно-поточная обработка всего GUI), тот поток, что запрашивает действие, просто вешает в очередь событий эвет (с call-back вызовом), который активируется при переходе основного потока в idle. И уже коллбек (исполняясь в явно свободном основном потоке) делает все изменения.
По такой схеме там сделано все, и допиленное подменю сделано точно также.
Т.е. все вызовы (кроме одного) и методы их обработки одинаковы, но почему-то основное меню работает, а под-меню - нет... причем судя по скриншоту там подменю либо пустое либо вовсе не добавлено. Но код по основному меню отработал и сделал пункт основного меню активным (он активируется после добавления всех элементов в подменю.
Я уже подумываю попробовать QT... но упорный гуглеж в течении нескольких часов, дал печальную картину:
- большинство go-проектов используют тот самый systray, который я допиливал... т.е. GTK
- пара альтернативных решений - не доступна под linux (практически все заброшено 2-3 года тому назад)
- две библиотеки обеспечивающие интерфейс от go к QT не протаскивают нужный QSystemTrayIcon.
- примеры на плюсах с использованием QSystemTrayIcon - не слишком сложные, уж не сложнее gtk-шного решения.
Т.о. путь пока видится один - пилить интерфейс к QSystemTrayIcon самому либо отдельно, либо в форке одной из библиотек, второе может быть заметно проще т.к. прокидывать там нужно будет только один-два вызов (я надеюсь).... но и вписать код в чужой проект - сложнее (надо разобраться как там все сделано). Да и с с/с++ у меня очень поверхностное знакомство. Я на сях чуть-чуть писал ... лет 20 тому назад... Тут вот systray допиливал - очень изрядно мозгами скрипел
что-бы вспомнить/разобраться как там что и что для чего в том С...
Пользователь добавил сообщение 13 Января 2018, 12:01:42:
УРА!!! Заработал наконец Launchpad. yande-disk-indicator версии 1.9.15 (с правками от периодического краша на старте) доступен для Trusty, Xenial, Zesty, Artful и Bionic. Обновляйтесь на здоровье.