[comp.windows.x] translations vs. hard-coding

adam@bsw.UUCP (Adam de Boor) (06/16/89)

Is it just my warped perceptions, or is there a noticeable lack of
understanding as far as the power of the "translations" resource goes? In each
of the applications I've looked at closely (well, both of them: xpostit and
xman), I find things have been hard-coded in that could have been much better
done via the translation manager.

xpostit, while using a widget for its 3M plaid icon, has a single
action to which it binds all button events. The action just calls a callback
that says "left button? raise all notes; middle button? lower them all; right
button? bring up a menu". There are only three sizes of note you can create,
although you can change the size with the window manager (a cumbersome way
to provide functionality, I must say). A much better way to perform the
task at hand is for the Plaid widget to provide the actions RaiseAll, LowerAll,
SaveAll, and MakeNote (which takes two parameters: the height and width in
inches). This allows me to bind "Shift<Btn1Down>" to make myself a 1x1.5 inch
note (not one provided by the menu, but just about the right size for me), or
"<Key>s" to "SaveAll", rather than having to bring up the menu.

xman, on the other hand, has a particularly annoying "feature" where it brings
up a menu whenever the mouse crosses its title bar. I had hoped to be able
to just rebind that to "<BtnDown>: MenuPopup(menu)" (that's another thing
lacking in xpostit -- the menu is brought up by hand rather than with a
MenuPopup action, so there's no way to rebind the event used to bring the thing
up), but no. It doesn't even pretend to be flexible (as xpostit does), it
just calls XtAddEventHandler.

I don't mean this to be a personal attack on the authors of these programs --
xpostit is quite a nice little program now that I've been able to customize
it and fix the saving of the note positions so they come up where I so 
carefully placed them before logging out. Rather, this is a plea for people
to recognize the power of the translation and action mechanism and the
flexibility it provides. It gave me a warm fuzzy feeling when I was able to
change all scrollbars to have what I consider the "right" button bindings
(left goes up, right goes down) in all Xaw-using clients by adding three lines
to my resources file. Please, folks, let's not make applications overly
restrictive, shall we?

a

rws@EXPO.LCS.MIT.EDU (06/16/89)

    xman, on the other hand, has a particularly annoying "feature"

xman for R4 has been almost completely overhauled.

swick@ATHENA.MIT.EDU (Ralph R. Swick) (06/16/89)

Your observations and plea are certainly welcomed here.
We couldn't agree more!

My only real comment is in defense of at least one of the two
applications you cite, and others of their generation; it's only
a (mere :-) matter of time.  Chris had the less than pleasant
experience of developing xman concurrently with the development
of Xt and Xaw (pre R1 days, folks).  For some odd reason, getting
it to work and keeping it working under each baselevel of the
tools got more attention than did making its implementation
a perfect coding example.  You'll be thrilled with the cleanup
Chris has done in xman for the next release, I promise :-)

We're slowly headed towards the nirvana of having the core
clients be useful programming examples as well as useful tools...

deboor@buddy.Berkeley.EDU (Adam R de Boor) (06/17/89)

I dunno, all these promises about R4 are making me mighty impatient :)
Does the R4 xman geometry management still wipe out the displayed man page
part if you resize one of its windows with both the directory and the man
page showing? That one's also annoying...

Hoping "this yearish" is soon, but understanding if it's not,

a

rws@EXPO.LCS.MIT.EDU (06/17/89)

    I dunno, all these promises about R4 are making me mighty impatient :)

Gee, and we haven't even told you the GOOD stuff yet ...

kit@EXPO.LCS.MIT.EDU (Chris D. Peterson) (06/20/89)

> In each
> of the applications I've looked at closely (well, both of them: xpostit and
> xman), I find things have been hard-coded in that could have been much better
> done via the translation manager.

Xman will have this problem "fixed" in R4, I have made almost everything an
action, this means that you can pretty much change everything around.


                                                Chris D. Peterson
                                                MIT X Consortium

Net:     kit@expo.lcs.mit.edu
Phone:   (617) 253 - 9608
Address: MIT - Room NE43-213

kit@EXPO.LCS.MIT.EDU (Chris D. Peterson) (06/21/89)

> Does the R4 xman geometry management still wipe out the displayed man page
> part if you resize one of its windows with both the directory and the man
> page showing? That one's also annoying...

Nope, it took a major rewrite of the VPaned widget to fix it, but it has 
been fixed.


						Chris

earle@MAHENDO.JPL.NASA.GOV (Greg Earle) (07/23/89)

In article <8906161233.AA20184@LYRE.MIT.EDU> Ralph Swick writes:
>Your observations and plea are certainly welcomed here.
>We couldn't agree more!
>...
>My only real comment is in defense of at least one of the two
>applications you cite, and others of their generation; it's only
>a (mere :-) matter of time.

In a (vaguely) similar vein, let me add a plea to those of you who have written
contributed software for X11 - please read the new ICCCM and if you find
that your programs are not setting all the `proper' hints for the Window
Manager to allow correct usage of your program, then please consider adding
the necessary code to do so, and re-submit it.

The OPEN LOOK Window Manager (olwm), supplied as the default WM with Sun's 
X11/NeWS, is fiercely ICCCM-compliant, and I have found quite a few contrib
programs that don't set the hints for getting keyboard focus from the WM,
which renders them rather difficult to use (^:

Two immediate examples that come to mind are the X versions of `mazewar'
and `wanderer'.

Thanks,

	- Greg Earle				Disclaimer: Anything I post
	  Sun Microsystems, Inc.			    from this account
	  JPL on-site Software Support			    represents *my*
	  earle@Sun.COM					    opinions *only*,
	  earle@mahendo.JPL.NASA.GOV	(Guest)		    and *not* Sun's.