From: "grischka" <grishka@gmx.de>
To: <emacs-devel@gnu.org>, "martin rudalics" <rudalics@gmx.at>
Subject: Re: split-window-preferred-function
Date: Sat, 5 Apr 2008 20:35:31 +0200 [thread overview]
Message-ID: <010001c8974b$da82b680$130990d4@j4f3n1> (raw)
In-Reply-To: 47F79DEE.6000806@gmx.at
From: "martin rudalics":
> IIUC elscreen is useful for switching between existing layouts. Such
> layouts are obtained by recursively splitting a root window horizontally
> or vertically. You can record such a layout in volatile memory by
> calling `current-window-configuration' and you can re-create it from
> there via `set-window-configuration'. But you cannot (easily) define
> and subsequently create such a layout manually. Hence elscreen seems
> hardly of any help in this context. Please correct me if I'm wrong.
Actually elscreen has a separate "layout creation" mode (although it
is not as easy to use, and also IMO redundant, it could as well just
live record user changes made in the "real" frame).
But yes, you can save everything to disk, anytime. Means it allows
to get used to something, body-language wise.
> I can think of two options:
>
> 1. Make the underlying window structure accessible in Elisp - via
> parameters or functions like `window-parent' and `set-window-parent'.
> This would require careful design of things like `set-window-parent'
> to avoid introducing incoherent or faulty window layouts via Elisp.
>
> 2. Write a collection of functions that recursively tile a root window
> in some well-defined manner according to rules that humans can easily
> write, read and understand. Maybe some of these layouts should be
> depicted in a graphical fashion, for example, in the toolbar (my
> Thunderbird permits me to choose among three basic tilings).
Option three: Allow zero-width and zero-height windows.
For example:
+---+-----------+
| | |
| | |
| | |
| | |
| | |
| | | <--
| | |
| | |
+===+===========+
As you don't see there is a zero-height window at bottom, which
when "on" spans up to the arrow, but is invisible by default.
Such there is actually no need for the code to *ever* create
new windows automatically, because the "tree" is already either
predefined and/or customized. Just the sizes aren't filled in always.
All windows would have some target class-properties, like "file",
"help", "commandline", so if some buffer needs to be shown, the
buffer/window-manager (which of I assume emacs has one) can apply
some logic which buffer to show in what window.
For example:
(window
:name "bottom-display"
:content-classes '("*help*" "*output*" ...)
...
:visible 'if-needed
Still the user is allowed to modify the tree anytime of course,
by split-window or whatever. Just not the code.
--- grischka
next prev parent reply other threads:[~2008-04-05 18:35 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-05 12:36 split-window-preferred-function grischka
2008-04-05 15:42 ` split-window-preferred-function martin rudalics
2008-04-05 18:35 ` grischka [this message]
2008-04-05 22:02 ` split-window-preferred-function martin rudalics
2008-04-06 16:45 ` split-window-preferred-function grischka
2008-04-06 20:35 ` split-window-preferred-function Juri Linkov
-- strict thread matches above, loose matches on Subject: below --
2008-03-19 21:42 split-window-preferred-function martin rudalics
2008-03-20 23:02 ` split-window-preferred-function Juri Linkov
2008-03-21 1:47 ` split-window-preferred-function Stefan Monnier
2008-03-22 1:07 ` split-window-preferred-function Juri Linkov
2008-03-22 16:36 ` split-window-preferred-function Stefan Monnier
2008-03-23 2:16 ` split-window-preferred-function Juri Linkov
2008-03-27 23:44 ` split-window-preferred-function Juri Linkov
2008-03-28 19:50 ` split-window-preferred-function martin rudalics
2008-03-29 0:45 ` split-window-preferred-function Juri Linkov
2008-03-29 9:05 ` split-window-preferred-function martin rudalics
2008-03-29 12:30 ` split-window-preferred-function Juri Linkov
2008-03-29 13:25 ` split-window-preferred-function martin rudalics
2008-03-29 19:42 ` split-window-preferred-function Stefan Monnier
2008-03-30 5:49 ` split-window-preferred-function Richard Stallman
2008-04-02 8:53 ` split-window-preferred-function martin rudalics
2008-04-02 9:36 ` split-window-preferred-function Tassilo Horn
2008-04-02 9:58 ` split-window-preferred-function martin rudalics
2008-04-02 10:30 ` split-window-preferred-function Tassilo Horn
2008-04-02 12:13 ` split-window-preferred-function martin rudalics
2008-04-02 12:33 ` split-window-preferred-function Tassilo Horn
2008-04-02 22:26 ` split-window-preferred-function David De La Harpe Golden
2008-04-02 15:18 ` split-window-preferred-function Stefan Monnier
2008-04-02 17:00 ` split-window-preferred-function martin rudalics
2008-04-02 22:27 ` split-window-preferred-function Juri Linkov
2008-04-03 6:49 ` split-window-preferred-function martin rudalics
2008-04-03 22:52 ` split-window-preferred-function Juri Linkov
2008-04-04 6:50 ` split-window-preferred-function martin rudalics
2008-04-03 7:02 ` split-window-preferred-function Tassilo Horn
2008-04-03 22:54 ` split-window-preferred-function Juri Linkov
2008-04-04 10:04 ` split-window-preferred-function Tassilo Horn
2008-04-04 12:19 ` split-window-preferred-function martin rudalics
2008-04-04 12:57 ` split-window-preferred-function Tassilo Horn
2008-04-04 13:55 ` split-window-preferred-function Stefan Monnier
2008-04-04 17:21 ` split-window-preferred-function Tassilo Horn
2008-04-04 20:21 ` split-window-preferred-function Stefan Monnier
2008-04-04 22:14 ` split-window-preferred-function Tassilo Horn
2008-04-04 23:52 ` split-window-preferred-function Stefan Monnier
2008-03-21 9:18 ` split-window-preferred-function martin rudalics
2008-03-22 1:09 ` split-window-preferred-function Juri Linkov
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='010001c8974b$da82b680$130990d4@j4f3n1' \
--to=grishka@gmx.de \
--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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).