Re: Theme patriation

On Mon, Oct 27, 2008 at 1:37 PM, David Zeuthen <david fubar dk> wrote:

> Yes. I think making the window decoration code available to apps is a
> Good Thing(tm);

To make it clear, I don't think this is a bad idea (and we already
have this, in the abysmally named libmetacity-private),
but this wasn't what Thomas' mail was saying.

> Personally, I don't think making available the window decoration code
> implies we're switching GtkWindow to use client side decorations
> overnight;

Thomas' original mail had as step #2

"2. When an app creates a GtkWindow, GTK will draw the borders as
appropriate by calling this library."

Thats a pretty large jump from what you are proposing, which is
essentially remove the -private from the library name
and advertise the API.

An application can already draw its own borders if it wants.
The problem is that drawing it like metacity is difficult.
Moving wholesale to saying that GtkWindow draws the borders by default
is not the solution.
Having a library that draws the themes is.
That said, if an application wants to draw its own borders it either
a) Doesn't want to look like the other apps on the desktop
b) Wants to do something like federico's document saving thing or icanhasedit.

In the case of a) they won't want to use any theme library we provide
and in the case of b)
I fail to see any reason why we can't extend the WM spec to provide
for these cases so that
every app that needs it doesn't have to run through hoops to get at it.
And then we can always have a public supported API to access the theme
drawing if you really have to.

However, I believe that the Metacity theme format as it stands is a dead end
a pain in the ass to create for the artist, write a parser for and draw.
I would much rather move to defining themes via SVG and CSS than
create a public API out of the current theme format.
And this is something that I'm (slowly) working on.


(and its not stop energy - thomas asked "Is this a good plan?" 'No' is
a perfectly acceptable answer to this question.

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