[comp.sys.atari.st] where is gem desktop resource?

rosenkra@hall.cray.com (Bill Rosenkranz) (12/24/88)

---
the AES wind_set () call to replace the desktop works just fine. but how
can you set it back to what it was after a program exits? if allan's
listening, i'd appreciate the "legal, official atari sanctioned" way.
in lieu of that (i have not found any pointers/calls to do it), if anybody
knows the addr of the DESKTOP.RSC (tos 1.0?) and HDESKUSA.RSC (tos 1.2/mega?)
and foreign versions (if any) could u mail them to me?

i'm trying to write an application which installs a column of icons on
a desktop-like window. i can do it by just writing on the desktop and then
openning my application windows, but redraws (as i have them anyway) draw
the wrong desktop. i've tried openning a window as a deaktop and trapping
any topping messages but am having some problems. i suppose i'll end up
doing it the hard way (i.e. try a zillion things until i find one that works).

i have grepped memory for the string "RSC" and have found them around
0x10000 on old and mega roms.

thanx much and merry christmas...

-bill

...!rutgers!umn-sc!hall!rosenkra
rosenkra@hall.cray.com
rosenkra%hall.cray.com@uc.msc.umn.edu

(bang path should work)

mui@atari.UUCP (Derek Mui) (12/29/88)

in article <12375@hall.cray.com>, rosenkra@hall.cray.com (Bill Rosenkranz) says:
> 
> ---
> the AES wind_set () call to replace the desktop works just fine. but how
> can you set it back to what it was after a program exits? if allan's
> listening, i'd appreciate the "legal, official atari sanctioned" way.
> in lieu of that (i have not found any pointers/calls to do it), if anybody
> knows the addr of the DESKTOP.RSC (tos 1.0?) and HDESKUSA.RSC (tos 1.2/mega?)
> and foreign versions (if any) could u mail them to me?

	There is no function call to get the resource of the desktop. When an 
application makes a wind_set( WF_NEWDESK ) call, it doesn't need to reset it 
back when it exits.  When control returns to the desktop, the original 
background will be restored.

	The desktop's resource is "glued" together during the system build,
its location is different from release to release, so don't bother searching
for it in memory.



______________________________________		
I speak for myself, so ... don't blame		Derek Mui  {..ames!atari!mui}
another human being.					Atari Corp
--------------------------------------			
								
   

bob@cmpfen.UUCP (Bob Breum) (12/31/88)

In article <1274@atari.UUCP> mui@atari.UUCP (Derek Mui) writes:
>in article <12375@hall.cray.com>, rosenkra@hall.cray.com (Bill Rosenkranz) says:
>> the AES wind_set() call to replace the desktop works just fine. but how
>> can you set it back to what it was after a program exits? if allan's
>> listening, i'd appreciate the "legal, official atari sanctioned" way.
>> in lieu of that (i have not found any pointers/calls to do it), if anybody
>
>    There is no function call to get the resource of the desktop.  When an
>application makes a wind_set(WF_NEWDESK) call, it doesn't need to reset it
>back when it exits.  When control returns to the desktop, the original 
>background will be restored.
>
This is correct as far as it goes.  But there is a legitimate need to reset
the revised desktop when the program has been called from a shell.  Otherwise,
the AES will attempt to redraw the specified desktop, but the resource for 
that desktop will have been released at the time that the program terminated.
It is my understanding, although I haven't tried it, that wind_set(WF_NEWDESK)
with an address of 0 will reset the desktop.

Computer Fenestrations                                              Bob Breum
Post Office Box 151           {uiucuxc,hoptoad,petsd,ucf-cs}!peora!cmpfen!bob
Lake Monroe, FL 32747 USA
+1 407 322-3222                                          "C is the new BASIC"
-- 
Computer Fenestrations                                              Bob Breum
Post Office Box 151           {uiucuxc,hoptoad,petsd,ucf-cs}!peora!cmpfen!bob
Lake Monroe, FL 32747 USA
+1 407 322-3222                                          "C is the new BASIC"

rosenkra@hall.cray.com (Bill Rosenkranz) (01/04/89)

