Скрипт на bash для программы scrot
Отвечаю на свой вопрос сам: все дело в порядке ключей командной строки.
Должно быть: scrot "grab-mode" "time-delay" "DIR-to-save-file"
"grab-mode" -m или -s или -u
"time-delay" -d 0 или 1 или 2 или ...
"DIR-to-save-file" pwd из $FILE
Вот последний (?) вариант скрипта:
#!/bin/bash
GTKDIALOG=gtkdialog
call() {
funccommand $COMBOBOX1 $COMBOBOX2
echo "call_COMMANDSTRING= $COMMANDSTRING"
scrot "$COMMANDSTRING"
}
funccommand () {
if [ "$COMBOBOX1" == "All" ]; then
COMMAND1="-m"
else COMMAND1="-s"
fi
if [ "$COMBOBOX1" == "Window" ]; then
COMMAND1="-u"
fi
echo "COMMAND1= $COMMAND1"
COMMAND2="$COMBOBOX2"
echo "COMMAND2= $COMMAND2"
COMMANDSTRING="$COMMAND1 -b -d $COMMAND2 -e 'mv $f ~'"
echo "COMMANDSTRING= $COMMANDSTRING"
echo "End of export variables."
}
export -f call
export -f funccommand
export MAIN_DIALOG='
<window title="SCReenshOT screen-grabber">
<vbox>
<frame Command button EXIT>
<hbox>
<button cancel></button>
</hbox>
</frame>
<frame User-settings>
<hbox>
<vbox>
<text>
<label>Select grab-mode</label>
</text>
<combobox>
<variable>COMBOBOX1</variable>
<item>All</item>
<item>Window</item>
<item>Area</item>
<action>save:COMBOBOX1</action>
<variable>COMMAND1</variable>
</combobox>
</vbox>
<vbox>
<text>
<label>Time-delay-sec</label>
</text>
<combobox>
<variable>COMBOBOX2</variable>
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>5</item>
<item>10</item>
<item>20</item>
<action>save:COMBOBOX2</action>
<variable>COMMAND2</variable>
</combobox>
</vbox>
<button>
<label>ACCEPT</label>
<variable>GOMMANDSRING</variable>
<action>echo "Start of scrot:"</action>
<action>call </action>
</button>
</hbox>
</frame>
<frame Select DIR for save screenshot>
<chooser>
<height>200</height>
<width>200</width>
<variable>FILE</variable>
<default>/home/</default>
<action>cat [ echo $FILE ] | zenity --text-info --width=250 --height=250 --title $FILE</action>
</chooser>
</frame>
</vbox>
</window>
'
case $1 in
-d | --dump) echo "$MAIN_DIALOG" ;;
*) $GTKDIALOG --program=MAIN_DIALOG ;;
esac
Скрипт конечно надо еще немного "почистить", но в принципе он работающий.