Some parts of an email exchange between Tjl and Ted, edited.
(If these were real transclusions, you could jump from here to see the whole email
exchange. Wouldn't that be just so nice...)

----------------------------------------------------------------------------

>Any progress on the textitems stuff? That is one priority since
>that would represent an entirely different view of the ZZ structure
>(vstreams), with interesting connectivity and applications. And I want
>to use that to write my next pieces of ZZ documentation!

OKAY.  Here's what I think you asked me for.
- keyboard commands to step around among flying items
- how to glue them together
- how to separate one item into two

IN ADDITION, I think we want
- how to make an item bigger or smaller

- - - - - - - - - -
Let's call this Item Cloud mode.

I ASSUME the items can be borderless, just flying items of text on a
 shared background (so in principle two identical items could cover
 one another textually).
NOTE THAT since my PC Java won't accept arrow keys, I have to
 have the letter alternatives esfc ijl, ESFC IJL> and sometimes dD kK.
 So when I say "arrow" I mean one of those.
I AM HOPING that Java can receive keystrokes-up-and-down (raw).

The following are keyboard suggestions to try.  They should all be
 reconfigurable.  The trouble, of course, is making them reconfigurable
 as sequences rather than as individual strokes.

SELECTING A RIGHT-HAND ITEM:
- Select by mouse
OR (once one item is selected)
- use ijl; arrow keys to select among them.  I suggest that up and down
 should refer to items within epsilon vertically of the original item,
 and the same horizontally-- in other words, when using arrow keys,
 stay roughly near the one you're currently near.  This we'll have to
 fiddle with parametrically.  (It's also possible to select the next item
 within unseen vertical and horizontal channels-- an alt. approach.)
OR
- use the space bar to select next item IN ORDER OF CREATION.

SELECTING A LEFT-HAND ITEM:
- Select by mouse
OR
- use esfc keys to select among items.

TO MOVE AN ITEM
- ctrl-esfc or ctrl-ijl,
TO CEMENT LEFT AND RIGHT ITEMS
- capital S or E appends the left to the right
- capital F or C prepends to left to the right
- capital I or J appends the right to the left
- capital L or < prepends the right to the left
(Note that these are like the connection functions in Perl ZZ.)

TO CUT
I suggest space-!-space.
Or \.  (We'd go into a Special Mode if you actually want the character--
 NOT \\ for most people.
Ctrl-enter would be great, if we could do it in raw mode.

TO ENLARGE the right-hand-item a little (its typeface)
+
TO SHRINK the right-hand item a little 
-

----------------------------------------------------------------------------

>> TO MOVE AN ITEM
>> - ctrl-esfc or ctrl-ijl,
>
>And with mouse? For moving things around, the mouse is pretty good.

Oh, of course.  Sorry I forgot to mention.

>Also, how to use the mouse to select - mouses have up to 3 buttons
>and use of shift/ctrl at the same time.

Right.  Sorry.
1.  As you said, click and type.  I presume you're typing on a big 2D
space, and that Items aren't distinct till you end one?

2.  Ah, we haven't talked about how an item ends...  I guess with same
 "sever" mechanism, no?)

3.  Move by left-mouse (to seize).

The question is-- when should the mouse seize an item, when should
 the mouse start a new item?  
-- especially since it may not be exactly clear whether we are on top of
 an item, since there are no borders
-- and as the area gets crowded, you want to be able to start an item in
 the middle of another item.


^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
But why not use the other mouse buttons for Billowing?
 That could combine it nicely.
----------------------------------------------------------------------------

>> SELECTING A LEFT-HAND ITEM:
>> - Select by mouse
>> OR
>> - use esfc keys to select among items.
>
>So here you can't use the space? Or use ctrl-space or shift-space?
>It would be nice to have the same ops for both sides.

ZOWIE!  SHIFT-SPACE!  LOVE IT!  That's perfect.
 Never thought of spacebar with a control key.  Or at least
 not in the last five or ten years ...

----------------------------------------------------------------------------

>But how do I append one item on the right to another item on the right.
>Example: in the left cloud, I've typed a number of ideas I want to put
>into a text, and in the right cloud, I'm working on the actual text.
>So most operations would only touch the right-hand cloud.

and also

>> SELECTING A LEFT-HAND ITEM:
>> - Select by mouse
>> OR
>> - use esfc keys to select among items.
>
>So here you can't use the space? Or use ctrl-space or shift-space?
>It would be nice to have the same ops for both sides.

Here we have great examples of WOOOOPS communication.  I didn't
 notice that you mentioned left and right clouds.  I thought we were dealing
 with only one cloud.

So anyhow shift-space would be the most consistent.

----------------------------------------------------------------------------

>mouses have up to 3 buttons
>and use of shift/ctrl at the same time.

I would say that since 90% of the mice in the world have 2 buttons--
- Mac with 1 button is what, 5%?
- Linunix is even fewer, I think
- W98 and W2000, with 3-button mice are rare
W95 is still way the majority-- and they are an important market.

Thus we DESIGN for 2-button mouse, leave the middle one explicitly
 to be programmable.

In other words, the third button can only be for shortcuts
 and extra options.

----------------------------------------------------------------------------
>> TO CEMENT LEFT AND RIGHT ITEMS
>> - capital S or E appends the left to the right
>> - capital F or C prepends to left to the right
>> - capital I or J appends the right to the left
>> - capital L or < prepends the right to the left
>> (Note that these are like the connection functions in Perl ZZ.)
>
>But how do I append one item on the right to another item on the right.
>Example: in the left cloud, I've typed a number of ideas I want to put
>into a text, and in the right cloud, I'm working on the actual text.
>So most operations would only touch the right-hand cloud.

Since when I wrote my part of the above I didn't realize you were
 talking about left and right CLOUDS, I assumed that each hand
 would be wandering in the one and only cloud.  This is more
 exciting.

(There's a poem in English that begins, "I wandered lonely as a cloud..."
 But not otherwise relevant.)

Now how to choose?
Heh heh ...
Okay, Tuomas, it's time for MORE CURSORS!

This is where we need the operations
- cursor fork
 (Specifying which hand, assuming you're using two.)
 This creates a new cursor under the chosen hand, pointing at the
 same place, switches to it.
- next-cursor-step
 (Specifying which hand, assuming you're using two.)
 This switches under the chosen hand to the next cursor in the cycle.
- cursor kill
 (Specifying which hand, assuming you're using two.)
 This annihilates the cursor under the chosen hand,
 prob. goes *back* to previous cursor in the cycle.

For some wild reason I think qaz (right) QAZ (left) would be
 the correct respective keys for these functions.  They're in a row
 and out of the way.  So--
qQ - cursor fork
aA - next-cursor-step
zZ - cursor kill

So let's say you have two cursors.  Left is in the left cloud,
 right is in the right cloud.  You want to start cementing items
 on the right.

Do
q- makes a new cursor (and new color) on the right;
AA- switches the left hand to that cursor (since presumably
 the list is left-right-new-(loop back to left)
aa- switches right hand back to right cursor

Now you can move and cement items as I suggested above.

When you want to go back to 2-cloud operation, you can
 either kill the third cursor or switch from it.

ChrzT
----------------------------------------------------------------------------
u sez

>> 1.  As you said, click and type.  I presume you're typing on a big 2D
>> space, and that Items aren't distinct till you end one?
>
>Sorry, the last sentence again?

Sorry. 
You're in mid-item.  Item is on big virtual sheet of paper but began
 somewhere other than at top of paper.  Item becomes distinct
 when you end it somehow, presumably beginning another item.

>> 2.  Ah, we haven't talked about how an item ends...  I guess with same
>>  "sever" mechanism, no?)
>
>Escape?

Could do.  In the ASCII charworld, backslash also good.

Anyway, if it's one character, it's easily reconfigured.
 However, I'd also like an alphanumeric sequence, ideally
 (just my preference), 
sp-!-sp
 and that means some deeper recognizer, eh?







