summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--lib/Xconfig/various.pm8
-rw-r--r--lib/Xconfig/xfree.pm5
3 files changed, 11 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index 48f6704..bbaaaad 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+- XFdrake:
+ o Composite is now the default in xserver 1.4 (#35043)
- mousedrake:
o evdev and imwheel handle orthogonal things, so do use imwheel even if we
need evdev (#40088)
diff --git a/lib/Xconfig/various.pm b/lib/Xconfig/various.pm
index 5379d21..a762f0c 100644
--- a/lib/Xconfig/various.pm
+++ b/lib/Xconfig/various.pm
@@ -70,7 +70,7 @@ sub various {
my $various = {
if_($::isStandalone, xdm => runlevel() == 5),
if_($b_read_existing,
- Composite => ($raw_X->get_Section('Extensions') || {})->{Composite},
+ Composite => $raw_X->get_extension('Composite') ne 'Disable',
if_($card->{Options}{MonitorLayout} eq 'NONE,CRT+LFP' ||
$card->{Options}{TwinViewOrientation} eq 'Clone',
Clone => 1),
@@ -111,13 +111,13 @@ sub config {
my ($raw_X, $card, $various) = @_;
if ($various->{Composite}) {
- my $raw = $raw_X->get_Section('Extensions') || $raw_X->add_Section('Extensions', {});
- $raw->{Composite} = { 'Option' => 1 };
+ $raw_X->remove_extension('Composite');
if ($card->{Driver} eq 'nvidia') {
$card->{Options}{AddARGBGLXVisuals} = undef;
}
} else {
- $raw_X->remove_extension('Composite');
+ my $raw = $raw_X->get_Section('Extensions') || $raw_X->add_Section('Extensions', {});
+ $raw->{Composite} = { 'Option' => 1, val => 'Disable' };
if ($card->{Driver} eq 'nvidia') {
delete $card->{Options}{AddARGBGLXVisuals};
diff --git a/lib/Xconfig/xfree.pm b/lib/Xconfig/xfree.pm
index 23c0910..edb1541 100644
--- a/lib/Xconfig/xfree.pm
+++ b/lib/Xconfig/xfree.pm
@@ -535,6 +535,11 @@ sub remove_extension {
delete $raw->{$extension};
%$raw or $raw_X->remove_Section('Extensions');
}
+sub get_extension {
+ my ($raw_X, $extension) = @_;
+ my $raw = $raw_X->get_Section('Extensions');
+ $raw && $raw->{Composite} && $raw->{Composite}[0]{val};
+}
################################################################################
# ModulePath ###################################################################