The ultimate power of scripting operating system level operations with the ultimate user experience of high quality well designed graphical interface.
The speed of deployment of scripting with the professional polish of the managed graphical interface.
The ubiquity of scripting with the ubiquity of the dialog box.
Why Visual Bash?
This way the user doesn't need to know anything about technical side of Linux because existing bash scripts can have well designed GUIs attached.
Bash has to be the most ubiquitous shell and script language of them all.
There are several versions of bash even for windows.
The first script to be run by the Linux kernel is a bash script (executed by a program called busybox in the initrd)
Put simply: bash script is the lowest common denominator.
It runs on anything.
The thing it lacks is a GUI interface, which is where Visual Bash comes in.
If you are a hardcore command line type I suggest you look away now. :)
In the ideal world I would like to write bash scripts (which are really both quite easy and very powerful) but I would like everyone to use them.
I like other people to see how my well written command line stuff can look attractive too.
Graphical dialogs can be quicker to use in some scenarios, but they are certainly perceived as more user friendly.
I asked myself the question: why does this perception exists, after all I don't find it a problem to run command line stuff in fact I'm pretty agnostic about command line vs GUI.
The reason, I suppose, is visibility and accessibility.
A GUI will be run from an icon on the desktop or a menu or summat so you can browse for it and see it without having to know it's there, but command line app you really have to know it exists before hand.
Now you can put an icon on the desktop to run a script in an xterm of something true, but this is not command line this is tending toward th whole icnos and desktops and running GUIs thing.
So I suppose Visual Bash is just another step in that direction.
Why stop at an icon on the desktop to run a script in an xterm?
Why not link the script with a well designed GUI to operate the script interactively?
Then you can design the GUI how you like, with company logos, wizards, dialog boxes, pretty pictures whatever. Knock yourself out, but under it all is still a bash script with all the power that it gives you to talk to the OS in it's own language.
This uses functions in a bash script to execute the events like button clicks drop-down changes etc.
The bash script talks back to the controls on the GUI using DCOP
The GUI designer is a modified version of kommander which is a KDE tool for designing scripted GUIs. The bash script is created in any text editor but the kommander editor will link directly to nedit.
I am working on modifying the kommander editor to include the script development and become a full IDE.
This will be distributed as the Visual Bash IDE
Where can I get Visual Bash?
Download links will appear when I finish all the current changes.
The first downloadable version (0.1) will be for creating projects using stock kommander.
Shot of "Hello World" project in debug mode run from the editor
Shot of "Hello World" project after clicking the button showing the event
User Manual
User manual will be available when the package is available for download.
Some ways of interacting with the user is Dialog Boxes.
These guys are run up from the command line and return responses in the form of text output.
Download
Download will be posted after the kommander code is successfully forked to add the Visual Bash extensions Project creation wizard - version 0.1 Visual Bash 2 *NEW*
This requires you to export the VISUALBASH enviroment variable in your .profile to the path of /.../VisualBash2
Source
Source will be posted after the kommander code is forked
Changes
Create a project creation wizard -done
Create a Visual Bash installer -done -LOST in drive failure
Fork Kommander source at 1.3 to produce 0.1 (alpha)
Add extension to widget creation
Interface with a running Kate session which adds the event handler code for user editing. -done
Add associated text to hook into the users bash code -done
Add extension to form creation
Add associated text for initialisation and destruction to hook into the users bash code
Project restarted to contribute to BBC Ingex project