emacs-devel
[Top][All Lists]
Advanced

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

Re: Q on frame parameters *border-width


From: Eli Zaretskii
Subject: Re: Q on frame parameters *border-width
Date: Sat, 21 Jan 2006 12:01:57 +0200

> From: "Drew Adams" <address@hidden>
> Date: Fri, 20 Jan 2006 16:20:54 -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.

> 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.

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.

> 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.

> 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.

> 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.

> 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.

> 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.

Yes.




reply via email to

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