Skip to content

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

License

Notifications You must be signed in to change notification settings

urbanjost/M_fixedform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 was originally based on 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. Although they are not all that similiar after all, M_fixedform and PDUs share an approach where a simple text template defines a more refined TUI:

NOS TDU manual

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

M_fixedform(3f) is a beta release and so subject to change, but this has been stable for a long time.

Probably at least needs scrolling input fields and pull-down menus added.

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages