home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d7xx
/
d730
/
term.lha
/
Term
/
arq.doc
next >
Wrap
Text File
|
1992-09-05
|
13KB
|
498 lines
Page 1 Arq Page 1
Arq
Copyright © 1990,91 by Martin Laubach and Peter Wlcek
All rights reserved
Page 2 Arq 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. 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 Arq 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
upd ......... The micro player daemon
upd.doc ..... Matching documentation
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 Arq 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...
Upd has been included with the express permission of the
author. Please do not remove it from this archive!
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
imaginery 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.
The extended EasyStruct looks like this (and can be found in
arq.h):
Programmabilities
Page 5 Arq Page 5
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
imaginery 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 imaginery.
Or 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 imaginery. 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. License
This material is © Copyright 1990,91 by Martin J. Laubach.
Imaginery 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.
License
Page 6 Arq Page 6
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 Arq Page 7
8. Acks and Naks
Additional code by René Hexel.
Amiga and AmigaDOS are trademarks of Commodore-Amiga, Inc.
ARexx by William S. Hawes.
Perfectionism by Peter Wlcek.
Sporting events, transportation and girls by
the Beach Boys.
upd by Jonas Petersson.
Window centering code by Holger Gzella, with additional comments
by Peter Cherna.
9. Postscript
We are not really happy yet with the imaginery 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.
10. 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
{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 Arq Page 8
11. 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. License ......................................... 5
8. Acks and Naks ..................................... 7
9. Postscript ...................................... 7
10. Reactions ...................................... 7
11. Road Map ........................................ 8
Road Map