[comp.sys.sgi] Wandering Icons

karron@MCIRPS2.MED.NYU.EDU (09/19/90)

Is there a way for an icon to stay put, in a constant location,
so that when it is opened and stowed, it goes back to the same
location each time ?

I loose track of what is happening in each icon when they jump
into any available slot, instead of some location. I build a
mental map of what is going on in each spot, only to get confused then
they re arrange themselves. Then I have to really confuse things
by opening all of the identical wsh icons looking for the process I
stowed.

Is there a way to put an annotation on the wsh icon, like the pwd it is in
from inside the wsh ? Is there a way to iconify wsh from the command line ?,
and when a process finished, beep, or change the text on the icon, or
even open itself (a blooming process that flowers).

dan.
+-----------------------------------------------------------------------------+
| karron@nyu.edu                          Dan Karron                          |
| . . . . . . . . . . . . . .             New York University Medical Center  |
| 560 First Avenue           \ \    Pager <1> (212) 397 9330                  |
| New York, New York 10016    \**\        <2> 10896   <3> <your-number-here>  |
| (212) 340 5210               \**\__________________________________________ |
+-----------------------------------------------------------------------------+

blbates@AERO4.LARC.NASA.GOV ("Brent L. Bates AAD/TAB MS361 x42854") (09/19/90)

    That is something I miss from Sun icons.  When you iconify something,
it will always go back to the same place.  You can even save the screen
layout, windows and icons locations, so that when you log back on, all
the windows and icons are the same as when you last saved the positions.
Listening SGI?!
--

	Brent L. Bates
	NASA-Langley Research Center
	M.S. 361
	Hampton, Virginia  23665-5225
	(804) 864-2854
	E-mail: blbates@aero4.larc.nasa.gov or blbates@aero2.larc.nasa.gov

alain@paris.asd.sgi.com (Alain Dumesny) (09/19/90)

In article <9009181944.AA19726@mcirps2.med.nyu.edu>,
karron@MCIRPS2.MED.NYU.EDU writes:
|> 
|> Is there a way for an icon to stay put, in a constant location,
|> so that when it is opened and stowed, it goes back to the same
|> location each time ?
|> 

Put this in your user.ps file in your home directory.
This way tidyed icons remain in the same location (you can drag them to
position them).


%% whether icons are automaticly tidied up is controled by TidyState
% UserProfile /TidyState /Always put		% default state
 UserProfile /TidyState /Never put		% pre- 4D3.2 release behavior


As for the rest of your questions, I don't know...

----------------------------------------------------------------------------
Alain Dumesny  alain@sgi.com (415)335-7250 Silicon Graphics Inc. (ASD) 8U-550

milt@sgi.com (Milton E. Tinkoff) (09/19/90)

In article <9009181900.AA25255@aero4.larc.nasa.gov> blbates@AERO4.LARC.NASA.GOV ("Brent L. Bates AAD/TAB MS361 x42854") writes:
>
>    That is something I miss from Sun icons.  When you iconify something,
>it will always go back to the same place.  You can even save the screen
>layout, windows and icons locations, so that when you log back on, all
>the windows and icons are the same as when you last saved the positions.
>Listening SGI?!

I think this was recently posted but if you have the line

	UserProfile /TidyState /Never put

in your user.ps file icons will stay where you put them.

--
-------------------------------------------------------------------------------
Milt Tinkoff				|	"The lottery is a tax
Silicon Graphics Inc.			|	     on the stupid."
milt@waynes-world.esd.sgi.com		|		              -Ed Mao

dik@cwi.nl (Dik T. Winter) (09/20/90)

In article <1990Sep19.160059.20600@odin.corp.sgi.com> milt@sgi.com (Milton E. Tinkoff) writes:
 > In article <9009181900.AA25255@aero4.larc.nasa.gov> blbates@AERO4.LARC.NASA.GOV ("Brent L. Bates AAD/TAB MS361 x42854") writes:
 > >                                              When you iconify something,
 > >it will always go back to the same place.
 > 
 > I think this was recently posted but if you have the line
 > 	UserProfile /TidyState /Never put
 > in your user.ps file icons will stay where you put them.
 > 
