[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Re: [zzdev] :zz: Coplanar marking explained

Hi Ted and all!

Funny that you should mention coplanar marking right now-- I had been leaving through old zzdev mails just a few days ago and been pondering it a bit.

Ted Nelson wrote:
> I thought
>  I had a use for some second dimension of marking, but
>  at the moment can't remember it.

Earlier, you wanted to use d.marklist or d.listmarks for the list of marking-cells inside a mark (instead of d.1 in your present design). (This is what I mentioned as d..mark-list in my other mail. Gzz 0.6 uses this internally, by the way.)

> The headcell of a particular mark (on d.1) is probably the
>  best one for referring to the entire mark.  But we may
>  want to have a reference token to take elsewhere to identify
>  the mark.

I'd prefer to use the headcell of the mark, simply connecting it where you need it. Especially when using d..mark-list instead of d.1, its special connections would not get in the way.

> We would light up some particular mark and
>  do on operation on the selected cells by-- let's say--
>  - selecting one of these headcells with the left cursor;
>  - this would light up the selection;
>  - performing the operation with the right cursor,
> which then takes place with the whole bunch.  (For instance,
>  Hop would hop the whole bunch.

Hm, interesting! So far I had assumed there would be a ringrank of marks and a current mark, as with the dimension and view lists.

An open question is the set of keyboard commands used for marking.

A few musings about key bindings (hopefully for implementation in Gzz 0.8)--
    m: mark current cell in right arrowset
    o m ("other mark"): mark current cell in left arrowset
    <cell number> m: mark the cell identified by <cell number>
    M <dir>: mark half-rank in direction
    Ctrl-M: change to next mark set
    Alt-M: change to previous mark set

[Note: proposed change of use for 'o' key: perform an action on the cell in the *other* arrowset, e.g. 'o - l' would connect the cell in the left arrowset to the right from the cell in the right arrowset; 'o G' would make the left arrowset jump to the position of the right arrowset. The current meaning of 'o,' "go to rootclone," could be assumed by the 'r' key.]

On the mark list, there's always one mark that does not mark any cells yet. To start a new mark, simply Ctrl-M on that mark and start marking cells. Marking a cell in that mark creates a new empty mark on the list.

BTW, generally, I feel the currently active mark set should be one of a number of options that can be configured to function keys (amongst dimensions shown, cursor position, arrowset, active frame, and view). Thus, I'd like to tell my computer quickly: "F4 is the current set of dimensions (d.1, d.4, d.mark) and the current mark (m.7)." Then, pressing F4, I want to change to these configurations (leaving all other configurations what they were before). I think for me, this could ease the task of navigating zzstructure considerably.

- Benja