From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: Windows' "split status" Date: Tue, 15 Nov 2011 16:15:40 +0100 Message-ID: <4EC2821C.4020400@gmx.at> References: <87vcqqoekt.fsf@gnu.org> <4EBD6B63.4050607@gmx.at> <87vcqq6utg.fsf@gnu.org> <4EBE4414.10009@gmx.at> <87d3cwr9hc.fsf@gnu.org> <4EBFA0AF.7000608@gmx.at> <87obwgatpy.fsf@gnu.org> <4EBFFBA5.1000309@gmx.at> <87hb26gdx8.fsf@gnu.org> <4EC213EA.4080304@gmx.at> <871ut9n2rr.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1321370174 524 80.91.229.12 (15 Nov 2011 15:16:14 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 15 Nov 2011 15:16:14 +0000 (UTC) Cc: Chong Yidong , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 15 16:16:10 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RQKk5-00050C-Ts for ged-emacs-devel@m.gmane.org; Tue, 15 Nov 2011 16:16:10 +0100 Original-Received: from localhost ([::1]:59480 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RQKk2-0006u3-1o for ged-emacs-devel@m.gmane.org; Tue, 15 Nov 2011 10:16:06 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:34807) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RQKjs-0006tJ-IE for emacs-devel@gnu.org; Tue, 15 Nov 2011 10:16:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RQKjj-0000ei-81 for emacs-devel@gnu.org; Tue, 15 Nov 2011 10:15:56 -0500 Original-Received: from mailout-de.gmx.net ([213.165.64.23]:42443) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1RQKji-0000eZ-SS for emacs-devel@gnu.org; Tue, 15 Nov 2011 10:15:47 -0500 Original-Received: (qmail invoked by alias); 15 Nov 2011 15:15:44 -0000 Original-Received: from 62-47-37-59.adsl.highway.telekom.at (EHLO [62.47.37.59]) [62.47.37.59] by mail.gmx.net (mp013) with SMTP; 15 Nov 2011 16:15:44 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1+5q3ATf6i5t1NvX8fMoV1urdr1NVy3SHx0cyYtp7 OsdvGPwlw8Mwyt User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) In-Reply-To: X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 213.165.64.23 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:146041 Archived-At: > But I think this result is just a consequence of the implementation > rather than actual intention. My impression is that window-nest is > trying to solve a problem which can't be solved with a user-config: it's > trying to provide some kind of way for elisp packages to use parent > windows as a form of "very lightweight sub-frame", without touching much > of their code (e.g. without making their code use parent windows > explicitly). > IIUC the use of window-nest for that purpose only works if the > application limits itself to using 2 windows within that "sub-frame", What makes you think that? You can let-bind `window-nest' to t around a split and get an extra parent around the resulting two windows. After that you can split those windows any which way you want and can get an arbitrary number of windows within a "sub-frame". The manual explicitly uses the term "always" in the sentence If this variable is always non-`nil', a frame's window tree is a binary tree so every window but the frame's root window has exactly one sibling. > so > it's not ideal. `window-nest' is aimed at providing a safe low-level mechanism to construct and preserve parent windows. Everything else can be easily built in Elisp on top of that, like atomic or side windows. martin