Can gtkDialog GUI refresh another GUI in same script?
Can gtkDialog GUI refresh another GUI in same script?
Look below at script code...
Last edited by sunburnt on Thu 08 Apr 2010, 22:29, edited 1 time in total.
Code: Select all
#! /bin/sh
. $1/guiinfo
menu() {
echo '### '$1 $2
POS=`$1/driveman guiPOS DM`
X=echo $POS |sed 's/,.*$//' ; Y=echo $POS |sed 's/^.*,//'
export DM_MENU="
<window title=\"\" skip_taskbar_hint=\"true\" window_position=\"2\">
<vbox>
<tree hover-selection=\"true\" headers-visible=\"false\">
<variable>POPMENU</variable><label>$2</label>
<item>ROX_Filer</item><item>Mt-UnMt</item>
<item>Set_Boot</item><item>Settings</item>
<item>-------------</item>
<item>Exit_DM</item><item>Exit_Menu</item>
<action signal=\"button-release-event\" type=\"clear\">DRIVES</action>
<action signal=\"button-release-event\" type=\"refresh\">DRIVES</action>
<action signal=\"button-release-event\">$1/driveman clkMENU \$POPMENU $2</action>
</tree>
</vbox>
</window>"
gtkdialog3 -p DM_MENU -G +"$X"+"$Y" &
}
export -f menu
export DRIVEMAN="
<window title=\"DM\"><vbox>
<table><variable>DRIVES</variable><label>Drives|M|B</label><input>cat /tmp/drvinfo</input>
<action signal=\"button-release-event\">menu $1 \$DRIVES</action></table>
</vbox></window>"
gtkdialog3 -p DRIVEMAN --class DM -G "$2"x"$3"+"$X"+"$Y" &
I have it working nicely as two scripts but the menu GUI can`t refresh the DriveMan GUI.
With this arrangement I have to kill DriveMan and then run it again to force a refresh.
##### Update:
Now it`s working but the menu GUI will not refresh the DriveMan GUI in the same script.
I altered the code to try to get the "button-release-event" to trigger the clear and refresh.
Apparently GUIs in the same script can`t reference the others Variables. ( different shells? )
Maybe because the second GUI is being run in a function makes it a different shell.
gtkDialog2 had <action launchwindow> that ran another GUI without it being in a function.
Last edited by sunburnt on Thu 08 Apr 2010, 11:23, edited 5 times in total.
Script posted for the DriveMan GUI ( Above ). It shows the Menu, but doesn`t refresh...
It sure would be nice if a script could control and refresh a gtkDialog GUI that`s running.
Not to mention it`d be nice to change and refresh text and displayed icons on controls.
Something like:
It would be better if ALL controls had a "Name" to uniquely identify it ( like Visual Basic ).
Then like Visual Basic, you could assign ( set ) the property values for the control.
This just makes too much sense I guess, and it`s certainly much easier to read and write...
It sure would be nice if a script could control and refresh a gtkDialog GUI that`s running.
Not to mention it`d be nice to change and refresh text and displayed icons on controls.
Something like:
Code: Select all
gtkdialog3 -ref DRIVEMAN # refresh ALL the controls on the DriveMan GUI
gtkdialog3 -ref DRIVEMAN DRIVES # refresh just the control with the Variable: DRIVES
gtkdialog3 -ref DRIVEMAN Exit # refresh the control text of the Label: Exit
Then like Visual Basic, you could assign ( set ) the property values for the control.
Code: Select all
FileList.Visible=true
FileList.Width=200
FileList.Font=Ariel