From: goer@ellis.uchicago.edu (Richard L. Goerwitz)
Newsgroups: comp.unix.xenix.sco
Subject: Re: MGR for XENIX .. help
Keywords: xenixmgr
Date: 5 Apr 92 19:07:21 GMT
Reply-To: goer@midway.uchicago.edu
Organization: University of Chicago Computing Organizations

>aisk@castle.ed.ac.uk (Sotiris Karagiannis) writes:
>|> Hi to all , 
>|> I was trying to compile MGR for XENIX SCO ... since finally I couldnot
>|> afford (in terms of space) to install X11R? on my machine ...
>|> So I got MGR from Bellcore (the newest version) and compiled it under
>
>Are you using new-xenixmgr.tar.Z?  That is an older version of mgr with
>modifications by Chain Lee.  It works fine on my 2.3.3 and 2.3.4 Xenix,
>compiled with the 2.3 dev sys (and also with gcc, though the blit routine
>would not >compile with gcc).  My system has an ET-4000 VGA card.

I got curious, and tried to compile mgr here again.  I remember now some
of the frustrations I had.  First off, you can't use it with a bus mouse.
Don't even try the kludge Chain suggested.  Secondly, if you try to use it
with a two-button serial mouse, you'll get similarly flaky behavior.  So
in sum, make sure that you have a three-button serial mouse, unless you
are interested in some hacking.

I'd be leary of any software that is this finicky and flaky over such a
wide range of standard hardware.  (Note:  This is not a critique of Chain's
port; e.g. the bus mouse problems are inherent in the system.)

Okay, so I set up one system with a three-button serial mouse.  As one of
the posters noted above, gcc chokes on the MGR blit routines.  Apparently
so did Chain's version of the dev. sys.  He actually inserted a patch to
the assembler code generated by the blit LOOP macro.  His patch is very
dev. sys. specific, and simply won't work with masm, or of course with
gas.  You essentially have to undo everything he did with the offending
file to make it work on any of the newer dev. sys. versions.

I did so, and found (as noted) that gcc chokes on the blit routines.
So I tried cc.  Compiled the hierarchy without optimizations.  MGR
seemed to work fine.  Mgr even started up okay with Chain's sample VGA
.mgrc file.  Trouble is that MGR would not recognize keyboard input.  The
event handler would recognize mouse movements and button presses.  When
keys were typed, nothing happened, though.  This occurred both with cc
and gcc (using cc in both cases for the blit routines).

The next logical step would be to try compiling with DEBUG defined, and
run MGR with error output redirected.

I would just insert here a warning:  The stuff Chain put in gives me
the willies when it comes to the kernel.  If you naively make install
as root, you'll get your kernel rebuilt, and nothing in the perms dir-
ectory indicates what's been done.  Undoing it requires manually removing
the nodes, object files, etc.  I'd strongly suggest just removing the
word "kernel" from the top-level makefile, and living without that
all-important bell that Chain's kernel modifications are supposed to
make work.

I think, with some work, MGR could be a really nice little windowing
system.  Source, compiled utilities, etc. only occupy a few megabytes
when installed.  It's quite flexible, simple, and yet seems powerful
enough to do some real work.  Right now, though, the implementation is
just too flaky to be really usable.  The Xenix implementation is also
behind the current release, which contains three patches, and resides
(with some other stuff) in bellcore.com's ~ftp/pub/mgr/moviemgr.tar.Z
file.

I hope this posting helps those people that wrote to me, asking some
questions about MGR.  This is my experience only, and I see that others
have managed to get it up and running satisfactorily.  I did at one
time, but the current version (and my current compiler) don't like it,
and I'm not going to try to make it work just now.  Personally, I don't
think that windowing systems are all they're cracked up to be.  For
specific situations, they are useful.  They don't, however, turn your
machine from an undernourished minicomputer into a lean, intuitive, pro-
ductivity-enhancer.  They eat up CPU time (MGR is pretty good about
this, actually), and hog disk space.  And most don't even understand
language differences (Arabic, Japanese, Hebrew).  They deal with every-
thing in terms of simplistic Latin-conceived fonts and wordwrap methods
(though NeXT and Apple are perhaps less guilty of these sins than most;
SCO doesn't even know what Unicode *is* last I asked).

If someone has an actual, working, solid MGR hierarchy, I'll bet that
many of us would enjoy seeing it placed somewhere (unix.secs.oakland.
edu??) - I mean in binary form.  The mouse devices aren't hard-coded
in.  You can specify them on the command line.  MGR binaries (if made
to work) should drop right into a VGA-based system.

-- 

   -Richard L. Goerwitz              goer%ellis@uchicago.bitnet
   goer@ellis.uchicago.edu           rutgers!oddjob!ellis!goer
Newsgroups: comp.unix.xenix.sco