[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Q on frame parameters *border-width

From: Drew Adams
Subject: RE: Q on frame parameters *border-width
Date: Sat, 21 Jan 2006 07:32:06 -0800

    > 1. Wrt `border-width':
    > When I try this, I get an error, "Cannot change the border width of a
    > window":
    >  (modify-frame-parameters (selected-frame) '((border-width . 20)))
    > So, think I, perhaps you cannot change this parameter for an
    existing frame,
    > but perhaps you can set it for `default-frame-alist' and it
    will then affect
    > future frames. No such luck either.

    In fact, you cannot change this for _any_ window.  At least on X, I
    think this parameter is under control of the window manager.  But even
    if I'm wrong, it looks like no one has written code to handle this, on
    any windowing system.

Are you saying that X sets it, so you can at least read it (on X)? If so,
that should be documented: it is a read-only parameter that is set by (some?
all? only X?) window managers.

    > Both the doc string and the error message speak of the
    "window" border, so I
    > guess this is a frame parameter that affects the border of
    each window in
    > the frame. Is that right? Just where is the window border?

    I don't know how to explain this better than the manual does.  Each
    frame has a border--do you know what that border is?  If not, perhaps
    your problem is not what border-width is, but what is the border.

You are speaking of a frame border; the doc speaks of a window border.

    With typical X window managers this border is clearly visible, because
    it has a 3D appearance that makes it stand out.  On MS-Windows, this
    is less visible, but you should still be able to see a narrow
    2-pixel-wide strip between the outer edge of the Emacs frame and the
    parts of the frame that Emacs displays: the fringe at the left side,
    the title bar's background color on the top side, etc.

Again, you're speaking of the frame border. In that case, the doc shouldn't
mention "window" - or else it should say "window-manager window (frame)".

    > If not, if it is about a frame border, then the doc string and error
    > message should say "frame", not "window".

    Maybe, I don't know.  The confusion between ``window'' and ``frame''
    is not a simple one.  The parameter is for frames, not for windows.

If it is a frame parameter that is about a frame, not a window, border, then
why mention "window" at all? Why is this not simple?

    > What does this parameter do? Setting it doesn't seem to do
    anything, on
    > Windows XP at least (Emacs 20 or 22). Shouldn't the doc explain the
    > parameter a little more?

    I think this parameter exists so that one could compute the actual
    size of the frame.

OK. That's reasonable. It would be good to say that 1) the parameter is
read-only, 2) it is not (or might not be) set by window managers other than
X Window, and 3) it is useful for calculating the total frame size, in

    > 2. Wrt `internal-border-width':
    > The only difference in this parameter's name and that of the previous
    > parameter is "internal-". Does this mean that this too
    applies to Emacs
    > window borders (whatever they are) and not to frame borders?

    No, the manual says it explicitly: this is the distance between the
    border and the text area of the Emacs display.

Sure it does. My point here was about the _name_.

Anyway, the point is meaningless now, since you've confirmed that
`border-width' is also about the frame border, not an Emacs window border.

    > Setting `internal-border-width' actually does change something, but it
    > appears to be the internal _frame_ border, not a border
    around each window.

    It _is_ the frame border.

Yes, see above.

    > The `internal-border-width' does not appear to be the
    distance between text
    > and border, if the border when fringe is present - in that
    case, it is the
    > distance between the fringe and the border.


So, perhaps this could be stated explicitly in the doc.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]