Windows vs linux programozás és a tray icon. Mi a szakszerű módja?
Van egy QT alá írt programom, ami QSystemTrayIcon segítségével értesítési ikont csinál rögtön a program indulásakor, majd futás közben különféle dolgokra használja azt. (Egy IMAP SSL alapú email figyelő programról van szó.)
Windows alatt minden tökély, még akkor is, ha automatikusan indul a program bejelentkezéskor, hiszen az explorer.exe mindenképpen őelőtte fog betöltődni, és tudja kezelni az ikont.
Linux alatt azonban nemrégiben vettem észre, hogy ha bejelentkezéskor automatikusan indítom, akkor az ikon nem jelenik meg. A program fut, és amúgy működik, csak az ikon hiányzik.
Egyelőre csak teóriám van. (Debuggolást nem végeztem még, majd csak célzottan, ha kell.) Talán a program előbb indul, mint az lxpanel (LXDE alatt vagyok), és az ikon létrehozása sikertelen. Eddig nem írtam bele semmit, ami ezt kezelné, mert a fő platform a windows, és ott ugye csak komolyabb gigszer esetén lehetséges, hogy nem lesz ikonunk.
1. Lehetséges-e, hogy az a hiba, amire gondolok?
2. Hogy kell szakszerűen (de nem túlbonyolítva) megoldani?
Amatőr programozó vagyok, nem informatikus, így a sztenderdeket nem ismerem. Hibakódot kéne figyelni (ha van), és az alapján meg lehet állapítani, miért nem jött létre az ikon, és adott hibánál újra és újra próbálkozni? Vagy próbálgatni újra, ha sikertelen, amíg össze nem jön vagy adott számú próbálkozás le nem fut? Esetleg várni kicsit a program indulása és az ikon létrehozása között?
A helyzetet bonyolítja, hogy maga a QSystemTrayIcon objektum konstruktorral jön létre, azaz nincs visszatérési érték. A show() függvény, amivel kiteszem az ikont, void függvény, nincs visszatérési értéke. Egyesek szerint le kéne kéregetni az ikon méretét, és 0x0 esetén van gáz. De ebből nem derül ki, hogy mi volt a hiba konkrét oka...
Szakik, mit tennétek?
A jelen környezet egy Ubuntu 14.04 (x86) és QT4-et használok, mert a QTrayIcon nem működik QT5 alatt. (Ismert bugok miatt, a hiba nem az én készülékemben van.) A program QTCreator alatt íródott.
Te lehetsz az első, aki segít a kérdezőnek!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!