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: Sun, 17 Jul 2011 16:23:33 +0200

Juri Linkov <[email-masked]> writes:

>> When this is applied and the variable `Man-width' is set to some value,
>> like 75, will the width of the window to display the manpage in be
>> adjusted to the width of the text?
>
> When you set `Man-width' to a positive integer, the manpage's text is
> formatted to that width.  This variable doesn't affect the window's width.

To me, it would make sense if it did or if I could make it so that it
does, for example by specifying a negative integer like -75 to have the
page formatted 75 characters wide /and/ the width of the window adjusted
accordingly.  Imho, there isn't much point in making the window wider
than the text it displays when viewing manpages.

>> Just splitting the current window in half when it is 230 characters
>> wide gives you two windows each about 115 characters wide while you
>> might rather want the window with the manpage to be `Man-width'
>> characters wide and the other window as wide as the rest of the frame.
>
> But what if you have manpage buffers in both of horizontally split
> side-by-side windows?

When your window is 230 characters wide, you could set Man-width to 70
and display three pages side by side?

>> Then there's the documentation about `Man-frame-parameters':
>>
>> ,---- [ M-x describe-variable Man-frame-parameters ]
> [...]
>> `----
>>
>> (I had to look at man.el to find out that I can set `Man-width'.)
>
> Do you think `Man-width' should be mentioned in the docstring of `man'?

Yes --- I have been searching through the info documentation of emacs
after reading in the other bug report that there is something like
"Man-width" and couldn't find it.  It seems you need to "M-x
describe-function man" to get at least some documentation about it.

Since there's the usual man command you run from a shell, it's not too
obvious that "M-x man" is something very different.

>> And when you proceed to customise `Man-frame-parameters', you don't have
>> any idea what to enter to always get a frame that makes the window
>> `Man-width' characters wide.
>
> Maybe the docstring of `Man-frame-parameters' should provide an example
> of using the frame parameter `width'?

That would be great :)  When you're more familiar with emacs,
you probably just know how to specify the frame parameters and don't
miss an example there.

>> My understanding would be that `Man-frame-parameters' must be ignored
>> when running emacs on the console because there are only windows and no
>> frames available.
>
> `Man-frame-parameters' is ignored unless `Man-notify-method' is set
> to the value `newframe'.  However, I don't know how the users
> who prefer to set `pop-up-frames' to a non-nil value
> specify the width of the manpage's frame
> (when `Man-notify-method' is not `newframe')?

That's a good question ...  And what do users do who aren't using
frames?

What I've been thinking about is that there is a fundamental difference
between frames and windows in that frames never change their size
automatically while windows change it all the time.  I wish there was a
way to "freeze" the window setup so that I could have a fixed window
setup within a frame or on the console. Within these "window-frames",
windows might change their sizes just as they do now.

Being able to freeze the window layout could have the side effect of
allowing users to specify `Man-window-parameters' ...