Subject: bug#9084: 24.0.50; displaying man pages splits the window and formats the text for the full width of the whole frame rather than for the width of the window the text is displayed in, which is only 1/2 the width of the frame

From: lee <[email-masked]>
Date: Thu, 21 Jul 2011 15:12:10 +0200

Juri Linkov <[email-masked]> writes:

>> Ok, and how do users configure emacs to automatically split windows in
>> such a way that they aren't wider (or narrower) than the text to be
>> displayed in them while achieving the window layout they want?
>
> Do you mean an algorithm like implemented in `balance-windows' (`C-x +')
> or `shrink-window-if-larger-than-buffer' (`C-x -').  Unfortunately,
> it's only for the vertical direction, and I can't find the same for the
> horizontal direction, something like `shrink-window-if-<wider>-than-buffer'.

What I mean is

a.) ways to decide in advance what size a window should have before the
    window is created and
b.) the problem of keeping an overall window layout (i. e. within a
    frame) when multiple windows are displayed.

For example, when I use gnus[1] and look at the summary of a newsgroup
in a buffer, the summary is displayed full screen.  When I display an
article, the window is split to display the article as well as the
summary.  When I write a reply like this one, the reply is displayed
full screen[2], i. e. 230 characters wide, though `fill-column' is 72.

Now when I "M-x describe-variable fill-column", the window is split in
half, displaying the reply on the left (113 characters wide) and the
description on the right side (112 characters wide).  When I "M-x info",
the window on left is switched to show the *info* buffer instead of the
reply I'm writing --- which is not what I want because in this case, it
would make much more sense if the *info* buffer was displayed in the
window on the right.

What I would want is three windows, side by side and eventually some
vertical splits in some of the windows.  I can somehow[3] get that, but
when I have it, it won't last long because gnus or whatever else will
ignore my window layout and destroy it.

Even if I could specify for all windows that /might/ show up while I'm
using emacs what sizes they should have and where on the screen I want
them displayed in relation to other windows (if those are currently
displayed) to always achieve the overall window layout I want, that's
something I don't want to do because it's way to much work.  It probably
won't make sense, anyway --- and it's actually one of the strengths of
emacs to have dynamic window layout.

The problem would be solved if I could just "freeze" a particular window
layout or "frameify" windows.  Starting with a window the size of the
full screen, I could just split it the way I want to and then keep the
window layout as long as I want.

Having that said, it's probably not so important to have ways to specify
the possible sizes and positions of windows in advance.  It won't be
needed much if we could "frameify" windows.  What might be useful with a
static window layout would be ways to specify exceptions so that users
can decide what buffers can override their static window layout when
displayed.

That we can't "frameify" windows has probably historical reasons: The
feature doesn't make much sense when the display isn't (much) larger
than 80x25.  Nowadays, the displays are much larger.

[1] With gnus, the user can configure the window layout to some extend.
[2] I haven't bothered to find out if that is also configurable with
    gnus.  Even if it is, there's no point in changing it because
    dynamic window layout will do whatever it wants anyway.
[3] I just tried and couldn't find out how to make a window wider.  I
    would have to read the documentation, which would probably destroy
    the window configuration I'm trying to make, so I gave up to get on
    with the reply.

-- 
http://www.asciiribbon.org/
http://tools.ietf.org/html/rfc1855
http://www.caliburn.nl/topposting.html