SUSEDIALOG(1)
β¨ NAME β¨
Okay bestie, welcome to the SUSEDIALOG(1) page from the User Commands section. The command is susedialog β the openSUSE-branded terminal dialog shim. That's the whole name vibe: shim, branded, terminal, cute. π
π¦ SYNOPSIS π¦
susedialog [common-options] widget [widget-options]
So it's susedialog, then your [common-options], then a widget, then that widget's [widget-options]. Slay. β¨
π DESCRIPTION π
susedialog is a Bubble Tea-based compatibility shim for a subset of dialog(1) widgets, designed for openSUSE system tooling such as jeos-firstboot and opensuse-migration-tool. It's giving "dialog but make it openSUSE." π«Ά
Like dialog, the UI is drawn on standard output, and the selected value(s) are written to standard error β or to the file descriptor given by --output-fd. A non-zero exit status signals cancellation. No cap.
Screen clearing between dialogs is enabled by default. That's equivalent to always passing --clear to dialog. So yes, clear-the-screen is the default energy. β¨
π§ WIDGETS π§
Pick your widget, bestie β these are the supported ones:
--msgboxtext height width β Display a message box with anOKbutton. Returns0when dismissed. Easy.--infoboxtext height width β Display a non-interactive informational message and exit immediately with status0.--textboxfile height width β Display the contents of file in a scrollable box. Press Enter or clickContinueto dismiss.--yesnotext height width β Display a yes/no question. Returns0for Yes,1for No.--inputboxtext height width β Prompt the user for a single line of text. The entered value is written to the output file descriptor.--passwordboxtext height width β Like--inputboxbut input is masked with asterisks. The entered value is written to the output file descriptor.--menutext height width list-height tag label [tag label] ... β Display a single-selection menu. Writes the selected tag to the output file descriptor.--checklisttext height width list-height tag label state [tag label state] ... β Display a multi-selection checklist. state isonoroff. Writes a space-separated quoted list of selected tags to the output file descriptor.--formtext height width form-height label y x init y x flen ilen [...] β Display an editable form with labelled fields. Field positions and lengths are accepted fordialog(1)compatibility but layout is managed automatically. Writes field values separated by newlines to the output file descriptor.--mixedformtext height width form-height label y x init y x flen ilen type [...] β Like--formbut each field has an additional type argument:0normal,1password (masked),2read-only label.--progresstext height width [percent] β Display a progress bar. If percent is given the bar is set to that value; otherwise it reads percentages from standard input.
π COMMON OPTIONS π
--titletitle β Set the dialog title.--backtitlebacktitle β Set the background title (displayed at the top of the screen).--ok-labellabel β Override the label of theOK/Yesbutton (default:OK).--cancel-labellabel β Override the label of theCancel/Nobutton.--exit-labellabel β Override the label of theExitbutton (default:Exit).--output-fdfd β Write output to file descriptor fd instead of standard error.--default-itemtag β Pre-select tag in a menu or checklist.--themename β Select a named color theme. Built-in themes includeopensuseandhigh-contrast, andrainbow.--alignmode β Set dialog alignment. Supported values aretopleftandcenter. Default istopleft.--clearβ Clear the screen before rendering the next dialog. This is the default behavior; the flag is accepted fordialog(1)compatibility.--insecureβ Accepted for compatibility. Password fields are always masked regardless of this flag.--no-nl-expandβ Do not expand\nescape sequences in text strings.--no-collapseβ Accepted fordialog(1)compatibility; has no effect.
π EXIT STATUS π
0β The user confirmed or selected a value (Yes, OK, Continue).1β The user cancelled (No, Cancel, ESC).130β Interrupted by Ctrl+C. This usesSIGINTprocess-group semantics to matchdialog(1)behavior in wrapper applications.
πΈ ENVIRONMENT πΈ
SUSEDIALOG_DEBUG_KEYSβ When set to1, received key names are printed to standard error while a dialog is running. Useful for debugging key-handling issues.SUSEDIALOG_THEMEβ Selects the theme when--themeis not specified.SUSEDIALOG_ALIGNβ Sets dialog alignment when--alignis not specified. Supported values aretopleftandcenter.SUSEDIALOG_THEME_TOGGLE_KEYβ Sets the key binding used to toggle betweenopensuseandhigh-contrastthemes while a dialog is open. Default isctrl+t.
Theme resolution order is: --theme option, SUSEDIALOG_THEME environment variable, ~/.config/susedialog/config (or $XDG_CONFIG_HOME/susedialog/config), then /etc/susedialog/config.
Config files use shell-style key=value entries and also accept lines prefixed with export. Supported config keys are theme, SUSEDIALOG_THEME, align, SUSEDIALOG_ALIGN, theme_toggle_key, and SUSEDIALOG_THEME_TOGGLE_KEY.
When the theme is changed at runtime with the toggle shortcut, susedialog stores the selected theme in the user config file as SUSEDIALOG_THEME=.... This makes the choice persist across future runs and override any system-wide default. Iconic.
The toggle shortcut can be set in config files with theme_toggle_key or via SUSEDIALOG_THEME_TOGGLE_KEY.
Alignment can be set in config files with align or via SUSEDIALOG_ALIGN.
π EXAMPLES π
Display a simple message:
susedialog --title "Hello" --msgbox "Installation complete." 10 50
Show a non-interactive status update:
susedialog --title "Status" --infobox "Refreshing repositories..." 8 50
Prompt the user to choose a migration target:
CHOICE=$(susedialog --title "Migration" \
--menu "Select target:" 20 60 10 \
"15.6" "openSUSE Leap 15.6" \
"16.0" "openSUSE Leap 16.0" \
2>&1 >/dev/tty) || exit 1
Collect user credentials:
PASS=$(susedialog --title "Auth" \
--passwordbox "Enter password:" 10 50 \
2>&1 >/dev/tty)
π SEE ALSO π
That's the whole see-also situation. π
π AUTHORS π
susedialog was written by the openSUSE community. Iconic behavior, honestly. π«Ά
π BUGS π
Report bugs at https://github.com/openSUSE/susedialog/issues.
Okay that's the whole page, bestie β it's dated April 2026 and the source/version footer name is susedialog, so go forth and dialog π
π¦ where this page comes from
- opensuse-leap 16.0: susedialog 20260501.3969402-bp160.1.1 Β· MIT
- opensuse-leap 16.0: susedialog 20260501.3969402-bp160.1.1 Β· MIT
- opensuse-leap 16.0: susedialog 20260501.3969402-bp160.1.1 Β· MIT
- opensuse-leap 16.0: susedialog 20260501.3969402-bp160.1.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms