Seite 1 von 1

system tray

Verfasst: Donnerstag 18. November 2010, 15:33
von Mueck
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?

Re: system tray

Verfasst: Donnerstag 18. November 2010, 15:45
von Xynon1
Doch gibt es, nennt sich tktray, ist aber nicht Standardmäßig dabei, muss also nachträglich installiert werden.

Re: system tray

Verfasst: Donnerstag 18. November 2010, 15:56
von Mueck
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 ...

Re: system tray

Verfasst: Donnerstag 18. November 2010, 16:00
von Mueck
*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?!

Re: system tray

Verfasst: Donnerstag 18. November 2010, 16:53
von lunar
@Mueck: Lies doch die Projektbeschreibung. Dort steht explizit, dass tktray nur für X11-Systeme implementiert ist.

Re: system tray

Verfasst: Donnerstag 18. November 2010, 17:16
von Xynon1
sry, stimmt geht nur für Linux.

Re: system tray

Verfasst: Samstag 20. November 2010, 22:10
von Mueck
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?

Re: system tray

Verfasst: Sonntag 21. November 2010, 02:11
von Leonidas
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.

Re: system tray

Verfasst: Sonntag 21. November 2010, 08:52
von Xynon1
Soweit ich weiß ist gjam doch aber, wie der Name schon darauf hindeutet, ein gtk Produkt und kein tk.

Re: system tray

Verfasst: Sonntag 21. November 2010, 11:22
von 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.

Re: system tray

Verfasst: Sonntag 21. November 2010, 13:34
von Leonidas
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.

Re: system tray

Verfasst: Sonntag 21. November 2010, 14:31
von 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.

Re: system tray

Verfasst: Sonntag 21. November 2010, 14:56
von Leonidas
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.