Gambas Documentation
Application Repository
A * (A star). Pathfinder
AgendaXML (simple time tracker)
Apousiologos
Arduino & Gambas: 01 Simple example, power LED
Arduino&Gambas: 02 Graphs of sensor values
Arduino&Gambas:03 Control of two servomotors
Areida
A Truck Management System (TMS) With Folder Database Manager
Automatic Updates for FTP accounts
Azeotrope Chemical Calculator
BaShare (file sharing tool)
Building Images by fractal art
BumbleBee Launcher
Carnet Generator
Checkers
ClassLatex: Create documents and reports
Clothing Maquiladora manager (example MySQL database)
Collector: Organize source code
Convert numbers to letters and read them (in Spanish)
Datagest (business process control)
DBLog (amateur radio logging application)
DBReport (Report-Designer and Printer)
DfhLog (amateur radio logging application)
DomotiGa (home automation software)
Facs (Facs Aids Cost Supervision)
FGLC
Front End for RoboDoc: Documentation generator
Game: lmars - Linux Mars Core War Environment
GbDar (Gui for Disk ARchiver)
Gbxgol (Italian betting game utility)
Gestión de Almacén (warehouse management)
GForm, An interactive shell GUI builder
GIsoHunter (Search & download Torrents)
GOliscoper (personal contact manager)
GradeL (desktop gradebook application)
Graduation Orles
Graphic resolution 2nd degree equation
Graphics in the form of cake
Greekconversion
GridViews and TableViews: Small tool to define
Guygle (web geographical information system)
HP9100A Emulator (a calculator emulator)
I-Nex: CPU and System Information
Iconify, Load supported images and save as an Icon file
IDE JAVA-GAMBAS
Indentation Gambas 2
KediCAD (CAD software)
Laurus (ERP for french small companies)
MapBD: Mapping databases (ORM)
MapComen: Comments for RoboDoc Generator
MegaJC Uploader
MiniEarthshipCalc: Calculation for earthship design
Morsememory
Multiple Diploma Builder
MV1SysTray (GUI Utility of Mumps V1 multidimensional Database)
MyEduBase - an Educational Management System
MySQL-GUI (GUI for MySQL)
NoteIf- - Notepad For Linux - GPL3
NxcEditor with nxcSimulator (for NXT-Robot)
ODT Format Report Component (gb.odt)
Online News
OpenASB: Management software and Internet cafe LAN-House.
PDOWNLOADER
Ping: Network Utility
Pipe opening and monitoring "Watch" example
Puzzle 8 and 15
QR Code Generator: A FrontEnd qrencode commands and libdecodeqr.
Refranero / Spanish proverbs and sayings
Romadeva
Rubik 2d
SecondFaqtor
Simple example of drag and drop
Simple example of drawing a spiral
Simulator classification africa world cup 2010
Step By Step Manual on how to make a program gambas2: Phone Book
Struct-DB
Tetris
Tic Tac Toe (sample minimax)
Transie (dual-pane text editor for translators)
Tuxlog
TxapuCNC_TX (Editor/Simulator/Control Gcode)
Vinstall-ng (graphical installer for VectorLinux)
Website index generator file
Xlincegambas
Xt7-player
Code Snippets
Compilation & Installation
Components
Controls pictures
Deprecated components
Developer Documentation
Development Environment Documentation
Documents
Error Messages
Gambas Playground
How To's
Language Index
Language Overviews
Last Changes
Lexicon
README
Search the wiki
To Do
Topics
Tutorials
Wiki License
Wiki Manual

GForm, An interactive shell GUI builder

Description:
Fully interactive GUI builder for shell scripts using 'pipe' files for control or
can be used like zenity to create a simple multiple button option requester.
See OPEN PIPE for usage of pipes and their purpose.

With this app you can simply (kind of) create your own GUI's in a shell script and monitor/react to the actions in the script.

Goal:
The goal is to allow you to be able to make fully functional GUI apps just with shell scripting in bash.

It creates a form/window and adds objects to it vertically or you can create a HBox and add objects to that horizontally.

Currently supported objects are...
Button, ToggleButton, ToolButton, TextBox, TextArea, MaskBox (for passwords), CheckBox, ListBox, GridView, DirBox, FontBox, ComboBox, Label, HBox, Spring, Menu

Distribution/Download contents:
Provided is a few demo bash scripts and some help texts containing all the arguments/commands.
One of the example scripts is called GForm HELP.sh this simply loads each help file into a TextArea object for your viewing.
(So it's a good first script to try)

Usage:
Mostly the GForm program is run from within the scripts with a few args to make a GUI. The pipe=/tmp/fifo1 argument makes the app create a pipe that the script then opens and waits for messages from the GUI and the listen=/tmp/fifo2 argument makes a pipe for the script to be able to control the GUI. (There's a help file on pipe basics) Messages come in the form of name|text or name|text|value depending on the calling object

Notes:
There are various examples. Simple, Medium and advanced.
SEE THE EXAMPLE SCRIPTS AND HELP TEXTS FOR INFO ON HOW TO MAKE YOUR OWN SHELL GUI APP.

Check out the GForm homepage to see examples of how it looks. See the github page (linked below) for readme , version history, source.

This App is currently beta and still partially in development (will probably add some more controls to it) but is quite functional.
Included in the examples is a fully working app called pkAppMan, there are 2 versions, one uses a
ListBox and does a lot of text processing within the script, the other uses a GridView, both fully working applications for managing the pkexec policy rule list. Shown in the screenshot below, what you are seeing is a GUI made by running GForm from a bash script.

Happy Scripting :)
Bruce

Author Bruce Steers
License GPL v2 or greater
URL https://github.com/BruceSteers/GForm

screenshot