BSDDialog 1.0.4
This project provides bsddialog and libbsddialog, an utility and a library to build scripts and tools with TUI dialogs and widgets.
Demo
Getting Started
FreeBSD and Linux:
Output:
Utility
Dialogs:
--calendar, --checklist, --datebox, --form, --gauge, --infobox, --inputbox, --menu, --mixedform, --mixedgauge, --msgbox, --passwordbox, --passwordform, --pause, --radiolist, --rangebox, --textbox, --timebox, --treeview, --yesno.
Manual
Examples:
and Examples in the Public Domain to build new projects:
Library
API
Manual
Examples:
Examples in the Public Domain to build new projects:
TODO and Ideas
menubar feature.
key callback.
Right-To-Left text.
some terminal does not hide the cursor, move it bottom-right before to getch.
refactor backtitle: add WINDOW *dialog.backtitle for multiline and fix expanding screen.
refactor bottomdesc: add WINDOW *dialog.bottomdesc to fix expandig screen.
accessibility https://wiki.freebsd.org/Accessibility/Wishlist/Base.
add bool conf.menu.depthlines.
implement custom getopt_long().
refactor/redesign gauge().
improve grey lines expanding terminal (maybe redrawwin() in hide_dialog()).
more restrictive strtol() and strtoul().
implement global buttons handler.
doc: external tutorial, theming guide.
implement menutype.min_on.
improve refresh at startup, avoid dialog refresh before drawing text.
add debug API: bsddialog_debug(y,x,refresh,"fmt",...).
add mouse support.
use alarm(2) for bsddialog_pause.
delete form fieldlen constraint, hide or truncate long field in little screens.
improve --inputbox autosizing, consider also input length.
fix --form "" 0 0 0 Label 1 0 Init 1 12 0 0 (with 0 editable field).
fix --mixedform "" 0 0 0 Label 1 0 Init 1 12 0 0 2 (with 0 editable field).
add text customization to --hmsg help-message
check --passwordform fieldlen like --form and --mixedform.