[kdebase-workspace] - backport kwin ui for unredirecting fullscreen windows

Rex Dieter rdieter at fedoraproject.org
Sat Oct 16 17:12:34 UTC 2010


commit 710ac57dbf0aa53f12db08252b2f7389bacc549c
Author: Rex Dieter <rdieter at fedoraproject.org>
Date:   Sat Oct 16 12:18:39 2010 -0500

    - backport kwin ui for unredirecting fullscreen windows

 ...5.2-kwin_unredirect_fullscreen_windows_ui.patch |   93 ++++++++++++++++++++
 kdebase-workspace.spec                             |   10 ++-
 2 files changed, 101 insertions(+), 2 deletions(-)
---
diff --git a/kdebase-workspace-4.5.2-kwin_unredirect_fullscreen_windows_ui.patch b/kdebase-workspace-4.5.2-kwin_unredirect_fullscreen_windows_ui.patch
new file mode 100644
index 0000000..7178686
--- /dev/null
+++ b/kdebase-workspace-4.5.2-kwin_unredirect_fullscreen_windows_ui.patch
@@ -0,0 +1,93 @@
+Index: workspace/kwin/kcmkwin/kwincompositing/main.ui
+===================================================================
+--- workspace/kwin/kcmkwin/kwincompositing/main.ui	(revision 1176431)
++++ workspace/kwin/kcmkwin/kwincompositing/main.ui	(revision 1176432)
+@@ -404,7 +404,7 @@
+          </item>
+         </widget>
+        </item>
+-       <item row="2" column="0" colspan="2">
++       <item row="3" column="0" colspan="2">
+         <widget class="QCheckBox" name="disableChecks">
+          <property name="whatsThis">
+           <string>Enabling this option allows compositing to be activated even if some of the internal checks fail. Doing so may make the whole desktop unusable and its use is not recommened. Use only if KWin refuses to activate compositing on a system that should be capable of compositing.
+@@ -415,7 +415,7 @@
+          </property>
+         </widget>
+        </item>
+-       <item row="3" column="0" colspan="2">
++       <item row="4" column="0" colspan="2">
+         <widget class="QGroupBox" name="glGroup">
+          <property name="title">
+           <string>OpenGL Options</string>
+@@ -532,7 +532,7 @@
+          </layout>
+         </widget>
+        </item>
+-       <item row="4" column="0" colspan="2">
++       <item row="5" column="0" colspan="2">
+         <widget class="QGroupBox" name="xrenderGroup">
+          <property name="title">
+           <string>XRender Options</string>
+@@ -548,7 +548,7 @@
+          </layout>
+         </widget>
+        </item>
+-       <item row="5" column="0" colspan="2">
++       <item row="6" column="0" colspan="2">
+         <spacer name="verticalSpacer_6">
+          <property name="orientation">
+           <enum>Qt::Vertical</enum>
+@@ -561,6 +561,16 @@
+          </property>
+         </spacer>
+        </item>
++       <item row="2" column="0" colspan="2">
++        <widget class="QCheckBox" name="unredirectFullscreen">
++         <property name="toolTip">
++          <string>Improves performance of fullscreen applications like games and video players. This option can cause flickering when another window is opened above the fullscreen window.</string>
++         </property>
++         <property name="text">
++          <string>Suspend desktop effects for fullscreen windows</string>
++         </property>
++        </widget>
++       </item>
+       </layout>
+      </widget>
+     </widget>
+Index: workspace/kwin/kcmkwin/kwincompositing/main.cpp
+===================================================================
+--- workspace/kwin/kcmkwin/kwincompositing/main.cpp	(revision 1176431)
++++ workspace/kwin/kcmkwin/kwincompositing/main.cpp	(revision 1176432)
+@@ -119,6 +119,7 @@
+     connect(ui.compositingType, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
+     connect(ui.windowThumbnails, SIGNAL(activated(int)), this, SLOT(changed()));
+     connect(ui.disableChecks, SIGNAL(toggled(bool)), this, SLOT(changed()));
++    connect(ui.unredirectFullscreen , SIGNAL(toggled(bool)), this, SLOT(changed()));
+     connect(ui.glMode, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
+     connect(ui.glTextureFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
+     connect(ui.glDirect, SIGNAL(toggled(bool)), this, SLOT(changed()));
+@@ -443,6 +444,7 @@
+     else // shown, or default
+         ui.windowThumbnails->setCurrentIndex( 1 );
+     ui.disableChecks->setChecked( config.readEntry( "DisableChecks", false ));
++    ui.unredirectFullscreen->setChecked( config.readEntry( "UnredirectFullscreen", true ));
+ 
+     QString glMode = config.readEntry("GLMode", "TFP");
+     ui.glMode->setCurrentIndex((glMode == "TFP") ? 0 : ((glMode == "SHM") ? 1 : 2));
+@@ -607,6 +609,7 @@
+     config.writeEntry("Backend", (ui.compositingType->currentIndex() == OPENGL_INDEX) ? "OpenGL" : "XRender");
+     config.writeEntry("HiddenPreviews", hps[ ui.windowThumbnails->currentIndex() ] );
+     config.writeEntry("DisableChecks", ui.disableChecks->isChecked());
++    config.writeEntry( "UnredirectFullscreen", ui.unredirectFullscreen->isChecked() );
+ 
+     config.writeEntry("GLMode", glModes[ui.glMode->currentIndex()]);
+     config.writeEntry("GLTextureFilter", ui.glTextureFilter->currentIndex());
+@@ -752,6 +755,7 @@
+     ui.compositingType->setCurrentIndex( 0 );
+     ui.windowThumbnails->setCurrentIndex( 1 );
+     ui.disableChecks->setChecked( false );
++    ui.unredirectFullscreen->setChecked( true );
+     ui.glMode->setCurrentIndex( 0 );
+     ui.glTextureFilter->setCurrentIndex( 1 );
+     ui.glDirect->setChecked( mDefaultPrefs.enableDirectRendering() );
diff --git a/kdebase-workspace.spec b/kdebase-workspace.spec
index 496ff59..3347523 100644
--- a/kdebase-workspace.spec
+++ b/kdebase-workspace.spec
@@ -17,7 +17,7 @@ Version: 4.5.2
 # for .0 releases we have to use '00' as '0' is treated as null by cmake, dont' forget to update
 %define kde4workspace_version %{version} 
 
-Release: 2%{?dist}
+Release: 3%{?dist}
 
 License: GPLv2
 Group:   User Interface/Desktops
@@ -74,6 +74,8 @@ Patch54: kdebase-workspace-4.5.1-kfontview_dt_validate.patch
 # Display Settings are Lost on Logout, http://bugs.kde.org/183143 , http://bugzilla.redhat.com/607180
 # backport http://websvn.kde.org/?view=revision&revision=1170315
 Patch150: kdebase-workspace-4.5.2-krandrtray_backport.patch
+# http://websvn.kde.org/?revision=1176432&view=revision
+Patch151: kdebase-workspace-4.5.2-kwin_unredirect_fullscreen_windows_ui.patch
 
 # moving to non-multilib hack
 Obsoletes: kdebase-workspace < 4.3.0-2
@@ -327,6 +329,7 @@ Requires: akonadi
 
 # trunk patches
 %patch150 -p1 -b .krandrtray_backport
+%patch151 -p1 -b .kwin_unredirect_fullscreen_windows_ui
 
 
 %build
@@ -341,7 +344,7 @@ pushd %{_target_platform}
 popd
 
 # FIXME: not smp-safe?
-make -C %{_target_platform}
+make %{?_smp_mflags} -C %{_target_platform} 
 
 
 %install
@@ -700,6 +703,9 @@ fi
 
 
 %changelog
+* Sat Oct 16 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.5.2-3
+- backport kwin ui for unredirecting fullscreen windows
+
 * Fri Oct 15 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.5.2-2
 - include better, upstream fix for: krandr: Display Settings are Lost
   on Logout (kdebug183143, rh#607180)


More information about the scm-commits mailing list