HELLO AND WELCOME! Before you can post your question, you'll have to register -- it's completely free and registered users see less advertising! If you just want to browse through the existing questions, just select the forum that you want to visit from the selection below. Otherwise, click here to register!. We highly recommend that you print a copy of our Guide for New Members. Enjoy!

Its alot like Visual Basic for windows, but you can create your GUI then 'attach' other scripts/programs to GUI actions. I wrote a couple of real basic gui's then attached shell scripts to a couple of button clicks. It will give your programs a gui very quickly as everything is drag-n-drop

Here are some notes on linux tools for scripting 'Dialogs' you may find useful...

There is a unix scripting user-feedback utility called 'dialog' (man -k dialog), which is curses based and does not run well in a gui env. Each desktop env has developed it's own version of dialog or contains the programming tools to do it. For Xwindows, it was called 'Xdialog', for KDE 'Kdialog', Gnome uses 'GnomeDialog' library functions in the powerful GTK+ toolkit (similar to Tcl/Tk). Here are some links on how to make user feedback dialog window widgets pretty & functional... without spawning terminals that can go awry.

# If you return false in the "delete_event" signal handler,
# GTK will emit the "destroy" signal. Returning true means
# that you don't want the window to be destroyed.
# This is useful for popping up 'are you sure you want to quit?'
# type dialogs.
puts "delete event occurred."

# Change true to false and the main window will be destroyed with
# a "delete_event".
return true
end

# When the window is given the "delete_event" signal (this is given
# by the window manager, usually by the "close" option, or on the
# titlebar), we ask it to call the delete_event method
# as defined above. The data passed to the callback
# method is nil and is ignored in the callback method.
window.signal_connect( "delete_event" ) {
delete_event( nil, nil )
}

# Here we connect the "destroy" event to a signal handler.
# This event occurs when we call Gtk::Widget#destroy on the window,
# or if we return false in the "delete_event" callback.
window.signal_connect( "destroy" ) {
destroy( nil )
}