- What is Xdialog ?
Xdialog is designed to be a drop in replacement for the dialog and cdialog programs (BTW Xdialog may also be used in place of gdialog). It converts any terminal based program into a program with an X-windows interface. The dialogs are easier to see and use and the new widgets adds even more functionnalities.
To achieve this, Xdialog uses the Gimp ToolKit (also known as GTK+). This toolkit is now widely used and it is most probably already installed on your system.
- Why should I use it ?
There are a few reasons for using Xdialog:
- It's a drop-in replacement for (c)dialog and as such, it will give you a better interface for the existing scripts using (c)dialog at the cost of very little effort (if any).
- Many things can be done from the command line (shell) under UNIX, but nowadays this (typing commands in a shell and using shell scripts) is not considered as "user-friendly". Xdialog gives you an opportunity to revamp your useful shell scripts so that any user can easily make use of them (he will not even notice they are scripts, he will just see the pretty GUI).
- You may already have considered writing a program (in C or any other high level language) to do some simple things (things that can be done using simple UNIX commands), but writing such a program with a proper GUI takes time and requires a good knowlegde in high level programming... therefore you just abandonned the idea. Now you can use any shell together with Xdialog and write your program/utility in a few minutes !
- What are the limits of Xdialog usage ?
Xdialog is only able to set up (relatively) simple dialogs. It is in no way designed to write a full application with a proper window, menu bar and sub-menus. Therefore any task requiring more than a few prompts from the user and/or displaying complex data will most likely needs for something more powerful than Xdialog (i.e. you will have to do some true programming in high level language, and use GTK+, Motif or Qt toolkits).
- Could you spot some typical applications for Xdialog ?
Here are some examples of what I am using Xdialog for (either at home or at work):
- Software installation scripts (an installation script using Xdialog makes for a good "installation wizard").
- Customized and more powerful replacements for a few Xwindows utility such as xless or xmessage.
- Wrappers and GUI for command line only UNIX utilities (playmidi, xanim, qiv, ping, fwhois, nslookup, etc...).
- PPP (multiple ISPs) connection wizard/PPP log displayer (that is some sort of customized gppp/kppp).
- Utility scripts for shell-less user accounts.
- Configuration wizard for software without configuration tool/menu.
- User mounting utility, encrypted loop mounting utility.
- Easy, semi-automatic Linux kernel compilation/installation.
- What are the system requirements IOT execute Xdialog ?
They are very minimal (no exotic/silly library needed): X11 and GTK+ (v1.2.0 or upper, v1.2.8 and upper preferred) is all what Xdialog needs to run. Of course you will also need a shell (any shell: sh, bash, ksh, csh, zsh...) or a scripting language (that is a language able to call external commands, e.g.: Perl).