urbanjost / M_fixedform

create fixed-form TDU interfaces using ncurses(3c) from Fortran

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

M_fixedform

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:

NOS TDU manual

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


gmake

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" }

docs

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).

  • man-pages

  • CHANGELOG provides a history of significant changes

Developer


-

About

create fixed-form TDU interfaces using ncurses(3c) from Fortran

License:MIT License


Languages

Language:Fortran 99.2%Language:C++ 0.8%Language:Shell 0.0%