system tray

Fragen zu Tkinter.
Antworten
Mueck
User
Beiträge: 20
Registriert: Dienstag 16. November 2010, 02:20

Moin

Mir steht demnächst bevor, eine kleine Anwendung in python schreiben zu dürfen ...
Vermutlich kein großes Hexenwerk, soll nur paar Kleinigkeiten abfragen, anzeigen und ggfs. ändern.
Soll bissele Kommunikation haben, bissele GUI (deswegen lande ich in diesem Unterforum ;-) )
Ich selbst hätte das in Tcl/Tk versucht, da kenne ich mich aus, aber python (mit Tk) ist präferiert, also habe ich schon mal alle Tutorials im Netz eingesammelt :wink:

Aber bevor ich loslege eine kleine Frage vorweg, die wohl besser vorher geklärt wäre:
Der aktuelle Status der Anwendung soll im system tray dauerhaft angezeigt werden.
Kurzfristig soll das ganze unter Windows, langfristig aber auch unter Linux laufen, also habe ich Google angeschmissen, eine Lösung für beides zu suchen, aber bisher bei python ohne Erfolg.
Selbst das ansonsten überall funktionierende Tcl/Tk scheint da nix zu haben. Ein Open Source Programm fand sich dann auch, wo systemabhängig verschiedene Funktionen genutzt werden, aber sauber gekapselt.
Würde ich das ganze in Tcl/Tk machen, würde ich das einfach genauer angucken und umschreiben...

Sehe ich das richtig, dass es da noch keine fertige Lösung für beide Systeme gibt? Sprich auch bei python doppelgleisig fahren und kapseln nötig? Wenn ja: gibt's da ein Open Source Bsp., das schon Windows und Linux bedient und an das man sich anlehnen kann?
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Doch gibt es, nennt sich tktray, ist aber nicht Standardmäßig dabei, muss also nachträglich installiert werden.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Mueck
User
Beiträge: 20
Registriert: Dienstag 16. November 2010, 02:20

Xynon1 hat geschrieben:Doch gibt es, nennt sich tktray, ist aber nicht Standardmäßig dabei, muss also nachträglich installiert werden.
Und das bedient sowohl Windows, wie auch Linux?
Dann muss ich mich verguckt haben, weil da bin ich vor paar Wochen beim ersten Anlauf auch drüber gestolpert, aber ich meinte gelesen zu haben, dass das nur für die eine Welt (Linux?) hilft ...
Mueck
User
Beiträge: 20
Registriert: Dienstag 16. November 2010, 02:20

*nachguck* ... und dann wundere ich mich ja, warum die eine Tcl/Tk-Anwendung, die ich fand, für Linux zwar genau dieses tktray verwendet, für Windows aber Winico, wenn tktray eigentlich beides könnte?!
lunar

@Mueck: Lies doch die Projektbeschreibung. Dort steht explizit, dass tktray nur für X11-Systeme implementiert ist.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

sry, stimmt geht nur für Linux.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Mueck
User
Beiträge: 20
Registriert: Dienstag 16. November 2010, 02:20

lunar hat geschrieben:@Mueck: Lies doch die Projektbeschreibung. Dort steht explizit, dass tktray nur für X11-Systeme implementiert ist.
Das sagst Du dem Falschen! Der richtige hat's aber nun auch eingesehen ;-)
Nachdem das nun geklärt ist ...
Eine andere Alternative für beides gibt's nicht?
Gibt's eine OS-Anwendung in python, die beide system trays bedient und an deren code man sich anlehnen kann?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mueck hat geschrieben:Gibt's eine OS-Anwendung in python, die beide system trays bedient und an deren code man sich anlehnen kann?
Ich denke Gajim integriert sich auch in den Windows-Tray, aber das ist jetzt nur ein "educated guess", genau geschaut hab ich nicht, da ich kein Windows nutze.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Soweit ich weiß ist gjam doch aber, wie der Name schon darauf hindeutet, ein gtk Produkt und kein tk.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
lunar

@Mueck: Im Bezug auf Tkinter gibt es ganz offensichtlich keine plattformunabhängig Alternative. Eine Tk-Anwendung, die dennoch beide Systeme bedient, wenn auch mit unterschiedlichen Bibliotheken, hast Du ja offenbar selbst bereits gefunden.

Ansonsten musst Du auf ein anderes GUI-Toolkit zurückgreifen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Xynon1 hat geschrieben:Soweit ich weiß ist gjam doch aber, wie der Name schon darauf hindeutet, ein gtk Produkt und kein tk.
Es wurde ja nicht spezifisch nach einem Tk-Ding gefragt. Aber ich denke dass auch Gajim einfach seine eigene Abstraktionsebene für Trayicons auf verschiedenen Platformen gebaselt hat.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

@Leonidas: Die gesamte Diskussion findet im Tkinter-Forum statt und drehte sich von Anfang an um ein Systembereichssymbol für Tkinter. Verzeih mir, aber gajim passt jetzt einfach nicht richtig zur Frage und zum Problem ... davon abgesehen enthält Gtk eine fertige Klasse für solche Symbole, gajim wird GtkStatusIcon bestimmt nicht neu erfinden.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lunar hat geschrieben:@Leonidas: Die gesamte Diskussion findet im Tkinter-Forum statt und drehte sich von Anfang an um ein Systembereichssymbol für Tkinter. Verzeih mir, aber gajim passt jetzt einfach nicht richtig zur Frage und zum Problem ...
Also andere Toolkits aufbringen passiert auch in anderen Toolkit-Foren ganz oft, und es wurde nach einer App gefragt. Es gibt halt einfach kaum noch Tkinter-Apps und da dachte ich mir dass es durchaus gültig ist eine Alternative aufzuzeigen.
lunar hat geschrieben:davon abgesehen enthält Gtk eine fertige Klasse für solche Symbole, gajim wird GtkStatusIcon bestimmt nicht neu erfinden.
Also unter Linux hat Gajim auf jeden Fall zwei Backends für Trayicons. Eines davon setzt gnome-python vorraus, und das andere ist eine Eigenentwicklung, die vielleicht GtkStatusIcon nutzt, aber da würde ich nicht drauf wetten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten