Theme patriation



Several people have raised the idea recently that the responsibility for 
drawing window borders might better lie with the application than the 
window manager.  The idea goes something like this:

 1. The window border theme parsing and displaying code should live in a 
library.  (It already does, but its ABI is allegedly private, though in 
practice Compiz binds against it anyway.  For this we will need to make 
it public.)

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

 3. Metacity will set a property on the root window with a name such as 
_METACITY_DECORATION_DELEGATION to signal its willingness to delegate 
decoration.  GTK will also set a property on each window it decorates, 
with a name such as _GTK_DECORATED, so that Metacity will not attempt to 
decorate it for the second time.

This would mean that the themes could interact better with the contents 
of the window.  For example, it would become easy to add a button like 
the oval button on an OS X window which hides the toolbar.  It would 
also make it much easier to allow per-app themes, as is often requested 
for the GIMP.

Possibly the library could be clever enough to understand more than one 
theme format.  Eventually it would probably be best to split it away 
from Metacity entirely.

Do you think this is a good plan?

Thomas

-- 
Thomas Thurman, tthurman at gnome, http://blogs.gnome.org/tthurman
Surely you're joking. You'd have to blast them aside.


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