diff --git a/src/MainWindow.h b/src/MainWindow.h --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -147,7 +147,6 @@ void profileListChanged(const QList &sessionActions); void configureNotifications(); - void setBlur(bool blur); void updateWindowIcon(); void updateWindowCaption(); diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -31,7 +31,6 @@ #include #include #include -#include #include #include @@ -102,9 +101,7 @@ &Konsole::MainWindow::disconnectController); connect(_viewManager, &Konsole::ViewManager::viewPropertiesChanged, bookmarkHandler(), &Konsole::BookmarkHandler::setViews); - connect(_viewManager, &Konsole::ViewManager::blurSettingChanged, - this, &Konsole::MainWindow::setBlur); - + connect(_viewManager, &Konsole::ViewManager::updateWindowIcon, this, &Konsole::MainWindow::updateWindowIcon); connect(_viewManager, @@ -246,8 +243,6 @@ Q_ASSERT(controller); _pluggedController = controller; - setBlur(ViewManager::profileHasBlurEnabled(SessionManager::instance()->sessionProfile(_pluggedController->session()))); - // listen for title changes from the current session connect(controller, &Konsole::SessionController::titleChanged, this, &Konsole::MainWindow::activeViewTitleChanged); @@ -841,17 +836,6 @@ KNotifyConfigWidget::configure(this); } -void MainWindow::setBlur(bool blur) -{ - if (_pluggedController.isNull()) { - return; - } - - if (!_pluggedController->isKonsolePart()) { - KWindowEffects::enableBlurBehind(winId(), blur); - } -} - void MainWindow::setMenuBarInitialVisibility(bool visible) { _menuBarInitialVisibility = visible; diff --git a/src/ViewManager.h b/src/ViewManager.h --- a/src/ViewManager.h +++ b/src/ViewManager.h @@ -356,6 +356,8 @@ void closeTabFromContainer(ViewContainer *container, QWidget *tab); + void setBlur(bool blur); + private: Q_DISABLE_COPY(ViewManager) diff --git a/src/ViewManager.cpp b/src/ViewManager.cpp --- a/src/ViewManager.cpp +++ b/src/ViewManager.cpp @@ -31,6 +31,7 @@ #include #include #include +#include // Konsole #include @@ -91,6 +92,9 @@ this, &Konsole::ViewManager::profileChanged); connect(SessionManager::instance(), &Konsole::SessionManager::sessionUpdated, this, &Konsole::ViewManager::updateViewsForSession); + connect(this, &Konsole::ViewManager::blurSettingChanged, + this, &Konsole::ViewManager::setBlur); + //prepare DBus communication new WindowAdaptor(this); @@ -566,6 +570,9 @@ _viewSplitter->setFocusProxy(controller->view()); _pluggedController = controller; + + setBlur(profileHasBlurEnabled(SessionManager::instance()->sessionProfile(_pluggedController->session()))); + emit activeViewChanged(controller); } @@ -1139,6 +1146,17 @@ } } +void ViewManager::setBlur(bool blur) +{ + if (_pluggedController.isNull()) { + return; + } + + if(widget() && widget()->window()) { + KWindowEffects::enableBlurBehind(widget()->window()->winId(), blur); + } +} + void ViewManager::setNavigationVisibility(int visibility) { _navigationVisibility = static_cast(visibility);