[comp.sys.amiga] Iconification

mjw@f.gp.cs.cmu.edu (Michael Witbrock) (05/18/87)

Keywords:



Hey, I've been using x, and they have this neat thing called an active icon.
When you iconify a windo, it gets zapped into a really little copy of the same window (i.e. shrunk text and graphics), you can even type into it.

I don't see why this shouldnt be done on the amiga, and would be a cute cure for over crowded WBs.



--
====================================================================
Michael.Witbrock@f.gp.cs.cmu.edu
US Mail: Michael Witbrock
         Dept of Computer Science
         Carnegie Mellon University
         Pittsburgh PA 15213-6890
         USA
Telephone : (412) 268 3621 [Office]
            (412) 681 3806 [Home]
========================================================


"Be good, be kind, in whatever you say and do, and remember: keep cool
till after school." (Ollie Olsen, Television New Zealand Kids Programme host 
                      [Translated from sign language]                       ).


-- 
====================================================================
Michael.Witbrock@f.gp.cs.cmu.edu
US Mail: Michael Witbrock
         Dept of Computer Science
         Carnegie Mellon University
         Pittsburgh PA 15213-6890
         USA
Telephone : (412) 268 3621 [Office]
            (412) 681 3806 [Home]
========================================================


"Be good, be kind, in whatever you say and do, and remember: keep cool
till after school." (Ollie Olsen, Television New Zealand Kids Programme host 
                      [Translated from sign language]                       ).

cjp@vax135.UUCP (Charles Poirier) (05/18/87)

In article <59@f.gp.cs.cmu.edu> mjw@f.gp.cs.cmu.edu (Michael Witbrock) writes:
>Hey, I've been using x, and they have this neat thing called an active icon.
>When you iconify a windo, it gets zapped into a really little copy of the
>same window (i.e. shrunk text and graphics), you can even type into it.
>
>I don't see why this shouldnt be done on the amiga, and would be a cute
>cure for over crowded WBs.

I was just thinking about something like this.  Wouldn't it be great to
have a screen-dump program that writes out IFF plus an icon that is a
miniature of the screen?  You would get instant feedback as to what your
files look like.

Of course there is a difference between iconifying text windows and
iconifying color pictures: icons are going to have (typically) only
four colors, but the original will have (typically) 16 to 4096.  So the
shrink program should try to do some clever color remapping from the
picture colors into the workbench palette.  Specifically, do the
shrinking internally in RGB mode to get an average color for all pixels
covered by one icon pixel, THEN map the icon colors into WB color registers.

There would be a problem with different folks using different WB colors,
so sending these icons to your friend's WB will result in odd-looking
colors.  But they would still be semi-legible.

SO!  We need a volunteer to hack this up.  Any takers?
-- 
	Charles Poirier   (decvax,ucbvax,ihnp4,attmail)!vax135!cjp

	"The road to Hell is paved with good opinions."

mjp@spice.cs.cmu.edu (Michael Portuesi) (05/19/87)

Keywords:



Michael Witbrock writes:
>Hey, I've been using x, and they have this neat thing called an active icon.
>When you iconify a windo, it gets zapped into a really little copy of the
>same window (i.e. shrunk text and graphics), you can even type into it.
>

And Charles Poirier writes (*no*, I don't use standard Usenet
software:)

> I was just thinking about something like this.  Wouldn't it be great to
> have a screen-dump program that writes out IFF plus an icon that is a
> miniature of the screen?  You would get instant feedback as to what your
> files look like.

Wait -- stop, hold it a second.  There is a fundamental difference
between the kind of icon that Mr. Witbrock refers to and the standard
Amiga-type icon.

One of the features that X provides is to take the current window and
shrink it down to an iconic representation.  What this allows you to
do is to have many windows active while keeping your "desktop" from
becoming crowded.  The program is still active when iconified, and you
can even talk to it by moving the pointer on top of the icon and
typing.  I find it very useful to be able to tell a window to stop
hogging screen space when I'm not immediately using it.  Running under
X, I juggle a Common Lisp window, an editor, a cshell, and at least
one telnet window.  I generally like to keep only the window I'm using
active on the screen and leave the rest as icons.

