freebsd-dev/contrib/bsddialog
Alfonso S. Siciliano b319d93437
contrib/bsddialog: Import version 0.3
New features overview:
 * Unicode. User interface handles multi-column characters. API can
   handle char* like a multibyte character string. Internally wide
   characters are used for keyboard input, to adapt word wrapping and
   dynamic text auto-sizing for multi-column characters.
 * Forms refactoring. Complete rewrite deleting libformw dependency.
 * Theme. New utility options to save and load custom theme at run-time.
 * TUI navigation. Added keys to navigate input components. Changed
   default focus behavior of input dialogs to be LGPL-dialog-like; a new
   option can set the previous whiptail-like behavior.

See /usr/src/contrib/bsddialog/CHANGELOG '2022-08-29 Version 0.3'
for more detailed information.

Merge commit '2c9fd7655ba54e7239f528e1af9fe09662de9b03'
2022-09-03 16:41:44 +02:00
..
examples_library contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
examples_utility contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
lib contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
.gitignore contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
bsddialog.1 contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
bsddialog.c contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
CHANGELOG contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
GNUMakefile contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
LICENSE bsddialog: import version 0.1 2022-01-28 09:56:21 +01:00
Makefile contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
README.md contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
screenshot.png
util_theme.c contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00
util_theme.h contrib/bsddialog: Import version 0.3 2022-09-03 16:41:44 +02:00

BSDDialog 0.3

This project provides bsddialog and libbsddialog, an utility and a library to build scripts and tools with TUI dialogs and widgets.

Intro

Briefly: https://www.freebsd.org/status/report-2021-04-2021-06/bsddialog/

Utility: https://alfonsosiciliano.gitlab.io/posts/2021-12-07-bsddialog.html

Library: https://alfonsosiciliano.gitlab.io/posts/2022-01-16-libbsddialog.html

Screenshots: https://www.flickr.com/photos/alfonsosiciliano/albums/72157720215006074

Getting Started

FreeBSD:

% git clone https://gitlab.com/alfix/bsddialog.git
% cd bsddialog
% make
% ./bsddialog --msgbox "Hello World!" 8 20

Linux:

% git clone https://gitlab.com/alfix/bsddialog.git
% cd bsddialog
% make -f GNUMakefile
% ./bsddialog --msgbox "Hello World!" 8 20

Output:

screenshot

Utility

Dialogs:

--checklist, --datebox, --form, --gauge, --inputbox, --menu, --mixedform, --mixedgauge, --msgbox, --passwordbox, --passwordform, --pause, --radiolist, --rangebox, --textbox, --timebox, --treeview, --yesno.

Manual

Examples:

% ./bsddialog --backtitle "TITLE" --title msgbox --msgbox "Hello World!" 5 30
% ./bsddialog --theme blackwhite --title msgbox --msgbox "Hello World!" 5 30
% ./bsddialog --begin-y 2 --default-no --title yesno --yesno "Hello World!" 5 30
% ./bsddialog --ascii-lines --pause "Hello World!" 8 50 10
% ./bsddialog --checklist "Space to select" 0 0 0 Name1 Desc1 off Name2 Desc2 on
% ./bsddialog --title yesno --hline "bsddialog" --yesno "Hello World!" 5 25
% ./bsddialog --extra-button --help-button --yesno "Hello World!" 0 0

and Examples in the Public Domain to build new projects:

% sh ./examples_utility/checklist.sh
% sh ./examples_utility/form.sh
% sh ./examples_utility/gauge.sh
% sh ./examples_utility/infobox.sh
% sh ./examples_utility/inputbox.sh
% sh ./examples_utility/menu.sh
% sh ./examples_utility/mixedform.sh
% sh ./examples_utility/mixedgauge.sh
% sh ./examples_utility/msgbox.sh
% sh ./examples_utility/passwordbox.sh
% sh ./examples_utility/passwordform.sh
% sh ./examples_utility/pause.sh
% sh ./examples_utility/radiolist.sh
% sh ./examples_utility/timebox.sh
% sh ./examples_utility/yesno.sh

Library

API

Manual

Examples:

Examples in the Public Domain to build new projects:

% cd examples_library
% sh compile
% ./checklist
% ./datebox
% ./form
% ./infobox
% ./menu
% ./mixedlist
% ./msgbox
% ./pause
% ./radiolist
% ./rangebox
% ./theme
% ./timebox
% ./yesno

TODO and Ideas

  • menubar feature
  • key callback
  • Right-To-Left text