From: "N. Jackson" <nljlistbox2@gmail.com>
To: Eric Abrahamsen <eric@ericabrahamsen.net>
Cc: Roland Winkler <winkler@gnu.org>,
Stefan Monnier <monnier@iro.umontreal.ca>,
emacs-devel@gnu.org
Subject: Suggesting `frame-split-biggest-window' Re: customize location and shape of a new window in a frame
Date: Wed, 12 Sep 2018 19:21:25 -0400 [thread overview]
Message-ID: <875zzawbd6.fsf_-_@moondust.localdomain> (raw)
In-Reply-To: <87o9d2eaql.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Wed, 12 Sep 2018 13:12:18 -0700")
Thanks Eric,
At 13:12 -0700 on Wednesday 2018-09-12, Eric Abrahamsen wrote:
>
> On 09/12/18 15:36 PM, N. Jackson wrote:
>> At 14:22 -0700 on Tuesday 2018-09-11, Eric Abrahamsen wrote:
>>>
>>> (add-to-list 'gnus-window-to-buffer
>>> `(bbdb-gnus . "*BBDB*"))
>>>
>>> (gnus-add-configuration
>>> (article
>>> ,(cond
>>> (gnus-use-trees
>>> '(vertical 1.0
>>> (summary 0.25 point)
>>> (tree 0.25)
>>> (horizontal 1.0
>>> (article 1.0)
>>> (bbdb-gnus 0.4))))
>>> (t
>>> '(vertical 1.0
>>> (summary 0.25 point)
>>> (horizontal 1.0
>>> (article 1.0)
>>> (bbdb-gnus 0.4))))))
>>
>> Evaluating the second form gives:
>>
>> Debugger entered--Lisp error: (void-function article)
>
> Yup, that was a cut-and-paste problem from my larger config. Just stick
> a ` before the "(article" part.
After quoting with a ' (not a `) and removing the comma before the
`cond', this does exactly what I was looking for. I now have the
following in my .gnus file:
;;; 2018-09-12 Arrange for Gnus to place BBDB window sensibly.
(add-to-list 'gnus-window-to-buffer
`(bbdb-gnus . "*BBDB*"))
(gnus-add-configuration
'(article
(cond
(gnus-use-trees
'(vertical 1.0
(summary 0.25 point)
(tree 0.25)
(horizontal 1.0
(article 1.0)
(bbdb-gnus 0.4))))
(t
'(vertical 1.0
(summary 0.25 point)
(horizontal 1.0
(article 1.0)
(bbdb-gnus 0.4)))))))
However, it seems odd to be able to get this:
+-------------------------------+
| |
| Summary |
| |
+-------------------------------+
| |
| |
| Article |
| |
| |
|-------------------------------|
| BBDB |
+-------------------------------+
and this:
+-------------------------------+
| | |
| Summary | BBDB |
| | |
+-------------------------------+
| |
| |
| |
| Article |
| |
| |
| |
+-------------------------------+
simply by customizing the variable `bbdb-mua-pop-up', but in order
to get
+-------------------------------+
| |
| Summary |
| |
+-------------------------------+
| | |
| | |
| | |
| Article | BBDB |
| | |
| | |
| | |
+-------------------------------+
the user has to do some fairly heavy-duty configuration in Gnus. I'm
impressed by the power of this feature in Gnus, but it feels like
overkill for a case like this.
It seems to me that what is really needed is a new function or three.
Currently `bbdb-pop-up-window' uses `split-window' to display its
window. The problem here is that `split-window' takes a WINDOW
argument so BBDB first has to figure out which window to split.
If there was a function (frame-split-biggest-window FRAME SIZE SIDE
PIXELWISE) to split the "biggest" [*] window in the frame, then
neither BBDB nor any other Elisp code would need to keep reinventing
this wheel.
(The other two functions, more for interactive use, would be
`frame-split-biggest-window-below' and
`frame-split-biggest-window-right'.)
[*] To find the "biggest" window when splitting below, find the
tallest window or windows and split the widest of them; when
splitting right, find the widest window or windows and split the
tallest of them.
next prev parent reply other threads:[~2018-09-12 23:21 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-11 20:31 customize location and shape of a new window in a frame Roland Winkler
2018-09-11 21:22 ` Eric Abrahamsen
2018-09-12 19:36 ` N. Jackson
2018-09-12 20:12 ` Eric Abrahamsen
2018-09-12 23:21 ` N. Jackson [this message]
2018-09-13 7:45 ` Suggesting `frame-split-biggest-window' " martin rudalics
2018-09-13 13:07 ` N. Jackson
2018-09-14 8:31 ` martin rudalics
2018-09-13 16:33 ` Eric Abrahamsen
2018-09-14 8:33 ` martin rudalics
2018-09-14 16:56 ` Eric Abrahamsen
2018-09-15 8:17 ` martin rudalics
2018-09-14 5:17 ` Roland Winkler
2018-09-14 8:33 ` martin rudalics
2018-09-14 12:01 ` Stefan Monnier
2018-09-15 4:12 ` Roland Winkler
2018-09-15 4:58 ` Drew Adams
2018-09-15 8:18 ` martin rudalics
2018-09-15 16:34 ` Roland Winkler
2018-09-15 18:34 ` Stefan Monnier
2018-09-15 19:21 ` Roland Winkler
2018-09-15 12:24 ` N. Jackson
2018-09-15 14:56 ` Stefan Monnier
2018-09-15 0:46 ` Richard Stallman
2018-09-15 8:17 ` martin rudalics
2018-09-16 3:14 ` Richard Stallman
2018-09-16 19:05 ` John Yates
2018-09-16 19:22 ` Eli Zaretskii
2018-09-16 20:30 ` Drew Adams
2018-09-13 16:38 ` Eric Abrahamsen
2018-09-12 14:54 ` Stefan Monnier
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=875zzawbd6.fsf_-_@moondust.localdomain \
--to=nljlistbox2@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=eric@ericabrahamsen.net \
--cc=monnier@iro.umontreal.ca \
--cc=winkler@gnu.org \
/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).