A standard Amiga icon, on the other hand, is merely a representation
of an application program's place in the filesystem, and is used to
initially start the program and hand it a few pieces of information.
The X iconification represents a running program, the Workbench icon
represents a file on disk.

The X iconification scheme is already available on the Amiga in at
least one application program -- Matt's DME.  Clicking on the right
button forces a DME window to shrink to a small title-bar style icon.
Clicking on it again snaps the window back to full size.  After using
this scheme, I wish Intuition had supported iconification as one of
its standard features.

What Mr. Witbrock proposes is to retrofit Intuition to support
iconification of *any* application window by installing a PopCLI-type
daemon.  The daemon could look up the currently active window and tell
Intuition to shrink it to an iconic representation.  A similar
procedure would work for the reverse operation.  This is much
different from Charles' idea of turning application screens into
miniature Workbench icons (not an altogether bad idea in itself,
either).

I don't know if such a thing is possible, but if it is I would like to
see it happen.  Maybe this would be a good suggestion for something to
build into 1.3 (CATS, *please* take note).

			--M
-- 

Mike Portuesi / Carnegie-Mellon University Computer Science Department
ARPA:	mjp@spice.cs.cmu.edu
UUCP:	{harvard | seismo | ucbvax | decwrl}!spice.cs.cmu.edu!mjp
BITNET:	rainwalker@drycas (a MicroVax I on Bitnet...can you believe it?)

"Amiga hackers do it graphically, with lots of sound effects"

"Mac owners dream in black and white
 Atari owners dream in color...
 but Amigoids dream using Hold and Modify!"

cjp@vax135.UUCP (Charles Poirier) (05/20/87)

In article <1200@spice.cs.cmu.edu> mjp@spice.cs.cmu.edu (Michael Portuesi) writes:
>Wait -- stop, hold it a second.  There is a fundamental difference
>between the kind of icon that Mr. Witbrock refers to and the standard
>Amiga-type icon.
>The X iconification represents a running program, the Workbench icon
>represents a file on disk.
 
Oops -- yes, sorry, I missed the point about typing into the "icon".

>Clicking on it again snaps the window back to full size.  After using
>this scheme, I wish Intuition had supported iconification as one of
>its standard features.

Are depth-arrangers all that bad, really?  I don't think of stacked
windows as "hogging" screen space.

Gee, I dunno.  Though I haven't ever used these miniwindows, it sounds
kind of gimmicky to me.  Sounds like a can of worms really.  How big is
the icon?  Where does it go?  Does it still have normal-but-tiny gadgets
in it?  Do you try to click in the miniwindow and have the click mapped
back into an "original"-size coordinate?  Do you have to intercept all
color graphics calls so you can render them with appropriate averaging
into the mini?  You want there to be a standard for all of this?  Maybe
for 1-plane text applications, but it's hard to see it retrofit to just
any existing application.

What you might want to do is supply a library of iconify-related
routines, define a message-type or two, and maybe a new gadget or two.
Then one could write one's (new) applications to say exactly how
minification is to be handled.

>I don't know if such a thing is possible, but if it is I would like to
>see it happen.  Maybe this would be a good suggestion for something to
>build into 1.3 (CATS, *please* take note).
>Mike Portuesi / Carnegie-Mellon University Computer Science Department

-- 
	Charles Poirier   (decvax,ucbvax,ihnp4,attmail)!vax135!cjp

	"The road to Hell is paved with good opinions."

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (12/11/87)

In article <2095@crash.cts.com> ford@crash.CTS.COM (Michael Ditto) writes:
:In article <4593@well.UUCP> ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
:>	Good Grief.  I've seen this suggestion so many times, I'm sick of
:>seeing it.  Iconification is not Workbench's problem, nor should it be.  If
:>you want to iconify your window, then do so.  It's possible using the
:>existing system software.  In fact, I think I'll put it on my virtual list
:>of things to hack up, just to prove it can be done.
:
:Go for it.  I would be impressed.  To be consistent with workbench, you
:should be able to double click it, or to single click it and select "Open"
:from the workbench menu.  Workbench "Info" should work as well.
:
	Hmmm.  Now that you mention it, it really *should* work with the
