diff --git a/kcmkwin/kwincompositing/compositing.ui b/kcmkwin/kwincompositing/compositing.ui index 75e8fc4482..8a39bf5e98 100644 --- a/kcmkwin/kwincompositing/compositing.ui +++ b/kcmkwin/kwincompositing/compositing.ui @@ -6,14 +6,99 @@ 0 0 - 402 - 335 + 481 + 415 QFormLayout::AllNonFixedFieldsGrow + + + + + + false + + + OpenGL compositing (the default) has crashed KWin in the past. +This was most likely due to a driver bug. +If you think that you have meanwhile upgraded to a stable driver, +you can reset this protection but be aware that this might result in an immediate crash! +Alternatively, you might want to use the XRender backend instead. + + + true + + + KMessageWidget::Warning + + + + + + + false + + + Scale method "Accurate" is not supported by all hardware and can cause performance regressions and rendering artifacts. + + + true + + + KMessageWidget::Warning + + + + + + + false + + + true + + + KMessageWidget::Warning + + + + + + + false + + + Keeping the window thumbnail always interferes with the minimized state of windows. This can result in windows not suspending their work when minimized. + + + true + + + KMessageWidget::Warning + + + + + + + false + + + Having full screen windows bypass the compositor is not supported on every hardware. + + + true + + + KMessageWidget::Information + + + + + @@ -143,24 +228,21 @@ - - - - OpenGL interface: + + + + Qt::Horizontal - - - - + Tearing prevention ("vsync"): - + @@ -189,14 +271,14 @@ - + Keep window thumbnails: - + @@ -215,149 +297,41 @@ - + Expert: - + Suspend compositor for full screen windows - + Experimental: - + Enable color correction - - - - Qt::Horizontal - - - - - - - - - OpenGL compositing (the default) has crashed KWin in the past. -This was most likely due to a driver bug. -If you think that you have meanwhile upgraded to a stable driver, -you can reset this protection but be aware that this might result in an immediate crash! -Alternatively, you might want to use the XRender backend instead. - - - true - - - false - - - KMessageWidget::Warning - - - - - - - EGL is not supported by all OpenGL drivers. If not supported the Compositor will be disabled. - - - true - - - false - - - KMessageWidget::Warning - - - - - - - Scale method "Accurate" is not supported by all hardware and can cause performance regressions and rendering artifacts. - - - true - - - false - - - KMessageWidget::Warning - - - - - - - true - - - false - - - KMessageWidget::Warning - - - - - - - Keeping the window thumbnail always interferes with the minimized state of windows. This can result in windows not suspending their work when minimized. - - - true - - - false - - - KMessageWidget::Warning - - - - - - - Having full screen windows bypass the compositor is not supported on every hardware. - - - true - - - false - - - KMessageWidget::Information - - - - - KMessageWidget QFrame -
kmessagewidget.h
+
kmessagewidget.h
1
diff --git a/kcmkwin/kwincompositing/main.cpp b/kcmkwin/kwincompositing/main.cpp index 8c9e032079..a0d8e958b6 100644 --- a/kcmkwin/kwincompositing/main.cpp +++ b/kcmkwin/kwincompositing/main.cpp @@ -83,7 +83,6 @@ KWinCompositingSettings::KWinCompositingSettings(QWidget *parent, const QVariant connect(reenableGLAction, &QAction::triggered, m_compositing, &KWin::Compositing::Compositing::reenableOpenGLDetection); connect(reenableGLAction, &QAction::triggered, m_form.glCrashedWarning, &KMessageWidget::animatedHide); m_form.glCrashedWarning->addAction(reenableGLAction); - m_form.interfaceWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); m_form.scaleWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); m_form.tearingWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); m_form.windowThumbnailWarning->setIcon(QIcon::fromTheme(QStringLiteral("dialog-warning"))); @@ -166,22 +165,6 @@ void KWinCompositingSettings::init() } ); - // openglPlatformInterface - m_form.openGLPlatformInterface->setModel(m_compositing->openGLPlatformInterfaceModel()); - m_form.openGLPlatformInterface->setCurrentIndex(m_compositing->openGLPlatformInterface()); - connect(m_compositing, &Compositing::openGLPlatformInterfaceChanged, m_form.openGLPlatformInterface, &QComboBox::setCurrentIndex); - connect(m_form.openGLPlatformInterface, currentIndexChangedSignal, m_compositing, &Compositing::setOpenGLPlatformInterface); - connect(m_form.openGLPlatformInterface, currentIndexChangedSignal, - [this]() { - if (m_form.openGLPlatformInterface->count() > 1 // only if egl and glx are supported - && m_form.openGLPlatformInterface->currentData().toString() == QStringLiteral("egl")) { - m_form.interfaceWarning->animatedShow(); - } else { - m_form.interfaceWarning->animatedHide(); - } - } - ); - // unredirect fullscreen m_form.unredirectFullscreen->setChecked(m_compositing->unredirectFullscreen()); connect(m_compositing, &Compositing::unredirectFullscreenChanged, m_form.unredirectFullscreen, &QCheckBox::setChecked); @@ -219,8 +202,6 @@ void KWinCompositingSettings::init() m_form.glScaleFilterLabel->setVisible(currentType != CompositingType::XRENDER_INDEX); m_form.xrScaleFilter->setVisible(currentType == CompositingType::XRENDER_INDEX); m_form.xrScaleFilterLabel->setVisible(currentType == CompositingType::XRENDER_INDEX); - m_form.openGLPlatformInterface->setVisible(currentType != CompositingType::XRENDER_INDEX); - m_form.openGLPlatformInterfaceLabel->setVisible(currentType != CompositingType::XRENDER_INDEX); m_form.colorCorrection->setEnabled(currentType == CompositingType::OPENGL31_INDEX || currentType == CompositingType::OPENGL20_INDEX); }; showHideBasedOnType();