yad man page

yad — display GTK+ dialogs in shell scripts

Synopsis

yad [Options]

Description

YAD is a program that will display GTK+ dialogs, and return (either in the return code or on standard output) the users input. This allows you to present information, and ask for information from the user, from all manner of shell scripts.

YAD is the fork of Zenity program.

Options

This program follows the usual GNU command line syntax, with long options starting with two dashes (`-').

Dialog options

--calendar

Display calendar dialog.

--color

Display color selection dialog.

--dnd

Display drag-and-drop box.

--entry

Display text entry dialog.

--icons

Display box with shortcut icons.

--file

Display file selection dialog.

--font

Display font selection dialog.

--form

Display form dialog

--html

Display HTML dialog

--list

Display list dialog

--multi-progress

Display multi progress bars dialog.

--notebook

Display notebook dialog.

--notification

Display notification icon.

--print

Display print dialog.

--progress

Display progress indication dialog.

--text-info

Display text information dialog.

--scale

Display scale dialog.

General options

--title=TITLE

Set the dialog title.

--window-icon=ICON

Set the window icon.

--width=WIDTH

Set the dialog window width.

--height=HEIGHT

Set the dialog window height.

--posx=NUMBER

Set the X position of dialog window. NUMBER can be negative.

--posy=NUMBER

Set the Y position of dialog window. NUMBER can be negative.

--geometry=WIDTHxHEIGHT+X+Y

Use standard X Window geometry notation for placing dialog. When this option is used, width, height, posx, posy, mouse and center options are ignored. This option is obsolete for gtk3 builds.

--timeout=TIMEOUT

Set the dialog timeout in seconds.

--timeout-indicator=POSITION

Show timeout indicator in given position. Positions are top, bottom, left or right. Style of indicator may be set through the gtkrc file. See http://code.google.com/p/yad/wiki/TimeoutIndicator for details.

--kill-parent=[SIGNAL]

Send SIGNAL to parent process. Default value of SIGNAL is a SIGTERM. SIGNAL may be specified by it's number or symbolic name with or without SIG prefix. See signal(7) for details about signals.

Output X Window ID of a yad's window to the specified file or stderr.
--plug=KEY

Run dialog in plug mode for swallow as a notebook tab. See NOTEBOOK section for more.

--tabnum=NUMBER

Set the tab number for plugged dialog. See NOTEBOOK section for more.

--text=STRING

Set the dialog text.

--text-align=TYPE

Set type of dialog text justification. TYPE may be left, right, center or fill.

--image=IMAGE

Set the dialog image which appears on the left side of dialog. IMAGE might be file name or icon name from current icon theme.

--image-on-top

Show image above main widget instead of left. This option is always on for print dialog.

--icon-theme=THEME

Use specified GTK icon theme instead of default.

--expander=[TEXT]

Hide main widget with expander. TEXT is an optional argument with expander's label.

--button=BUTTON:ID

Add the dialog button. May be used multiply times. ID is an exit code or a command. BUTTON may be gtk stock item name for predefined buttons (like gtk-close or gtk-ok) or text in a form LABEL[!ICON[!TOOLTIP]] where `!' is an item separator. Full list of stock items may be found in gtk-demo program, in snippet called "Stock Items and Icon Browser". If no buttons specified OK and Cancel buttons used. See Exit Status section for more. If ID have a non-numeric value it treats like a command and click on such button doesn't close the dialog.

--no-buttons

Don't show buttons.

--buttons-layout=TYPE

Set buttons layout type. Possible types are: spread, edge, start, end or center. Default is end.

--no-markup

Don't use pango markup in dialog's text.

--no-escape

Don't close dialog if Escape was pressed.

--always-print-result

Print result for aby of the return codes. This options doesn't work if timeout was reached or Escape was pressed.

--dialog-sep

Show separator between dialog and buttons. Works only with gtk+-2.0.

--borders=NUM

Set dialog window borders.

--sticky

Make window visible on all desktops.

--fixed

Make window fixed width and height.

--center

Place window on center of screen.

--mouse

Place window under mouse position.

--on-top

Place window over other windows.

--undecorated

Make window undecorated (remove title and window borders).

--skip-taskbar

Don't show window in taskbar and pager.

--maximized

Run dialog window maximized.

--fullscreen

Run dialog in fullscreen mode. This option may not work on all window managers.

--splash

Open window with "splashscreen" window hints. For details see description of _NET_WM_WINDOW_TYPE_SPLASH in EWMH specification. The behavior of dialog with this option is HIGHLY DEPENDS on settings of your window manager.

--no-focus

Dialog window never take focus.

--close-on-unfocus

Close the dialog window when it loose the focus.

--selectable-labels

If set, user can select dialog's text and copy it to clipboard. This option also affects on label fields in form dialog.

--image-path=PATH

Add specified path to the standard list of directories for looking for icons. This option can be used multiply times.

--rest=FILENAME

Read extra arguments from given file instead of command line. Each line of a file treats as a single argument.

--response=NUMBER

Set default response value for Ctrl+Enter action.

--gtkrc=FILENAME

Read and parse additional GTK+ settings from given file. This option doesn't work with GTK+-3.x builds.

--hscroll-policy=TYPE

Set the policy type for horizontal scrollbars. TYPE can be one of the auto, always or never. Default is auto.

--vscroll-policy=TYPE

Set the policy type for vertical scrollbars. TYPE can be one of the auto, always or never. Default is auto.

--enable-spell

Enable spell checking in textview widgets

--spell-lang=LANGUAGE

Set spell checking language to LANGUAGE. By default language guesses from current locale. Use option --show-langs for get list of all possible languages.

Calendar options

--day=NUMBER

Set the calendar day.

--month=NUMBER

Set the calendar month.

--year=NUMBER

Set the calendar year.

--date-format=PATTERN

Set the format for the returned date. By default is `%x'. See strftime(3) for more details.

--show-weeks

Show the week numbers at the left side of calendar.

--details=FILENAME

Read days description from FILENAME.

File with days details must be in following format:

<date> <description>

date field is date in format, specified with --date-format option. description is a string with date details, which may include Pango markup.

Color selection options

--init-color=COLOR

Set initial color value.

--gtk-palette

Show system palette inside color dialog.

--extra

Show extra information about color in returned string.

--alpha

Add opacity to output color string.

--palette=[FILENAME]

Show palette and set predefined colors from given filename. By default used /etc/X11/rgb.txt.

--expand-palette

Expander for list of user-defined colors will be initially opened.

--mode=MODE

Set output color mode. Possible values are hex or rgb. Default is hex. HEX mode looks like #rrggbbaa, RGB mode - rgba(r, g, b, a). In RGBA mode opacity have values from 0.0 to 1.0.

Drag-and-Drop box options

--tooltip

Use dialog text as a tooltip for Drag-and-Drop box.

--command=CMD

Run command when data received. Data strings pass to command as an argument. By default data just prints to stdout.

Text entry options

--entry-label=STRING

Set the entry label text.

--entry-text=STRING

Set the initial entry text or default item in combo-box.

--hide-text

Hide the entry text.

--completion

Use completion instead of combo-box.

--complete=TYPE

Use specific type for extended completion. TYPE can be any for match any of typed words, all for match all of typed words or regex when typed text treats as regular expression.

--editable

Allow make changes to text in combo-box.

--numeric

Use spin button instead of text entry. Additional parameters in command line treats as minimum and maximum values, step value and precisions (in that order). All this values are optional. Default range is from 0 to 65535 with step 1.

--float-precision=NUMBER

Set precision of floating point numbers. By default precision is three digits after point.

--licon=IMAGE

Set an icon on a left side of entry.

--licon-action=CMD

Specify a command which will be run when the left icon clicked. Output of command will be set as entry text.

--ricon=IMAGE

Set an icon on a right side of entry.

--ricon-action=CMD

Specify a command which will be run when the right icon clicked. Output of command will be set as entry text.

--num-output

Output index of active element instead of text for combo-box entry.

Any extra data specified in command line adds as an items of combo-box entry, except of numeric mode.

If icon specified and icon action is not given, click on icon just clear the entry. Numeric fields will ignore the icons.

Iconbox options

--read-dir=PATH

Read .desktop files from specified directory.

--monitor

Watch for changes in directory and automatically update content of iconbox.

--generic

Use field GenericName instead of Name for shortcut label.

--sort-by-name

Use field Name instead of filename for sorting items.

--descend

Sort items in descending order. If data reads from stdin this option is useless without --sort-by-name.

--listen

Read data from stdin. Data must be in order - Name, Tooltip, Icon, Command, InTerm separated by newline. InTerm is a case insensitive boolean constant (TRUE or FALSE).

--item-width

Set items width.

--compact

Use compact mode. Icon and name of each item is placed in a single row.

--single-click

Activate items by single mouse click. This option may not works properly in case of compact mode.

--term

Pattern for terminal. By default use `xterm -e %s' where %s replaced by the command.

If both directory and stdin specified, content of iconbox will be read from directory.

File selection options

--filename=FILENAME

Set the filename.

--multiple

Allow selection of multiple filenames in file selection dialog.

--directory

Activate directory-only selection.

--save

Activate save mode.

--separator=STRING

Specify separator character when returning multiple filenames.

--confirm-overwrite=[TEXT]

Confirm file selection if filename already exists. Optional argument is a text for confirmation dialog.

--quoted-output

Output values will be shell-style quoted.

Font selection options

--fontname=FONTNAME

Set the initial font. FONTNAME is a string with font representation in the form "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]".

--preview

Set the preview text.

--separate-output

Separate output of selected font description.

--separator=STRING

Set output separator character. Default is `|'.

--quoted-output

Output data will be in shell-style quotes.

Form options

--field=LABEL[:TYPE]

Add field to form. Type may be H, RO, NUM, CHK, CB, CBE, CE, FL, SFL, DIR, CDIR, FN, MFL, MDIR, DT, SCL, CLR, BTN, FBTN, LBL or TXT.
H - hidden field type. All characters are displayed as the invisible char.
RO - field is in read-only mode.
NUM - field is a numeric. Initial value format for this field is VALUE[!RANGE[!STEP![PREC]]], where RANGE must be in form MIN..MAX. `!' is a default item separator. PREC is a precision for decimals.
CHK - checkbox field. Initial value is a case insensitive boolean constant (TRUE or FALSE).
CB - combo-box field. Initial value is a list VAL1!VAL2!.... The separator is the same as in NUM field. Value started with `^' threats as default for combo-box.
CBE - editable combo-box field. Initial value same as for combo-box.
CE - entry with completion. Initial value same as for combo-box.
FL - file selection button.
SFL - field for create file.
DIR - directory selection button.
CDIR - field for create folder.
FN - font selection button. Initial value same as in font dialog.
MFL - select multiple files. Value of this field is a list of files separated by item-separator.
MDIR - select multiple folders. Value of this field is a list of folders separated by item-separator.
DT - date field.
SCL - scale field. Value of this field in a range 0..100.
CLR - color selection button. Output values for this field generates in the same manner as for color dialog.
BTN - button field. Label may be in form text in a form LABEL[!ICON[!TOOLTIP]] where `!' is an item separator. LABEL is a text of button label or gtk stock id. ICON is a buttons icon (stock id or file name). TOOLTIP is an optional text for popup help string. Initial value is a command which is running when button is clicked. A special sympols %N in command are replaced by value of field N. If command starts with @, the output of command will be parsed and lines started with number and colon will be treats as a new field values. A quoting style for value when sh -c is used - a single quotes around command and double quotes around -c argument
FBTN - same as button field, but with full relief of a button.
LBL - text label. If field name is empty, horizontal separator line will be shown.
TXT - multiline text entry. This field is always occupy all of form width.

Without type field will be a simple text entry.

--align=TYPE

Set alignment of field labels. Possible types are left, center or right. Default is left.

--columns=NUMBER

Set number of columns in form. Fields will be placed from top to bottom.

--separator=STRING

Set output separator character. Default is `|'.

--focus-field=NUMBER

Set focused field.

--cycle-read

Cycled reading of stdin data. Sending FormFeed character clears the form. This symbol may be sent as echo -e '\f'.

--item-separator=STRING

Set separator character for combo-box or scale values. Default is `!'.

--date-format=PATTERN

Set the format for the date fields (same as in calendar dialog).

--float-precision=NUMBER

Set precision of floating point numbers. By default precision is three digits after point.

--complete=TYPE

Use specific type for extended completion. TYPE can be any for match any of typed words, all for match all of typed words or regex when typed text treats as regular expression.

--scroll

Make form scrollable.

--quoted-output

Output values will be in shell-style quotes.

--output-by-row

Output field values row by row if several columns is specified.

--num-output

Output index of active element instead of text for combo-box fields.

Additional data in command line interprets as a default values for form fields. A special value @disabled@ makes corresponding field inactive. If no extra arguments specified in a command line, data will be readed from stdin, one value per line. Cycled reading means that for N fields N+1 value will replace the first field. Empty values are skipped when reading from stdin.

HTML options

--uri=URI

Open specified location. URI can be a filename or internet address. If URI is not an existing file and protocol is not specified a prefix http:// will be added to URI.

--browser

Turn on browser mode. In this mode all clicked links will be opened in html widget and command Open will be added to context menu.

--print-uri

Print clicked links to standard output. By default clicked links opens with xdg-open.

--mime=MIME

Set mime type of data passed to standard input to MIME. Default is text/html.

--encodintg=ENCODING

Set encoding of data passed to standard input to ENCODING. Default is UTF-8.

--uri-handler=CMD

Set external handler for clicked uri. %s will be replaced by activated uri. Return code of the CMD must be 0 for keep working, 1 for ignoring uri and 2 for downloading uri. This option works only in browser mode. There are two environment variables available in handler - YAD_HTML_BUTTON with value of pressed mouse button and YAD_HTML_STATE with value of bitmask with the the state of the modifier keys.

--user-agent=STRING

Set user agent string. Default is YAD-Webkit (@VERSION@)

--user-style=URI

Set path or uri to custom user styles. Path to local file can be an absolute file name or uri with file:// prefix.

List options

--column=STRING[:TYPE]

Set the column header. Types are TEXT, NUM, SZ, FLT, CHK, RD, BAR, IMG, HD or TIP. TEXT type is default. Use NUM for integers and FLT for double values. TIP is used for define tooltip column. SZ size column type. Works exactly like NUM column but shows human readable sizes instead of numbers. CHK (checkboxes) and RD (radio toggle) are a boolean columns. BAR is a progress bar column. Value must be between 0 and 100. If value is outside is range it will be croped to neares legal value. HD type means a hidden column. Such columns are not displayes in the list, only in output. IMG may be path to image or icon name from currnet GTK+ icon theme. Size of icons may be set in gtk config file at GTK_ICON_SIZE_MENU position of gtk-icon-sizes. Image field prints as empty value.

Special column names @fore@, @back@ and @font@ sets corresponding rows attributes. Values of those columns don't show in results.

--checklist

Use check boxes for first column.

--radiolist

Use radio toggle for first column.

--separator=STRING

Set output separator characters.

--multiple

Allow multiple rows to be selected.

--editable

Allow changes to text.

--editable-cols=LIST

Set the list of editable columns. LIST must be a string of numbers separated by comma.

--no-headers

Do not show column headers.

--no-click

Disable sorting of column content by clicking on its header.

--no-rules-hint

Don't draw even and odd rows by a different colors. This option depends on your current gtk theme and may not work.

--grid-lines=TYPE

Draw grid lines of type TYPE in list dialog. TYPE can be one of the hor[izontal], vert[ical] of both.

--no-selection

Disable selection in list.

--print-all

Print all data from the list.

--print-column=NUMBER

Specify what column will be printed to standard output. 0 may be used to print all columns (this is default).

--hide-column=NUMBER

Hide a specific column.

--expand-column=NUMBER

Set the column expandable by default. 0 sets all columns expandable.

--search-column=NUMBER

Set the quick search column. 0 mean to disable searching. By default search mades on first column.

--tooltip-column=NUMBER

Set the column with popup tooltips.

--sep-column=NUMBER

Set the row separator column. If the cell value from this column equal to specified row separator value such row will be draw as separator. Separator value must be set.

--sep-value=TEXT

Set the TEXT as a row separator value. This feature highly depends on your current GTK+ theme and may not work properly.

--limit=NUMBER

Set the number of rows in list dialog. Will be shown only the last NUMBER rows. This option will take effect only when data reading from stdin.

--wrap-width=NUMBER

Set the width of column before wrapping to NUMBER.

--wrap-cols=LIST

Set the list of wrapped columns. LIST must be a string of numbers separated by comma.

--ellipsize=TYPE

Set ellipsize mode for text columns. TYPE may be NONE, START, MIDDLE or END.

--ellipsize-cols=LIST

Set the list of ellipsized columns. LIST must be a string of numbers separated by comma.

--dclick-action=CMD

Set the CMD as a double-click command. When user double-clicked on row, CMD will be launched with values of all columns as an arguments. By default double-click selects row and act as OK button for simple lists, set the checkbox if --checklist specified and do nothing when list run with --multiple option. When double-click specified Enter acts as a double-click and Ctrl+Enter acts as an OK button. CMD may contain a special character `%s' for setting a position for arguments. By default arguments will be concatenated to the end of CMD. If CMD starts with @, its output will replace values of current row. This option doesn't work with --editable.

--select-action=CMD

Set the CMD as a action when selection is changed. CMD will be launched with values of all columns as an arguments. CMD may contain a special character `%s' for setting a position for arguments. By default arguments will be concatenated to the end of CMD. This option doesn't work with --multiple.

--add-action=CMD

Set the CMD as a action when new row is added from a context menu. Command launched without any additional arguments. Output of this command sets the new row values.

--regex-search

Use regular expressions in search for text fields.

--listen

Listen data from stdin even if command-line values was specified.

--quoted-output

Output values will be shell-style quoted.

--float-precision=NUMBER

Set precision of floating point numbers. By default precision is three digits after point.

--add-on-top

Add new records at the top of the list.

--tail

Autoscroll to the end of the list when a new row will be added.

Sending FormFeed character to list clears it. This symbol may be sent as echo -e '\f'.

Multi progress bars dialog options

--bar=LABEL[:TYPE]

Add progress bar. LABEL is a text label for progress bar. TYPE is a progress bar type. Types are: NORM for normal progress bar, RTL for inverted progress bar and PULSE for pulsate progress bar.

--vertical

Set vertical orientation of progress bars.

--align=TYPE

Set alignment of bar labels. Possible types are left, center or right. Default is left.

--auto-close

Close dialog when 100% has been reached for all of non-pulsating progress bars.

--watch-barNUMBER

Watch for 100% of bar NUMBER for close dialog.

--auto-kill

Kill parent process if cancel button is pressed.

Initial values for bars set as an extra arguments. Each lines with progress data passed to stdin must be started from N: where N is a number of progress bar.

Notebook options

--key=KEY

Set the key of the children.

--tab=TEXT

Add tab with specified label to notebook. TEXT may be in a form LABEL[!ICON[!TOOLTIP]] where `!' is an item separator.

--tab-pos=TYPE

Set the tabs position. Value may be top, bottom, left, or right. Default is  top.

--tab-borders=NUMBER

Set the borders width around widget in tabs.

--active-tab=NUMBER

Set active tab.

See NOTEBOOK and PANED section for more about notebook dialog.

Notification options

--command=CMD

Set the command running when clicked on the icon. Default action is quit if --listen not specified.

--listen

Listen for commands on stdin. See Notification section.

--separator=STRING

Set separator character for menu values. Default is |.

--item-separator=STRING

Set separator character for menu items. Default is !.

--menu=STRING

Set initial menu for right-click.

--no-middle

Disable exit on middle click.

--hidden

Doesn't show icon at startup.

See Notification section for more about separators.

Paned options

--key=KEY

Set the key of the children.

--orient=TYPE

Set orientation of panes inside dialog. TYPE may be in hor[izontal] or vert[ical].

--splitter=POS

Set the initial splitter position.

See NOTEBOOK and PANED section for more about paned dialog.

Picture options

--size=VALUE

Set initial size of picture. Available values are fit for fitting image in window or orig for show picture in original size.

--inc=NUMBER

Set increment value for scaling image.

--filename=FILENAME

Set picture filename.

Some actions on a picture like scaling or rotating available from popup menu. Those actions can be made only on static images.

Print options

--type=TYPE

Set source file type. TYPE may be a TEXT for text files, IMAGE for image files or RAW for files in postscript or pdf formats.

--filename=FILENAME

Set name or path to the source file.

--headers

Add headers to the top of page with filename and page number. This option doesn't work for RAW type.

--add-preview

Add Preview button to the print dialog. This option doesn't work for RAW type.

--fontname=FONTNAME

Set the font for printing text. FONTNAME is a string with font representation in the form "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]". This option works only for TEXT type.

Progress options

When the --progress option is used, yad reads lines of progress data from stdin. When the lines begin with # the text after # is displayed in the progress bar label. Numeric values treats like a persents for progress bar.

--progress-text=TEXT

Set text in progress bar to TEXT.

--percentage=NUMBER

Set initial percentage.

--rtl

Set Right-To-Left progress bar direction.

--auto-close

Close dialog when 100% has been reached.

--auto-kill

Kill parent process if cancel button is pressed.

--pulsate

Pulsate progress bar.

--enable-log[=TEXT]

Show log window. This window gathers all of lines from stdin, started from # instead of setting appropriate progress labels. Optional argument TEXT is a text label for window expander.

--log-on-top

Place log window above progress bar.

--log-expanded

Start with expanded log window.

--log-height

Set the height of log window.

Multiprogress options

--bar=LABEL[:TYPE]

Add the progress bar with type TYPE. TYPE can be one of the norm for average progress bar, rtl for progress bar with inverted direction, pulse for pulsating progress bar (m,oves on receiving data) or perm for permanent pulsatin progress bar. prem progress bar understant two commands - start for start movement and stop for stop it.

--watch-bar=NUMBER

Watch for specific bar for auto closing.

--align=TYPE

Set alignment of bar labels. TYPE can be left, center or right.

--auto-close

Dismiss the dialog when 100% of all bars (or only watching bar) has been reached.

--auto-kill

Kill parent process if cancel button was pressed.

Text info options

--filename=FILENAME

Open specified file.

--editable

Allow changes to text.

--fore=COLOR

Set foreground color of text.

--back=COLOR

Set background color of text.

--fontname=FONTNAME

Set text font. FONTNAME must be in a Pango font description format. By default Monospace is used.

--wrap

Enable text wrapping.

--justify=TYPE

Set justification. TYPE may be left, right, center or fill. Default is left.

--margins=NUMBER

Set text margins to NUMBER.

--tail

Autoscroll to end when new text appears. Works only when text is read from stdin.

--show-cursor

Show cursor in read-only mode.

--show-uri

Make links in text clickable. Links opens with xdg-open command.

--uri-color

Set color for links. Default is blue.

--lang=LANGUAGE

Highlight syntax for specified LANGUAGE. This option works only if yad builds with gtksourceview.

--theme=THEME

Set used theme to THEME. This option works only if yad builds with gtksourceview. Use option --show-themes for get list of all available themes.

--listen

Listen data from stdin even if filename was specified.

Sending FormFeed character to text dialog clears it. This symbol may be sent as echo -e '\f'. Pressing Ctrl+S popups the search entry in text dialog.

Scale options

--value=VALUE

Set initial value.

--min-value=VALUE

Set minimum value.

--max-value=VALUE

Set maximum value.

--step=VALUE

Set step size.

--page=VALUE

Set paging size. By default page value is STEP*10.

--print-partial

Print partial values.

--hide-value

Hide value.

--vertical

Show vertical scale.

--invert

Invert scale direction.

--inc-buttons

Show buttons on edges of a scale for increasing or decreasing scale value.

--mark=[NAME]:VALUE

Add a mark to scale. May be used multiply times. NAME is an optional arguments for set label to mark.

File filters options

--file-filter=NAME | PATTERN1 PATTERN2 ...

Add a filename filter. NAME is a displayed filter name, PATTERN is a shell-style filename pattern (for example *.txt). This option may be used multiply times.

--mime-filter=NAME | MIME1 MIME2 ...

Add a mime-type filter. NAME is a displayed filter name, PATTERN is a name of mime type (for example text/plain). This option may be used multiply times.

--image-filter=[NAME]

Add filter for images supported by gdk-pixbuf library. NAME in as optional name for this filter.

--add-preview

Add preview widget. Preview images loads from large or normal thumbnails according to XDG Thumbnails specification v0.8.0 (http://standards.freedesktop.org/thumbnail-spec/latest/) or creates by yad for image files and saves as large thumbnails.

This options applies to all of yad's file chooser dialogs.

Miscellaneous options

-?, --help

Show summary of options.

--about

Display an about dialog.

--version

Show version of program.

--show-langs

Show list of possible languages for spell checking. Available only if yad builds with GtkSpell support.

--show-themes

Show list of possible GtkSourceView themes. Available only if yad builds with GtkSourceView support.

Also the standard GTK+ options are accepted.

NOTEBOOK and PANED

Notebook is a complex dialog which swallow other dialogs in his tabs. Dialogs identifies by unique key (integer) and must be runs in a special plug mode (--plug option). Following example runs notebook dialog with two tabs, first has a simple text and second is an entry dialog.

#! /bin/sh

yad --plug=12345 --tabnum=1 --text="first tab with text" &> res1 &
yad --plug=12345 --tabnum=2 --text="second tab" --entry &> res2 &
yad --notebook --key=12345 --tab="Tab 1" --tab="Tab 2"

NOTE: The order of output results for tabs is undefined!

Paned works in a same manner as a notebook with one restriction - only first and secong plug dialogs will be swallowed to panes.

Notification

Allows commands to be sent to yad in the form command:args. Possible commands are icon, tooltip, visible, action, menu and quit.

icon:ICONNAME

Set notification icon to ICONNAME.

tooltip:STRING

Set notification tooltip.

visible:[true|false|blink]

Set notification icon to visible, invisible or blinking states.

action:COMMAND

Specify the command running when click on the icon. Special string "quit" exit the program.

menu:STRING

Set popup menu for notification icon. STRING must be in form name1[!action1[!icon1]]|name2[!action2[!icon2]].... Empty name add separator to menu. Separator character for values (e.g. `|') sets with --separator argument. Separator character for menu items (e.g. `!') sets with --item-separator argument.

