YAD(1)

okay bestie, welcome to YAD(1) β€” the User Commands page for yad, and it's literally giving iconic shell-script-dialog energy. grab a lil snack, we're going through every option together πŸ’…

✨ NAME ✨

yad β€” display GTK+ dialogs from shell scripts or command-line. yes, that's the whole vibe: GTK+ dialogs, but make it scriptable 🫢

🌸 SYNOPSIS 🌸

yad [OPTIONS]

πŸ’– DESCRIPTION πŸ’–

YAD is a program that displays GTK+ dialogs and returns the user's input β€” either in the return code or on standard output. so you can present information to the user and ask for information back from, like, all manner of shell scripts. main character energy fr fr ✨

YAD is the fork of the Zenity program. no cap.

πŸ‘‘ OPTIONS πŸ‘‘

bestie, this program follows the usual GNU command line syntax, with long options starting with two dashes. okay so let's go πŸ‘‡

πŸŽ€ Dialog options πŸŽ€

  • --about β€” display the about dialog.
  • --app β€” display the application selection dialog.
  • --calendar β€” display the calendar dialog.
  • --color β€” display the color selection dialog.
  • --dnd β€” display a drag-and-drop box.
  • --entry β€” display the text entry dialog.
  • --icons β€” display a box with shortcut icons.
  • --file β€” display the file selection dialog.
  • --font β€” display the font selection dialog.
  • --form β€” display the form dialog.
  • --html β€” display the HTML dialog.
  • --list β€” display the list dialog.
  • --notebook β€” display the notebook dialog.
  • --notification β€” display the notification icon.
  • --appindicator β€” display the appindicator icon.
  • --popup β€” display a popup message dialog.
  • --print β€” display the print dialog.
  • --progress β€” display the progress indication dialog.
  • --scale β€” display the scale dialog.
  • --text-info β€” display the text information 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 the dialog window. NUMBER can be negative.
  • --posy=NUMBER β€” set the Y position of the dialog window. NUMBER can be negative.
  • --geometry=WIDTHxHEIGHT+X+Y β€” use standard X Window geometry notation for placing the dialog. when this option is used, the width, height, posx, posy, mouse and center options are ignored. periodt.
  • --timeout=TIMEOUT β€” set the dialog timeout in seconds.
  • --timeout-indicator=POSITION β€” show the timeout indicator in the given position. positions are top, bottom, left or right. style of the indicator may be set through the user's CSS styles.
  • --kill-parent=[SIGNAL] β€” send SIGNAL to the parent process. default value of SIGNAL is a SIGTERM. SIGNAL may be specified by its number or symbolic name with or without the SIG prefix. see signal(7) for details about signals.
  • --print-xid=[FILENAME] β€” output the X Window ID of a yad's window to the specified file or to stderr.
  • --plug=KEY β€” run the dialog in plug mode for swallow as a notebook tab. see the NOTEBOOK section for more.
  • --tabnum=NUMBER β€” set the tab number for the plugged dialog. see the NOTEBOOK section for more.
  • --text=STRING β€” set the dialog text.
  • --text-width=NUMBER β€” set the maximum dialog text width in characters.
  • --text-align=TYPE β€” set the 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 the dialog's text. IMAGE might be a file name or an icon name from the current icon theme.
  • --icon-theme=THEME β€” use the specified GTK icon theme instead of the default.
  • --keep-icon-size β€” don't scale icons. this option affects icons outside the icon theme.
  • --expander=[TEXT] β€” hide the main widget with an expander. TEXT is an optional argument with the expander's label.
  • --button=BUTTON:ID β€” add a dialog button. may be used multiple times. ID is an exit code or a command. BUTTON may be a yad stock item name for predefined buttons (like yad-close or yad-ok) or text in the form LABEL[!ICON[!TOOLTIP]] where ! is an item separator. full list of stock items may be found in the STOCK ITEMS section. if no buttons are specified, OK and Cancel buttons are used. see the EXIT STATUS section for more. if ID has a non-numeric value it's treated as a command, and clicking on such a button doesn't close the dialog.
  • --no-buttons β€” don't show buttons.
  • --buttons-layout=TYPE β€” set the buttons layout type. possible types are spread, edge, start, end or center. default is end.
  • --no-markup β€” don't use pango markup in the dialog's text.
  • --no-escape β€” don't close the dialog if Escape was pressed.
  • --escape-ok β€” Escape acts like pressing the OK button.
  • --always-print-result β€” print the result for any of the return codes. this option doesn't work if timeout was reached or Escape was pressed.
  • --use-interp=[INTERP] β€” all commands run under the specified interpreter. default is bash -c "%s". this option can reduce quoting in commands. if %s is specified, it will be replaced by the command. otherwise the command will be appended to the end of the command line.
  • --uri-handler=CMD β€” use CMD as the uri handler. by default yad uses the open-command parameter from settings. the URI replaces %s in the command string or is added as the last part of the command line.
  • --f1-action=CMD β€” set the command running when F1 was pressed.
  • --workdir=PATH β€” set the current working directory to PATH.
  • --borders=NUM β€” set the dialog window borders.
  • --sticky β€” make the window visible on all desktops.
  • --fixed β€” make the window fixed width and height.
  • --center β€” place the window in the center of the screen.
  • --mouse β€” place the window under the mouse position.
  • --on-top β€” place the window over other windows.
  • --undecorated β€” make the window undecorated (remove title and window borders).
  • --skip-taskbar β€” don't show the window in the taskbar and pager.
  • --maximized β€” run the dialog window maximized.
  • --fullscreen β€” run the dialog in fullscreen mode. this option may not work on all window managers.
  • --window-type=TYPE β€” create a window with the specified window type. TYPE can be one of normal, dialog, utility, dock, desktop, tooltip, notification or splash. the behavior of each window type depends on your window manager. see the EWMH specification for details.
NOTE: Tiling window managers will often float a "dialog" window but tile a "normal" window.
  • --no-focus β€” the dialog window never takes focus.
  • --close-on-unfocus β€” close the dialog window when it loses focus.
  • --selectable-labels β€” if set, the user can select the dialog's text and copy it to the clipboard. this option also affects label fields in the form dialog.
  • --image-path=PATH β€” add the specified path to the standard list of directories for looking for icons. this option can be used multiple times.
  • --rest=FILENAME β€” read extra arguments from the given file instead of the command line. each line of the file is treated as a single argument.
  • --response=NUMBER β€” set the default exit code to NUMBER instead of 0.
  • --css=STRING β€” read and parse additional GTK+ CSS styles from the given data. if STRING is a filename, the content of the file is loaded. if not, STRING is treated like CSS data.
  • --gtkrc=FILENAME (Deprecated) β€” read and parse additional GTK+ CSS styles from the given file. this option is deprecated. use --css instead.
  • --hscroll-policy=TYPE β€” set the policy type for horizontal scrollbars. TYPE can be one of auto, always or never. default is auto.
  • --vscroll-policy=TYPE β€” set the policy type for vertical scrollbars. TYPE can be one of 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 the language is guessed from the current locale. use yad-tools(1) to get a list of all possible languages.
  • --bool-fmt=TYPE β€” set the output type of boolean values to TYPE. possible types are T, t, Y, y, O, o and 1. T and t are for the true/false pair in the appropriate case. Y and y are for the yes/no pair in the appropriate case. O and o are for the on/off pair in the appropriate case. 1 is for the 1/0 pair.
  • --write-settings β€” write yad settings to a file. see the SETTINGS section.

πŸ’… Custom about dialog options πŸ’…

  • --pname=STRING β€” set the program name.
  • --image=IMAGE β€” set the program icon name.
  • --pversion=STRING β€” set the program version string.
  • --copyright=STRING β€” set the program copyright string.
  • --comments=STRING β€” set the program detailed description.
  • --license=STRING β€” set the program license. the value of this option can be one of the predefined licenses (GPL2, GPL3, LGPL2, LGPL3, BSD, MIT or ARTISTIC), a file name with license text, or an arbitrary string.
  • --authors=STRING β€” set the list of program authors separated by comma.
  • --website=URI β€” set a link to the program website.
  • --website-label=LABEL β€” set a label for the program website link.

πŸ¦‹ Application selection options πŸ¦‹

  • --enable-fallback β€” show fallback applications.
  • --enable-other β€” show other applications.
  • --enable-all β€” show all available applications.
  • --extened β€” shown extended information about the chosen application. by default only the executable is shown. in extended form the output fields are name, display name, description, icon and executable.

additional argument for the application dialog is a mime-type. if the mime-type is not specified, text/plain will be used.

πŸ“ 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 it's %x. see strftime(3) for more details.
  • --show-weeks β€” show the week numbers at the left side of the calendar.
  • --details=FILENAME β€” read days description from FILENAME.

the file with days details must be in the following format:

<date> <description>

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

  • --select-action=COMMAND β€” run the specified command on selecting a date. the selected date is added at the end of a command in the form YEAR MONTH DAY.

🎨 Color selection options 🎨

  • --init-color=COLOR β€” sets the starting color value, so the dialog opens already showing the color you picked. πŸ’–
  • --gtk-palette β€” shows the system palette inside the color dialog. Heads up: on GTK+3 builds this option shows the palette instead of the color editor, okay? different vibe, still cute.
  • --picker β€” adds a screen color picker button, so you can just go grab a color off your screen. obsessed. ✨
  • --alpha β€” adds opacity to the output color string. transparency slay.
  • --palette=[FILENAME] β€” shows a palette and sets predefined colors from the filename you give it. If you don't give one, yad uses /etc/X11/rgb.txt by default. no cap.
  • --expand-palette β€” the expander for the list of user-defined colors will be initially opened. so it starts unfolded, ready to go 🫢
  • --mode=MODE β€” sets the output color mode. Possible values are hex or rgb, and the default is hex. HEX mode looks like #rrggbbaa, and RGB mode looks like rgba(r, g, b, a). In RGBA mode opacity has values from 0.0 to 1.0 β€” literally decimals, not 0–255. πŸ’…

πŸ–±οΈ Drag-and-Drop box options πŸ–±οΈ

  • --tooltip β€” uses the dialog text as a tooltip for the Drag-and-Drop box. hover and learn, bestie.
  • --command=CMD β€” runs the command when data is received. Data strings pass to the command as an argument, or they replace the %s modifier in the command. By default the data just prints to stdout. simple as that.
  • --exit-on-drop=NUMBER β€” exits after NUMBER drops were reached. And 0 means an infinite number of drops β€” that's the default, so it just keeps going forever unless you say otherwise. πŸ”₯

⌨️ Text entry options ⌨️

  • --entry-label=STRING β€” sets the entry label text.
  • --entry-text=STRING β€” sets the initial entry text, or the default item in a combo-box.
  • --hide-text β€” hides the entry text. secret entry energy πŸ™ˆ
  • --completion β€” uses completion instead of a combo-box.
  • --complete=TYPE β€” uses a specific type for extended completion. TYPE can be:
    • any β€” match any of the typed words
    • all β€” match all of the typed words
    • regex β€” when the typed text is treated as a regular expression
  • --editable β€” allows making changes to the text in a combo-box. edit away πŸ’…
  • --numeric β€” uses a spin button instead of a text entry. Additional parameters on the command line are treated as minimum and maximum values, step value and precision (in that order). All these values are optional. The default range is from 0 to 65535 with step 1. ⭐
  • --float-precision=NUMBER β€” sets the precision of floating point numbers. By default precision is three digits after the point.
  • --licon=IMAGE β€” sets an icon on the left side of the entry. πŸŽ€
  • --licon-action=CMD β€” specifies a command which will be run when the left icon is clicked. The output of that command will be set as the entry text. iconic behavior tbh.
  • --ricon=IMAGE β€” sets an icon on the right side of the entry. matching set, we love it.
  • --ricon-action=CMD β€” specifies a command which will be run when the right icon is clicked. The output of the command will be set as the entry text.
  • --num-output β€” outputs the index of the active element instead of the text, for a combo-box entry. numbers > words, iykyk.