"Open" menu item.  I don't know how you'd handle "Info", though.

:By the way, does putting something on your virtual list of things to hack up
:prove that it can be done?  8-) 8-) 8-) 8-)
:
	Yes.  In fact, I just finished it last night (this morning?).  I'll
be premiering it at the BADGE meeting next week, and posting it immediately
thereafter.

	It works great.

:>	Consider this:  Suppose Workbench isn't loaded.  Under your scheme,
:>everything falls apart.  In my view, depending on Workbench for something is
:>not wise, since the probability is high that it won't be there for you.
:
:This is a good point, but if workbench were generally useful, more people
:would use it.  I would.
:
	I contend that it's possible to make WorkBench appear more useful
without actually going in and hacking it to shreds to support a
(potentially) obscure feature.  WorkBench acts and behaves just like any
other application program, and should be treated as such.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape	ihnp4!ptsfa -\
 \_ -_		Recumbent Bikes:	      dual ---> !{well,unicom}!ewhac
O----^o	      The Only Way To Fly.	      hplabs / (pronounced "AE-wack")
"Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The Doctor

rap@dana.UUCP (Rob Peck) (12/18/87)

In article <4692@well.UUCP>, ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
> In article <2095@crash.cts.com> ford@crash.CTS.COM (Michael Ditto) writes:
> :In article <4593@well.UUCP> ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:

> :>Iconification is not Workbench's problem, nor should it be.  If
> :>you want to iconify your window, then do so.  It's possible using the
> :>existing system software.  In fact, I think I'll put it on my virtual list
> :>of things to hack up, just to prove it can be done.
> :
> :Go for it.  I would be impressed.  To be consistent with workbench, you
> :should be able to double click it, or to single click it and select "Open"
> :from the workbench menu.  Workbench "Info" should work as well.
>
> 	Yes.  In fact, I just finished it last night (this morning?).  I'll
> be premiering it at the BADGE meeting next week, and posting it immediately
> thereafter.
> 
> 	It works great.

Workbench work-with's may be a theme for the second Amiga-specific issue
of the Transactor.   THIS IS A RUMOR, not necessarily fact.  However I
believe that they would be receptive to articles about working with Wbench
for that next issue.  I myself am planning/trying to come up with one
that defines tools for reading and modifying an icon (or generating
icons from within a program as AmigaBasic does, for example).  (Proper
calls already available in icon.library, but specific details of use
not provided as example programs anywhere I had been aware of).

I modified SpeechToy to modify its own icon file to add tool strings
describing the last-set parameters.  I needed parameters for another
speech-related program and using speechtoy to provide its icon as
the parameters was the most convenient approach.

I'll catch Leo at BADGE to see if he'd like to submit an article about
iconification, otherwise perhaps get his permission to include that sort
of thing in my article.

Others with unique not-so-obvious wbench interface applications for public
consumption are encouraged to contact Transactor now (article deadlines
do tend to creep up on you -  RSN). 

TRANSACTOR, 85 W. Wilmot St. Richmond Hill, Ontario, CANADA L4B 1K7   
(416)764-5273  


Rob Peck		...ihnp4!hplabs!dana!rap

Disclaimer:  My only connection with TRANSACTOR is that I've had an article 
accepted for possible publication (probably the January issue).
My primary interest is in getting quality information about the 
Amiga into the hands of those who want and need it. 
(So publish, folks!  I like to read about my favorite machine!!!)

louie@trantor.umd.edu (Louis A. Mamakos) (12/18/87)

In article <271@dana.UUCP> rap@dana.UUCP (Rob Peck) writes:

