2010-06-10 10 views
6

Ich habe ein Gnome Applet in Python geschrieben. Um Konfigurationsdaten/Einstellungen zu speichern, wird eine Datei ~/.appname erstellt.Wie sollte ein Gnome-Applet seine Konfigurationsdaten speichern?

Dies verhindert jedoch, dass mehrere Instanzen des Applets zum Bereich hinzugefügt werden, da jeder keine eigenen Einstellungen haben kann.

Wie kann ich die Einstellungen so speichern, dass jede Instanz eigene Einstellungen erhält?

Update: Ich möchte speziell wissen, wie die Einstellungen speichern pro Instanz.

Antwort

7

Der empfohlene Weg für ein Applet wäre, GConf to store preferences zu verwenden und einen Schlüssel pro Instanz zu verwenden, damit Sie einzelne Einstellungen speichern können. Von Panel Applet GConf Utilities:

Applets definieren typischerweise einen Satz von Präferenzen eine Schemas Datei und panel_applet_add_preferences() verwenden. Solche Voreinstellungen gelten nur für eine einzelne Applet-Instanz . Für Beispiel können Sie zwei Uhr-Applets zu dem Panel hinzufügen und sie anders konfigurieren.

Damit die Präferenzen nur auf ein einziges Applet anwenden, jedes Applet einen separaten GConf Schlüssel für jeden dieser Präferenzen haben. Die unten beschriebenen Methoden stellen die praktischen Wrapper um die üblichen GConfClient Funktionen bereit und arbeiten mit diesen per-Applet-Tasten.

+0

** Perfekt ** Genau das, was ich suchte. –

1

Python Beispiel mit dem Applet:

import gconf 
client = gconf.client_get_default() 
gconf_root_key = applet.get_preferences_key() 

client.set_string(gconf_root_key + "/myvar", "foobar") 
myvar = client.get_string(gconf_root_key + "/myvar") 
Verwandte Themen