Work-In-Progress
M_fixedform simplifies creating a TUI (Terminal User Interface) with Ncurses from Fortran. That is it facilitates creating simple forms in terminal windows.
Required dependencies ...
Requires the M_ncurses module and for the ncurses library to be available on the system.
The idea of M_fixedform is based on fuzzy memories of the CDC NOS TDU Fortran interface and PDU and CCL where a simple text representation of a form plus some simple descriptions could be turned into a screen-mode interface from Fortran.
Surprisingly, long after creating this I found a manual for the TDU product from long ago that inspired this. Although they are not all that similiar after all, M_fixedform and PDUs at least share an approach where a simple text template defines a more refined TUI:
Still in beta so subject to change, but this has been stable for a long time. Probably at least needs scrolling input fields and pull-down menus.
A sample view of a M_fixedform input file as it would be rendered on the screen that also describes the input file format converted to HTML (using an included program) is in paper0001
Name
M_fixedform(3f) - use M_ncurses to generated fixed forms (LICENSE:MIT)
Synopsis
use M_fixedform
Description
Building the Module using make(1)
git clone https://github.com/urbanjost/M_fixedform.git
cd M_fixedform/src
# change Makefile if not using one of the listed compilers
# for gfortran
make clean
make F90=gfortran gfortran
# for ifort
make clean
make F90=ifort ifort
# for nvfortran
make clean
make F90=nvfortran nvfortran
This will compile the Fortran module and basic example program that exercise the routine.
Build and Test with FPM
Alternatively, download the github repository and build it with fpm ( as described at Fortran Package Manager )
git clone https://github.com/urbanjost/M_fixedform.git
cd M_fixedform
fpm run "*"
fpm run --example "*"
fpm test
or just list it as a dependency in your fpm.toml project file.
[dependencies]
M_fixedform = { git = "https://github.com/urbanjost/M_fixedform.git" }
Documentation
User
-
A single page that uses javascript to combine all the HTML descriptions of the man-pages is at BOOK_M_fixedform.
-
a simple index to the man-pages in HTML form for the routines and programs
-
There are man-pages in the repository download in the docs/ directory that may be installed on ULS (Unix-Like Systems).
-
CHANGELOG provides a history of significant changes