[comp.sys.next] background window/Scene question

m@jacobi.biology.yale.edu (mark mccallum) (10/06/90)

In the glossary it lists the base window and the workspace window. how if at
all do they differ? Which one does Scene use? How can I duplicate what Scene
does? I have looked at the example applications in the archives that create
a big window, change it's position in the display list, etc., but I would like
to duplicate Scene's ability to leave the background window in a desired
state after the app terminates.

Any help would be appreciated, I will post summary if there is enough interest.

mark

eps@toaster.SFSU.EDU (Eric P. Scott) (10/09/90)

Well, I was working on a more-or-less definitive answer to this
and in the process of coding a program to set the background
image (i.e. a much improved replacement for Lane's shell script
posted here in March), came up with an amusing derivative...
and don't want to, um, compromise your enjoyment by releasing
source just yet.

Basically, when the Window Server starts, there is only one
window in the screen list: a screen-sized nonretained window
painted gray (with the same exposure color).  Scene installs a
*retained* window above that to hold background images, and
twiddles things so the Workspace Manager uses that as its
"placemat."  (to be continued)


I've FTPed the following to the submissions directory at cs.orst.edu:

-rwxr-xr-x  1 eps        16384 Oct  8 19:53 narcissus*
sum	07460    16

This is a binary executable.

narcissus deals with one of my earliest criticisms about the
Workspace: if you happen upon a logged-in NeXT you can't see
who's logged in.  Now you can.  :-)

If your picture's not in /LocalLibrary/Images/People, you will
find narcissus very dull indeed.  Refer to the documentation on
the NeXT Mail Application for more information on this.

What else?  The program is reasonably well-behaved, but only
known to work on 1.0 and 1.0a systems, and probably will choke
and die on color images.  (Not having any color systems to test
this on...)  There are some circumstances under which it won't
work correctly, but it shouldn't do anything harmful.

Enough spoilers... go play!

					-=EPS=-

wjs@milton.u.washington.edu (William Jon Shipley) (10/22/90)

EPS' description of how Scene works meshes with my knowledge, but he didn't
mention that Scene actually redefines the PostScript variable "workspaceWindow"
to be the number of its new window when it replaces the background.

Assumedly, if you reset your background to a constant color, Scene nukes the
new window and resets workspaceWindow back to 14 (the 1.0 initial value of
workspaceWindow).

-w

eps@toaster.SFSU.EDU (Eric P. Scott) (10/23/90)

In article <9692@milton.u.washington.edu> wjs@milton.u.washington.edu
	(William Jon Shipley) writes:
>EPS' description of how Scene works meshes with my knowledge, but he didn't
>mention that Scene actually redefines the PostScript variable "workspaceWindow"
>to be the number of its new window when it replaces the background.

It does more than that.
deskWin is redefined so the right mouse button will work,
workspaceWindow is for the left mouse button and the keyboard.

>Assumedly, if you reset your background to a constant color, Scene nukes the
>new window and resets workspaceWindow back to 14 (the 1.0 initial value of
>workspaceWindow).

Wrong.  It does a  <whatever> setgray clippath fill  on the
window it created, which is never freed.

BTW, the consensus was that I should hold explanation until I
have a complete posting prepared.

					-=EPS=-
-- 
Of course it's taking a long time... it's a BACKGROUND task.  :-)