In article <374@cmpfen.UUCP> bob@cmpfen.UUCP (Bob Breum) writes:
=In article <1274@atari.UUCP> mui@atari.UUCP (Derek Mui) writes:
=>in article <12375@hall.cray.com>, rosenkra@hall.cray.com i said:
=>> the AES wind_set() call to replace the desktop works just fine. but how
=>> can you set it back to what it was after a program exits? if allan's
=>
=>    There is no function call to get the resource of the desktop.  When an
=>application makes a wind_set(WF_NEWDESK) call, it doesn't need to reset it
=>back when it exits.  When control returns to the desktop, the original 
=>background will be restored.

thank you, derek...

=This is correct as far as it goes.  But there is a legitimate need to reset
=the revised desktop when the program has been called from a shell.  Otherwise,
=the AES will attempt to redraw the specified desktop, but the resource for 
=that desktop will have been released at the time that the program terminated.
=It is my understanding, although I haven't tried it, that wind_set(WF_NEWDESK)
=with an address of 0 will reset the desktop.
=

thank you, bob. yes, i found this undocumented trick out in the last atari
developer's newsletter. if allan's listening, is there any chance of this
becomming "official"? seems like a mighty useful tool...

-bill
---

apratt@atari.UUCP (Allan Pratt) (01/06/89)

In article <12448@hall.cray.com> rosenkra@hall.UUCP (Bill Rosenkranz) writes:
> if allan's listening, is there any chance of this
> becomming "official"? seems like a mighty useful tool...

I do not make decisions like that concerning AES/VDI, only GEMDOS, BIOS,
and XBIOS.  You'll have to lobby Derek. 

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt

mui@atari.UUCP (Derek Mui) (01/06/89)

in article <12448@hall.cray.com>, rosenkra@hall.cray.com (Bill Rosenkranz) says:
> wind_set( 0, WF_NEWDESK, 0, 0, 0, 0 ) will reset the desktop background ...
> ..... i found this undocumented trick out in the last atari
> developer's newsletter. if allan's listening, is there any chance of this
> becomming "official"? seems like a mighty useful tool...
> 
> -bill
> ---

	This 'trick' is there in all of the previously released TOS versions
including TOS 1.4.  Personally, after examining the code, it seems like a 
safe call to make. I hope we can document that 'trick' so that it becomes 
an official feature.  By the way, I don't make the final decision on these 
things.  Remember, as stated below, these opinions are only my own.





----------------------------------------------
The above opinions are my own and nobody elses	  Derek Mui {..ames!atari!mui}
You know that, don't you?  			  Atari Corp
----------------------------------------------

poole@forty2.UUCP (Simon Poole) (01/11/89)

In article <374@cmpfen.UUCP> bob@cmpfen.UUCP (Bob Breum) writes:
>In article <1274@atari.UUCP> mui@atari.UUCP (Derek Mui) writes:
..........
>>    There is no function call to get the resource of the desktop.  When an
>>application makes a wind_set(WF_NEWDESK) call, it doesn't need to reset it
>>back when it exits.  When control returns to the desktop, the original 
>>background will be restored.
>>
>This is correct as far as it goes.  But there is a legitimate need to reset
>the revised desktop when the program has been called from a shell.  Otherwise,
>the AES will attempt to redraw the specified desktop, but the resource for 
>that desktop will have been released at the time that the program terminated.
>It is my understanding, although I haven't tried it, that wind_set(WF_NEWDESK)
>with an address of 0 will reset the desktop.

One rather well known program which did not reset the the desktop in early
versions was the Kuma Resource editor. There was no problem in using as the 
offically sanctioned way to crash the system (see above quote from mui@atari)
just by starting it from one of the many GEM-menu based shells (the AES really
likes drawing non-existant resource trees).

This information, plus the fact that there was/is an undocumented workaround
(using an address of 0 to reset) and a suggestion that Atari document this
behaviour was posted by me to this newsgroup in early 1987/late 1986.

-- 
----------------------------------------------------------------------------
UUCP:   ...mcvax!cernvax!forty2!poole			Simon Poole
BITNET: K538915@CZHRZU1A
----------------------------------------------------------------------------