home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 3
/
CDPDIII.bin
/
pd
/
commodities
/
arq
/
arq.doc
< prev
next >
Wrap
Text File
|
1992-10-13
|
14KB
|
498 lines
Page 1 AWE! Page 1
Arq's Wonderful Explanation!
Copyright © 1990-92 by Martin Laubach
All rights reserved
Arq
Copyright © 1990-92 by Martin Laubach
All rights reserved
Page 2 AWE! Page 2
1. Introduction
Arghh! There it is again... My favorite application just
wanted to inform me of some important event. And there it
appears, the much-hated standard system requester, that
itty-bitty window that seems glued forever to the upper left
edge of the screen, a requester that can only be acknoledged
using the mouse or some much too cryptic key combination (ugh!
been reading too much lyric lately?)
It seems that although appearance of these system requesters
has been improved in Kickstart 2.0 over 1.3, it wasn't nearly
enough. Close, but no banana...
2. Who and why
Especially Peter was very unhappy with the new style
requesters in 2.0 (he doesn't like the 1.3 version either) --
"They have redone the Workbench, it now looks slick and shiny,
but those requesters are about as awful as they could be", and
"the design of the new requesters has already improved quite a
bit -- compared to Kickstart 1.3. But yet they are not yet
state-of-the-art".
Having seen one of my (Martin's) earlier tools, "CR", that
remapped the requesters under 1.3 to something a bit more
appealing to the eye (and IMHO, kinda much more user friendly),
he came up with the idea of redesigning those dialog boxes.
In the beginning, I was not quite happy about rewriting my
code to suit his rather perfectionist ideas ("now leave two
pixels here, and don't forget that line of gray to the
right...") -- no idea how he's done it, but he finally got me to
the point to do him the favor.
So here's the result. Note that it is trimmed to fit the "new
look" of Workbench 2.0 (hires interlace -- any other resolution
will make it look a bit weird).
3. What
Arq, abreviation for -- well, I forgot --, is a little utility
to improve the look and feel of system requesters under AmigaOS
2.0. I won't say more... Or, as Peter put it:
"If you were ever used to those really professional
Custom-Requesters for KS 1.3 from mjl, you were missing those
under AmigaOS-2. Well -- here they are!"
Since 1.57, Arq features a sound interface -- any appearing
requester now may be accompagnied by some user-definable sound.
What
Page 3 AWE! Page 3
Please refer to the respective chapter for more information
about the sound interface.
Arq wedges into Intuition's AutoRequest(), EasyRequest() and
DisplayBeep() vectors (as well as CloseScreen(), but you won't
notice that one), and replaces each of those routines by our
artist's idea of a requester, which is much more flexible and
user friendly than the system's standard requester.
Note that the graphics are stored in fax-like compression
format. This means that you (a) won't be able to compress it
much further, (b) having several Arq requesters open on a plain
vanilla 68000 will slow down the system a bit.
This archive should contain
Arq ......... The executable
Arq.doc ..... What you are reading now
Arq.h ....... Include file for special features
4. How to
Just "run arq" and enjoy the improved system messages. To stop
it, just send it a ^C via the "break" command (though I doubt
you'll ever want to quit it).
Under 2.0, you can control Arq with the Commodities Exchange
tool. You may freely enable, disable, or kill Arq. Also,
starting Arq a second time, will remove itself from the system.
The main advantage of those requesters is (apart their look),
that we moved the strange combination of Left-Amiga-V and
Left-Amiga-B (of course those are working too, special favour to
Andy Finkel) to the ESC and RETURN key, which makes life quite a
lot easier (no more knots in your fingers).
Another possibility is to use the function keys, where F1
corresponds to the leftmost, F2 to the second, and so forth,
gadget -- that way you can answer requesters with more than two
buttons, like IconEdit's.
Though written with 2.0 in mind, Arq does work under 1.3 as
well -- but the layout will look a bit stretched in
non-interlace mode. We will come out with an adapted version
when the time is ripe (ie. bug me, and you'll probably get it
[sigh]).
Please also note that this command replaces some of the
library vectors in intuition.library -- restoring them is per
definitionem not a safe operation. While this works most of the
time, you may witness wonderful things happening when there is
another tool (like srt) wedged in after Arq. So please be
careful.
How to
Page 4 AWE! Page 4
A favorite seems to install AssignX in conjunction with Arq --
please note that when using a bigger system font, Arq will find
the so changed requester too big to be opened, and use the
original system requester instead. THIS IS NOT A BUG, but an
intended feature.
5. Sounding away
Instead of building the sound capability into Arq itself, we
chose to implement it following the client-server model: a
sound playing server, as, for example the "upd" sound daemon by
Jonas Petersson will do all the hard work, giving you the
additional bonus of being able to play your favorite tunes from
your ARexx programs...
The following sound IDs are used, for the corresponding
requesters and DisplayBeep -- please refer to upd's
documentation how these work.
· warn_write_protected
· warn_insert_volume
· warn_delete
· warn_printer
· error_task_held
· error_read_write
· error_general
· warn_general
· query_general
· beep
6. Programmabilities
Often some application would display a requester e.g. in a
different language, thus Arq was unable to choose the correct
graphics to display. To circumvent this problem, Arq features
third-party programmable animations and images since version
1.64.
The problem was how to extend the usual EasyStruct without
disturbing the correct working on machines without Arq installed
or with an older version of Arq. Our (yes, it's strange)
solution is to stick a non-breaking space (0xA0) in
easy.es_Title.
Programmabilities
Page 5 AWE! Page 5
The extended EasyStruct looks like this (and can be found in
arq.h):
struct ExtEasyStruct
{
struct Image *Image;
char *Sound;
WORD AnimID;
UWORD Flags;
ULONG Magic;
ULONG Reserved[3];
struct EasyStruct Easy;
};
To trigger the recognition of an extended structure, you have
to put a non-breaking space in easy.Easy.es_Title, and fill
easy.Magic with the value ARQ_MAGIC.
Only then Arq will look at the extra fields to determine which
imagery should be displayed.
You have the following possibilities:
One: Put the ID of the scene you want to appear into
easy.AnimID -- Arq will display the animation of your choice.
For example, stuff ARQ_ID_GURU in that field (see the include
file arq.h for more ID names), and no matter what the requester
text is, you will always get the guru graphics.
Two: Put ARQ_ID_IMAGE into easy.AnimID, and a pointer to a
struct Image into easy.Image. Arq will then display the (static)
image you provided instead of any built-in imagery. If
easy.Sound is non-NULL, Arq will also attempt to play the sound
with the given name (please refer to the chapter about "upd" and
sounds for more details).
After having filled out the ExtEasyStruct structure, submit it
to the EasyRequest() routine, like this:
EasyRequest(&MyExtEasyStruct->Easy)
7. Recent changes
In version 1.61, people complained that, if Arq opened its
requester while some screen obscures the active screen, they
would not notice the requester. So this was changed to the first
screen in 1.66. Now people are actually complaining it opening
on the first screen. I've changed it back to the active screen.
Oh well.
The buttons have a visual feedback for keyboard operation
since 1.66.
Recent changes
Page 6 AWE! Page 6
For a complete listing of the changes made, please refer to
the automatically generated file "Changes".
8. License
This material is © Copyright 1990-92 by Martin J. Laubach. All
rights reserved. Graphics is © Copyright 1990,91 by Peter Wlcek
-- All rights reserved.
It may be distributed freely as long as the following
restrictions are met:
The distributor may charge a fee to recover distribution
costs. The fee for diskette distribution should not be more than
the cost to obtain the same diskette from Fred Fish.
The distributor agrees to cease distributing the programs and
data involved if requested to do so by the authors.
You may copy and distribute verbatim copies of the program's
executable code and documentation as you receive it, in any
medium, provided that you conspicuously and appropriately
publish only the original, unmodified program, with all
copyright notices and disclaimers of warranty intact and
including all the accompanying documentation, example files and
anything else that came with the original.
The author will not be liable for any damage arising from the
failure of this program to perform as described, or any
destruction of other programs or data residing on a system
attempting to run the program. While I know of no damaging
errors, the user of this program uses it at his or her own
risk.
License
Page 7 AWE! Page 7
9. Acks and Naks
Additional code by René Hexel.
Amiga and AmigaDOS are trademarks of Commodore-Amiga, Inc.
ARexx by William S. Hawes.
Distraction (constant) by TinyCat.
Graphics inspired by Michael Karlsson (micke@slacka.sirius.se).
Nagging (also constant) by the guys on IRC.
Perfectionism by Peter Wlcek.
upd by Jonas Petersson.
Window centering code by Holger Gzella, with additional comments
by Peter Cherna.
10. Postscript
We are not really happy yet with the graphics for "?" and
"!". Should you have "THE" idea, please get in touch with any of
us...
Also, don't hesitate to yell when you've got graphics you'd
like to see in the next version. As of version 1.66 I've heard
very little "direct" response -- I was able to catch a few
comments in some newsgroups, but that's it basically. Remember,
if you don't tell me (me, and not some unrelated, innocent
people in some newsgroup/usergroup/echomail conference) what
problems or ideas you have, chances are good you won't find them
realised in future versions.
11. Reactions
If you have any comments, ideas what could or should be
improved, bug reports or just like to chat a bit, please feel
free to contact me at one of the following addresses... I just
*love* receiving mail!
FidoNet: 2:310/3.14
Usenet: mjl@alison.at (home)
mjl@auto.tuwien.ac.at (work)
{cbmvax!cbmehq,mcsun!tuvie}!cbmvie!alison!mjl
Peter, the graphics and animation wizard, can be reached
2:310/42 in FidoNet.
Looking forward to reading from you,
mjl
Reactions
Page 8 AWE! Page 8
12. Road Map
1. Introduction .................................... 2
2. Who and why ....................................... 2
3. What ............................................ 2
4. How to ........................................... 3
5. Sounding away .................................... 4
6. Programmabilities ............................... 4
7. Recent changes ................................... 5
8. License ......................................... 6
9. Acks and Naks ..................................... 7
10. Postscript ..................................... 7
11. Reactions ...................................... 7
12. Road Map ........................................ 8
Road Map