[compiz] Annoying gconf/ccsm behavior
Bob Richmond
bob at lorez.org
Thu Nov 27 12:18:02 PST 2008
Fedora 10 ships with compiz and launches it as: compiz
--ignore-desktop-hints glib gconf
This causes compiz to load the glib and gconf plugins at startup. This
works fine.
The problem arises when the gconf database does not include those
plugins in /apps/compiz/general/allscreens/options/active_plugins. What
happens is that the plugins get loaded at startup, and after all the
"general" (read: core) options are read, it then unloads any plugins not
in the active_plugins list right after, causing the gconf plugin to not
configure any other plugins, and stop listening for gconf notify events
so further configuration does not take effect at runtime (even for core
configuration options).
Using gconf-editor to add gconf to the active_plugins list allows it to
work as expected (a viable replacement for the ini plugin).
HOWEVER, ccsm does not appear to have any knowledge of the existence of
the gconf plugin, so whenever you add or remove another plugin from the
list, it ends up removing gconf from the list as well. Immediately
causing compiz to stop listening for gconf notify events (see above).
I would be happy to supply a patch to fix this behavior, but I would
appreciate direction on how best to fix the bug.
Some options I considered:
1: Treat plugins passed on the compiz command line as unremovable at
runtime. active_plugins can safely not include gconf, and gconf will
remain loaded for the lifetime of compiz.
2: Update the ccsm gconf backend so that any updates to active_plugins
will implicitly include gconf in the list (this made sense to me, since
you wouldn't want to be configuring compiz via gconf without giving
compiz the ability to actually respond to configuration events).
3: Update the gconf plugin itself to always include itself in the
active_plugins list when requested, and it doesn't exist (this is more
in line with option 1, but only modifies the gconf plugin).
What do you think? Perhaps some other approach altogether?
More information about the compiz
mailing list