From: plebeau@cix.compulink.co.uk (Paul Lebeau)
Newsgroups: comp.sys.acorn.tech
Subject: iconizing, modems, ro3 etc
Date: 12 Oct 92 18:46:00 GMT
Reply-To: plebeau@cix.compulink.co.uk



How to handle Window Iconizing in RO 3(.10)
-------------------------------------------

The following is an excerpt from some of my code that shows
how to handle non-appname iconizing (or at least how I do it!)

It is C, so if you can't follow it, I can describe it better
if I get any request to do so...


---

static void prog_iconbar_events(wimp_eventstr *e, void *handle)
{
 
...
   
   switch (e->e)
   {

...
other events handled here
...


      case wimp_ESEND:
      case wimp_ESENDWANTACK:
         {

            if (help_process(e))    /* if this is a
menu-interactive-help 
message then */
               return;              /* arrange for it to be handled
*/


            switch (e->data.msg.hdr.action)
            {
...
other messages handled here
...
               /*----------*/

               case 0x400cc:   /* 'wimp_MWINDINFO'
                                  (for iconizing windows) */

                  /*--- Return some info back to the pinboard ---*/

                  /* Sprite name to use */
                  strncpy(&e->data.msg.data.chars[8],
                          WIMP_ICONIZE_SPRITE, 8);
...
WIMP_ICONIZE_SPRITE is "ic_minehunt" but you should be able to
put another sprite name in here
...
                  e->data.msg.data.chars[15] = '\0';

                  /* Text to use */
                  strncpy(&e->data.msg.data.chars[16],

                          (e->data.msg.data.words[0] == main_handle)
?
                          msgs_lookup("MEicbarT:Mine Hunt") :
                          msgs_lookup("HSicnztx:Highscores"),

                          20);
                  e->data.msg.data.chars[35] = '\0';

                  /* Reply */
                  e->data.msg.data.words[1] = 0;

                  e->data.msg.hdr.your_ref
                     = e->data.msg.hdr.my_ref;
                  e->data.msg.hdr.size
                     = ((36 + strlen(&e->data.msg.data.chars[16]) +
1) + 
3) & ~3;
                  wimp_sendmessage(wimp_ESEND, &e->data.msg,
                                   e->data.msg.hdr.task);

                  break;

               /*----------*/

               default:
                  break;        /* ignore other messages */
            }
         }

         break;

      /*----------*/

      default:   /* Ignore any other event */
         break;
   }
   
... etc

}

---

Hope that helps.



---


Someone was asking about recommendations for modems.

If you want high spec for low price, you might have trouble
finding something at the BAU show.

About the best deal going at the moment is the Twincom 14.4 DF
from Grampian Hardware in Aberdeen.  It is a V32 bis / V42 bis
with MNP 2-5 and FAX support.  It comes with Windows fax software
and is only #299 (+ VAT & carraige of course).

First let me note that I have no connection with this firm.  I
have bought one of these modems from them however and am pleased
with it (I use it for downloading my mail etc).  With V42bis or
MNP 5 data compression on, you can get up to 19200 bps on the Arc
(no probs on RO2 if your serial cable is not too long - but can be
a bit dodgy sometimes on RO 3.1 due to higher overheads on
interrupt handling).

Grampian seem to be fairly friendly and efficient.  I rang up and
gave the fella my card number and it arrived the next day.  I also
believe they are an Acorn dealer.

You might want to take a squiz at their ad in PCW (Nov pg 411).

If you want some more info, feel free to come and say hello at the
BAU show. I will be on the 4Mation stand (106).  We may also be
able to show you a new comms program we are releasing shortly.
[Note: 20% discount on all 4Mation stuff at the show]

Unfortunately, there is no Arc software to drive fax modems, that
I know of.  A colleague has written some simple code to drive our
modem.  Is there any demand out there for us to develop this
commercially?  How many of you have fax modems?


---


Some thoughts on RO3.

I have been using RO3 for over 18 months now (well actually it
started with RO 2.13 I believe!) and have been using 3.10 for
several months.

Despite impressions given by postings on the net, version 3.10
does not suffer from being buggy.  Considering it's complexity,
its very good in that respect.  Under normal use, I'm sure that
nearly all people will be blissfully unaware of any problems.

You don't know how lucky you are (!).  You wouldn't think it was
buggy if you had been using all the untold versions from 2.13 to
3.00!  One of them had the nasty habit of corrupting hard disks!

Unfortunately, some of the low priority 'unwanted features' didn't
get a chance to get fixed because of all the people out there
demanding their copy of RO3! (There are a couple of minor ones in
Paint that annoy the sh*t out of me!!)

But if there is anyone out there that is still sitting on the
fence. Stop it!!

Once you have been using RO3 for a while you will wonder why you
waited so long.

In fact, I can't stand using RO2 machines now because of all the
little things in RO3 that you take for granted after a while.

Such as... (my favourites)

- 2D scrolling

- Windows enlarging when you drag down to the bottom of the screen
  (this is a little unnerving at first, but you get used to it and
  it becomes real useful)

- Expanded filer menu ('Info=>' and 'Set type=>' especially!)

- Shift-Ctrl-F12 closedown

- Shift-DblClick to load into !Edit (invaluable to 'hackers'!)

- Shift-Adj-Close to open a parent leaving the current directory
  open.

- Iconizing windows


As far as the speed of RO 3.10 goes, I haven't noticed much of a
speed difference between RO2 and RO3.10.

RO3.00 was somewhat slower on window redraw due to using sprites
for the window icons.  But since a faster sprite lookup method
was implemented, this is no longer a problem.  (Incidentally,
this is the reason window icons are now loaded with the ToolSprites
command - they are now held in a different area from the other
wimp sprites)

I have a colleague who upgraded from RO2 to RO3.10 a couple of
days ago, and he reckons 3.10 is faster.


---


Finally a request from me...

Does anyone know whether there is a new version of SparkFS that
doesn't interfere with RO3 Shift-Ctrl-F12 closedown. (If you have
SparkFS on the iconbar and do a closedown, you need to hit escape
twice before the closedown goes through.  The version I have
access to is 1.05.

Also about half the Mac SIT files I put through it cause it to
crash.

Does David Pilling read this net?


Cheers
Paul


------------------------------------------------------------------
Paul LeBeau
4Mation
plebeau@cix.compulink.co.uk
Newsgroups: comp.sys.acorn.tech