Onli
Ehemalige
Anmeldungsdatum: 1. August 2005
Beiträge: 6941
|
Ich möchte auch hier die Möglichkeit schaffen, Rückmeldung zu Izulu zu geben und das Programm dabei vorstellen. Mit Izulu kann man den Bildschirmhintergrund dem Wetter anpassen. Wenn es regnet erscheint dieses Bild, wenn die Sonne scheint dagegen dieses, dazu kommen Wolken, Schnee und Nebel. Natürlich ist das auswechselbar und man kann auch noch feiner abstufen. Es funktioniert im Standard mit Gnome, sollte aber auch mit jeder anderen Desktopumgebung und jedem Fenstermanager funktionieren, da der "Hintergrundsetzbefehl" anpassbar ist. Um für Mannheim alle 15 Minuten das Wetter abzufragen und den Hintergrund anzupassen startet man es so: izulu -c Mannheim -d Download, weitere Erklärungen im Blog. Ich freue mich über jedwede Kritik. Bitte beachten, dass dies die allererste Version ist. Gruß
|
toddy
Ikhayateam
Anmeldungsdatum: 31. Juli 2007
Beiträge: 9519
Wohnort: Lüneburg
|
Onli schrieb: Um für Mannheim alle 15 Minuten das Wetter abzufragen und den Hintergrund anzupassen startet man es so: izulu -c Mannheim -d
Süß. Ich werde das Programm nutzen, wenn ich irgendwann mal nicht mehr in meiner Heimat sein sollte und dann immer wissen will, wie schlecht das Wetter in Bremen ist. Momentan schaue ich doch aus den Fenster und freue mich über meinen lustiggelaunten Tux als Hintergrundbild. Gruß Torsten
|
Onli
Ehemalige
(Themenstarter)
Anmeldungsdatum: 1. August 2005
Beiträge: 6941
|
Es ist natürlich auch die Freude des Bastelnden, aber ich empfand die Übereistimmung von Natur und Technik als sehr angenehmen Effekt. Geb bitte Bescheid wenn du das Programm genutzt hast und ggf. Probleme auftraten, oder sie fernblieben ☺ Gruß
|
mx03
Anmeldungsdatum: 21. März 2008
Beiträge: 88
|
Könnte man das ganze auch mit der Wetteranzeige von Gnome verknüpfen?
Ungültiges MakroDieses Makro ist nicht verfügbar
|
Onli
Ehemalige
(Themenstarter)
Anmeldungsdatum: 1. August 2005
Beiträge: 6941
|
In welcher Form sollte es denn verknüpft werden? Gruß
|
PhotonX
Anmeldungsdatum: 3. Juni 2007
Beiträge: 4471
Wohnort: München
|
Ich fände es super, wenn die Wallpaper ähnlich aussehen würden, also quasi die gleiche Landschaft bei unterschiedlichen Wetterlagen. Dann wäre der Desktop wirklich wie ein Fenster nach draußen. ☺ Weiß aber nicht, wie man das verwirklichen könnte, Fotos wären wohl nicht 100% identisch und selbst erstellte Bilder würden künstlich wirken...
|
Andy1
Anmeldungsdatum: 24. August 2005
Beiträge: 1362
Wohnort: Thüringen
|
Niedlich, läuft einwandfrei, sehr gut erklärt.
Wäre schön wenn Du kurze Doku, zu den Optionen mit ins Programm reinschreibst, gerade am Anfang schaut man doch ab und zu mal. ☺ Weiter so, aber für was eine GUI?
|
Onli
Ehemalige
(Themenstarter)
Anmeldungsdatum: 1. August 2005
Beiträge: 6941
|
Danke euch beiden für die Rückmeldung. Photonx, ich fände das auch gut. Leider bin ich noch nicht über solche Bilder gestolpert. Wenn du solche Bilder hast kann man einfach die in /usr/share/izulu ersetzen oder sie unter gleichem namen in ~/.izulu speichern. Mit selbsterstellten Bildern gibt es das übrigens schon ☺ Andy1, izulu --help gibt die Optionen aus. Wo sollten sie noch stehen? Die GUI wäre dafür da, die anzuzeigenden Bilder auszuwählen und den Ort zu setzen. Sowas braucht das Programm natürlich nicht unbedingt. Gruß
|
Andy1
Anmeldungsdatum: 24. August 2005
Beiträge: 1362
Wohnort: Thüringen
|
Genau das meine ich, einfache README dabei, dann hätte ich alle Optionen und müsste nicht nachfragen. ☺ Wir diskutieren das oft auf Arbeit mein Kollege und ich, das einfach eine kleine README dabei sein sollte und gut ist. Optionen: dpkg -i (install)
dpkg -u (uninstall)
usw. auf Deinem Blog hast Du doch schon eine Beschreibung geliefert, diese in dieser Art als Textdatei dabei und schon hat es einen professionelleren "Touch", auch den Verweis auf Deine Seite usw. mit drin und ich denke Feedback undWünsche werden mehr werden. Bitte betrachte es als Hilfestellung nicht als Kritik. ☺
|
Onli
Ehemalige
(Themenstarter)
Anmeldungsdatum: 1. August 2005
Beiträge: 6941
|
Keine Sorge, obwohl ich das als Kritik (im eigentlichen Sinne) betrachte, ist sowas doch nur positiv. Ich werde die genannten Informationen in eine Manpage einfügen und die dem nächsten .deb beilegen. Ich denke das ist besser als eine einfache Readme, von der ich nicht wüsste, wo sie hingelegt werden sollte. Gruß
|
Chrisse
Anmeldungsdatum: 2. März 2009
Beiträge: Zähle...
|
Guten Abend, wie kann ich Izulu eigentlich wieder deinstallieren? Grüß
Chrisse
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
Ein paar Anmerkungen zum Quellcode: In getWeather() erzeugst du temporäre Dateien auf unsichere Weise. Um Symlink-Angriffe zu vermeiden, sollte die Datei entweder mittels mktemp erzeugt oder in einem nur für den Nutzer beschreibbaren Verzeichnis erzeugt werden. Ich weiß, dass das bei diesem Skript wohl kaum von Bedeutung ist, aber man sollte sich das nicht angewöhnen. Die if-Anweisungen in chooseWallpaper() sind zu umständlich. Anstatt zuerst das Kommando auszuführen, und anschließend den speziellen Parameter $? zu prüfen, kannst du das Kommando direkt im if -Ausdruck ausführen. XML-Dateien mit grep und sed zu verarbeiten, ist wenig robust. XML ist im Gegensatz zu grep und sed nicht an Zeilengrenzen gebunden. Der Einsatz von xmlstarlet , um den gewünschten Wert über einen XPath-Ausdruck auszulesen, wäre an dieser Stelle sinnvoller. Die Implementierung von chooseWallpaper() und isWeather?() ist wenig gelungen. Jeder isWeather() -Aufruf führt dazu, dass die unveränderte Datei geöffnet, durchsucht und wieder geschlossen wird. Viel eleganter wäre es, die Wettersituation einmal aus der Datei auszulesen, und diesen Wert anschließend in einem case -Ausdruck zum Wechseln des Hintergrundbilds einzusetzen. Das würde den Quellcode von chooseWallpaper() verkürzen und lesbarer machen. Unter Berücksichtigung der vorherigen Punkte könnte man sich dann auch die temporäre Datei sparen und den Ablauf wie folgt implementieren: getWeather() würde Google mittels wget kontaktieren, und dessen Ausgabe an xmlstarlet weiterleiten, um mittels eines passenden XPath-Ausdrucks die gewünschten Werte zu extrahieren. chooseWallpaper() würde dann die Ausgabe von getWeather() in einer großen case -Anweisung auf die entsprechenden Aufruf zum Setzen der Hintergrundbilder abbilden. Dadurch wäre der vielfache Aufruf von grep und sed überflüssig und überflüssige E/A-Last würde eingespart werden. Auf einem Notebook nämlich ist dein Skript der Akkulaufzeit nicht gerade zuträglich, weil es bereits zum Auslesen der aktuellen Wettersituation schlimmstenfalls siebzehn(!) überflüssige Zugriffe auf eine temporäre Datei durchführt. Zum Auslesen der Optionen würde ich getopt nutzen, das reduziert den dazu benötigten Code und erhöht die Kompatibilität zu anderen Unix-Programmen. Ach ja, die Backupdatei solltest du vielleicht aus dem Debian-Archiv entfernen.
|
Onli
Ehemalige
(Themenstarter)
Anmeldungsdatum: 1. August 2005
Beiträge: 6941
|
@Chrisse: Du kannst das Programm über die Paketverwaltung deinstallieren. Es sollte also in Synaptic aufgeführt werden. Lunar, danke für die genauen Anmerkungen. Ich komme ggf auf diese nochmal im speziellen zurück, wenn ich sie am Code sehen konnte. Gruß
|
PhotonX
Anmeldungsdatum: 3. Juni 2007
Beiträge: 4471
Wohnort: München
|
Hmm, hab leider auch keine gescheite Wallpaper finden können, schade...
|
Onli
Ehemalige
(Themenstarter)
Anmeldungsdatum: 1. August 2005
Beiträge: 6941
|
Schade, aber vll stolperst du ja nochmal drüber. Lunar schrieb: Unter Berücksichtigung der vorherigen Punkte könnte man sich dann auch die temporäre Datei sparen und den Ablauf wie folgt implementieren: ...
Genau das habe ich nun gemacht. Vorher erschien es mir zu riskant auf die Datei zu verzichten, mit xmlstarlet sind diese Bedenken beseitigt. Ergo konnte ich den Großteil deiner Tipps nicht nur annehmen, sondern auch umsetzen. Zwei Dinge allerdings nicht. Funktionen direkt im if-Teil auszuführen und auf ihren return-Wert zu reagieren funktioniert bei mir in keiner Konstellation, und ich konnte auch kein Beispiel finden. Klar, mit echo stattdessen ginge das schon, aber das hast du nicht gemeint, oder? Den Vorteil von getopt konnte ich nicht entdecken - wieder mal, davor stehe ich immer wieder und dann gefällt es mir doch nicht. Der Code damit würde nach dem, was ich bisher finden konnte, mindestens gleich lang sein, und eher komplizierter. Schön wäre getopts, aber auf "--help" wollte ich nicht verzichten. Ich habe das Ergebnis gleich mal in ein Paket gepackt, zusätzlich ist da die Möglichkeit drin, aus einem Ordner zufällig ein Bild auszuwählen - dominusnoctaes Idee und teils von ihm umgesetzt. Gruß
|