Anfänger: dialog - ähnliches Programm für X gesucht.

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
HerbertN
Beiträge: 31
Registriert: 17.06.2006 08:10:46

Anfänger: dialog - ähnliches Programm für X gesucht.

Beitrag von HerbertN » 18.04.2008 16:15:47

Hi Leute,
ich muss für meinen Chef eine kleine Anwendung programmieren. Ich suche jetzt ein Programm, was so funktioniert wie dialog in der console.
Es muss Auswahldialoge und so eine Art Filebrowser bieten. Ich habe xdialog gefunden und komme damit auch zurecht.
Gibt es evtl. noch ein ähnliches Programm, was ein wenig mehr fürs Auge bietet?

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: Anfänger: dialog - ähnliches Programm für X gesucht.

Beitrag von Spasswolf » 18.04.2008 16:39:15

Wie wäre es mit gtkdialog?

Benutzeravatar
goeb
Beiträge: 348
Registriert: 26.08.2006 18:12:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Anfänger: dialog - ähnliches Programm für X gesucht.

Beitrag von goeb » 18.04.2008 17:28:04

Oder kdialog falls es KDE sein soll...

Benutzeravatar
knittels
Beiträge: 249
Registriert: 10.04.2004 23:25:47
Kontaktdaten:

Re: Anfänger: dialog - ähnliches Programm für X gesucht.

Beitrag von knittels » 18.04.2008 22:04:42

zenity erstellt auch GTK-Dialoge

HerbertN
Beiträge: 31
Registriert: 17.06.2006 08:10:46

Re: Anfänger: dialog - ähnliches Programm für X gesucht.

Beitrag von HerbertN » 18.04.2008 23:40:08

uih, danke für die Antworten :)

gtkdialog gefällt mir spontan sehr gut, schaut doch ein wenig aktueller als Xdialog aus. Die mitgelieferten Beispiele sind umfangreich und decken alle Anforderungen ab - da arbeite ich mich gerne ein.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Anfänger: dialog - ähnliches Programm für X gesucht.

Beitrag von ThorstenS » 19.04.2008 15:12:42

Mir hat u.a. dieser Thread sehr weitergeholfen: http://www.debianforum.de/forum/viewtop ... 34&t=93689

Ich zeige dir mal einen Teil von einem kleinen Programm von mir (wird ein rudimentärer Ersatz für Acronis True Image).

Ich hoffe das ist nicht zu viel Code auf einmal. Ich denke hier sieht man aber schön, wie man Variablen einbinden kann.
Und abhängig davon, ob eine ext. USB Platte angesteckt ist oder nicht, blende ich Optionen ein oder aus.
Dazu noch Screenshots [1] [2]

HTH
Thorsten

Code: Alles auswählen

#!/bin/sh
#
# Autor: Thorsten Strusch <post a t thorstenstrusch  dot de>
# Datum: 2008-04-19
#
# getestet wurde dieses Skript unter debian/lenny und XFCE4.
# Zu installierende Pakete: hwinfo, gtkdialog, coreutils, gawk, ntfsprogs

DATUM=$(date -I)

HDDDEVICE=$(sudo hwinfo --disk | awk '/Device Files:/ && /ata/  { print $3}' | tr -d ',')
HDDMODEL=$(sudo hwinfo --disk | awk -F'-' '/Device Files:/ && /ata/  { print $3}' | awk -F'_' '{print $1}')

USBDEVICE=$(sudo hwinfo --partition | awk '/Device Files:/ && /usb/  { print $3}' | tr -d ',')
USBNAME=$(sudo hwinfo --partition | awk -F'-' '/Device Files:/ && /usb/  { print $3}' | awk -F'_' '{print $1}')

# Ohne angeschlossene ext. Festplatte brauchts keine Anzeigeoptionen:
if [ a$USBDEVICE = a ]; then
	export USBPRESENT=false
else
	export USBPRESENT=true
fi

export MAIN_DIALOG='
<window title="Festplatte sichern - von Thorsten Strusch" icon-name="gtk-about">
<vbox>
  <frame Bitte wähl die zu sichernden Partitionen der Platte '$HDDMODEL' aus.>
  <checkbox>
    <label>Laufwerk C: ('$HDDMODEL' erkannt als '$HDDDEVICE'1)</label>
    <default>yes</default>
    <variable>DRIVEC</variable>
  </checkbox>
  <checkbox> 
    <label>Laufwerk D: ('$HDDMODEL' erkannt als '$HDDDEVICE'5)</label>
    <default>yes</default>
    <variable>DRIVED</variable>
  </checkbox>
  </frame>
  
  <frame Wohin soll das image abgelegt werden?>
  <radiobutton>
    <label>Auf dem Server unter \\sambabox\images</label>
    <variable>SERVER</variable>
  </radiobutton>
  <radiobutton active="'$USBPRESENT'" sensitive="'$USBPRESENT'">
    <label>Auf der USB Platte ('$USBNAME')</label>
    <variable>USB</variable>
  </radiobutton>
  </frame>

  <frame Bitte gib eine eindeutige PC Beschreibung ein>
  <entry>
  <default>'$DATUM' PC-Sicherung</default>
  <variable>COMMENT</variable>
  </entry>
  </frame>

  <hbox>
    <button cancel> </button>
    <button>
      <input file>gtk-harddisk.svg</input>
      <label>Sicherung starten</label>
      <action>klon.sh</action>
    </button>
    <button help>
      <action>gtkdialog -c --program=HELP_DIALOG</action>
    </button>
  </hbox>
</vbox>
</window>'

export HELP_DIALOG='
<window title="Hilfe - von Thorsten Strusch" icon-name="gtk-about">
  <vbox>
   <frame Beschreibung>
      <hbox>
        <pixmap>
          <input file stock="gtk-info"></input>
        </pixmap>
        <text>
          <label>
"Mit Hilfe dieses Programms kannst du die Partitionen C: und D: deiner Windowsinstallation auf einen festen Pfad im Netzwerk oder auf eine externe USB-Festplatte kopieren"
          </label>
        </text>
      </hbox>
    </frame>
    <frame Achtung>
      <hbox> 
       <pixmap>
          <input file stock="gtk-dialog-warning"></input>
        </pixmap>
        <text>
          <label>
"Dieses Programm ist noch sehr beschränkt im Umfang. Es erkennt lediglich eine Festplatte und sichert stur die 1. aktive und 1. logische Partition"
          </label>
        </text>
       </hbox>
    </frame>
    <hbox><button ok></button></hbox>
   </vbox>
</window>
'
/usr/bin/gtkdialog -c 
[/size]

Antworten