Any extra data specified on the command line gets added as items of the combo-box entry β€” except in numeric mode, where that's not a thing.

If an icon is specified and no icon action is given, clicking the icon just clears the entry. And numeric fields will ignore the icons entirely. rip icons, you tried. πŸ’€


πŸ–ΌοΈ Iconbox options πŸ–ΌοΈ

  • --read-dir=PATH β€” reads .desktop files from the specified directory.
  • --monitor β€” watches for changes in the directory and automatically updates the content of the iconbox. live updates, we stay refreshed ✨
  • --generic β€” uses the field GenericName instead of Name for the shortcut label.
  • --sort-by-name β€” uses the field Name instead of the filename for sorting items.
  • --descend β€” sorts items in descending order. Note that if data is read from stdin, this option is useless without --sort-by-name. fr fr, don't skip it.
  • --listen β€” reads data from stdin. The data must be in order: Name, Tooltip, Icon, Command, InTerm, separated by newline. InTerm is a case insensitive boolean constant (TRUE or FALSE). Sending a FormFeed character clears the iconbox. πŸŒ€
  • --item-width β€” sets items width.
  • --icon-size β€” forces using the specified icon size. This option doesn't work in compact mode, just so you know. 😭
  • --compact β€” uses compact mode. Icon and name of each item is placed in a single row. tiny and tidy.
  • --single-click β€” activates items by a single mouse click. Heads up: this option may not work properly in the case of compact mode. πŸ’€
  • --term β€” pattern for terminal. By default it uses xterm -e %s where %s is replaced by the command.

If both a directory and stdin are specified, the content of the iconbox will be read from the directory. directory wins, no debate. πŸ‘‘


πŸ“ File selection options πŸ“

  • --filename=FILENAME β€” sets the filename.
  • --multiple β€” allows selection of multiple filenames in the file selection dialog. more is more πŸ’–
  • --directory β€” activates directory-only selection.
  • --save β€” activates save mode.
  • --separator=STRING β€” specifies the separator character when returning multiple filenames.
  • --confirm-overwrite=[TEXT] β€” confirms file selection if the filename already exists. The optional argument is a text for the confirmation dialog. protective queen behavior 🫢
  • --quoted-output β€” output values will be shell-style quoted.

πŸ”€ Font selection options πŸ”€

  • --fontname=FONTNAME β€” sets the initial font. FONTNAME is a string with a font representation in the form "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]". yes, all those brackets are part of the deal.
  • --preview β€” sets the preview text. so you can see the font before committing, cute.
  • --separate-output β€” separates output of the selected font description.
  • --separator=STRING β€” sets the output separator character. Default is |. 🌸
  • --quoted-output β€” output data will be in shell-style quotes.

πŸ“ Form options πŸ“

  • --field=LABEL[!TOOLTIP][:TYPE] β€” adds a field to the form. TYPE may be H, RO, NUM, CHK, CB, CBE, CE, FL, SFL, DIR, CDIR, FN, MFL, MDIR, DT, SCL, SW, APP, ICON, CLR, BTN, FBTN, LINK, LBL or TXT. Let's break them down, bestie:
    • H β€” hidden field type. All characters are displayed as the invisible char.
    • RO β€” the field is in read-only mode.
    • NUM β€” the field is a numeric. The initial value format for this field is VALUE[!RANGE[!STEP![PREC]]], where RANGE must be in the 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 the NUM field. A value started with ^ is treated as the default for the 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 creating a file.
    • DIR β€” directory selection button.
    • CDIR β€” field for creating a folder.
    • FN β€” font selection button. Initial value same as in the font dialog.
    • MFL β€” select multiple files. The value of this field is a list of files separated by the item separator.
    • MDIR β€” select multiple folders. The value of this field is a list of folders separated by the item separator.
    • DT β€” date field.
    • SCL β€” scale field. The value of this field is in a range 0..100.
    • SW β€” switch field. Initial value is a case insensitive boolean constant (TRUE or FALSE).
    • APP β€” application selection button. The input value for this field is a mime-type. The output value is an executable for the selected application.
    • ICON β€” icon field. Like an average entry field but it has two icons. Left shows the current icon and right is clickable and calls yad-con-browser for choosing an icon.
    • CLR β€” color selection button. Output values for this field are generated in the same manner as for the color dialog.
    • BTN β€” button field. The label may be in the form LABEL[!ICON[!TOOLTIP]] where ! is an item separator. LABEL is the text of the button label or a yad stock id. ICON is the button's icon (stock id or file name). TOOLTIP is an optional text for the popup help string. The initial value is a command which is run when the button is clicked. Special symbols %N in the command are replaced by the value of field N. If the command starts with @, the output of the command will be parsed and lines started with a number and a colon will be treated as new field values. A quoting style for value when sh -c is used β€” a single quote around the command and double quotes around the -c argument. The special quit command terminates the dialog in the usual way.
    • FBTN β€” same as button field, but with full relief of a button.
    • LINK β€” link button field.
    • LBL β€” text label. If the field name is empty, a horizontal separator line will be shown.
    • TXT β€” multiline text entry. This field always occupies all of the form width.

