From 1dd2000bfc41fbe1cbbebed403783ea442df56ed Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Thu, 6 Nov 2008 23:12:25 +0000 Subject: set gstreamer videosink to ximagesink when using 3D desktop (based on patch from Caio Begotti, #25572) --- lib/Xconfig/glx.pm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lib') 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; -- cgit v1.2.1