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

Re: [Ayatana] Criticism of Client Side Window Decorations



On Sat, May 15, 2010 at 7:46 PM, Frederik Nnaji
<frederik.nnaji@xxxxxxxxx> wrote:
> hi sam
>
> On Sun, May 16, 2010 at 03:41, Sam Spilsbury <smspillaz@xxxxxxxxx> wrote:
>>
>> So the window controls are essentially invisible unless you play a
>> hide an seek game with your mouse? I don't understand why you'd want
>> this - and it requires some form of meaningful acceleration within
>> apps, something that I don't think everyone has.
>
> AIUI it has something to do with mouse pointer position relative to the
> window border..
> I don't understand where "acceleration" would fit into this context..
> You have a point with your cat and mouse game though..

Actually, my loosely assembled ramble seems to have been interpreted
completely differently from my intent. Probably my own doing. That
isn't really a terrible thing, though, since it is really a thought
experiment; if it helps people to think up cool things, whether
they're the things I expected or not, that's dandy :)

To clarify, though, the thought being discussed here would complement
existing functionality. My pet example is that the window border with
some themes is hard to reach, but we don't want a thick border because
it's ugly. We can't simply have an invisible border by default,
either, because it would make things difficult. So, some careful
design could provide a well sized, easy to grab resize control that
pops out of the corner of a window when it makes sense to. (When the
user is obviously using said window and moving the mouse in the
appropriate way that we know he wants to resize it). Same idea if
other expected window management buttons, like Close and Minimize, are
not accessible. (Maybe the client is frozen if we're using client-side
decorations). It wouldn't act to _replace_ anything, though!


When I say “the title bar is a misnomer,” what I'm babbling about is
probably best covered by an analogy:

The title is a mission critical part of a piece of writing. It is
completely unique to that piece, both in terms of content and in
style; the font, the colour, the spacing…
In the context of writing, it is simply bad to not be in control of
your title, and the more aspects you control the better you are for
it.

Now, in window management, an application has very little control over
its titles. Is that thing above a window really a title, or a
reference? Maybe what we put at the header of every page in a book?


Correct me if wrong, but I think what would satisfy all sides of this
is a way for an application to directly control its entire visual
experience while the window manager maintains complete control over
how decorations behave, including the possibility of making them not
exist.
Another solution, then, is to treat window decorations, and present
them to end users, for what they are: helpers that are assigned to
specific window clients (and trigger some functions in said clients)
but are absolutely NOT pretending to be part of them.

If I'm a window client with a stylish dark grey trim and green footer,
I don't want window decorations cramping my style by pretending they
are part of me, and I certainly don't want to have to trust them for
drawing a title; I can never trust how it will look. (I'm sensitive
about my appearance, remember). So, my current choice is to override
decorations completely and draw them myself, the way I want. If the
window decorations had just stayed out of my personal space, that
wouldn't have happened.
I'm not picky; it's not like it has to be a fifty pixels away from me
or something. It just has to say “we're just friends.”

Okay, this is just a loosely defined philosophy, but it's forming a
picture in my head of SOMETHING. It could do something more for
someone else. Someone whose head isn't full of giant snakes and
filtering interfaces ;)



Dylan