Without a type, the field will be a simple text entry. easy. ✨

  • --align=TYPE β€” sets the alignment of field labels. Possible types are left, center or right. Default is left.
  • --columns=NUMBER β€” sets the number of columns in the form. Fields will be placed from top to bottom.
  • --separator=STRING β€” sets the output separator character. Default is |.
  • --focus-field=NUMBER β€” sets the focused field.
  • --cycle-read β€” cycled reading of stdin data. Sending a FormFeed character clears the form. This symbol may be sent as echo -e '\f'. πŸŒ€
  • --align-buttons β€” aligns the label on button fields according to the --align settings.
  • --item-separator=STRING β€” sets the separator character for combo-box or scale values. Default is !.
  • --date-format=PATTERN β€” sets the format for the date fields (same as in the calendar dialog).
  • --float-precision=NUMBER β€” sets the precision of floating point numbers. By default precision is three digits after the point.
  • --complete=TYPE β€” uses a specific type for extended completion. TYPE can be any for matching any of the typed words, all for matching all of the typed words, or regex when the typed text is treated as a regular expression.
  • --scroll β€” makes the form scrollable. for the long forms, we scroll πŸ’…
  • --homogeneous β€” makes form fields' height and columns' width the same size. symmetrical slay.
  • --changed-action=CMD β€” runs CMD when a CHK, CB, or SW field value is changed. The command runs with two arguments β€” the number of the changed field and its current value. The output of the command is parsed in the same manner as in BTN fields with the @ prefix. Attention β€” this option may slow down your dialog. 😭 you've been warned.
  • --quoted-output β€” output values will be in shell-style quotes.
  • --output-by-row β€” outputs field values row by row if several columns are specified.
  • --num-output β€” outputs the index of the active element instead of the text, for combo-box fields.

because sometimes the form fields need a little pre-filled lore, bestie πŸ’… Any extra data you tack on the command line gets read as default values for the form fields. And ooh, a special value: @disabled@ makes the corresponding field inactive β€” like, it's there but it's not participating ✨

If you don't pass any extra arguments on the command line, the data gets read from stdin, one value per line. And "cycled reading" means that for N fields, the N+1th value will replace the first field β€” the cycle continues, no cap πŸ” Empty values get skipped when reading from stdin, so don't stress about blank lines.


🌐 HTML OPTIONS 🌐

  • --uri=URI β€” opens the location you point at. URI can be a filename or an internet address. If the URI isn't an existing file and no protocol is specified, a http:// prefix gets added to the URI for you, so generous 🫢
  • --browser β€” turns on browser mode. In this mode every clicked link opens inside the html widget, and the command Open gets added to the context menu.
  • --print-uri β€” prints clicked links to standard output. By default, clicked links open with xdg-open.
  • --mime=MIME β€” sets the mime type of the data passed to standard input to MIME. Default is text/html.
  • --encoding=ENCODING β€” sets the encoding of the data passed to standard input to ENCODING. Default is UTF-8.
  • --uri-handler=CMD β€” sets an external handler for clicked URIs. %s gets replaced by the activated URI. The return code of the CMD must be 0 for keep working, 1 for ignoring the URI, and 2 for downloading the URI. This option only works in browser mode, iykyk. There are two environment variables available in the handler: YAD_HTML_BUTTON with the value of the pressed mouse button, and YAD_HTML_STATE with the value of a bitmask with the state of the modifier keys πŸ”₯
  • --user-agent=STRING β€” sets the user agent string. Default is YAD-Webkit (@VERSION@).
  • --user-style=STRING β€” loads custom custom user styles from a file or arbitrary data (yes, "custom custom," it said what it said πŸ’€). STRING may be a path to a local file with CSS code or the CSS code itself.
  • --disable-search β€” disables the search bar.
  • --file-op β€” enables file operations. This option adds an open menu item to the popup menu,
  • --wk-prop=PROP β€” sets an additional WebKit setting. This option may be used multiply times. Setting PROP must be in the form "setting-name value". The first character of the value must be a type identifier: b for booleans, i for integers, and s for strings. The values themselves follow after a colon. List of possible settings can be found on this page β€” https://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html 🌈

When the dialog works in browser mode, additional data on the command line is interpreted as a URI.


πŸ“‹ LIST OPTIONS πŸ“‹

  • --column=STRING[:TYPE] β€” sets 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 defining a tooltip column. SZ is a size column type β€” works exactly like a NUM column but shows human readable sizes instead of numbers, aesthetic ✨ CHK (checkboxes) and RD (radio toggle) are boolean columns. BAR is a progress bar column β€” value must be between 0 and 100, and if the value is outside the range it will be cropped to the nearest legal value. HD type means a hidden column; such columns aren't displayed in the list, only in the output, sneaky πŸ‘€ IMG may be a path to an image or an icon name from the current GTK+ icon theme. Size of icons may be set in the gtk config file at the GTK_ICON_SIZE_MENU position of gtk-icon-sizes. Images specified by icon names will be scaled to GTK_ICON_SIZE_MENU until --force-icon-size is not sets. Image field prints as empty value.

Special column names @fore@, @back@ and @font@ set corresponding row attributes β€” and values of those columns don't show in results, they're just here for the vibes 🎨

