diff options
-rw-r--r-- | lib/Xconfig/glx.pm | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/Xconfig/glx.pm b/lib/Xconfig/glx.pm index d4ca894..39d2606 100644 --- a/lib/Xconfig/glx.pm +++ b/lib/Xconfig/glx.pm @@ -246,17 +246,28 @@ sub install { $in->do_pkgs->ensure_are_installed(\@packages); } +#- FIXME: move in common.pm and factorize with network::network::proxy_configure_gnome +sub _gconf_set { + my ($key, $type, $value) = @_; + -d "$::prefix/etc/gconf/2/" or return; + my $defaults_dir = "/etc/gconf/gconf.xml.local-defaults"; + my $p_defaults_dir = "$::prefix$defaults_dir"; + run_program::rooted($::prefix, 'gconftool-2', '>', '/dev/null', "--config-source=xml::$p_defaults_dir", "--direct", "--set", "--type=$type", if_($type eq "list", '--list-type', 'string'), $key, $value); +} + sub write { my ($glx) = @_; my $server_start = member($glx->{method}, 'Xgl', 'Xmetisse'); + my $wm_start = member($glx->{method}, qw(native Xgl Xmetisse)); addVarsInSh($::prefix . $compositing_server_config, { COMPOSITING_SERVER_START => bool2yesno($server_start), COMPOSITING_SERVER => $server_start && $glx->{method}, }); addVarsInSh($::prefix . $compositing_wm_config, { - COMPOSITING_WM_START => bool2yesno(member($glx->{method}, qw(native Xgl Xmetisse))), + COMPOSITING_WM_START => bool2yesno($wm_start), COMPOSITING_WM => $glx->{wm}, }); + _gconf_set("/system/gstreamer/0.10/default/videosink", "string", $wm_start ? "ximagesink" : "autovideosink"); } 1; |