quit

Exit the program. Middle click on icon also send quit command.

Environment Variables

YAD_OPTIONS

This variable can holds some default options for yad. All options in this variable may be redefined from command line.

YAD_PID

This variable sets to the value of current dialog's pid and accessible in all dialog children.

YAD_XID

This variable sets to the value of current dialog's X Window ID and accessible in all dialog children. This variable is not set in print and notification dialogs, and in a dialogs which acts as a notebook children.

User Defined Signals

SIGUSR1

Close dialog with 0 exit code.

SIGUSR2

Close dialog with 1 exit code.

Exit Status

0

The user has pressed OK button

1

The user has pressed Cancel button

70

The dialog has been closed because the timeout has been reached.

252

The dialog has been closed by pressing Esc or used the window functions to close the dialog

Exit codes for user-specified buttons must be specified in command line. Even exit code mean to print result, odd just return exit code.

Widgets Names

The look and feel of yad's dialogs can be customized through gtkrc file. Here is the names of yad's widgets:
Widget name Widget type Description
yad-dialog-window GtkDialog Dialog window
yad-dialog-image GtkImage Dialog image
yad-dialog-label GtkLabel Dialog text
yad-calendar-widget GtkCalendar Calendar widget
yad-color-widget GtkColorChooser Color selection widget
yad-color-palette GtkTreeView Predefined colors list
yad-entry-label GtkLabel Entry label
yad-entry-widget GtkEntry Entry widget
yad-entry-spin GtkSpinButton Entry widget for numeric values
yad-entry-combo GtkComboBox Entry widget with combo
yad-entry-edit-combo GtkComboBoxEntry Entry widget with editable combo
yad-file-widget GtkFileChooser File selection widget
yad-font-widget GtkFontChooser Font selection widget
yad-form-flabel GtkLabel Field label in form
yad-form-button GtkButton Button field in form
yad-form-entry GtkEntrfy Entry field in form
yad-form-spin GtkSpinButton Numeric entry field in form
yad-form-check GtkCheckButton Checkbox field in form
yad-form-combo GtkComboBox Combo field in form
yad-form-edit-combo GtkComboBoxEntry Editable combo field in form
yad-form-file GtkFileChooserButton File or directory field in form
yad-form-font GtkFontChooserButton Font field in form
yad-form-color GtkColorChooserButton Color field in form
yad-form-label GtkLabel Label field in form
yad-form-scale GtkScale Scale widget in form
yad-form-separator GtkSeparator Separator in form
yad-form-text GtkTextView Multiline text field in form
yad-icons-full GtkIconView Icons widget for normal mode
yad-icons-compact GtkTreeView Icons widget for compact mode
yad-list-widget GtkTreeView List widget
yad-notebook-widget GtkNotebook Notebook widget
yad-paned-widget GtkPaned Horizontal or vertical pane widget
yad-progress-widget GtkProgressBar Progressbar widget
yad-scale-widget GtkScale Scale widget
yad-text-widget GtkTextView Text info widget
yad-timeout-indicator GtkProgreeBar Timeout indicator

