MC, 2003-11-13 (7).

The MGR Window System

Note well that this is mostly of historic interest. I haven't done any work on MGR for many years. MGR itself has gone into oblivion for the most uses, largely being replaced by the much more feature filled X Window System. I have kept this around because people seem to link to it.

Introduction

MGR (ManaGeR) is a graphical window system. The MGR server provides a builtin window manager and windowed graphics terminal emulation on color and monochrome bitmap displays. MGR is controlled by mousing pop-up menus, by keyboard interaction, and by escape sequences written on pseudo-terminals by client software.

MGR provides each client window with: termcap-style terminal control functions, graphics primitives such as line and circle drawing; facilities for manipulating bitmaps, fonts, icons, and pop-up menus; commands to reshape and position windows; and a message passing facility enabling client programs to rendezvous and exchange messages. Client programs may ask to be informed when a change in the window system occurs, such as a reshaped window, a pushed mouse button, or a message sent from another client program. These changes are called events. MGR notifies a client program of an event by sending it an ASCII character string in a format specified by the client program. Existing applications can be integrated into the windowing environment without modification by having MGR imitate keystrokes in response to user defined menu selections or other events.

MGR is a network transparent window system originally developed for the Sun 3 series of workstations by Stephen Uhler while at Bellcore (now known as Telcordia).

The window system ran on many platforms, such as Sun 3s and later even Sun SPARCstations and Intel 386s, but also under MiNT on Atari STs and in one incarnation even under MacOS.

These are the remaining files I could find in my directories. Perhaps it might be interesting for some of you. I ported the MGR server and many clients to Solaris and started on a port to SPARC/Linux, but I couldn't find the sources when I last looked. The only trace of my port is the working binary for Solaris/SPARC included below.

The source tarballs below might not compile out of the box on modern systems. You might need to tinker with it in some ways. Most likely, you will have to be sure that the binaries in src/tools are successfully built first, otherwise the server won't build.

If you would like to hack MGR, one nice thing to do would to use the stub libbitblit and write calls to the Linux fb device or use something similar on other systems. This way, MGR could live again and this time on modern graphics hardware. If you pick this up, please notify me. I would love to see this happen.

Screenshot

This screenshot was taken on Sun workstation. MGR never looked as good on, say, a PC running FreeBSD or Linux. On a PC, I have only managed to run MGR on a VGA card in 640x480 and in inverse sense of black and white. It was not a nice experience. I never meddled much with the i386 port of MGR anyway.

image

Click on the image above for the real screenshot.

Download

MC