ubuntuusers.de

KDialog

Status: Gelöst | Ubuntu-Version: Ubuntu
Antworten |
Dieses Thema ist die Diskussion des Artikels KDialog.

Dee Team-Icon

Avatar von Dee

Anmeldungsdatum:
9. Februar 2006

Beiträge: 20095

Wohnort: Schwabenländle

So, ich hab mal den Zenity-Artikel erweitert und was neues zu KDialog geschrieben.

Noch Anmerkungen dazu: Baustelle/Zenity und Baustelle/KDialog.

Gruß, Dee

umarmung Team-Icon

Avatar von umarmung

Anmeldungsdatum:
26. Oktober 2004

Beiträge: 5632

Sollte man im Zenity Artikel vielleicht noch ein Beispiel bringen, wie man einen Fortschrittsbalken "herauf zählt" und wie man den Zustand eines Notificationicons per Skript ändert? Oder ist das schon zu fortgeschritten?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Zenity:

Im 1. Skript steht #!bin/sh, in den beiden anderen #!bin/bash... ersteres ist wohl richtig, oder? ☺

Was passiert, wenn man ein Zentiy Skript an jemanden weitergibt, der kein Zenity installiert hat? Ich vermutet mal stark, das Skript beendet sich mit einer Fehlermeldung ☺ Solle man dies nicht irgendwo in einer Hinweisbox noch einbauen? Nicht das jemand denke, man könnte so ganz einfach allg. Shell-Skripte mit einer GUI "aufpeppen"

Gruß
noisefloor

Dee Team-Icon

(Themenstarter)
Avatar von Dee

Anmeldungsdatum:
9. Februar 2006

Beiträge: 20095

Wohnort: Schwabenländle

@noisefloor: Äh, also wenn im Artikel als Voraussetzung "zenity" genannt wird, dann sollte man das natürlich auch installieren. Gibt es wirklich Leute, die sowas weitergeben würde, ohne zu testen, ob Zenity installiert ist? Naja, man kann es ja für die ganz ... äh.. unsicheren einfügen.

Nicht das jemand denke, man könnte so ganz einfach allg. Shell-Skripte mit einer GUI "aufpeppen"

Kann man aber. Man muss aber für die Gegenheiten sorgen. Du kannst auch nicht einfach ein Python-Skript weitergeben. Du müßtest erst testen, ob der User Python auf dem PC hat...

Das mit Bash ist geändert, wobei ich eben keine Dash habe und nicht weiß, ob das alles so läuft, wie es soll!

@umarmung: Das mit dem Notificationsskript steht doch gerade im Artikel... Wegen Fortschritssbalken kannst Du dazu gerne ein Beispiel anbringen... Ggf. schreibst du das Beispielskript einfach um, so daß nach der letzten Eingabe und vor der Ausgabe erst noch ein Balken durchläuft. Dann bitte bei KDialog auch machen. ☺

Gruß, Dee

umarmung Team-Icon

Avatar von umarmung

Anmeldungsdatum:
26. Oktober 2004

Beiträge: 5632

So der Fortschrittsbalken ist drin.

Bei der Sache mit dem Notificationicon meinte ich eigentlich die Möglichkeit, das Icon stetig zu ändern. Das Beispiel im Wiki erzeugt ja immer wieder ein neues Icon.

#!/bin/bash
#zenity starten und auf fd3 lauschen
exec 3> >(zenity --notification --listen)
sleep 5
#tooltip ändern
echo "tooltip: Hallo Zenity!" >&3
sleep 5
#icon ändern
echo "icon:/usr/share/pixmaps/apple-red.png" >&3
sleep 5
#fd3 schliessen und zenity beenden
exec 3>&-


IMHO ist das eine sehr nette Möglichkeit über den Status eines längerdauernden Hintergrundprozess zu informieren. Leider ist das so gut wie gar nicht dokumentiert. (In der offiziellen GNOME Hilfe fehlt es komplett.)

Holger

umarmung Team-Icon

Avatar von umarmung

Anmeldungsdatum:
26. Oktober 2004

Beiträge: 5632

Ich schubs das nochmal hoch. Wie schaut es aus? Sollte man das Beispiel mit --listen noch einfügen?

Dee Team-Icon

(Themenstarter)
Avatar von Dee

Anmeldungsdatum:
9. Februar 2006

Beiträge: 20095

Wohnort: Schwabenländle

Hm, sorry... Am 15.3. wurde mir Dein beitrag nicht als neu angezeigt. ☹

Zum Skript: Hm, kapiert habe ich es nicht so ganz, ich könnte es zwar kopieren, aber normalerweise will man ja einen prozess laufen lassen und nach jedem Schritt das Dialogfeld aktualisieren... Sprich, ich hab ne Schleife von 1 bis N, wo ich Aktionen durchführe, die verschieden lang dauern, dann sollte das Feld eben nach jedem Schritt i um [i/N] (Gauss-Klammern 😉) erhöht werden und nicht zu einer bestimmten Zeit mit sleep. Wie ich sowas relalisieren würde, ist mir anhand des Beispiels jedenfalls nicht klar. Da hast Du ja irgendwas mit ner Pipe getrickst, um den Status neu zu schreiben... glaub ich.

Sollte man das Beispiel mit --listen noch einfügen?

Was macht --listen denn? Ich kenn nur "--list" und auch in der Hilfe taucht Deine Option nicht auf.

Bei der Sache mit dem Notificationicon meinte ich eigentlich die Möglichkeit, das Icon stetig zu ändern. Das Beispiel im Wiki erzeugt ja immer wieder ein neues Icon.

Hm, was wäre denn ein Anwendungsfall davon, das Icon stetig zu ändern? Blinken lassen? 😉

Gruß, Dee

umarmung Team-Icon

Avatar von umarmung

Anmeldungsdatum:
26. Oktober 2004

Beiträge: 5632

Dee hat geschrieben:

Zum Skript: Hm, kapiert habe ich es nicht so ganz, ich könnte es zwar kopieren, aber normalerweise will man ja einen prozess laufen lassen und nach jedem Schritt das Dialogfeld aktualisieren... Sprich, ich hab ne Schleife von 1 bis N, wo ich Aktionen durchführe, die verschieden lang dauern, dann sollte das Feld eben nach jedem Schritt i um [i/N] (Gauss-Klammern 😉) erhöht werden und nicht zu einer bestimmten Zeit mit sleep.

Naja, sleep ist natürlich nur zur Demonstration. Aber mit der --listen Methode ist ja genau das was du gerade beschrieben hast möglich. Der Unterschied ist nur, dass man ein kleines Icon im Systray aktualisierst und keine Progressbar.

#!/bin/bash
exec 3> >(zenity --notification --listen)

for i in $(seq 0 10)
do
	echo "tooltip: ${i} von 10 Dateien kopiert" >&3
	kopiere Datei $i auf externe Platte oder Netzlaufwerk
done

exec 3>&-


Wenn das Kopieren nun nicht 2 Minuten sondern 2 Stunden dauert, dann möchte man eben lieber ein kleines Statusicon anstatt einen Fortschrittsbalken.

Was macht --listen denn? Ich kenn nur "--list" und auch in der Hilfe taucht Deine Option nicht auf.

Die Option gibt es nur für Notificationicons; zenity --help-notification

Hm, was wäre denn ein Anwendungsfall davon, das Icon stetig zu ändern? Blinken lassen? 😉

Das ist doch für die n00bs 😉 Echte Profis lassen dort kleine Männchen tanzen und Animationen ablaufen. 8)
Du musst ja nicht das Icon selbst ändern, sondern kannst nur den Statustext ändern. Ansonsten kann man auch einen kleine Fortschrittsbalken im Systray anzeigen lassen oder eine kleine Uhr.

Dee Team-Icon

(Themenstarter)
Avatar von Dee

Anmeldungsdatum:
9. Februar 2006

Beiträge: 20095

Wohnort: Schwabenländle

Okay, mach wie Du denkst. Ich bin mit meinem Programmumschalter voll zufrieden. ☺ Ach, ein User hat dummerweise bei Zenity nen ganzen Batzen eingefügt. Ist das nicht das, was Du willst? Kannst Du ja verwenden.

Gruß, Dee

umarmung Team-Icon

Avatar von umarmung

Anmeldungsdatum:
26. Oktober 2004

Beiträge: 5632

Ok, ich füge dann meinen Text ein. ☺

Dee Team-Icon

(Themenstarter)
Avatar von Dee

Anmeldungsdatum:
9. Februar 2006

Beiträge: 20095

Wohnort: Schwabenländle

So, alles verschoben: Zenity und KDialog.

Gruß, Dee

Antworten |