This almost certainly does not do what you want.  Try the following: login,
open five or six windows, do a stow all and see where all the icons appear:
random places on your screen.  (There is another problem, I will come back
to that later.)

Although /usr/NeWS/lib/NeWS/user.ps does not mention it, /TidyState allows
another value: /First.  So in your user.ps:
	UserProfile /TidyState /First put
This will put the icon at a tidy place the first time the window is iconified,
and it will stay put (unless you move the icon of course).

However, one bug is revealed if you use this (or if you use /Never): it can
occur that two icons will occupy exactly the same place; which was not
the intention, I think.  To show this, log in with /TidyState to /First,
open five windows or so and do stow all.  The icons will be in the upper
left corner of your screen (unless you have played with the positioning
parameters of course).  Next open the second window; create a new window;
iconify this last one.  Its icon will go at the place of the second windows
icon.  Iconify the second window: its icon will go on top.  The bug is in
/usr/NeWS/lib/NeWS/litewin.ps; it lets the IconTiler forget about icon
positions in the wrong places.  To rectify this, copy that file to a
directory NeWS in your home directory and make the following changes:

Modify:
    /DestroyIcon {
	Iconic? { IconX IconY /lift IconTiler send } if
    } def
to:
    /DestroyIcon {
	IconX IconY /lift IconTiler send
    }

and modify:
    /TileIcon {
	Iconic? {
	    IconPlace /move self send
	} {
	    IconX IconY /lift IconTiler send
	} ifelse
    } def
to:
    /TileIcon {
	Iconic? {
	    IconPlace /move self send
	} if
    } def

Hope this helps.
--
dik t. winter, cwi, amsterdam, nederland
dik@cwi.nl

dik@cwi.nl (Dik T. Winter) (09/21/90)

In article <2196@charon.cwi.nl> dik@cwi.nl (I) write:
... <about some corrections to litewin.ps>

Alas, the corrections were not correct.  Although with these all would go well
if TidiState is First or Never, it would not go well if TidyState is Always!
Here are the correct corrections.  With these fixes to litewin.ps everything
works regardless the value of TidyState.  Replace the two procedures by:
    /DestroyIcon {
	UserProfile /TidyState get /Always ne Iconic? or {
	    IconX IconY /lift IconTiler send
	} if
    } def
and:
    /TileIcon {
	Iconic? {
	    IconPlace /move self send
	} {
	    UserProfile /TidyState get /Always eq {
	        IconX IconY /lift IconTiler send
	    } if
	} ifelse
    } def
I should not post late at night!
--
dik t. winter, cwi, amsterdam, nederland
dik@cwi.nl

msc@ramoth.esd.sgi.com (Mark Callow) (09/22/90)

In article <2200@charon.cwi.nl>, dik@cwi.nl (Dik T. Winter) writes:
|> In article <2196@charon.cwi.nl> dik@cwi.nl (I) write:
|> ... <about some corrections to litewin.ps>
|> 
|> Alas, the corrections were not correct.  Although with these all would go
well

Thank you Dik for pointing out this bug.

Alas your corrections to your corrections are not correct either.  If
/TidyState is not /Always and you zap a window without ever having
stowed it to an icon, your /DestroyIcon function causes a PostScript
error.  In a one-window application, since the window is destined to
die anyway, this is only noticeable as noise in the SYSLOG file.  In a
multi-window app it becomes a serious problem because the error causes
the application to exit and all its windows to disappear.

Here is my version of DestroyIcon. I've also included /TileIcon to
keep the entire fix in one place.

    /DestroyIcon {
	UserProfile /TidyState get
	dup /Always eq Iconic? and exch /First eq IconX null ne and or {
            IconX IconY /lift IconTiler send
        } if
    } def

    /TileIcon {
        Iconic? {
            IconPlace /move self send
        } {
            UserProfile /TidyState get /Always eq {
                IconX IconY /lift IconTiler send
            } if
        } ifelse
    } def

I'm attempting to get this fix into release 3.3.2.
--
From the TARDIS of Mark Callow
msc@ramoth.sgi.com, ...{ames,decwrl}!sgi!msc
"There is much virtue in a window.  It is to a human being as a frame is to
a painting, as a proscenium to a play.  It strongly defines its content."