Column title can be specified in the form name!tooltip and Pango markup can be used in the name and tooltip parts. Slay.

  • --tree β€” enables tree mode. In this mode extra data in the form ROW_ID[:PARENT_ID] must be passed to yad before each row. See EXAMPLES for details 🌳
  • --checklist β€” uses check boxes for the first column. Outputs checked rows instead of selected rows. Disables multiple selection.
  • --radiolist β€” same as --checklist but with a radio toggle for the first column.
  • --separator=STRING β€” sets the output separator characters.
  • --multiple β€” allows multiple rows to be selected.
  • --editable β€” allows changes to text.
  • --editable-cols=LIST β€” sets the list of editable columns. LIST must be a string of numbers separated by commas.
  • --no-headers β€” does not show column headers.
  • --no-click β€” disables sorting of column content by clicking on its header.
  • --no-rules-hint β€” doesn't draw even and odd rows in different colors. This option depends on your current gtk theme and may not work (rude, but ok 😭).
  • --grid-lines=TYPE β€” draws grid lines of type TYPE in the list dialog. TYPE can be one of hor[izontal], vert[ical] or both.
  • --no-selection β€” disables selection in the list.
  • --print-all β€” prints all data from the list.
  • --print-column=NUMBER β€” specifies what column will be printed to standard output. 0 may be used to print all columns (this is the default).
  • --hide-column=NUMBER β€” hides a specific column.
  • --expand-column=NUMBER β€” sets the column expandable by default. 0 sets all columns expandable.
  • --search-column=NUMBER β€” sets the quick search column. 0 means to disable searching. By default search is made on the first column.
  • --tooltip-column=NUMBER β€” sets the column with popup tooltips.
  • --sep-column=NUMBER β€” sets the row separator column. If the cell value from this column equals the specified row separator value, that row will be drawn as a separator. Separator value must be set.
  • --sep-value=TEXT β€” sets the TEXT as a row separator value. This feature highly depends on your current GTK+ theme and may not work properly.
  • --limit=NUMBER β€” sets the number of rows in the list dialog. Only the last NUMBER rows will be shown. This option will take effect only when data is reading from stdin.
  • --wrap-width=NUMBER β€” sets the width of a column before wrapping to NUMBER.
  • --wrap-cols=LIST β€” sets the list of wrapped columns. LIST must be a string of numbers separated by commas.
  • --ellipsize=TYPE β€” sets ellipsize mode for text columns. TYPE may be NONE, START, MIDDLE or END.
  • --ellipsize-cols=LIST β€” sets the list of ellipsized columns. LIST must be a string of numbers separated by commas.
  • --dclick-action=CMD β€” sets the CMD as a double-click command. When the user double-clicks on a row, CMD will be launched with values of all columns as arguments. By default, double-click selects the row and acts as an OK button for simple lists, sets the checkbox if --checklist is specified, and does nothing when the list runs with --multiple option. When double-click is 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 the current row β€” main character energy, honestly πŸ‘‘ This option doesn't work with --editable.
  • --select-action=CMD β€” sets the CMD as an action when selection is changed. CMD will be launched with values of all columns as 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.
  • --row-action=CMD β€” sets the CMD as an action when the row is added, modified or removed. The first argument for the command is the name of the action (add, edit or del). The rest of the command line is data from the selected row. Output of this command sets the new row values.
  • --tree-expanded β€” expands all tree nodes at startup.
  • --regex-search β€” uses regular expressions in search for text fields.
  • --listen β€” listens for data from stdin even if command-line values were specified.
  • --quoted-output β€” output values will be shell-style quoted.
  • --float-precision=NUMBER β€” sets precision of floating point numbers. By default precision is three digits after the point.
  • --add-on-top β€” adds new records at the top of the list.
  • --tail, --auto-scroll β€” autoscrolls to the end of the list when a new row is added.
  • --iec-format β€” uses IEC (base 1024) units for size values. With this option, values will have suffixes KiB, MiB, GiB πŸ’–
  • --simple-tips β€” doesn't use markup in tooltips even if the text has valid markup.
  • --header-tips β€” uses the header name as a fallback tooltip text.
  • --column-align=STRING β€” sets alignment for columns. STRING must contain an array of letters l, r or c for left, center or right alignment of column content.
  • --header-align=STRING β€” sets alignment for column headers. STRING same as in --column-align.

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


πŸ“‘ NOTEBOOK OPTIONS πŸ“‘

  • --key=KEY β€” sets the key of the children.
  • --tab=TEXT β€” adds a tab with the specified label to the notebook. TEXT may be in the form LABEL[!ICON[!TOOLTIP]] where ! is an item separator. For stack mode, TEXT for label is used as is.
  • --tab-pos=TYPE β€” sets the tabs position. Value may be top, bottom, left, or right. Default is top. For stack mode, only top or bottom positions are available.
  • --tab-borders=NUMBER β€” sets the border width around the widget in tabs.
  • --active-tab=NUMBER β€” sets the active tab.
  • --expand β€” expands all tabs to the full width of a dialog window.
  • --stack β€” uses stack mode (GtkStack instead of GtkNotebook).

See the NOTEBOOK and PANED section for more about the notebook dialog 🫢


πŸ”” NOTIFICATION OPTIONS πŸ””

  • --command=CMD β€” sets the command running when clicked on the icon. Default action is quit if --listen isn't specified.
  • --listen β€” listens for commands on stdin. See the NOTIFICATION section.
  • --menu=STRING β€” sets the initial menu for right-click.
  • --separator=STRING β€” sets the separator character for menu values. Default is |.
  • --item-separator=STRING β€” sets the separator character for menu items. Default is !.
  • --no-middle β€” disables exit on middle click.
  • --hidden β€” doesn't show the icon at startup.
  • --icon-size=SIZE β€” Sets the notification icon size to SIZE. Heads up: this one doesn't work for themed icons, bestie.

See the NOTIFICATION section for more about separators.

🧚 Appindicator options

  • --listen β€” Listens for commands on stdin. Peep the NOTIFICATION section for the deets.
  • --menu=STRING β€” Sets the initial menu for right-click. Very right-click slay.
  • --separator=STRING β€” Sets the separator character for menu values. Default is |.
  • --item-separator=STRING β€” Sets the separator character for menu items. Default is !.
  • --hidden β€” Doesn't show the icon at startup. Mysterious. Iconic. Incognito vibes.