Files

yad.conf

YAD default settings. yad.conf placed in $XDG_CONFIG_HOME or $HOME/.config directory. This file contain comments on every defaults and will be automatically recreated on yad'd start if it doesn't exists.

Examples

Display a file selector with the title Select a file to remove. The file selected is returned on standard output.

yad  --title="Select a file to remove" --file-selection

Display a text entry dialog with the title Select Host and the text Select the host you would like to flood-ping. The entered text is returned on standard output.

yad  --title "Select Host" --entry --text "Select the host you would like to flood-ping"

Display a dialog, asking Microsoft Windows has been found! Would you like to remove it?. The return code will be 0 (true in shell) if YES is selected, and 1 (false) if NO is selected.

yad  --image "dialog-question" --title "Alert" --button=gtk-yes:0 --button=gtk-no:1 --text "Microsoft Windows has been found! Would you like to remove it?"

Show the search results in a list dialog with the title Search Results and the text Finding all header files....

find . -name '*.h' | yad --list --title "Search Results" --text "Finding all header files.." --column "Files"

Show an icon in the notification area

yad --notification --image=update.png --text "System update necessary!" --command "xterm -e apt-get upgrade"

Display a weekly shopping list in a check list dialog with Apples and Oranges pre selected

yad --list --checklist --column "Buy" --column "Item" TRUE Apples TRUE Oranges FALSE Pears FALSE Toothpaste

Display a progress dialog while searching for all the postscript files in your home directory

find $HOME -name '*.ps' | yad --progress --pulsate

Display a box with all of the installed desktop applications

yad --icons --read-dir=/usr/share/applications

Development

There are some developers features providing with YAD.

YAD icon browser is a graphical tool for discover icons in current or user-specified GTK+ icon theme. Launch it as

yad-icon-browser [theme]

When using autoconf you may use special m4 macro AM_PATH_YAD for looking for yad and check it version. Usage of this macro is

AM_PATH_YAD([MINIMUM-VERSION],\ [ACTION-IF-FOUND],\ [ACTION-IF-NOT-FOUND])

Authors

Yad was written by Victor Ananjevsky <ananasik@gmail.com>. Yad icon created by Bogdan Lisovich.

See Also

gdialog(1), dialog(1), zenity(1)

Info

February 8, 2017