From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: martin rudalics <rudalics@gmx.at>
Cc: Dave Abrahams <dave@boostpro.com>, emacs-devel@gnu.org
Subject: Re: Subwindow terminology
Date: Mon, 07 Nov 2011 07:15:44 +0900 [thread overview]
Message-ID: <8762iwoq27.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <4EB6689F.1000202@gmx.at>
martin rudalics writes:
> > 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. 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.
> > 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? This seems like a bad idea to me.
> (you can't resize and delete a frame's root window, obviously).
Except by resizing or deleting the frame.
next prev parent reply other threads:[~2011-11-06 22:15 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-05 4:36 Subwindow terminology Chong Yidong
2011-11-05 11:23 ` martin rudalics
2011-11-05 12:50 ` Stephen J. Turnbull
2011-11-05 13:28 ` martin rudalics
2011-11-05 13:36 ` Stephen J. Turnbull
2011-11-05 15:05 ` martin rudalics
2011-11-05 16:54 ` Stephen J. Turnbull
2011-11-05 20:31 ` Dave Abrahams
2011-11-06 8:50 ` martin rudalics
2011-11-06 9:16 ` Dave Abrahams
2011-11-06 10:59 ` martin rudalics
2011-11-06 11:36 ` Dave Abrahams
2011-11-06 13:24 ` martin rudalics
2011-11-06 9:26 ` Stephen J. Turnbull
2011-11-06 10:59 ` martin rudalics
2011-11-06 11:11 ` Eli Zaretskii
2011-11-06 23:17 ` Stephen J. Turnbull
2011-11-07 10:18 ` martin rudalics
2011-11-08 9:55 ` Chong Yidong
2011-11-06 22:15 ` Stephen J. Turnbull [this message]
2011-11-07 10:17 ` martin rudalics
2011-11-07 10:16 ` martin rudalics
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8762iwoq27.fsf@uwakimon.sk.tsukuba.ac.jp \
--to=stephen@xemacs.org \
--cc=dave@boostpro.com \
--cc=emacs-devel@gnu.org \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.