πŸ¦‹ Paned options

  • --key=KEY β€” Sets the key of the children.
  • --orient=TYPE β€” Sets the orientation of panes inside the dialog. TYPE may be hor[izontal] or vert[ical].
  • --splitter=POS β€” Sets the initial splitter position.
  • --focused=PANE β€” Sets the pane for initial focus. PANE must be 1 or 2. Default is 1.

See the NOTEBOOK and PANED section for more about the paned dialog.

🌸 Picture options

  • --size=VALUE β€” Sets the initial size of the picture. Available values are fit for fitting the image in the window, or orig for showing the picture in original size.
  • --inc=NUMBER β€” Sets the increment value for scaling the image.
  • --filename=FILENAME β€” Sets the picture filename. If no filename is specified, extra data will be used. In that case, several filenames can be specified.
  • --file-op β€” Enables file operations. This option adds an open menu item to the popup menu.
  • --image-changed=CMD β€” Sets the command that runs after changing the image. The argument of the command is the filename of the current image. The argument can be specified by the '%s' pattern, or it will be the last part of the command.

Some actions on a picture β€” like navigation, scaling, or rotating β€” are available from the popup menu. Those actions can be made only on static images. No moving-picture chaos allowed.

  • --transparent=PERCENT β€” Makes the popup window transparent.
  • --timeout=TIMEOUT β€” Changes the default timeout. By default, timeout is 300 seconds.
  • --keep β€” Don't close the popup window automatically. By default, the window will be closed after TIMEOUT seconds.
  • --align=TYPE β€” Sets the alignment of the popup title and text. TYPE can be one of left, center, or right.
  • --type=TYPE β€” Sets the source file type. TYPE may be TEXT for text files, IMAGE for image files, or RAW for files in postscript or pdf formats.
  • --filename=FILENAME β€” Sets the name or path to the source file.
  • --headers β€” Adds headers to the top of the page with filename and page number. This option doesn't work for RAW type.
  • --add-preview β€” Adds a Preview button to the print dialog. This option doesn't work for RAW type.
  • --fontname=FONTNAME β€” Sets 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 are treated like percentages for the progress bar.

  • --bar=LABEL[:TYPE] β€” Adds a progress bar. LABEL is a text label for the progress bar. TYPE is a progress bar type. Types are: NORM for normal progress bar, RTL for inverted progress bar, PULSE for pulsate progress bar, and CPULSE for continuous pulsating progress bar. If no bars are specified, the progress dialog works in single-bar mode.
  • --vertical β€” Sets vertical orientation of progress bars.
  • --align=TYPE β€” Sets alignment of bar labels. Possible types are left, center, or right. Default is left.
  • --progress-text=TEXT β€” Sets the label of the progress bar to TEXT. This option works only in single-bar mode.
  • --hide-text β€” Hides text in progress bars.
  • --rtl β€” Sets Right-To-Left progress bar direction. This option works only in single-bar mode.
  • --auto-close β€” Closes the dialog when 100% has been reached.
  • --auto-kill β€” Kills the parent process if the cancel button is pressed.
  • --pulsate β€” Pulsates the progress bar. This option works only in single-bar mode.
  • --continuous β€” Continuously pulsating progress bar. This option works only in single-bar mode.
  • --scroll β€” Makes the layout scrollable.
  • --enable-log[=TEXT] β€” Shows the log window. This window gathers all of the lines from stdin that start with #, instead of setting the appropriate progress text. Optional argument TEXT is a text label for the window expander.
  • --log-on-top β€” Places the log window above progress bars.
  • --log-expanded β€” Starts with the log window expanded.
  • --log-height β€” Sets the height of the log window.

Initial values for bars are set as extra arguments. Each line with progress data passed to stdin must start with N:, where N is the number of the progress bar. In single-bar mode, N: is not needed. Easy peasy.

πŸ“ Text info options

  • --filename=FILENAME β€” Opens the specified file.
  • --editable β€” Allows changes to the text.
  • --wrap β€” Enables text wrapping.
  • --formatted β€” Enables Pango markup. This option doesn't work with the --editable option.
  • --justify=TYPE β€” Sets justification. TYPE may be left, right, center, or fill. Default is left.
  • --margins=NUMBER β€” Sets text margins to NUMBER.
  • --tail | --auto-scroll β€” Autoscrolls to the end when new text appears. This option works only when text is read from stdin.
  • --line=NUMBER β€” Jumps to a specific line at startup. This option works only when a filename was specified.
  • --show-cursor β€” Shows the cursor in read-only mode.
  • --show-uri β€” Makes links in the text clickable. Links open with the xdg-open command.
  • --fore=COLOR β€” Sets the default color for text.
  • --back=COLOR β€” Sets the default color for the background.
  • --uri-color=COLOR β€” Sets the color for links. Default is blue.
  • --listen β€” Listens for data from stdin even if a filename was specified.
  • --in-place β€” Saves the file on exit instead of printing its content on stdout. This option works only if the file was specified from the command line.
  • --file-op β€” Enables file operations. This option adds open and save menu items to the popup menu. This option works only in editable mode.
  • --disable-search β€” Disables the search bar.
  • --confirm-save=[TEXT] β€” Confirms file saving if the file content was changed. This option works only when --in-place is specified. The optional argument is text for the confirmation dialog.

