panel applet anpassen

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
zhocchao
User
Beiträge: 3
Registriert: Freitag 14. November 2008, 10:03

Hallo

Obwohl der Wille da ist, sind meine Fortschritte mit Python eher dürftig. Ich hab nun ein Panel Applet Beispiel und würde gerne wissen, ob man das Ergebnis dieser Zeile:
cat /proc/acpi/battery/*/state | grep --after-context=1 'present rate' | sed "s/present rate: /-/g" |sed "s/remaining capacity: /-/g" | sed ':M;N;$!bM;s#\n# #g'
hier unterbringen kann:

Code: Alles auswählen

#!/usr/bin/env python
import pygtk
import sys
pygtk.require('2.0')
import gnomeapplet
import gtk
def factory(applet, iid):
	button = gtk.Button()
	button.set_relief(gtk.RELIEF_NONE)
	button.set_label("ExampleButton")
	button.connect("button_press_event", showMenu, applet)
	applet.add(button)
	applet.show_all()
	return True
def showMenu(widget, event, applet):
	if event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
		widget.emit_stop_by_name("button_press_event")
		create_menu(applet)
def create_menu(applet):
	propxml="""
			<popup name="button3">
			<menuitem name="Item 3" verb="About" label="_About" pixtype="stock" pixname="gtk-about"/>
			</popup>"""
	verbs = [("About", showAboutDialog)]
	applet.setup_menu(propxml, verbs, None)
def showAboutDialog(*arguments, **keywords):
	pass
if len(sys.argv) == 2:
	if sys.argv[1] == "run-in-window":
		mainWindow = gtk.Window(gtk.WINDOW_TOPLEVEL)
		mainWindow.set_title("Ubuntu System Panel")
		mainWindow.connect("destroy", gtk.main_quit)
		applet = gnomeapplet.Applet()
		factory(applet, None)
		applet.reparent(mainWindow)
		mainWindow.show_all()
		gtk.main()
		sys.exit()
if __name__ == '__main__':
	print "Starting factory"
	gnomeapplet.bonobo_factory("OAFIID:Gnome_Panel_Example_Factory", gnomeapplet.Applet.__gtype__, "Simple gnome applet example", "1.0", factory)
und zwar im: button.set_label("ExampleButton")

Viele Dank für die Mühe
g
z
ps: Irgendwas hab ich wohl falsch eingestellt. Die Einschübe in den Zeilen sind in der Vorschau alle weg. ich bekomme es irgendwie nicht mehr hin. Hoffe der Code ist trotzdem hinreichend lesbar.

Edit (BlackJack): Quelltext in Code-Tags gesetzt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

zhocchao hat geschrieben:ps: Irgendwas hab ich wohl falsch eingestellt. Die Einschübe in den Zeilen sind in der Vorschau alle weg. ich bekomme es irgendwie nicht mehr hin. Hoffe der Code ist trotzdem hinreichend lesbar.
Tipp: Code-Tags existieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
zhocchao
User
Beiträge: 3
Registriert: Freitag 14. November 2008, 10:03

hallo
Da ich jetzt gelernt habe, das Code-Tags existieren, fehlt mir jetzt nur noch wie diese aussehen (erspart mir das, warn Scherz). Da dieses Thema nun von etwa 30 Leuten- die sich sicher alle besser als ich mit Python auskennen- gelesen wurde und keine Antwort kam, gehe ich davon aus das mein Vorhaben zu hoch für mich ist/nicht so einfach mal gemacht werden kann. Das soll jetzt keine Ungeduld sein. Ich denke nur wenns einfach wäre hätte es der Erstbeste geschrieben und wenns schwer ist kann ich das nicht.
g
z
BlackJack

Die Frage ist wieviele von den Lesern sich mit Gnome-Applets auskennen. Ich benutze leider KDE und kann da jetzt auch nicht mal eben einfach rumprobieren.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wenn das Applet so tut ist es IMHO schlauer und klarer deinen Shell-Befehl (wo bei mir ein leerer String rauskommt) durch manuelles Auslesen der Daten und einige Reguläre Ausdrücke zu ersetzen statt da versuchen das so auszuführen.

Der Tipp ist aber Desktopunabhängig und geht davon aus dass das Applet schon funktioniert, so klingt zumindest dein Posting.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
zhocchao
User
Beiträge: 3
Registriert: Freitag 14. November 2008, 10:03

hallo
Das Applet funktioniert, ist aber nicht von mir. Es bringt nur einen Knopf ins Panel mit der Aufschrift ExampleButton. Der Shell Befehl liest meinen Stromverbrauch und Akkustand aus.Der Wert ändert sich also ständig. Zur Zeit hab ich ein MiniConkyFenster, aber das nervt. Meine laienhafte Hoffnung/Vorstellung war:

Code: Alles auswählen

Variable als Buttonaufschrift, diese irgendwo definieren, Anzeige aktualisieren
.
Ich steh im e-mail kontakt mit einem der versucht das Fish-Applet Icon anzupassen( Oder ein Wetter- oder Börsenticker Applet). Es gibt irgendwie kein Panel Applet dessen Anzeige man selber definieren kann. Deshalb der Versuch eines anzupassen.
Ich bin zwar nicht weiter, aber geholfen habt ihr mir jetzt trotzdem. Also Danle.

g
z

ps Der Code-Tag Ärger war von No-Script verursacht. Ein tolles Ding, wenn mans vergißt bringt es einen haufen Probleme
Antworten