Metacity towards GNOME 3.0



Metacity is an important component of GNOME 3 as the window manager in
fallback mode. There's a couple of major things that need doing to make
it work in the GNOME 3 stack that I wanted to bring up here. Both of
them already have patches but we need to figure out exactly we want
to do.

Port to GSettings
=================
https://bugzilla.gnome.org/show_bug.cgi?id=621204

Mutter and Metacity share most of their configuration keys and these
keys are also accessed by gnome-control-center and
gnome-settings-daemon.

In order to meaningfully make GNOME 3 a GSettings-based desktop;
something that can be managed in one place through one system, we need
to migrate these keys over to GSettings.

The main question in my mind is where they live. Right now, Mutter
requires Metacity.

 - For the GConf schemas
 - For:
     gnome-control-center/keybindings/50-metacity-desktop-key.xml
     gnome-control-center/keybindings/50-metacity-key.xml
 - For the default theme Atlanta

So our options here are:

 - Leave everything in Metacity, keep requiring Metacity as a dependency
   of Mutter. This isn't really a problem for GNOME 3.0, but we'd
   like to drop this dependency eventually and the migration to 
   GSettings is a natural time to move things around.

 - Have a separate module like gnome-wm-data with the GSettings schemas,
   XML files and keys.

 - Move the GSettings schemas and the closely linked keybinding XML
   to gsettings-desktop-schemas and do something else for the theme
   for Mutter. We could just switch Mutter to depend on
   gnome-themes-standard and default to Adwaita. 

I'm most in favor of the third option though there is some issue with
either the second or third option in terms of the way key bindings work
in Metacity .... the Metacity GConf schema has the keys for key bindings
generated and inserted via a program working from the same header files
that are used in the code.

Port to GTK+ 3.0
================
https://bugzilla.gnome.org/show_bug.cgi?id=622285

GNOME 3 is supposed to be built with GTK+-3.0. Metacity currently can
only built with GTK+ 2.0.

Couple of choices here:

 - We could leave it building with GTK+ 2 and ship both toolkits in
   GNOME 3 (we might have to do that anyways; practically speaking
   any OS shipping GNOME 3.0 will be including GTK+ 2 as well.)

 - We could support dual building. This is tricky, but there exist 
   patches developed for Mutter to do this that could be ported
   over. (Benjamin Otte spent quite a bit of time working on this,
   and then a week or so after the changes landed, we realized there was
   nobody still building Mutter against GTK+ 2, so it was pointless
   to carry the complexity.)

 - We could just make it require GTK+ 3.0. This is my suggestion - 
   GNOME 3 is a GTK+ 3.0-based desktop. Metacity is the GNOME
   (fallback) window manager. GTK+ 3.0 will be released as a
   stable toolkit before Metacity 3.0 is released. If people need
   to Metacity build against older GTK+, the older tarballs aren't
   going to be removed from the website.

   If someone wants to use Metacity 3.0 in a legacy environment -
   on an older operating system - the GSettings requirement, which we
   can't get away from, would be a big problem.




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