Next options work only if yad is built with GtkSourceView:

  • --lang=LANGUAGE β€” Highlights syntax for the specified LANGUAGE.
  • --theme=THEME β€” Sets the used theme to THEME. Use yad-tools(1) to get a list of all available themes.
  • --mime=TYPE β€” Specifies the mime type of input data. This option is only needed for guessing appropriate syntax highlighting.
  • --line-num β€” Shows line numbers.
  • --line-hl β€” Highlights the current line.
  • --line-marks β€” Enables line marks mode. There are two types of marks. The first type is set by the left mouse button, and the second by the right mouse button.
  • --mark1-color=COLOR β€” Sets the background color for marks of the first type to COLOR. Default is lightgreen.
  • --mark2-color=COLOR β€” Sets the background color for marks of the second type to COLOR. Default is pink.
  • --right-margin=[POS] β€” Enables the mark of the right margin. Optional argument POS is a margin position in characters. Default is 80.
  • --brackets β€” Highlights matching brackets.
  • --indent β€” Enables autoindent. This option also sets the Tab key as the indent key.
  • --smart-he=TYPE β€” Sets behavior of Home and End keys. The TYPE is one of newer, before, after, or always.
  • --smart-bs β€” Enables smart mode for BackSpace. If this option is enabled, BackSpace will delete spaces to the next tab position.
  • --tab-width β€” Sets the tabulation step.
  • --indent-width β€” Sets the indentation step.
  • --spaces β€” Inserts spaces instead of tabulation.

If the fontname option is specified for the text dialog, the description of the font must be in CSS style (not in a Pango style). Sending a FormFeed character to the text dialog clears it. This symbol may be sent as echo -e '\f'. Pressing Ctrl+S popups the search entry in the text dialog. Muscle memory, but make it text editor.

βš–οΈ Scale options

  • --value=VALUE β€” Sets the initial value.
  • --min-value=VALUE β€” Sets the minimum value.
  • --max-value=VALUE β€” Sets the maximum value.
  • --step=VALUE β€” Sets the step size.
  • --enforce-step β€” Only allows values in step increments.
  • --page=VALUE β€” Sets the paging size. By default, the page value is STEP*10.
  • --print-partial β€” Prints partial values.
  • --hide-value β€” Hides the value.
  • --vertical β€” Shows a vertical scale.
  • --invert β€” Inverts the scale direction.
  • --inc-buttons β€” Shows buttons on the edges of a scale for increasing or decreasing the scale value.
  • --mark=[NAME]:VALUE β€” Adds a mark to the scale. May be used multiple times. NAME is an optional argument for setting a label to the mark.

πŸ—‚οΈ File filters options

  • --file-filter=NAME | PATTERN1 PATTERN2 ... β€” Adds a filename filter. NAME is a displayed filter name, and PATTERN is a shell-style filename pattern (for example *.txt). This option may be used multiple times.
  • --mime-filter=NAME | MIME1 MIME2 ... β€” Adds a mime-type filter. NAME is a displayed filter name, and PATTERN is the name of a mime type (for example text/plain). This option may be used multiple times.
  • --image-filter=[NAME] β€” Adds a filter for images supported by the gdk-pixbuf library. NAME is the optional name for this filter.

These options apply to all of yad's file chooser dialogs. Every single one. No filter-less behavior on my watch.

