Gtkdialog_menu allows the use of external menus in gtkdialog.
Code: Select all
# gtkdialog_menu -h
Usage: gtkdialog_menu [OPTION] "stock-icon1,menuitem1" "stock-icon2,menuitem2" ...
example: gtkdialog_menu -m middle "gtk-open,Open file" "seperator" "gtk-quit,Quit"
Options
-h Show this information
-m CLICK Activate menu by clicking mousebutton
This uses $BUTTON from main gtkdialog gui
left
middle
right (default)
username:puppy
password:linux
gtkdialog_menu-0.3.pet
Example how to use it: (line 4 makes the call to gtkdialog_menu)
Code: Select all
#!/bin/sh
external_menu(){
OUTPUT="`gtkdialog_menu "gtk-apply,Set theme" "gtk-convert,Show JWM_switcher" "seperator" "gtk-quit,Quit"`"
case $OUTPUT in
'Set theme')
cp -f /root/.jwm/themes/${JWM_THEME}-jwmrc /root/.jwm/jwmrc-theme
cp -f /root/.jwm/themes/${JWM_THEME}-colors /root/.jwm/jwm_colors
jwm -restart
;;
'Show JWM_switcher')
/usr/local/jwmconfig2/theme_switcher
;;
'Quit')
for I in `ps | grep -w "MAIN_DIALOG" | awk '{print $1}'`; do kill -9 $I; done
exit 0
;;
esac
}
export -f external_menu
#this builds the list for the <tree> widget
for THEME in `ls -1 /root/.jwm/themes/ | grep 'jwmrc' | sed -e 's/-jwmrc//' | tr '\n' ' '`; do
THEME="`basename $THEME`"
ITEMS="$ITEMS<item>$THEME</item>"
done
export MAIN_DIALOG='<vbox height-request="250">
<text><label>Example of an right-click-menu with gtkdialog</label></text>
<tree hover-selection="true">
<label>JWM themes</label>
<variable>JWM_THEME</variable>
'$ITEMS'
<action signal="button-press-event">external_menu</action>
</tree>
<hbox><button ok></button></hbox>
</vbox>'
gtkdialog3 -p MAIN_DIALOG