Xdialog — средство X Window System, заменяющее программы dialog и cdialog и предназначенное для придания запускаемым из терминала программам X Window System интерфейса. Использует Gimp ToolKit (GTK+).
Xdialog [общие опции] [переходные опции] опции окна …
или
Xdialog спецопции
Последовательность [общие опции] [переходные опции] опции окна может повторяться несколько раз в одной команде Xdialog (это называется диалоговое сцепление).
Применяются ко всем последующим вхождениям опций окна до появления следующего набора общих опций. В основном, определяют вид, стиль, положение и поведение меню.
--wmclass имя
--rc-file имя_файла_gtkrc
--backtitle backtitle
--title заголовок
--allow-close | --no-close
--screen-center | --under-mouse | --auto-placement
--center | --right | --left | --fill
--no-wrap | --wrap
--cr-wrap | --no-cr-wrap
--stderr | --stdout
--separator символ | --separate-output
--buttons-style default|icon|text
Действуют только на ближайший (следующий) набор опций окна. Используются для настройки интерфейсных элементов окна (виджетов), а именно числа и типа кнопок, иконки меню, переключения некоторых специфических свойств интерфейсных элементов окна.
--fixed-font | Используется вместе с --textbox и --editbox. |
--password --password=1|2 | Может повторяться 2 или 3 раза перед --2inputsbox или --3inputsbox. Также возможно определить одно и только одно поле пароля с синтаксисом --password=1|2 |
--editable | Предназначена для использования с --combobox. |
--time-stamp --date-stamp | Для использования с --logbox. |
--reverse | Для использования с --logbox. |
--keep-colors | Для использования с --logbox. |
--interval время_ожидания_события | Может использоваться с полями ввода (input(s) boxes), комбинированными управляющими элементами (combo box), полями диапазонов (range(s) boxes), окошками счетчиков (spin(s) boxes), окнами списков (list boxes), полем меню (menu box), «древом» (treeview), календарем (calendar) и полем времени (timebox). |
--timeout время_ожидания_события (в секундах) | Используется со всеми элементами, кроме поля информации (infobox), индикатора (gauge) и индикатора прогресса (progress). |
--no-tags | Предназначена для использования с --menubox, --checklist и --radiolist. |
--item-help | При использовании этой опции параметры helpN опций --menubox, --checklist, --radiolist, --buildlist и --treeview должны быть обязательно определены. |
--default-item tag | Используется с --menubox. |
--icon имя_файла_xpm | Используется с элементом, принимающим параметр текст. |
--no-ok | Для использования с --tailbox и --logbox. |
--no-cancel | Для использования с --infobox, --gauge и --progress. |
--no-buttons | Для использования с --textbox, --tailbox, --logbox, --infobox, --fselect и --dselect. |
--default-no | Может использоваться со всеми интерфейсными элементами окна, содержащими кнопки Отмена (Cancel) или Нет (No). Игнорируется при использовании опции --wizard. |
--wizard | Может использоваться со всеми элементами, кроме --msgbox, --infobox, --gauge и --progress. |
--help помощь | Может использоваться со всеми элементами, кроме --infobox, --gauge и --progress. |
--print принтер | Для использования с --tailbox, --textbox и --editbox. |
--check метка [статус] | Может использоваться со всеми элементами, кроме --infobox, --gauge и --progress. |
--ok-label метка | Может использоваться со всеми интерфейсными элементами окна, содержащими кнопки OK или Да (Yes). Игнорируется при использовании опции --wizard. |
--cancel-label метка | Может использоваться со всеми интерфейсными элементами окна, содержащими кнопки Отмена (Cancel) или Нет (No). Игнорируется при использовании опции --wizard. |
--beep | Используется со всеми элементами. |
--beep-after | Используется со всеми элементами. |
--begin Yorg Xorg | Используется со всеми элементами. |
--ignore-eof | Используется с --infobox и --gauge. |
--smooth | Для использования с --tailbox и --logbox. |
Определяют, какой интерфейсный элемент окна должен использоваться. За опцией следует 3 параметра. Первый параметр — текстовая строка или имя файла (в зависимости от элемента). Второй и третий — высота и ширина в символах. Эти два параметра могут быть заменены одним XSIZE×YSIZE, в котором высота и ширина уже определяются в пикселах. Если в этих параметрах передать размер 0×0, то элемент масштабируется автоматически средствами GTK+. Если передан размер -1×-1, то элемент растянется на весь экран. Можно задавать также положение «начала» окна при помощи промежуточной опции --begin, если размер задан в символах. Некоторые опции окна требуют дополнительных параметров, таких как тэги, элементы меню, метки и значения по умолчанию.
--yesno текст высота ширина
--msgbox текст высота ширина
--infobox текст высота ширина [таймаут]
--gauge текст высота ширина [процент]
--progress текст высота ширина [макс.точек %%длина_сообщ
--inputbox текст высота ширина [нач.знач.]
--2inputsbox текст высота ширина метка1 нач.знач1 метка2 нач.знач2
--3inputsbox текст высота ширина метка1 нач.знач1 метка2 нач.знач2 метка3 нач.знач3
--combobox текст высота ширина пункт1 … пунктN
--rangebox текст высота ширина мин.знач. макс.знач. [знач.по-умолч.]
--2rangesbox текст высота ширина метка1 мин1 макс1 по-умолч1 метка2 мин2 макс2 по-умолч2
--3rangesbox текст высота ширина метка1 мин1 макс1 по-умолч1 метка2 мин2 макс2 по-умолч2 метка3 мин3 макс3 по-умолч3
--spinbox текст высота ширина мин макс по-умолч метка
--2spinsbox текст высота ширина мин1 макс1 по-умолч1 метка1 мин2 макс2 по-умолч2 метка2
--3spinsbox текст высота ширина мин1 макс1 по-умолч1 метка1 мин2 макс2 по-умолч2 метка2 мин3 макс3 по-умолч3 метка3
--textbox файл высота ширина
--editbox файл высота ширина
--tailbox файл высота ширина
--logbox файл высота ширина
--menubox текст высота ширина высота_меню ярлык1 пункт1 {помощь1}…
--checklist текст высота ширина высота_списка ярлык1 пункт1 статус1 {помощь1}…
--radiolist текст высота ширина высота_списка ярлык1 пункт1 статус1 {помощь1}…
--buildlist текст высота ширина высота_списка ярлык1 пункт1 статус1 {помощь1}…
--treeview текст высота ширина высота_списка ярлык1 пункт1 статус1 пункт_глубины1 {помощь1}…
--fselect файл высота ширина
--dselect папка высота ширина
--colorsel текст высота ширина [красный зелёный синий]
--fontsel имя_шрифта высота ширина
--calendar текст высота ширина [день месяц год]
--timebox текст высота ширина [часы минуты секунды]
Специальные опции не требуют параметров и других опций. Они заставляют Xdialog просто вывести строку на стандартное устройство вывода сообщений об ошибках (stderr). После этого Xdialog немедленно завершается с кодом выхода 0.
--version | Выводит номер версии. |
--print-version | Выводит номер версии в совместимом с программой cdialog формате. |
--print-maxsize | Выводит максимальный размер меню в символах. |
По завершение каждого блока опций окна (т.е. каждый раз, когда закрывается интерфейсный элемент) Xdialog посылает результат в виде текста или чисел на стандартное устройство вывода сообщений об ошибках (stderr) или стандартное устройство вывода (stdout), если применена соответствующая общая опция, в виде одной или нескольких строк. Xdialog завершается либо по завершение всей цепи диалогов, либо при возникновении ошибки. В любом случае возвращается код выхода, который может принимать следующие значения:
Как только очередной интерфейсный элемент возвращает ненулевой код выхода, цепь диалогов прерывается, и Xdialog завершается.
Файлы программы размещены по адресам:
/usr/local/bin/Xdialog
/usr/local/share/locale/*/LC_MESSAGES/Xdialog.mo
/usr/local/man/man1/Xdialog.1*
/usr/local/share/doc/Xdialog-2.3.1/*
— полная система документации
/usr/local/share/doc/Xdialog-2.3.1/samples/*
— примеры использования
XDIALOG_HIGH_DIALOG_COMPAT
включает режим высокой совместимости с программой cdialog при присвоении значения 1
или true
(чувствительно к регистру). При этом:
моноширинный
) шрифт;XDIALOG_FORCE_AUTOSIZE
присвоено значение 1
или true
, включается свойство автомасштабирования;textbox
и tailbox
;infobox
превращен в msgbox
,infobox
(переменная XDIALOG_INFOBOX_TIMEOUT
, которой присваивается значение в тысячных долях секунды), а в противном случае используется infobox
без кнопки;
XDIALOG_FORCE_AUTOSIZE
XDIALOG_INFOBOX_TIMEOUT
XDIALOG_NO_GMSGS
предотвращает отправку сообщений через g_log()
библиотекой Gdk, GLib и Gtk.
Авторы: Alfred Reynolds alfred@cyberone.com.au (только v1.0) и Thierry Godefroy xdialog@free.fr (начиная с версии v1.1.0).
Составлено на основе файла Xdialog.htm