πŸ–ΌοΈ File preview options

  • --add-preview β€” Adds a preview widget. Preview images load from normal (default) or large thumbnails according to the XDG Thumbnails specification v0.8.0 (http://standards.freedesktop.org/thumbnail-spec/latest/), or yad creates them for image files and saves them as normal or large thumbnails.
  • --large-preview β€” Uses large previews by default. This option can be permanently turned on through yad settings.

These options apply to all of yad's file chooser dialogs.

NOTE: YAD doesn't check mtime for thumbnailed images and doesn't update the preview if the original file was changed after the thumbnail was created. Bestie, the thumbnail can be lying to you.

🌟 Miscellaneous options 🌟

  • -?, --help β€” shows a lil summary of all the options, bestie πŸ’–
  • --about β€” pops open an about dialog, very meta
  • --version β€” shows the version of the program, so you know what you're working with ✨

Also, no cap, the standard GTK+ options are accepted too.


πŸ““ NOTEBOOK and PANED πŸͺŸ

Okay so Notebook is this complex dialog that literally swallows other dialogs into its tabs β€” it's giving main character energy fr. Dialogs get identified by a unique key (an integer, keep it cute) and must be run in that special plug mode (the --plug option).

Here's the iconic example: a notebook dialog with two tabs, where the first has a simple text and the 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! 😭 Do not come for me about the ordering, it's not me it's the tabs.

Paned works in the same manner as a notebook with one restriction β€” only the first and second plug dialogs will be swallowed into panes. That's it, that's the whole vibe check.


πŸ”” NOTIFICATION πŸ””

This lets commands be sent to yad in the form command:args. The possible commands are icon, tooltip, visible, action, menu and quit. Slay, let's go through them πŸ’…

  • icon:ICONNAME β€” sets the notification icon to ICONNAME.
  • tooltip:STRING β€” sets the notification tooltip.
  • visible:[true|false] β€” sets the notification icon to visible or invisible state. Peekaboo 🫣
  • action:COMMAND β€” specifies the command that runs when you click on the icon. There are two special commands here: menu for popup user defined menu, and quit for exiting the program.
  • menu:STRING β€” sets the popup menu for the notification icon. STRING must be in the form name1[!action1[!icon1]]|name2[!action2[!icon2]].... An empty name adds a separator to the menu. The separator character for values (e.g. |) is set with the --separator argument. The separator character for menu items (e.g. !) is set with the --item-separator argument.
  • quit β€” exits the program. Middle clicking on the icon also sends the quit command. iykyk πŸ–±οΈ

πŸ‘‘ STOCK ITEMS πŸ‘‘

This is the list of predefined items available in yad β€” genuinely iconic lineup:

  • yad-about β€” label About, icon help-about
  • yad-add β€” label Add, icon list-add
  • yad-apply β€” label Apply, icon gtk-apply
  • yad-cancel β€” label Cancel, icon gtk-cancel
  • yad-clear β€” label Clear, icon document-clear
  • yad-close β€” label Close, icon window-close
  • yad-edit β€” label Edit, icon gtk-edit
  • yad-execute β€” label Execute, icon system-run
  • yad-no β€” label No, icon gtk-no
  • yad-ok β€” label OK, icon gtk-ok
  • yad-open β€” label Open, icon document-open
  • yad-print β€” label Print, icon document-print
  • yad-quit β€” label Quit, icon application-exit
  • yad-refresh β€” label Refresh, icon view-refresh
  • yad-remove β€” label Remove, icon list-remove
  • yad-save β€” label Save, icon document-save
  • yad-search β€” label Search, icon system-search
  • yad-send β€” label Send, icon document-send
  • yad-settings β€” label Settings, icon gtk-preferences
  • yad-yes β€” label Yes, icon gtk-yes

🌈 ENVIRONMENT VARIABLES 🌈

  • YAD_OPTIONS β€” this variable can hold some default options for yad. All options in this variable may be redefined from the command line. So the CLI stays the boss, periodt πŸ‘‘
  • YAD_SETTINGS_FILE β€” the location of the file with yad settings. See the SETTINGS section for the details.
  • YAD_PID β€” this variable gets set to the value of the current dialog's pid, and it's accessible in all dialog children.
  • YAD_XID β€” this variable gets set to the value of the current dialog's X Window ID, and it's accessible in all dialog children. > Heads up bestie: this variable is not set in print and notification dialogs, and not in dialogs which act as notebook or paned children. 🫢

πŸ’€ USER DEFINED SIGNALS πŸ’€

  • SIGUSR1 β€” closes the dialog with a 0 exit code.
  • SIGUSR2 β€” closes the dialog with a 1 exit code.

Send the right signal, get the right exit code. Fr fr πŸ”₯


πŸšͺ EXIT STATUS πŸšͺ

  • 0 β€” the user has pressed the OK button
  • 1 β€” the user has pressed the Cancel button
  • 70 β€” the dialog has been closed because the timeout has been reached.
  • 252 β€” the dialog has been closed by pressing Esc or by using the window functions to close the dialog

Exit codes for user-specified buttons must be specified in the command line. An even exit code means to print the result, an odd one just returns the exit code. That's the whole rule, no cap ✨


πŸŽ€ WIDGETS NAMES πŸŽ€

The look and feel of yad's dialogs can be customized through a gtkrc file. Here are the names of yad's widgets β€” every single one, I'm not skipping anybody πŸ’œ

  • yad-dialog-window β€” GtkDialog β€” Dialog window
  • yad-dialog-image β€” GtkImage β€” Dialog image
  • yad-dialog-label β€” GtkLabel β€” Dialog text
  • yad-app-widget β€” GtkAppChooserWidget β€” Application selection widget
  • 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-link β€” GtkLinkButton β€” Link field in form
  • yad-form-file β€” GtkFileChooserButton β€” File or directory field in form
  • yad-form-font β€” GtkFontChooserButton β€” Font field in form
  • yad-form-app β€” GtkAppChooserButton β€” Application field in form
  • yad-form-switch β€” GtkSwitch β€” Switch 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-stack-widget β€” GtkStack β€” Stack widget
  • yad-stack-switcher-widget β€” GtkStackSwitcher β€” Stack switcher widget
  • yad-text-widget β€” GtkTextView β€” Text info widget
  • yad-timeout-indicator β€” GtkProgreeBar β€” Timeout indicator

(Yes, GtkEntrfy and GtkProgreeBar are written exactly like that in the list. Copy them as-is if you're matching against them, bestie β€” do not "fix" them 😭)


βš™οΈ SETTINGS βš™οΈ

YAD reads some defaults from a settings file. This file may be created with the --write-settings argument. The syntax of this file is a simple ini-style. Default location is $XDG_CONFIG_HOME/yad/settings.conf, and it can be redefined with the YAD_SETTINGS_FILE environment variable. Easy πŸŽ€


✨ EXAMPLES ✨

Okay these are the fun ones, let's go πŸ¦‹

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. Not me making the whole thing a threat πŸ’€

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

Display list in tree mode

yad --list --tree --column "Items" f Fruits 1:f Apple 2:f Lemon v Vegetables 3:v Popato 4:v Onion

(Popato stays a popato. It's in the original, I don't make the rules πŸ₯”πŸ’…)


πŸ›  DEVELOPMENT πŸ› 

There are some developers features provided with YAD β€” for the build girlies 🧚

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

yad-icon-browser [theme]

When using autoconf you may use the special m4 macro AM_PATH_YAD for looking for yad and checking its 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. Absolute legends, we stan πŸ‘‘πŸ’–

🌈 SEE ALSO 🌈

okay so you've absorbed the whole entire manual (iconic of you, fr) β€” here's the rest of the friend group, the other pages you might wanna go read next bestie πŸ’–

  • gdialog(1) β€” the other dialog-flavoured cousin, go say hi 🫢
  • dialog(1) β€” like, the original OG terminal-dialog situation, the blueprint, the blueprint-est πŸ’…
  • zenity(1) β€” the other GUI-dialog girlie, you know the one, we don't compete we just coexist ✨
  • yad-tools(1) β€” the companion page for the yad-tools stuff, highkey go check it out πŸ‘‘

not to be dramatic but you literally read the whole page and that's main character energy, no cap πŸŽ€

and that's a wrap on the whole thing, bestie πŸ¦‹ this page came from the yad source, dated June 2024, and it lives in section YAD(1) of the manual β€” so like, that's its whole little home πŸ πŸ’œ you're so welcome, go make some gorgeous dialogs, slay, periodt πŸŒΈπŸ’…

πŸ“¦ where this page comes from