#!/bin/sh GTKDIALOG=gtkdialog funcbtnCreate() { echo '<button> <input file stock="gtk-'$2'"></input> <action>fileselect:ent'$1'</action> </button>' } MAIN_DIALOG=' <window title="Fileselect Advanced" resizable="false" width-request="500"> <vbox> <vbox border-width="20" spacing="10"> <hbox> <text label="All defaults" width-request="80"></text> <entry> <variable>ent0</variable> </entry> '"`funcbtnCreate 0 new`"' </hbox> <hseparator></hseparator> <hbox> <text label="file" width-request="80"></text> <entry fs-action="file" fs-folder="/usr/share/doc" fs-filters="*.txt|*.html" fs-title="Select an existing file"> <variable>ent1</variable> </entry> '"`funcbtnCreate 1 new`"' </hbox> <hseparator></hseparator> <hbox> <text label="newfile" width-request="80"></text> <entry fs-action="newfile" fs-folder="'$HOME'" fs-filters-mime="text/plain|text/html" fs-title="Select an existing file or type in a new filename"> <variable>ent2</variable> </entry> '"`funcbtnCreate 2 new`"' </hbox> <hseparator></hseparator> <hbox> <text label="folder" width-request="80"></text> <entry fs-title="Select an existing folder" fs-action="folder"> <variable>ent3</variable> </entry> '"`funcbtnCreate 3 open`"' </hbox> <hseparator></hseparator> <hbox> <text label="newfolder" width-request="80"></text> <entry fs-action="newfolder" fs-title="Select an existing folder or type in a new folder name"> <default>This fileselect action type is temperamental</default> <variable>ent4</variable> </entry> '"`funcbtnCreate 4 open`"' </hbox> </vbox> <hseparator></hseparator> <hbox homogeneous="true"> <button ok></button> </hbox> </vbox> </window> ' export MAIN_DIALOG case $1 in -d | --dump) echo "$MAIN_DIALOG" ;; *) $GTKDIALOG --program=MAIN_DIALOG ;; esac