It candisciple wrote:A pity it can't refresh more often than once a second...
Code: Select all
<timer milliseconds="true" interval="200" visible="false">
It candisciple wrote:A pity it can't refresh more often than once a second...
Code: Select all
<timer milliseconds="true" interval="200" visible="false">
Code: Select all
#!/bin/sh
export MSG="This is a test... I repeat: This is a test... "
export GTKBOX='
<vbox width-request="300">
<text>
<variable>MSG</variable>
<input>echo -en "${MSG:2}${MSG:0:2}"</input>
</text>
<timer milliseconds="true" interval="200" visible="false">
<action type="refresh">MSG</action>
</timer>
</vbox>'
gtkdialog4 -p GTKBOX
Code: Select all
<entry>
<action signal="activate">command</action>
</entry>
Code: Select all
#!/bin/bash
#Autor: Walter Leonardo Iñiguez
MAIN_DIALOG='
<window title="Programa VatiOhms">
<notebook page="0" labels=" Tab 1| Tab 2| Tab 3| Tab 4">
<vbox>
<frame Calcular el Voltaje: V=I.R >
<hbox>
<text>
<label>Ingrese Resistencia (Ohm): </label>
</text>
<entry>
<default>""</default>
<variable>Resistencia</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry>
<default>""</default>
<variable>V</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Corriente (Ampere):</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Corriente</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Val</variable>
</entry>
</hbox>
<hbox>
<text>
<label>El voltaje es: </label>
</text>
<entry>
<variable>Voltaje</variable>
<input>echo "scale=6;$Resistencia*$Corriente" | bc</input>
<input>echo "scale=6;$V/$Corriente" | bc</input>
<input>echo "scale=6;sqrt($Val*$Resistencia)" | bc</input>
</entry>
<text>
<label>Volts</label>
</text>
</hbox>
<hbox>
<button>
<label>Borrar datos</label>
<action type="clear">Voltaje</action><action type="clear">Resistencia</action><action type="clear">Corriente</action><action type="clear">V</action><action type="clear">Val</action>
</button>
<button can-default="true" has-default="true" use-stock="true">
<label>Calcular</label>
<action>refresh:Voltaje</action>
</button>
</hbox>
</frame>
<frame Calcular la Resistencia: R=V/I >
<hbox>
<text>
<label>Ingrese Tensión (Volt): </label>
</text>
<entry>
<default>""</default>
<variable>Volts</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry>
<default>""</default>
<variable>Va</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Corriente (Ampere):</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Amper</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Vas</variable>
</entry>
</hbox>
<hbox>
<text>
<label>La resistencia es: </label>
</text>
<entry>
<variable>Resistor</variable>
<input>echo "scale=3;$Volts/$Amper" | bc</input>
<input>echo "scale=3;($Va/$Amper)/$Amper" | bc</input>
<input>echo "scale=3;$Volts/($Vas/$Volts)" | bc</input>
</entry>
<text>
<label>Ohms</label>
</text>
</hbox>
<hbox>
<button>
<label>Borrar datos</label>
<action type="clear">Resistor</action><action type="clear">Volts</action><action type="clear">Amper</action><action type="clear">Va</action><action type="clear">Vas</action>
</button>
<button can-default="true" has-default="true" use-stock="true">
<label>Calcular</label>
<action>refresh:Resistor</action>
</button>
</hbox>
</frame>
<frame Calcular la Corriente: I=V/R >
<hbox>
<text>
<label>Ingrese Tensión (Volt): </label>
</text>
<entry>
<default>""</default>
<variable>Tensio</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry>
<default>""</default>
<variable>Vac</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Resistencia (Ohm): </label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Resisten</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Vat</variable>
</entry>
</hbox>
<hbox>
<text>
<label>La Corriente es: </label>
</text>
<entry>
<variable>Corrient</variable>
<input>echo "scale=6;$Tensio/$Resisten" | bc</input>
<input>echo "scale=6;$Vat/$Tensio" | bc</input>
<input>echo "scale=6;(sqrt($Vac*$Resisten))/$Resisten" | bc</input>
</entry>
<text>
<label>Amperes</label>
</text>
</hbox>
<hbox>
<button>
<label>Borrar datos</label>
<action type="clear">Corrient</action><action type="clear">Tensio</action><action type="clear">Resisten</action><action type="clear">Vat</action><action type="clear">Vac</action>
</button>
<button can-default="true" has-default="true" use-stock="true">
<label>Calcular</label>
<action>refresh:Corrient</action>
</button>
</hbox>
</frame>
<frame Calcular los Vatios (Watts): W=I.V >
<hbox>
<text>
<label>Ingrese Tensión (Volt): </label>
</text>
<entry>
<default>""</default>
<variable>Tensione</variable>
</entry>
<text>
<label>o resistencia</label>
</text>
<entry>
<default>""</default>
<variable>Vad</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Corriente (Ampere): </label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Amperiore</variable>
</entry>
<text>
<label>o resistencia</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Vag</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Los Vatios son: </label>
</text>
<entry>
<variable>Vatios</variable>
<input>echo "scale=6;$Tensione*$Amperiore" | bc</input>
<input>echo "scale=6;($Vad*$Amperiore)*$Amperiore" | bc</input>
<input>echo "scale=6;($Tensione/$Vag)*$Tensione" | bc</input>
</entry>
<text>
<label>Vatios</label>
</text>
</hbox>
<hbox>
<button>
<label>Borrar datos</label>
<action type="clear">Vatios</action><action type="clear">Tensione</action><action type="clear">Amperiore</action><action type="clear">Vad</action><action type="clear">Vag</action>
</button>
<button can-default="true" has-default="true" use-stock="true">
<label>Calcular</label>
<action>refresh:Vatios</action>
</button>
</hbox>
</frame>
<hbox>
<button>
<label>BORRAR TODOS LOS DATOS</label>
<action type="clear">Resistor</action><action type="clear">Volts</action><action type="clear">Amper</action><action type="clear">Va</action><action type="clear">Vas</action><action type="clear">Vatios</action><action type="clear">Tensione</action><action type="clear">Amperiore</action><action type="clear">Vad</action><action type="clear">Vag</action><action type="clear">Corrient</action><action type="clear">Tensio</action><action type="clear">Resisten</action><action type="clear">Vat</action><action type="clear">Vac</action><action type="clear">Voltaje</action><action type="clear">Resistencia</action><action type="clear">Corriente</action><action type="clear">V</action><action type="clear">Val</action>
</button>
<button>
<label>SALIR</label>
<action>exit:EXIT</action>
</button>
</hbox>
</vbox>
</notebook>
</window>
' gtkdialog3 --program=MAIN_DIALOG
Code: Select all
#!/bin/bash
#Autor: Walter Leonardo Iñiguez
MAIN_DIALOG='
<window title="Programa VatiOhms">
<notebook page="0" labels=" Tab 1| Tab 2| Tab 3| Tab 4">
<vbox>
<frame>
<text use-markup="true">
<label>"<b><u>Calcular el Voltaje: V=I.R</u></b>"</label>
</text>
<hbox>
<text>
<label>Ingrese Resistencia (Ohm): </label>
</text>
<entry>
<default>""</default>
<variable>Resistencia</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry>
<default>""</default>
<variable>V</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Corriente (Ampere):</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Corriente</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Val</variable>
</entry>
</hbox>
<hbox>
<text>
<label>El voltaje es: </label>
</text>
<entry>
<variable>Voltaje</variable>
<input>echo "scale=6;$Resistencia*$Corriente" | bc</input>
<input>echo "scale=6;$V/$Corriente" | bc</input>
<input>echo "scale=6;sqrt($Val*$Resistencia)" | bc</input>
</entry>
<text>
<label>Volts</label>
</text>
</hbox>
<hbox>
<button>
<label>Borrar datos</label>
<action type="clear">Voltaje</action><action type="clear">Resistencia</action><action type="clear">Corriente</action><action type="clear">V</action><action type="clear">Val</action>
</button>
<button can-default="true" has-default="true" use-stock="true">
<label>Calcular</label>
<action>refresh:Voltaje</action>
</button>
</hbox>
</frame>
</vbox>
<vbox>
<frame Calcular la Resistencia: R=V/I >
<hbox>
<text>
<label>Ingrese Tensión (Volt): </label>
</text>
<entry>
<default>""</default>
<variable>Volts</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry>
<default>""</default>
<variable>Va</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Corriente (Ampere):</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Amper</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Vas</variable>
</entry>
</hbox>
<hbox>
<text>
<label>La resistencia es: </label>
</text>
<entry>
<variable>Resistor</variable>
<input>echo "scale=3;$Volts/$Amper" | bc</input>
<input>echo "scale=3;($Va/$Amper)/$Amper" | bc</input>
<input>echo "scale=3;$Volts/($Vas/$Volts)" | bc</input>
</entry>
<text>
<label>Ohms</label>
</text>
</hbox>
<hbox>
<button>
<label>Borrar datos</label>
<action type="clear">Resistor</action><action type="clear">Volts</action><action type="clear">Amper</action><action type="clear">Va</action><action type="clear">Vas</action>
</button>
<button can-default="true" has-default="true" use-stock="true">
<label>Calcular</label>
<action>refresh:Resistor</action>
</button>
</hbox>
</frame>
</vbox>
<vbox>
<frame Calcular la Corriente: I=V/R >
<hbox>
<text>
<label>Ingrese Tensión (Volt): </label>
</text>
<entry>
<default>""</default>
<variable>Tensio</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry>
<default>""</default>
<variable>Vac</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Resistencia (Ohm): </label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Resisten</variable>
</entry>
<text>
<label>o vatios</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Vat</variable>
</entry>
</hbox>
<hbox>
<text>
<label>La Corriente es: </label>
</text>
<entry>
<variable>Corrient</variable>
<input>echo "scale=6;$Tensio/$Resisten" | bc</input>
<input>echo "scale=6;$Vat/$Tensio" | bc</input>
<input>echo "scale=6;(sqrt($Vac*$Resisten))/$Resisten" | bc</input>
</entry>
<text>
<label>Amperes</label>
</text>
</hbox>
<hbox>
<button>
<label>Borrar datos</label>
<action type="clear">Corrient</action><action type="clear">Tensio</action><action type="clear">Resisten</action><action type="clear">Vat</action><action type="clear">Vac</action>
</button>
<button can-default="true" has-default="true" use-stock="true">
<label>Calcular</label>
<action>refresh:Corrient</action>
</button>
</hbox>
</frame>
</vbox>
<vbox>
<frame Calcular los Vatios (Watts): W=I.V >
<hbox>
<text>
<label>Ingrese Tensión (Volt): </label>
</text>
<entry>
<default>""</default>
<variable>Tensione</variable>
</entry>
<text>
<label>o resistencia</label>
</text>
<entry>
<default>""</default>
<variable>Vad</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Ingrese Corriente (Ampere): </label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Amperiore</variable>
</entry>
<text>
<label>o resistencia</label>
</text>
<entry activates-default="true">
<default>""</default>
<variable>Vag</variable>
</entry>
</hbox>
<hbox>
<text>
<label>Los Vatios son: </label>
</text>
<entry>
<variable>Vatios</variable>
<input>echo "scale=6;$Tensione*$Amperiore" | bc</input>
<input>echo "scale=6;($Vad*$Amperiore)*$Amperiore" | bc</input>
<input>echo "scale=6;($Tensione/$Vag)*$Tensione" | bc</input>
</entry>
<text>
<label>Vatios</label>
</text>
</hbox>
<hbox>
<button>
<label>Borrar datos</label>
<action type="clear">Vatios</action><action type="clear">Tensione</action><action type="clear">Amperiore</action><action type="clear">Vad</action><action type="clear">Vag</action>
</button>
<button can-default="true" has-default="true" use-stock="true">
<label>Calcular</label>
<action>refresh:Vatios</action>
</button>
</hbox>
</frame>
<hbox>
<button>
<label>BORRAR TODOS LOS DATOS</label>
<action type="clear">Resistor</action><action type="clear">Volts</action><action type="clear">Amper</action><action type="clear">Va</action><action type="clear">Vas</action><action type="clear">Vatios</action><action type="clear">Tensione</action><action type="clear">Amperiore</action><action type="clear">Vad</action><action type="clear">Vag</action><action type="clear">Corrient</action><action type="clear">Tensio</action><action type="clear">Resisten</action><action type="clear">Vat</action><action type="clear">Vac</action><action type="clear">Voltaje</action><action type="clear">Resistencia</action><action type="clear">Corriente</action><action type="clear">V</action><action type="clear">Val</action>
</button>
<button>
<label>SALIR</label>
<action>exit:EXIT</action>
</button>
</hbox>
</vbox>
</notebook>
</window>
' gtkdialog3 --program=MAIN_DIALOG
Goingnuts adapted my irc client to use netcat, I was just using Xdialog, but he may have used something else as well.smokey01 wrote:Can anyone offer a simple gtkdialog GUI for netcat.
Code: Select all
#!/bin/bash
GTKDIALOG=gtkdialog
if [ "$COMBOBOX1" == "All" ]; then
COMMAND1=
##sprintf( COMMANDSTRING, "scrot -d %s -e 'mv $f ~%s'", COMBOBOX2, FILE );
else COMMAND1="-s"
##sprintf( COMMANDSTRING, "scrot -d %s -s -e 'mv $f ~%s'", COMBOBOX2, FILE );
echo "COMMAND1= $COMMAND1"
COMMAND2="$COMBOBOX2"
echo "COMMAND2= $COMMAND2"
COMMANDSTRING="-d $COMMAND2 $COMMAND1 -e 'mv $f ~'"
export COMMANDSTRING
echo "COMMANDSTRING= $COMMANDSTRING"
echo "End of export variables."
fi
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>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>cat [ echo $COMMANDSTRING ] | scrot </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
Code: Select all
<action>cat [ echo $COMMANDSTRING ] | scrot </action>
Code: Select all
call() {
cat "$COMMANDSTRING" | scrot
}
[...]
<action>call </action>
Thanks for attention, Sigmund.zigbert wrote:sklimkin
... ...
If you find gtkdialog sensitive to your bash code, remember, you can always place bash code in an external function. Like:SigmundCode: Select all
call() { cat "$COMMANDSTRING" | scrot } [...] <action>call </action>
Code: Select all
#!/bin/bash
GTKDIALOG=gtkdialog
funccommand () {
if [ "$COMBOBOX1" == "All" ]; then
COMMAND1=
else COMMAND1="-s"
echo "COMMAND1= $COMMAND1"
COMMAND2="$COMBOBOX2"
echo "COMMAND2= $COMMAND2"
COMMANDSTRING="-d $COMMAND2 $COMMAND1 -e 'mv $f ~'"
echo "COMMANDSTRING= $COMMANDSTRING"
echo "End of export variables."
fi
}
export MAIN_DIALOG='
... ... ...
<button>
<label>ACCEPT</label>
<variable>GOMMANDSRING</variable>
<action>echo "Start of scrot:"</action>
<action>funccommand $COMBOBOX1 $COMBOBOX2</action>
<action>echo "COMMANDSTRING= $COMMANDSTRING"</action>
<action>cat [ echo $COMMANDSTRING ] | scrot </action>
</button>
Code: Select all
sklimkin@sklimkin-desktop:~$ funccommand () {
> if [ "$COMBOBOX1" == "All" ]; then
> COMMAND1=
> else COMMAND1="-s"
> echo "COMMAND1= $COMMAND1"
> COMMAND2="$COMBOBOX2"
> echo "COMMAND2= $COMMAND2"
> COMMANDSTRING="-d $COMMAND2 $COMMAND1 -e 'mv $f ~'"
> echo "COMMANDSTRING= $COMMANDSTRING"
> echo "End of export variables."
> fi
> }
sklimkin@sklimkin-desktop:~$ COMBOBOX2="5"
sklimkin@sklimkin-desktop:~$ COMBOBOX1="Window"
sklimkin@sklimkin-desktop:~$ GOMMANDSRING=""
sklimkin@sklimkin-desktop:~$ funccommand $COMBOBOX1 $COMBOBOX2
COMMAND1= -s
COMMAND2= 5
COMMANDSTRING= -d 5 -s -e 'mv ~'
End of export variables.
sklimkin@sklimkin-desktop:~$
Code: Select all
Start of scrot:
sh: funccommand: command not found
COMMANDSTRING=
sh: scrot: command not found
cat: [: file or dir missing
cat: echo: file or dir missing
cat: ]: file or dir missing
COMBOBOX1="Window"
COMBOBOX2="5"
FILE="/home/sklimkin/projects/gtkdialog/scrotdlg-bash2/dialog"
GOMMANDSRING=""
EXIT="Cancel"
sklimkin@sklimkin-desktop:~/projects/gtkdialog/scrotdlg-bash2$
Code: Select all
sh: funccommand: command not found
Code: Select all
<action>funccommand $COMBOBOX1 $COMBOBOX2</action>
Code: Select all
sklimkin@sklimkin-desktop:~$ gtkdialog -v
gtkdialog version 0.8.0 (C) 2003-2007 Laszlo Pere, 2011 Thunor
Code: Select all
#!/bin/bash
GTKDIALOG=gtkdialog
call() {
funccommand $COMBOBOX1 $COMBOBOX2
echo "call_COMMANDSTRING= $COMMANDSTRING"
cat "$COMMANDSTRING" | scrot
}
funccommand () {
if [ "$COMBOBOX1" == "All" ]; then
COMMAND1=
else COMMAND1="-s"
echo "COMMAND1= $COMMAND1"
COMMAND2="$COMBOBOX2"
echo "COMMAND2= $COMMAND2"
COMMANDSTRING="-d $COMMAND2 $COMMAND1 -e 'mv $f ~'"
echo "COMMANDSTRING= $COMMANDSTRING"
echo "End of export variables."
fi
}
export MAIN_DIALOG='
<button>
<label>ACCEPT</label>
<variable>GOMMANDSRING</variable>
<action>echo "Start of scrot:"</action>
<action>call </action>
</button>
#!/bin/bash
GTKDIALOG=gtkdialog
WORKDIR="/usr/local/Manna"
NOTES_DIR="$WORKDIR/notestxt"
funcbtnCreate() {
echo '<button image-position="'$2'">
<label>"'"$3"'"</label>
<input file stock="'$4'"></input>
<action>echo "'"$5"' '$1'"</action>
<action type="'"$3"'">'$1'</action>
</button>'
}
export TMPDIR=/tmp/notes
mkdir -p "$TMPDIR"
echo "$TMPDIR"/reading
export MAIN_DIALOG='
<window title="Notes" icon-name="Com">
<frame>
<vbox spacing="0">
<menubar>
<menu use-underline="true">
<menuitem stock-id="gtk-quit" accel-key="0x51" accel-mods="4">
<action>exit:Quit</action>
</menuitem>
<label>"_File"</label>
</menu>
<menu label="_Edit" use-underline="true">
<menuitem stock-id="gtk-home" label="Send to Abiword">
<action>abiword '"$TMPDIR"'/reading &</action>
</menuitem>
</menu>
</menubar>
</vbox>
<hbox>
<vbox width-request="120">
<table>
<label>Notes</label>
<variable>ITEM</variable>
<input>ls '"$NOTES_DIR"'</input>
<action>ln -sf "/usr/local/Manna/notestxt/$ITEM" '"$TMPDIR"'/reading</action>
<action>refresh:EDITOR</action>
</table>
</vbox>
<edit editable="true" accepts-tab="true" indent="" justification="0" left-margin="12" right-margin="15" wrap-mode="1">
<variable>EDITOR</variable>
<height>600</height>
<width>350</width>
<input file>'"$TMPDIR"'/reading</input>
<output file>'"$TMPDIR"'/reading</output>
</edit>
</hbox>
<hbox homogeneous="true" spacing="28" width-request="350">
'"$(funcbtnCreate EDITOR 0 Refresh gtk-refresh Refreshing)"'
'"$(funcbtnCreate EDITOR 0 Save gtk-save Saving)"'
<fontbutton font-name="Sans 14" use-font="true" use-size="true">
<variable>$EDITOR</variable>
<input file>'"$TMPDIR"'/reading</input>
<output file>'"$TMPDIR"'/reading</output>
<action>refresh:EDITOR</action>
</fontbutton>
</hbox>
</frame>
</window>
'
case $1 in
-d | --dump) echo "$MAIN_DIALOG" ;;
*) $GTKDIALOG --center --program=MAIN_DIALOG ;;
esac