Re: xclock -borderwidth 0?

On Wed, Dec 11, 2002 at 05:19:15PM +0000, john cs york ac uk wrote:
> -borderwidth is the long version of -bw.

Ah, I found it. Yes, that sets the window border, not any kind of
hint. According to the 10-year-old ICCCM specification, the window
manager may change this border at its own discretion. All window
managers I've looked at set it to 0 unconditionally.

Window border is essentially a feature from X10 that was retained in
X11 for backwards compatibility. It's been more or less deprecated for
around 15 years, since X11 came out. The "correct" way to do this is
to just draw your own border inside your window.

As I understand it, the window border was the original way to do
window manager frames in X10. That's why the WM still "owns" it and
can turn it off. But reparenting window managers were introduced
instead in X11, and border width has been a dead feature ever since.
All the modern reparenting window managers turn off the window border
since they do frames via reparenting instead.

My history could be somewhat wrong but this is my impression.

> I only used xclock as a simple example of a command. -bw doesn't
> work with any other program I have tried either. As I say above,
> it's the user's own program that he wants to have no
> border. Enlightenment has a per-window, menu-chooseable, `Set Window
> Style = Borderless' option for its windows, but even that doesn't
> honour an application's -bw option.

Set Window Style = Borderless is going to turn off the window manager
frame. That's completely unrelated to the window border; it has
nothing to do with xclock -bw.

The "window border" is actually a part of the xclock window and is
just a solid-color area around the xclock.  The "window manager frame"
is a separate window created by the window manager. The xclock window
is reparented into the window manager frame.

What I don't understand though is why you're saying "the user wants
their program to have no border" - all modern WMs in fact disable the
window border, set it unconditionally to 0. 

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