View on GitHub


extension libraries for yabasic


A yabasic library (c) Michel Clasquin-Johnson 2018. Licensed accordingto the MIT license

If you are reading this as a man page, be advised that you can see it in glorious HTML, with pictures even, at

This library for yabasic allows the use of the Linux command dialog to display a variety of dialogs in text mode.

The library will test for the presence of the dialog command and will exit gracefully if it is not present. dialog is a textmode application and must be run in a terminal. It will not be useful in a headless script.

The entire set of libraries focuses on sane defaults and getting basic functionality into yabasic. There are a lot of options that will not be implemented!

The images below are for illustration only. The exact appearance of the dialogs will depend on your system settings.

Developed on elementary OS 0.4 “Loki” and Lubuntu 18.04 (i.e. Linux), but it should work on any system that will run both yabasic and the dialog command.

The library should exist either in the same folder as your program or in the standard yabasic library location on your system.

To use the library, use the command

import dialoglib

If you would rather cut and paste these subroutines into your own program rather than importing this rather large library, or create your own, smaller library with just the routines you need, be my guest (I would appreciate a note of acknowledgement in your code). But some subroutines require supporting routines that you will find at the end of this library. You will have to include those as well.

You should not use this library and one of the others in this set that provides dialogs concurrently, because they replicate subroutine names. Pick the right one for your program and stick with it!

I have not enabled the file selection dialogs - they are just too clunky and confusing. If you really need them, try the SelectFile$(), SelectDir$() and SelectMultiFile$() routines in the linuxmisclib library.

Routines available:

Common Routines

These routines are available on any of the four dialog-providing libraries.







dialog-specific routines

These routines will only work with dialog.