Programm schreiben mit systray support (Gtk 2.8)

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
-mauli-
Beiträge: 82
Registriert: 12.04.2006 12:54:32

Programm schreiben mit systray support (Gtk 2.8)

Beitrag von -mauli- » 15.11.2007 10:03:04

Hallo Forum!
Benutze hier an der Arbeit Etch (Gtk 2.8 ) und wuerde gerne ein Programm haben, das mir staendig eine Zahl im Systray anzeigt. Nehmen wir als Beispiel mal die Zeit:

Code: Alles auswählen

date|cut -d ' ' -f 4
gibt mir die Zeit und die moechte ich staendig im Systray haben (aktualisiert z.B. jede Sekunde). Hat da jemand 'ne Idee oder 'nen Link zu 'nem Tutorial?
Das waere grossartig!
Gtk 2.10 unterstuetzt das wohl ganz einfach, so wie ich gelesen hab. Aber das muss doch auch so gehn, mit Gtk 2.8... Achso, benutze XFCE...
Danke im Voraus...
-mauli-

Benutzeravatar
deadeye
Beiträge: 561
Registriert: 14.04.2004 15:32:18
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ukio, rechts hinterm Feld
Kontaktdaten:

Beitrag von deadeye » 15.11.2007 11:06:47

Hi,

also wenn Du wirklich nur die zeit anzeigen willst, mache das bitte nicht mit

Code: Alles auswählen

date | cut ...
. Es gibt C-Funktionen dafür, die um Größenordnungen schneller sind und das System massiv schonen im Vergleich zu einem sekündlich aufgerufenem date mit anschließendem cut. Stichwort: time(), localtime() und strftime().

Wegen dem Systray-Support:
es gibt eine eggtrayicon.c/h. Ich weiß nicht genau, wo die beiden Files her sind, aber z.B. pidgin(aka gaim) macht es auch über diese beiden Dateien. Und etliche andere Anwendungen auch. Google mal danach oder nimm Dir die Files direkt aus den Pidgin-Sourcen und pass sie für Dich an. Vielleicht gibt's einen eleganteren Weg, aber das wäre ein Anfang.

Gruß
deadeye

-mauli-
Beiträge: 82
Registriert: 12.04.2006 12:54:32

Beitrag von -mauli- » 15.11.2007 11:16:41

Danke fuer die Antwort! Klar wuerde ich das mit dem Datum nicht machen ;-) Aber es geht um die aktuelle Experimentnummer hier im Institut. Die aendert sich ca. 40 mal taeglich und es waere nett, im Buero staendig zu sehen, wo wir gerade sind...
Ich guck mir die Dateien mal an. Super. Danke nochmal...

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 15.11.2007 12:03:24

hi,

muss das unbedingt in den Systray? Du hast doch bestimmt
ein Panel? Dafür gibt's ein Plugin xfce4-genmon-plugin.

Es hat allerdings eine Begrenzung des Abfrageintervalls auf
min. 30 Sekunden, auch wenn man in den Properties 1 Sekunde
einstellen kann.
Beware of programmers who carry screwdrivers.

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 15.11.2007 12:18:02

Hallo,

das Systray ist normal für "kurze" Nachrichten gedacht. Wenn du etwas dauerhaft anzeigen willst ist ein Panel-Applet die richtige Wahl.

Wie man ein Panel-Applet für GNOME schreibt findest du hier: http://library.gnome.org/devel/panel-applet/stable/

Auf xfce.org konnte ich gerade keine Dokumentation finden. Du kannst dir aber mal ein einfaches XFCE-Applet ansehen (mail notification, cpufreq oder ähnliches), schwer kann das nicht sein.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Benutzeravatar
deadeye
Beiträge: 561
Registriert: 14.04.2004 15:32:18
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ukio, rechts hinterm Feld
Kontaktdaten:

Beitrag von deadeye » 15.11.2007 12:23:19

BeS hat geschrieben:Du kannst dir aber mal ein einfaches XFCE-Applet ansehen (mail notification, cpufreq oder ähnliches), schwer kann das nicht sein.
Ist es nicht. Ich hab vor einiger Zeit das xfce4-dict-plugin geschrieben. Eigentlich recht trivial, es gibt eine überschaubare API, die überwiegend aus Signalen besteht, an die man sich hängt und dann muss man nur noch den effektiven Code schreiben.

Aber ich würde dennoch für den Systray stimmen, weil dann kann man das Programm auch unabhängig von Xfce auf anderen DE's verwenden.

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 15.11.2007 12:33:32

deadeye hat geschrieben: Ist es nicht. Ich hab vor einiger Zeit das xfce4-dict-plugin geschrieben. Eigentlich recht trivial, es gibt eine überschaubare API, die überwiegend aus Signalen besteht, an die man sich hängt und dann muss man nur noch den effektiven Code schreiben.
Also ich habe vor einiger Zeit mal ein kleines GNOME-Applet für mich geschrieben, dass war ziemlich einfach. Im Prinzip wie ein normales kleines Gtk+ Programm, natürlich mit etwas Code drum herum, den man aber quasi per Copy&Paste aus der Anleitung nehmen kann, da es immer das gleiche ist.
Aber ich würde dennoch für den Systray stimmen, weil dann kann man das Programm auch unabhängig von Xfce auf anderen DE's verwenden.
Da gebe ich dir prinzipiell Recht. Trotzdem bin ich ein Freund von klaren Designs und solche permanenten Dinge gehören einfach nicht ins Systray.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Antworten