Permalink
Fetching contributors…
Cannot retrieve contributors at this time
114 lines (87 sloc) 4.23 KB
UI-Dialog
=========
UI::Dialog is a OOPerl wrapper for the various dialog applications. These
dialog backends are currently supported: Zenity, GDialog, XDialog, KDialog,
CDialog, and Whiptail. There is also an ASCII backend provided as a last
resort interface for the console based dialog variants. UI::Dialog is a
class that provides a strict interface to these various backend modules.
By using UI:Dialog (with it's imposed limitations on the widgets) you can
ensure that your Perl program will function with any available interfaces.
UI::Dialog supports priority ordering of the backend detection process. So
if you'd prefer that Xdialog should be used first if available, simply
designate the desired order when creating the new object. The default order
for detecting and utilization of the backends are as follows:
(with DISPLAY env): Zenity, GDialog, XDialog, KDialog
(without DISPLAY): CDialog, Whiptail, ASCII
INSTALLATION
------------
To install this module type the following:
perl Makefile.PL
make
make test
make install
SPECIAL NOTES
-------------
This release of UI::Dialog fundamentally changes how some internal mechanics
function, namely the new `trust-input` behaviour for handling argument input
(not user-input but rather programmer input). Every backend needed to have
core functionality altered for this release and while the author has tried
their best to test all the backends as thoroughly as possible; this has
proven to require more time than they could invest.
Developers should not need to adjust their use of UI::Dialog unless they
need to enable the `trust-input` feature. See `examples/trust-input.pl` for
example usage (or check the unit-tests, most have been updated for this
specific feature).
In the end, this release considers the XDialog backend to be "untested"
and it is entirely possible that this backend is fundamentally broken at
this time. XDialog is untested because it's unbuildable on Debian Jessie.
This is a whole different problem, well beyond the scope of this release.
In addition to XDialog, KDialog is also considered untested and potentially
broken in fundamental ways.
If you use either of these backends, or are just willing to help, please
try the backends out (with this release of UI::Dialog) however you can.
Detailed bugreports are very welcome. Unit tests, patches and anything
else that can help the project along are even more appreciated. Please
use the GitHub issue tracker[0] (or CPAN request tracker[1]) to provide
your reports.
[0] https://github.com/kckrinke/ui-dialog/issues
[1] https://rt.cpan.org/Public/Dist/Display.html?Name=UI-Dialog
These backends are of value and priority to UI::Dialog and given feedback,
a followup bugfix release of UI::Dialog will be pushed out in a higher
priority fashion. However, given little or no feedback, the assumption will
be that either nobody uses these backends (highly doubted) or that they
are functional as-is and not needing any fixes.
PROVIDES
--------
This module provides these classes, each with it's own perldoc:
UI::Dialog
UI::Dialog::Backend
UI::Dialog::Backend::ASCII
UI::Dialog::Backend::CDialog
UI::Dialog::Backend::GDialog
UI::Dialog::Backend::KDialog
UI::Dialog::Backend::Nautilus
UI::Dialog::Backend::NotifySend
UI::Dialog::Backend::Whiptail
UI::Dialog::Backend::XDialog
UI::Dialog::Backend::XOSD
UI::Dialog::Backend::Zenity
UI::Dialog::Console
UI::Dialog::GNOME
UI::Dialog::KDE
UI::Dialog::Screen::Menu
UI::Dialog::Screen::Druid
COPYRIGHT AND LICENCE
---------------------
Copyright (C) 2004-2016 Kevin C. Krinke <kevin@krinke.ca>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA