Spraw, by sniqt rozpoznał wszystkie zdolności zasobnika (lub utwórz działający wskaźnik w Qt)

9

Jest mój stary wątek: jak utworzyć działający wskaźnik za pomocą Qt / C ++? gdzie zasugerowano mi użycie biblioteki QSystemTray do utworzenia ikony tacy w Ubuntu dla mojej aplikacji.

Sniqt to program, który dba o resztę. Jak wiadomo, Ubuntu pozbyło się ikon w zasobniku. Zamiast tego używa teraz wskaźników i tylko wskaźników. Sniqt przekształca ikony zasobnika Qt w działające wskaźniki.

Problem polega na tym, że nie wykonuje bardzo przyzwoitej konwersji. Działania takie jak pojedyncze kliknięcie, środkowe kliknięcie itp. Nie działają, podczas gdy działają w systemach obsługujących ikony na pasku zadań.

Czy istnieje sposób na odzyskanie tych działań? Czy mogę używać ikony QSystemTray i nadal mieć te interesujące (i bardzo pomocne, przy okazji) akcje w Ubuntu?

Z przyjemnością znałbym odpowiedź na inny wątek, o którym mówiłem wcześniej (jak zrobić działający wskaźnik za pomocą bibliotek GTK i zapobiec awarii).

Link do błędu Sniqt: https://bugs.launchpad.net/sni-qt/+bug/1027652

hytromo
źródło
Czy to nie jest normalne zachowanie dla wszystkich wskaźników? Akceptują tylko zdarzenia kliknięcia lewym przyciskiem i przewijania.
Timo,
Nie! Jeśli np. Klikniesz środkową ikonę dźwięku, wyciszy / przywróci dźwięk. W mojej aplikacji chcę to zakończyć.
hytromo
@mateo_salta, proszę porównać z askubuntu.com/questions/158323/...
hytromo

Odpowiedzi:

0

Wydaje się, że Qt nie obsługuje tej rzeczy, przynajmniej w Ubuntu Unity, nawet jeśli ma „aktywowany” sygnał. Polecam więc korzystanie z GTK i zwykłego trayicon, nie widzę alternatywy dla Qt. Możesz skontaktować się z twórcami Qt w celu wyjaśnienia tego.

Ceppo93
źródło
1
Przykro nam, ale Qt rzeczywiście ma tę funkcję w ikonach zasobnika. Działanie mojej tacy działa bezbłędnie w innych systemach. Jest to problem Ubuntu i jego upór ze wskaźnikami. Sniqt może rozwiązać problem
hytromo
2
Mogę potwierdzić, że to nie wina Qt. Wątpię też, w jaki problem leży sniqt. Nie wiem, czy wskaźniki aplikacji potrafią nawet rozróżniać kliknięcia lewym i prawym. To również było dla mnie stałym źródłem frustracji.
Nathan Osman
1

Jedność z wyboru nie obsługuje tego, co nazywacie „przyzwoitymi ikonami zasobnika”. To wskaźniki lub nic. Stamtąd masz kilka opcji:

  • Zadbaj o ograniczone możliwości wskaźnika. Możesz ustawić menu, które będzie używane przez wskaźnik za pomocą standardowej metody QSystemTray.setContextMenu ().

  • Odłącz całkowicie aplikację od paska zadań. Z kolei zamień go w pływającą ikonę na pulpicie, która będzie mogła akceptować kliknięcia środkowym i prawym przyciskiem myszy, zgodnie z zamierzeniami Boga i Matthiasa Ettricha. Prosty przykład tego można znaleźć tutaj: http://kde-apps.org/content/show.php/KEyes?content=51493 (Opcjonalnie, zrób to tylko wtedy, gdy wykryjesz, że działasz pod Unity, tzn. jeśli $ DESKTOP_SESSION jest ustawiony na „ubuntu”).

  • Zadeklaruj Unity nieobsługiwane. To nie jest bardzo dobra opcja.

To, czy będziesz chciał skorzystać z opcji 1 czy 2, zależy głównie od tego, co robi twoja aplikacja.

Balinares
źródło