[comp.windows.x] v00i002: Ardent Window Manager

dheller@cory.Berkeley.EDU (Dan Heller) (08/11/88)

In article <1701@hoqax.UUCP> twb@hoqax.UUCP (T.W. Beattie) writes:
>PLEASE PLEASE at least a brief indication of what the posting does, why
>anyone would want it, etc.

Good idea -- and how about at least 5 postings a day instead of 3? :-)

>So what is an  Ardent Window Manager(X11)??

The newsgroup, of course, is comp.windows.x, so the software posted
it going to be X-windows related ...oops, excuse me..."X Window System"
At any rate, a window manager is something that manages the windows on
your screen (or do you need to know more than that).

More specifically, however... AWM is something written by Jordan Hubbard
formerly of Ardent Computer.  He hacked up a "version" of uwm (I don't
know which version) to allow title bars on windows and so forth...  For
the most part, it's pretty nice and functional for the common user.

However, as a programmer, I'm finding it rather tough, but I don't know
how bad it is because I haven't used any other window manager other than
uwm (and I need title bars too much to bother with that too long).

The problems I'm having with awm (sorry, Jordan -- since you've moved
away, I have to complain to _someone_) are mostly that it dies too easily
at the first sign of trouble.  For example, I start up X via the alias

xinit =80x11+0+715 -fn r14 -C -T console -e ~/.Xinit

This gives me a startup shell which uses the font "r14", places it
at 0,715 on my screen, is 80 columns by 11 lines, is a console window
(-C) has the name "console" and the startup file to run is the file
.Xinit in my home dir (be sure to make this file executable, or you
won't last too long :-).  In .Xinit, I start "awm &" and run other
applications (my clock, my "biff" and 2 xterms).  So far, fine...

I have no idea why this happens, but even tho I can go in and out
of other programs in that window and so on... but the *first* ^C that
I do in that window kills awm.

When I start awm again, all the windows that existed on the screen
do _not_ respond to the "autoraise" feature.  If I start new applications,
regardless of what they are, they will get autraised if I enter the
window, but only the new ones... not the old ones..  ^C in that window
no longer kills awm.

I can't seem to turn the title bars off on windows anymore.  I used
to have things like "*showTitle: off" and that used to work for the
programs I didn't want to have title bars, but now everything has
title bars and there's no way to turn them off.  Yes, I know about
the change to "decorate" as documented in the latest version.  however,
I can't even use f.nodecorate to turn them off... Most f.* functions
hardly work as they used to (e.g. I click in a window and the function
should apply to that window, but literally nothing happens).

If I write a program which has a simple form widget and some command
wigets in it and I use my mouse button within the _form_ widget, AWM
seems to think I'm on my _root_ window and tries to translate events
ignoring the fact that I'm not on my root window...

AWM seems to core dump a lot more often than it used to.  Also, unknown
events seem to kill it pretty easily.

I still use awm despite my grumblings, but I've noticed that each
version posted is just a little buggier than the previous release
and there's no backwards compatibility with previous versions (for
example, the titlebar changes).  however, I'd love to get feedback
on other people's experiences with awm and/or other window managers.
I haven't run TWM, but I haven't seen many bug reports on it... is
that cuz no one uses it, or cuz it's bugless? :-)


Dan Heller	<island!argv@sun.com>

moraes@godzilla.ele.toronto.EDU (Mark Moraes) (08/12/88)

In article <4961@pasteur.Berkeley.EDU> pasteur!cory.Berkeley.EDU!dheller@ames.arc.nasa.gov (Dan Heller) writes:
>                                  however, I'd love to get feedback
>on other people's experiences with awm and/or other window managers.
>I haven't run TWM, but I haven't seen many bug reports on it... is
>that cuz no one uses it, or cuz it's bugless? :-)

I've been using twm ever since version 1.0 - for the record, I think
its been getting better with every release, and is still small (little
over half the size of awm), and reasonably functional.

There are two bugs in twm that annoy - one sounds like what you report
for awm:
>If I write a program which has a simple form widget and some command
>wigets in it and I use my mouse button within the _form_ widget, AWM
>seems to think I'm on my _root_ window and tries to translate events
>ignoring the fact that I'm not on my root window...

twm does the same for popup widgets - when you set override-redirect -
which makes it kind of hard to use dialogs - your keystrokes go into
never-never land, or the root window to be more precise. I've tried to
track this down, but haven't been able to find this. As far as I can
tell, twm has no idea that the override-redirect window is there, and
isn't involved in any way - but it still seems to get events that have
the Root Window as the window field. I'm not sure why this happens -
does anyone have a fix/reason for this behaviour?

The other bug is that it doesn't deal with zaphod mode (dual screen)
on color Suns. It works fine on one screen, but doesn't allow anything
to happen in the other screen even if you run another wm there - two
awms are fine and two uwms also fine. Since I only use the mono screen
anyway, it doesn't matter usually. But when I want to test something
in color......

Otherwise I'm quite happy with it - doesn't dump core very much, and
since version 3.2, doesn't die too often when an application dies
abruptly.

jkh@pcsbst.UUCP (Jordan K. Hubbard) (08/17/88)

 Having finally (more or less) settled down in Germany, I can
answer some of the points raised by Dan.

>I have no idea why this happens, but even tho I can go in and out
>of other programs in that window and so on... but the *first* ^C that
>I do in that window kills awm.

This was due to system V ignorance on my part. I didn't realize that
many sysV's deal with tty generated signal handling in backgrounded processes
by simply ignoring the signals in question. Since awm trys to be sociable
by catching these signals and exiting as gracefully as possible, it
loses in these cases. I learned that there's a long standing tradition
of doing..

        if (signal(SIGFOO, DieNicely) == SIG_IGN)
                signal(SIGFOO, SIG_IGN);

on system V systems and have patched awm accordinly. I'll send out
a patch at the end of the week.

I've also fixed a few other minor nits and one major memory leak.
Since I'm going to the Xhibition, I'll send this out in a timely
fashion; I.E. in a couple of days. (sigh, my feet have barely touched
the ground and already I'm flying back across the pond...)

I won't be sending this patch out via xpert as comp.sources.x has
assumed this role. Let me know (*real soon*) whether you need it
mailed direct.

Dan can't turn his title bars off anymore because "showTitle" isn't
the proper method anymore. I did mention this in the CHANGES file,
which should *always* be read. I do stand guilty of not remaining
backwardly-compatible, but I do try to warn everyone.

awm also hasn't coredumped on me in quite some time. Dan, please
give me more details on your problems and I'll do my best to help.

Anyone else with questions, or an axe to grind, can talk to me
at Xhibition. Otherwise, please send mail to the address below...

Chow..


-----
                                Jordan Hubbard
                                uunet!unido!pcsbst!jkh

                                PCS Computer Systeme GmbH
                                Pfaelzer-Wald-Str. 36
                                D-8000 Muenchen 90.
                                West Germany