scrmgr - curses based screen design and data entry.


1. Introduction

SCRMGR is a curses-based (text screen or 'console') screen manager and data entry system. It makes heavy use of "softkey labels" and "softkeys" (a.k.a. function keys F1-F10) to guide the user.

The initial inspiration for this was:

I ended up writing rather more than I anticipated.

2. The programs

2.1 The main event:

uses screen layouts to edit data (flat) files such as /etc/passwd or address books/rolodex

2.2 Some other examples of its use:

a text editor driven by softkeys
a text-gui for the Unix sort command
a text-gui for the Unix find command

2.3 Development tools:

create screen layouts
converts screen layouts to c skeleton
converts screen layout to awk skeleton
generates screen layouts from an examination of the data fields
These utilities may be old and clunky but they serve me well when I want a quick and easy way to build and edit flat files. I have used them since about 1991 and the main program 'smdata' is pretty clean and bug free - I've not lost data for many years. The others vary. You can send me bug reports and fixes.

Why put it out now when everyone is using GUIs? Well, I was going to ship it out under GPL several years ago but I wanted to shake out the last bugs. It seems that somehow I never got around to that and somehow never shipped it. Better late than never - well I hope someone else finds this useful! I ran into someone at the local LUG who only runs text console - doesn't run X at all - so maybe there is still an audience out there! He was under 25 years old, too!

3. Some examples of use:

4. Some Historical bits & pieces

At one time, SCRMGR was used as a network database capable of managing multiple 'master' and 'slave' datasets and the relation between them. e.g. a master set of customer details with a unique customer id and a slave file of invoices posted against that customer. The classic database thing that was so easy in HP's Image database and so hard in dBase and relational databases. It may still work but it became rather too difficult to use and to maintain so it would probably be best to stay with the simple, single file applications. Use something else for complex multi-relation databases.

There were also Xaw and Openview versions of this but I have not used them for some time now, finding the curses user interface adequate for the simple applications. Tk/tcl would be a better bet if you really want a true GUI. I wrote a version of that too - I called it datatool - but it appears to be broken. If I can get it up and running again, I'll post it on my homepage.

It is quite possible that SCRMGR could be interfaced to mysql or some other true database system instead of using flat files but I have not tried that yet.

Oh yes - nearly forgot. This whole thing also ran on MSDOS and could read and write the same datafiles (it converts Unix<->MSDOS automatically). For a long time, I had to use MSDOS at work and this was how I could keep one set of datafiles at home, at work and on the road in sync - one address book everywhere. I don't use any MS products now but I do have a Psion which can read these flat files into its address book.

SCRMGR also once ran on SunOS under XView/OpenView using a tool called xctool instead of xterm. This gave it a nice GUI.

I doubt that the MSDOS or SunOS ports will compile using the supplied makefiles but it shouldn't be too hard to get them going. I no longer have access to MSDOS at all and no current interest in using this on Sun so I cannot support them. If anyone else does, then I'd be willing to include your patches.

An interesting little twist (to me, anyway) was using SCRMGR to build its own screens, menus, softkey labels and other facilities. An exercise in bootstrapping itself. The first, primitive version was build with a hand-coded .dat file. This was then used to develop better versions. Cute. The present 'make install' process still uses this approach compiling sm2c first and using that to process various screen files for use in the system.

5. Screenshot

Here's a shot of using the data entry program on the /etc/passwd file.

6. Download

It's probably best (if using Netscape) to do a right-click and then "Save Link As..." on these:

Source RPM:
Source tarball:

This site built with Linux

This page last updated on Mon Dec 23 09:52:35 EST 2002
For corrections/additions/suggestions for this page, please send email to:

Copyright© 1997-2002 Bob Hepple. All rights reserved.'