emacs-devel
[Top][All Lists]
Advanced

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

Re: Subwindow terminology


From: martin rudalics
Subject: Re: Subwindow terminology
Date: Mon, 07 Nov 2011 11:17:01 +0100
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

>  >  > Does anyone ever actually think in genealogical terms?  [...]
>  >  > Does anybody *ever* care about anything except in which of the
>  >  > visible windows output will appear (and similar static questions
>  >  > about the current window configuration)?
>  >
>  > People interested in manipulating window configurations will have to
>  > care.
>
> They never have cared about genealogy in the past.

My reference is to your "care about anything ..." and not to your "think
in...".

> I don't see why
> they need to now; sure, you have the issue that window identity needs
> to be considered carefully in implementation since variables may refer
> to them.  Of course they need to be implicitly aware of the tree
> structure, but that can be deduced from the arrangement of windows in
> most cases.  The genealogical issues should be managed internally, and
> AFAICS they can be managed internally.

I never asked people to care about genealogical issues.  Personally, I
think in invariants and never in genealogical terms.  That's why I tend
to avoid terms like "descendant" or "ancestor" in descriptions.

>  >  > And at the Lisp level, only leaf windows are actually accessible as
>  >  > far as I know.  Are there any Lisp functions that operate on parent
>  >  > windows, other than those that create or destroy children?
>  >
>  > Plenty.  You can split, delete, and resize them
>
> Not up to now.  You could split a leaf window; this creates a sibling,
> and may involve either creation of a new parent or addition of the
> sibling as a child of the existing parent.  The function API doesn't
> know about the parent though.  Similarly, the Lisp API may delete all
> siblings of a given window, in which case the parent would be deleted
> and the child become a child of its grandparent.  If you resize a leaf
> perpendicularly to relation to its siblings, the parent will be
> implicitly resized.  Parents were simply a device for keeping the tree
> structure.
>
> Are you saying that parent windows are now visible to the Lisp API for
> operations like split, even though you can't select them for
> displaying buffers?

Yes.

> This seems like a bad idea to me.

Why?

>  > (you can't resize and delete a frame's root window, obviously).
>
> Except by resizing or deleting the frame.

Or the minibuffer window.  I don't count these as operations on windows
though.

martin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]