>Workbench work-with's may be a theme for the second Amiga-specific issue
>of the Transactor.   THIS IS A RUMOR, not necessarily fact.  However I
>believe that they would be receptive to articles about working with Wbench
>for that next issue.  I myself am planning/trying to come up with one
>that defines tools for reading and modifying an icon (or generating
>icons from within a program as AmigaBasic does, for example).  (Proper
>calls already available in icon.library, but specific details of use
>not provided as example programs anywhere I had been aware of).
>(So publish, folks!  I like to read about my favorite machine!!!)

Check out Volume 2 Number 2 of Amazing Computing magazine for the article
"Working with the Workbench" that I wrote.  I deals with creating and
manuiplating icons/disk object structures and tooltypes.  The examples in
the article are code fragments from a version of MicroEMACS that I had
which saved and set buffer modes in the ToolType array, as well as other
funny stuff.

Its really quite easy to make icons for your "Projects".. all you need is
the Autodocs and some patience, or a simple example or two.



Louis A. Mamakos  WA3YMH    Internet: louie@TRANTOR.UMD.EDU
University of Maryland, Computer Science Center - Systems Programming

ali@rocky.STANFORD.EDU (Ali Ozer) (12/19/87)

[I'm posting this for Stuart Ferguson, shf@solar.stanford.edu  -Ali]

|In article <4692@well.UUCP>, ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
|> In article <2095@crash.cts.com> ford@crash.CTS.COM (Michael Ditto) writes:
|> :In article <> ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
|> :>Iconification is not Workbench's problem, nor should it be.  If
|> :>you want to iconify your window, then do so.  It's possible using the
|> :Go for it.  I would be impressed.  To be consistent with workbench, you
|> :should be able to double click it, or to single click it and select "Open"
|> :from the workbench menu.  Workbench "Info" should work as well.
|> 	Yes.  In fact, I just finished it last night (this morning?)...
|
|Workbench work-with's may be a theme for the second Amiga-specific issue
|of the Transactor. ...

This is only semi-related to the above, but I've been thinking alot about how
to make the Workbench a better place to live.  Living in a CLI is ok, but
there's something very appealing about a graphics & mouse world.  Then I
noticed something...

Has anyone else noticed that the Workbench is a rudimentary Object-Oriented
system?  It consists basicly of a set of objects -- called "DiskObjects,"
ironicly enough -- represented by icons, which respond to some set of 
"messages," such as Open, Info, Rename, Snapshot, Empty Trash, &c.  There is
even the begining of a hierarchy of object "Classes" as in Smalltalk.  For
example, everything is of class DiskObject; Drawers are a type of DiskObject;
Trashcan is a type of Drawer.  So a Trashcan-Class object will respond to the
open message the same way that a Drawer does, but only Trashcan drawers can
respond to the message "Empty Trash."

Anyone know if this curious parallel to Object-Orientedness was deliberate?
Is the Workbench modeled after some other, more complete O-O environment?

Workbench's problem lies in lack of user-expandability.  There is one (1) way
the user can affect the Workbench environment and that is to write new 
application programs.  The DiskObject (icon) associated with it can then
be sent the "open" or "activate" message by the Workbench and the user
defined "method" or "program" invoked.  Workbench users canNOT define *new*
types of DiskObjects, nor can they define new message types, and the only
message that a user program can receive is "open."

There is a possible, kludgy way of expanding the capabilities of the existing
Workbench.  Please tell me if I'm way off base, but wouldn't it be possible 
to create a new device that looks for all the world like a disk, but does
something else?  Disks automatically get icons on the Workbench and get 
messages when other icons are "fed into" its icon or drawer.  I was thinking
of using this fact to kludge-up a "printer" icon for the Workbench.  It
would be a device that looks like a disk and so therefore gets an icon on
the 'Bench, but whenever it received "Write" i/o requests, it would forward
them to the printer device (or PAR or SER).  This way, you could grab the icon
for a text file and drop it on the "printer" icon and the file would print on
the printer.

|Others with unique not-so-obvious wbench interface applications for public
|consumption are encouraged to contact Transactor now

How about that one.  Think it would work?  Of course, if its already been
done, just pretend I knew that all along ... :-)

	Stuart Ferguson (shf@Solar.Stanford.EDU)
	Action by HAVOC