Hello community, here is the log from the commit of package konsole for openSUSE:Factory checked in at 2016-09-05 21:12:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/konsole (Old) and /work/SRC/openSUSE:Factory/.konsole.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "konsole" Changes: -------- --- /work/SRC/openSUSE:Factory/konsole/konsole.changes 2016-08-29 15:33:53.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.konsole.new/konsole.changes 2016-09-05 21:12:15.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Aug 30 14:01:08 UTC 2016 - wba...@tmo.at + +- Add fix-transparency.patch to fix transparent backgrounds + (kde#366368) + +------------------------------------------------------------------- New: ---- fix-transparency.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ konsole.spec ++++++ --- /var/tmp/diff_new_pack.L3z4Io/_old 2016-09-05 21:12:16.000000000 +0200 +++ /var/tmp/diff_new_pack.L3z4Io/_new 2016-09-05 21:12:16.000000000 +0200 @@ -34,6 +34,8 @@ Source26: utilities-terminal-su-128.png # PATCH-FIX-UPSTREAM fix-extra-window-when-restored-by-session-management.patch kde#367447 -- prevents creating an extra window upon session restoration Patch: fix-extra-window-when-restored-by-session-management.patch +# PATCH-FIX-UPSTREAM fix-transparency.patch kde#366368 -- fix transparent backgrounds +Patch1: fix-transparency.patch BuildRequires: fdupes BuildRequires: kbookmarks-devel BuildRequires: kconfig-devel @@ -82,6 +84,7 @@ %prep %setup -q %patch -p1 +%patch1 -p1 %build %cmake_kf5 -d build ++++++ fix-transparency.patch ++++++ From: Martin T. H. Sandsmark <martin.sandsm...@kde.org> Date: Sat, 13 Aug 2016 13:41:31 +0000 Subject: Fix transparent backgrounds X-Git-Url: http://quickgit.kde.org/?p=konsole.git&a=commitdiff&h=a28902e9120798c67844864a11bbe3f1c2549b74 --- Fix transparent backgrounds It's apparently not possible to set WA_TranslucentBackground after show(). The MainWindow constructor calls applyKonsoleSettings() which calls KMainWindow::setAutoSaveSettings() which in turn calls setVisible(true), which makes any calls to setTransparency() from the Application::newMainWindow() irrelevant, even if updateUseTransparency() is called from it. REVIEW: 128669 BUG: 366368 --- --- a/src/Application.cpp +++ b/src/Application.cpp @@ -40,6 +40,7 @@ #include "KonsoleSettings.h" #include "ViewManager.h" #include "SessionController.h" +#include "WindowSystemInfo.h" using namespace Konsole; @@ -56,8 +57,9 @@ MainWindow* Application::newMainWindow() { + WindowSystemInfo::HAVE_TRANSPARENCY = !m_parser.isSet(QStringLiteral("notransparency")); + MainWindow* window = new MainWindow(); - window->setTransparency(!m_parser.isSet(QStringLiteral("notransparency"))); connect(window, &Konsole::MainWindow::newWindowRequest, this, &Konsole::Application::createWindow); connect(window, &Konsole::MainWindow::viewDetached, this, &Konsole::Application::detachView); --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -64,7 +64,6 @@ , _pluggedController(0) , _menuBarInitialVisibility(true) , _menuBarInitialVisibilityApplied(false) - , _useTransparency(false) { if (!KonsoleSettings::saveGeometryOnExit()) { // If we are not using the global Konsole save geometry on exit, @@ -83,8 +82,6 @@ } } - connect(KWindowSystem::self(), &KWindowSystem::compositingChanged, this, &MainWindow::updateUseTransparency); - updateUseTransparency(); // create actions for menus @@ -129,11 +126,14 @@ void MainWindow::updateUseTransparency() { - bool useTranslucency = KWindowSystem::compositingActive() && _useTransparency; + if (!WindowSystemInfo::HAVE_TRANSPARENCY) { + return; + } + + bool useTranslucency = KWindowSystem::compositingActive(); setAttribute(Qt::WA_TranslucentBackground, useTranslucency); setAttribute(Qt::WA_NoSystemBackground, false); - WindowSystemInfo::HAVE_TRANSPARENCY = useTranslucency; } @@ -765,11 +765,6 @@ _viewManager->setShowQuickButtons(show); } -void MainWindow::setTransparency(bool useTransparency) -{ - _useTransparency = useTransparency; -} - void MainWindow::activateMenuBar() { const QList<QAction*> menuActions = menuBar()->actions(); --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -109,7 +109,6 @@ void setNavigationStyleSheetFromFile(const QUrl& stylesheetfile); void setNavigationBehavior(int behavior); void setShowQuickButtons(bool show); - void setTransparency(bool useTransparency); signals: @@ -211,7 +210,6 @@ bool _menuBarInitialVisibility; bool _menuBarInitialVisibilityApplied; - bool _useTransparency; }; }