Xdialog documentation - ChangeLog
v2.3.1 - Fixed the bug, introduced in v2.3.0, where the "Hide typing"
check button always appeared in the input boxes, regardless
of the existence of a password field.
v2.3.0 - Added a new --password=1|2 syntax to allow a password field
in one of the first fields of --2inputsbox and --3inputsbox.
- Added optional <red> <green> <blue> parameters for the
- Corrected a bug in the --treeview widget which was failing to
properly build a tree when decreasing the level of an item by
more than 1, compared to the level of the previous item.
- Corrected a bug in the --colorsel widget which triggered a
GTK warning when the --icon option was used.
- Adapted a patch from Jean-Philippe Guillemin for the GTK2
version of Xdialog (this version is still seriously broken:
DO NOT use it in production projects), implementing the use
of the GTK2 stock icons for the Xdialog buttons.
v2.2.1 - Corrected the bug in the --dselect widget which was
returning a filename by default, instead of the directory
name. Also removed the file specific fields and buttons from
the directory selector.
- Corrected a typo in the man page.
v2.2.0 - Added preliminary GTK2 support (adapted from a patch by
Andrew Van Uitert). Run 'configure' with the --with-gtk2
option to enable the compilation against GTK2.
!!!! BEWARE !!!! This should be considered alpha-code,
and the GTK2 version of Xdialog does not yet implement
everything the GTK1 version got. It also got many problems
when running on non-UTF8 systems... For -SERIOUS- use, use
the GTK+ v1.2.10 version of Xdialog !
- Added the --timeout option for compatibility with cdialog
(requested by Michelle Konzack).
- Partly successful attempt at fixing a problem with some
patched GTK versions (Mandrake's, for instance) which are
reseting the theme each time all windows are closed (thus
breaking --rc-file). Still an issue with the fixed fonts of
the XDIALOG_HIGH_DIALOG_COMPAT mode, because of another
weird patch (rclocal patch): get unpatched version of GTK+
v1.2.10. Such a version is available on Xdialog's website.
- The default fixed font is now:
(removed the iso8859-1 specification).
- Implemented a custom log message handler to prevent GTK/GDK/
GLIB from using stdout as the message output.
- Added XDIALOG_NO_GMSGS environment variable support to forbid
(when TRUE) emission of GTK/GDK/GLIB messages on stderr.
- Brazillian Protuguese translation updates (courtesy of
- Upgrade to gettext-0.14.1.
v2.1.2 - Added the ESC keyboard shortcut for the CANCEL/NO button.
- Added the Indonesian, Dutch, Polish, Italian, Catalan and
- Changed Xmessage and textbox samples for compatibility with
- Updated for gettext v0.13.1.
- Added fixes in the spec file for automake bugs.
v2.1.1 - Fixed a bug in --calendar where an improper date (month) was
preset when a null parameter was passed.
- Applied a patch from Peter Breitenlohner to allow Xdialog to
build outside the source tree with VPATH.
v2.1.0 - Adapted a patch from Joerg Tretter allowing to pass optional
<hours>, <minutes> and <seconds> parameters to the --timebox.
Also made the <day>, <month> and <year> parameters of the
- The --infobox and --gauge widgets now use non-blocking read()
calls instead of scanf() ones (adapted from a patch by
Rolland Dudemaine). In case Xdialog would not compile any
more on your system (the new code needs for more BSD4.3 like
functions and some more headers), you can revert to the old
code by using the --with-scanf-calls configure option.
- Implemented the new --colorsel (suggestion from Todd Hammer)
and --fontsel widgets.
- Added an optional <status> parameter to the --check option
(following a suggestion from Hélio Cavichiolo Jr.
- Fixed a bug which made Xdialog coredump when the first row of
a --menubox was set "unselectable" (NULL tag) and when the
"OK" button was pressed without selecting another row. Thanks
to Markus Riese for reporting this bug.
- Fixed the charset for pt_BR.po and hu.po (thanks to Christian
Weisgerber for pointing this out).
- Applied a patch by "ALT Linux Team" to avoid using a
temporary file for printing and using a pipe instead (safer,
cleaner). Removed the corresponding "--with-print-tmpfile"
option from configure.in. Thanks to Stanislav Ievlev for
sending me this patch.
- New Makefile.am, doc/Makefile.am and configure.in. The doc
files are now built during the 'make all' instead of the
'make install' step. It should also fix the problems with
the bad paths to the Xdialog doc files appearing in the man
page on some systems (based on suggestions made by Peter
- Changed the URL for Xdialog website in main.c and doc.
- Documentation updates.
v2.0.6 - Added the "Hide typing" check button into input boxes when
--password option is in use.
- Corrected a bug where "unchecked" was not returned with
--check and --inputbox combination when the enter key was
pressed to close the box (bug reported by Scott Ostrander).
- Norvegian translations added (courtessy of Jostein
v2.0.5 - Corrected a bug (coredump on inexistant file passed to
tailbox and logbox) introduced in v2.0.4.
- Upgraded to gettext v0.10.40.
- Removed all references to "RedHat" and "Linux" after
"radiolist" and "checklist" samples scripts --backtitle
v2.0.4 (build 2)
- Debian packaging bug fix (missing "gettext" build dependency
v2.0.4 - Improved --tailbox and --logbox loading of files at startup
(based on a patch submitted by Christian Werner, although I
only kept his excellent idea and implemented it my own way).
The --smooth transient option disables this feature for the
--logbox (because if the file is big, it may take quite some
time to load and process, time during which no logbox menu
display update occurs...).
- A cosmetic bug corrected into --logbox (the ending newline
is removed from each line; it appeared as a space with a grey
border with XFree86 v4.1.0/GTK+ v1.2.10).
- Ensure that "unchecked" is not returned when using the
--check transient option with infobox, gauge and progress
widgets (fool proofing, as the --check option is not for use
with these widgets...).
- Better german translations, courtesy of Sven Backhausen.
- Brazilian/Portuguese translations, courtesy of Lucas
- Xdialog.wrapper changed so that the XDIALOG_FORCE_AUTOSIZE
environment variable is set to "true" (if not already set
to any value) before invoking Xdialog.
- Removed the --statistics option from msgfmt command line in
po/Makefile.in.in so to allow compilation on Solaris (this
may as well solves the compile problems on some Debian
plateforms). Problem reported by "Exile In Paradise".
- Removed unnecessary po/*.c and po/*.h from the distribution.
- Slightly improved Xdialog.spec.
- Documentation updates and improvements (including a more
complete man page).
v2.0.3 - New --ok-label and --cancel-label transient options added.
- Hungarian translations added (courtesy of Lenart Janos).
- Debianized source tree (courtesy of Lenart Janos).
- Doc. updates.
v2.0.2 (build 4)
- Spanish translations added (courtesy of Horacio Castellon).
- "make distclean" now removes "ltconfig" and "ltmain.sh" that
are put in the directory when building with "rpm" (libtoolize
is always ran by "rpm": it is plain useless here).
v2.0.2 (build 3)
- Replaced the "%make" macro with "make" so to allow the RPM
to build on RedHat systems.
- Changed doc/Xdialog.man, Makefile.am and Xdialog.spec so that
the proper installation directory names are shown in the
Xdialog man page.
v2.0.2 (build 2)
- Make use of the new gettext 0.10.38 (for a better portability
on non-GNU/Linux systems; suggested by Albert Chin-A-Young).
- Changed Xdialog.wrapper.c (samples directory) so that before
calling Xdialog, it sets the XDIALOG_HIGH_DIALOG_COMPAT
environment variable to "true" (if this variable is already
set, its contents is not overwritten though, so it is always
possible to set it to "false" if you don't like this
- Doc. updates.
v2.0.2 - A work around implemented for a getopt_long_only() bug that
often made Xdialog v2.0.0/1 to segfault on unknown options.
- Two bugs removed from the progress widget (as a result, the
"allrpms" sample script now works properly).
- New --smooth transient option added to get a smooth (flicker
free but slow) scrolling in tailbox and logbox widgets.
- "kernel" sample script changed to make use of --smooth.
- Doc. updates.
v2.0.1 (build 3)
- Support for --with-included-gettext configure option added
(patch courtesy of Albert Chin-A-Young).
v2.0.1 (build 2)
- Russian translations added (courtesy of Stanislav Ievlev).
v2.0.1 - Small compatibility fixes for compilation on non-linux
platforms (courtesy of Peter Bray).
- New --ignore-eof transient option implemented for use with
infobox and gauge widgets.
- Doc. updates.
v2.0.0 - Feature: XDIALOG_HIGH_DIALOG_COMPAT environment variable
support added (makes Xdialog even more (c)dialog compatible,
when set to TRUE).
The new XDIALOG_FORCE_AUTOSIZE and XDIALOG_INFOBOX_TIMEOUT
environment variables may also be used IOT customize Xdialog
behaviour when the high (c)dialog compatibilty mode is on.
- Feature: new --combobox widget and associated --editable
transient option implemented.
- Feature: new --spinbox, --2spinsbox and --3spinsbox widgets
- Feature: new --logbox widget and associated --time-stamp,
--date-stamp, --reverse and --keep-colors transient options
- Feature: new --no-ok transient option for use with --tailbox
and --logbox widgets.
- Feature: --beep and --beep-after transient options
implemented (cdialog compatible).
- Feature: --passwordbox widget (cdialog compatible, synonym to
--password --inputbox) implemented.
- Feature: it is now possible to place Xdialog windows at
absolute pixel coordinates on the screen (provided your
window manager lets you do so), by giving the origin into a
"-geometry"-like coordinates specification (e.g.
200x100+120+50), or by using the new --begin transient option
(in characters coordinates).
- Feature: it is now possible to maximize Xdialog widgets by
passing a -1 -1 (or -1x-1) size specification.
- Feature: the --backtitle, --button-style, --wizard,
--no-cancel, --default-no and --check options are taken into
account by (and may therefore be used with) the fselect
and dselect widgets.
- Feature: the textbox and editbox widgets do now auto-size
properly (the length of the text lines and the number of
lines are taken into account).
- Feature: the status of --checklist, --radiolist, --buildlist
and --treeview widgets items can now also be set to
"unavailable" so to make items listed but unsensitive. It
is also possible to make a --menubox item unavailable by
associating it with a null (empty string) tag.
- Feature: --default-item transient option implemented
(cdialog compatible) for --menubox.
- Feature: fake --clear option accepted alone in command line
(it does nothing, it just doesn't complain about a missing
box option), for (c)dialog compatibility
- Feature: --cr-wrap (cdialog compatible) and --no-cr-wrap
common options implemented.
- Improvement: better (faster) callback function for tailbox.
- Improvement: better calculations for box size in characters
(the size of the font actually in use is taken into account
instead of the size of the fixed font).
- Improvement: better text wrapping function (the buggy GTK+
built-in one is no more used).
- Improvement: Internationalization using gettext. French and
german translations implemented.
- Cosmetic: the help button now appears together with the OK/
Cancel/etc buttons into the fselect and dselect widgets.
- Cosmetic: Item selection scheme changed for menubox and
treeview (it is no more possible to remove the highligthing
from the last selected item).
- Cosmetic: the vertical slider in menubox/checklist/radiolist/
buildlist/treeview is no more mandatory (it is setup automa-
tically by GTK+ when actually needed).
- Bugfix: a bug fixed (introduced in v1.5.3), dealing with
simultaneous use of --check and --help transient options (the
check button was wrongly setup into the help box).
- Coding: code factorisation IOT reduce size, improve ease of
maintenance and readability. Improvements to "configure" and
sources for a better portability.
- The fixed font used by Xdialog may now be changed at compile
time thanks to the "configure" script ("./configure --help"
- Some sample scripts changed to take advantage of the textbox/
editbox auto-size feature, logbox and logbox2 sample scripts
- Doc updates and improvements.
v1.5.3 - Bug fixed (introduced in v1.5.1) that caused Xdialog
to segfault when closed while a timeout function was
updating the widget.
- The tailbox may now be closed or resized while it updates
the text in its window.
- The --gauge now updates 100 times each second (should
hopefully be enough !).
- Removed the possibility to setup a "Help" button into an
infobox (this makes no sense for a temporary widget).
- The menu/lists/tree can now auto-size when the <list/menu
height> parameter is set to 0.
- The Add/Remove buttons are now greyed out when no item
is available into the associated list (Hi Albert ! ;-).
- New --item-help (cdialog-compatible) transient option
- New --check transient option implemented.
- Some code cleanup.
- Doc updates and improvements.
- xlock-wrapper sample script added and older sample scripts
changed so to make use of the lists/menu/tree auto-size
v1.5.2 - New --progress widget added.
- New --fill common option implemented.
- Changed slightly the behaviour of --center and --right
options as a work around for the GTK+ line wrap mode bugs.
- Some code improvement (simplification).
- Doc updates and improvements (a basic man page has been
- Two samples scripts added (allrpms and format1440).
v1.5.1: - One bug corrected (introduced in v1.4.6) that made GTK to
issue warnings when using the --help option together with
the --fselect and --dselect widgets while the --button-style
was "icon" or "default".
- Much better callback timer functions for the --infobox and
the --gauge widgets (refreshes occurs more often and no
label/progress bar refresh can be missed anymore).
- New --print-maxsize special option implemented (compatible
with the cdialog option of the same name).
- Better justification scheme for <labels> in --2inputsbox,
--3inputsbox, --2rangesbox and --3rangesbox widgets. These
labels now also accept "\n" for line splitting.
- Updated and more complete documentation.
- New --with-print-* compile time customization options for
v1.5.0: - 5 new widgets:
- 2 new common options:
- 3 new transient options:
- 1 new special option:
--print-version (for cdialog compatibility).
- The <menu/list height> parameter is now taken into account.
- Better auto-sizing for some widgets.
- The <height> and <width> parameters are now actually related
to the true (fixed font) character size.
- The "Help" button may now be setup so to make Xdialog to
return (with exit code=2).
- Better parameter checking (item depth) in --treeview.
- Some re-write for cleaner code and smaller binary.
- Full HTML documentation written (as a result the README
file is no more maintained and the FAQ has been HTMLized).
v1.4.6: - Added icons for the buttons and the corresponding
- Added the "--icon" transient option (allows to display
an icon on the left of the <text> in boxes).
- Added the "--rc-file" common option (GTK theme change
v1.4.5: - Another compatibilty patch (courtesy of Albert Chin-A-Young).
- New "--no-close" and "--allow-close" common options
- New "--dselect" widget implemented.
- A wrapper for dialog and cdialog added to samples (written
from an idea of Luke Holden).
- "set-time" and "kernel" sample scripts added.
v1.4.4: - Bug fix (core dump when a bad filename was passed to the
- The <number of items> parameter is now made useless (it is
only kept for compatobility with older Xdialog versions and
with (c)dialog's <list height> parameter): the list size is
automatically calculated from the parameter list following
--menubox, --checklist, --radiolist and --treview options.
- When a usage error is encountered (bad parameters), Xdialog
now prints on stderr a small error message before its usage.
- Xmessage sample script improved, set-time script added.
- "NEWS" file removed from the distribution (NEWS is now a link
to ChangeLog) and replaced by this "ChangeLog" file into the
binary RPM package).
v1.4.3: - Bug fix (core dump when no size parameter was given for
the last common option in the command line).
- New "--wmclass" option implemented.
- The "Help" button is now available for the fselect widget.
- Print command made easily configurable at compile time.
v1.4.2: - One more bug fixed (buffer overflow when showing Xdialog
usage) and many potential buffer overflow problems prevented
using some cleaner and fool proof code.
- The number of items in menubox, checklist and radiolist
widget is no more limited (it had a 100 items limit) and only
the needed memory is allocated (makes Xdialog eats less
v1.4.1: Bug fix release (bug introduced in v1.4.0 that made Xdialog to
core-dump when an unknown option was encountered).
v1.4.0: - Many code cleanup (a lot of re-written code) that makes
Xdialog smaller (and with a smaller memory foot-print).
- New "--print" option implemented;
- New auto-size feature; xdialog now also accepts "-geometry"
like size specification (e.g. 200x100+20-0 : the +20-0 will
be ignored though, only the size is actually taken into
- textbox and editbox widgets now accepts stdin as their input
- The focus is automatically set to the text entry in inputbox
- "--menu" is now known as "--menubox" (but menu may still be
used because the abreviated options are recognized) and
"--no-button" is now "--no-buttons".
- The "--no-buttons" transient option may now also be used with
the inputbox and the textbox.
- New "--stdout" and "--stderr" common options added.
- New "--calendar" and "--timebox" options/widgets added.
v1.3.2: - Another little patch to autogen.sh (courtesy of Albert
Chin-A-Young) IOT allow Xdialog to compile without GCC.
- More code tidying.
- The percentage is now shown into the progress bar of the gauge
- When not empty, the <backtitle> label is now separated from
the <text> label by a separator.
- The "--no-tags" option is now taken into account by the menu
v1.3.1: - A bug (introduced in v1.3.0) dealing with the --help option
- compatibility patch (courtesy of Albert Chin-A-Young) IOT allow
Xdialog to compile on non-Linux/GCC UNICES.
v1.3.0: - Corrected a timeout routines related bug that sometimes made
Xdialog to core dump.
- Added the new editbox and range widgets.
- "--fixed-font" transient option added.
- New "--version" special option added.
- Closing a widget (from the window manager) now makes Xdialog
to return the 255 exit code.
This exit code is also returned when an error occurs.
- While still printed to stderr, the Xdialog usage is now also
displayed into a textbox.
- Some more code cleanup.
- Some cosmetic changes to the "yesno" and "gauge" widgets.
- Some more improvements to the samples scripts.
v1.2.2: - Added the return/KP enter keypress events recognition for
the tail; this also cured a bug where pressing these keys
after selecting the tailbox text window with the mouse
could make Xdialog to core dump.
- Bug corrected (introduced in v1.2.1) in the samples/radiolist
v1.2.1: - inputbox now accepts the return key as the end of input.
- "samples" cleanup (they now match better the Xdialog usage).
v1.2.0: Many more improvements by Thierry Godefroy <email@example.com>
(see README for the full changes list).
v1.1.0: Bug fixes, code cleanup and some improvements by Thierry
Added a --password option to make the input text all '*' à la
Created Xdialog to mimic dialog.