kwin/effects/diminactive/diminactive_config.cpp

66 lines
2.1 KiB
C++
Raw Normal View History

/********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
Copyright (C) 2007 Christian Nitschkowski <christian.nitschkowski@kdemail.net>
2020-01-14 16:17:18 +00:00
Copyright (C) 2018 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/
#include "diminactive_config.h"
[effects] Rewrite the Dim Inactive effect Summary: The Dim Inactive effect was rewritten mostly to fix most of issues with it, e.g. after leaving a full screen effect(e.g. Desktop Grid) windows sometimes are not dimmed back, or when a window becomes inactive there is no smooth transition, etc. {F5956124} //Before: the window is not smoothly dimmed.// {F5956127} //After: the window is smoothly dimmed.// In combination with an effect that animates the disappearing of windows, e.g. Glide, the rewritten Dim Inactive effect doesn't "flash" windows. If an active window has been closed, it will stay bright. If an inactive window has been closed, it will stay dimmed. Among other changes, the KCM has been re-designed to follow common KCM design in Plasma: {F5956128, layout=center, size=full} The way the rewritten Dim Inactive effect handles flashing/flickering problem can be reused in the Dialog Parent effect. ### Demo {F5959885} //Before: dimming of a window group.// {F5959886} //After: Dimming of a window group.// Depends on D13740 CCBUG: 359251 Test Plan: Test plan #1 * Activated the Desktop Grid effect * Dimmed windows smoothly brightened * Left desktop grid * Windows dimmed back Test plan #2 * Opened Dolphin and its Preferences window * Clicked on desktop, both Dolphin and the Preferences window dimmed * Clicked on Dolphin, both windows smoothly brightened back Reviewers: #kwin, #plasma, #vdg, davidedmundson Reviewed By: #kwin, #plasma, #vdg, davidedmundson Subscribers: davidedmundson, abetts, ngraham, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D13720
2018-06-20 10:16:31 +00:00
// KConfigSkeleton
#include "diminactiveconfig.h"
#include <config-kwin.h>
#include <kwineffects_interface.h>
#include <KAboutData>
#include <KPluginFactory>
K_PLUGIN_FACTORY_WITH_JSON(DimInactiveEffectConfigFactory,
"diminactive_config.json",
registerPlugin<KWin::DimInactiveEffectConfig>();)
namespace KWin
{
[effects] Rewrite the Dim Inactive effect Summary: The Dim Inactive effect was rewritten mostly to fix most of issues with it, e.g. after leaving a full screen effect(e.g. Desktop Grid) windows sometimes are not dimmed back, or when a window becomes inactive there is no smooth transition, etc. {F5956124} //Before: the window is not smoothly dimmed.// {F5956127} //After: the window is smoothly dimmed.// In combination with an effect that animates the disappearing of windows, e.g. Glide, the rewritten Dim Inactive effect doesn't "flash" windows. If an active window has been closed, it will stay bright. If an inactive window has been closed, it will stay dimmed. Among other changes, the KCM has been re-designed to follow common KCM design in Plasma: {F5956128, layout=center, size=full} The way the rewritten Dim Inactive effect handles flashing/flickering problem can be reused in the Dialog Parent effect. ### Demo {F5959885} //Before: dimming of a window group.// {F5959886} //After: Dimming of a window group.// Depends on D13740 CCBUG: 359251 Test Plan: Test plan #1 * Activated the Desktop Grid effect * Dimmed windows smoothly brightened * Left desktop grid * Windows dimmed back Test plan #2 * Opened Dolphin and its Preferences window * Clicked on desktop, both Dolphin and the Preferences window dimmed * Clicked on Dolphin, both windows smoothly brightened back Reviewers: #kwin, #plasma, #vdg, davidedmundson Reviewed By: #kwin, #plasma, #vdg, davidedmundson Subscribers: davidedmundson, abetts, ngraham, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D13720
2018-06-20 10:16:31 +00:00
DimInactiveEffectConfig::DimInactiveEffectConfig(QWidget *parent, const QVariantList &args)
: KCModule(KAboutData::pluginData(QStringLiteral("diminactive")), parent, args)
{
[effects] Rewrite the Dim Inactive effect Summary: The Dim Inactive effect was rewritten mostly to fix most of issues with it, e.g. after leaving a full screen effect(e.g. Desktop Grid) windows sometimes are not dimmed back, or when a window becomes inactive there is no smooth transition, etc. {F5956124} //Before: the window is not smoothly dimmed.// {F5956127} //After: the window is smoothly dimmed.// In combination with an effect that animates the disappearing of windows, e.g. Glide, the rewritten Dim Inactive effect doesn't "flash" windows. If an active window has been closed, it will stay bright. If an inactive window has been closed, it will stay dimmed. Among other changes, the KCM has been re-designed to follow common KCM design in Plasma: {F5956128, layout=center, size=full} The way the rewritten Dim Inactive effect handles flashing/flickering problem can be reused in the Dialog Parent effect. ### Demo {F5959885} //Before: dimming of a window group.// {F5959886} //After: Dimming of a window group.// Depends on D13740 CCBUG: 359251 Test Plan: Test plan #1 * Activated the Desktop Grid effect * Dimmed windows smoothly brightened * Left desktop grid * Windows dimmed back Test plan #2 * Opened Dolphin and its Preferences window * Clicked on desktop, both Dolphin and the Preferences window dimmed * Clicked on Dolphin, both windows smoothly brightened back Reviewers: #kwin, #plasma, #vdg, davidedmundson Reviewed By: #kwin, #plasma, #vdg, davidedmundson Subscribers: davidedmundson, abetts, ngraham, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D13720
2018-06-20 10:16:31 +00:00
m_ui.setupUi(this);
DimInactiveConfig::instance(KWIN_CONFIG);
addConfig(DimInactiveConfig::self(), this);
load();
}
[effects] Rewrite the Dim Inactive effect Summary: The Dim Inactive effect was rewritten mostly to fix most of issues with it, e.g. after leaving a full screen effect(e.g. Desktop Grid) windows sometimes are not dimmed back, or when a window becomes inactive there is no smooth transition, etc. {F5956124} //Before: the window is not smoothly dimmed.// {F5956127} //After: the window is smoothly dimmed.// In combination with an effect that animates the disappearing of windows, e.g. Glide, the rewritten Dim Inactive effect doesn't "flash" windows. If an active window has been closed, it will stay bright. If an inactive window has been closed, it will stay dimmed. Among other changes, the KCM has been re-designed to follow common KCM design in Plasma: {F5956128, layout=center, size=full} The way the rewritten Dim Inactive effect handles flashing/flickering problem can be reused in the Dialog Parent effect. ### Demo {F5959885} //Before: dimming of a window group.// {F5959886} //After: Dimming of a window group.// Depends on D13740 CCBUG: 359251 Test Plan: Test plan #1 * Activated the Desktop Grid effect * Dimmed windows smoothly brightened * Left desktop grid * Windows dimmed back Test plan #2 * Opened Dolphin and its Preferences window * Clicked on desktop, both Dolphin and the Preferences window dimmed * Clicked on Dolphin, both windows smoothly brightened back Reviewers: #kwin, #plasma, #vdg, davidedmundson Reviewed By: #kwin, #plasma, #vdg, davidedmundson Subscribers: davidedmundson, abetts, ngraham, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D13720
2018-06-20 10:16:31 +00:00
DimInactiveEffectConfig::~DimInactiveEffectConfig()
2011-01-30 14:34:42 +00:00
{
}
void DimInactiveEffectConfig::save()
2011-01-30 14:34:42 +00:00
{
KCModule::save();
[effects] Rewrite the Dim Inactive effect Summary: The Dim Inactive effect was rewritten mostly to fix most of issues with it, e.g. after leaving a full screen effect(e.g. Desktop Grid) windows sometimes are not dimmed back, or when a window becomes inactive there is no smooth transition, etc. {F5956124} //Before: the window is not smoothly dimmed.// {F5956127} //After: the window is smoothly dimmed.// In combination with an effect that animates the disappearing of windows, e.g. Glide, the rewritten Dim Inactive effect doesn't "flash" windows. If an active window has been closed, it will stay bright. If an inactive window has been closed, it will stay dimmed. Among other changes, the KCM has been re-designed to follow common KCM design in Plasma: {F5956128, layout=center, size=full} The way the rewritten Dim Inactive effect handles flashing/flickering problem can be reused in the Dialog Parent effect. ### Demo {F5959885} //Before: dimming of a window group.// {F5959886} //After: Dimming of a window group.// Depends on D13740 CCBUG: 359251 Test Plan: Test plan #1 * Activated the Desktop Grid effect * Dimmed windows smoothly brightened * Left desktop grid * Windows dimmed back Test plan #2 * Opened Dolphin and its Preferences window * Clicked on desktop, both Dolphin and the Preferences window dimmed * Clicked on Dolphin, both windows smoothly brightened back Reviewers: #kwin, #plasma, #vdg, davidedmundson Reviewed By: #kwin, #plasma, #vdg, davidedmundson Subscribers: davidedmundson, abetts, ngraham, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D13720
2018-06-20 10:16:31 +00:00
OrgKdeKwinEffectsInterface interface(QStringLiteral("org.kde.KWin"),
QStringLiteral("/Effects"),
QDBusConnection::sessionBus());
interface.reconfigureEffect(QStringLiteral("diminactive"));
2011-01-30 14:34:42 +00:00
}
[effects] Rewrite the Dim Inactive effect Summary: The Dim Inactive effect was rewritten mostly to fix most of issues with it, e.g. after leaving a full screen effect(e.g. Desktop Grid) windows sometimes are not dimmed back, or when a window becomes inactive there is no smooth transition, etc. {F5956124} //Before: the window is not smoothly dimmed.// {F5956127} //After: the window is smoothly dimmed.// In combination with an effect that animates the disappearing of windows, e.g. Glide, the rewritten Dim Inactive effect doesn't "flash" windows. If an active window has been closed, it will stay bright. If an inactive window has been closed, it will stay dimmed. Among other changes, the KCM has been re-designed to follow common KCM design in Plasma: {F5956128, layout=center, size=full} The way the rewritten Dim Inactive effect handles flashing/flickering problem can be reused in the Dialog Parent effect. ### Demo {F5959885} //Before: dimming of a window group.// {F5959886} //After: Dimming of a window group.// Depends on D13740 CCBUG: 359251 Test Plan: Test plan #1 * Activated the Desktop Grid effect * Dimmed windows smoothly brightened * Left desktop grid * Windows dimmed back Test plan #2 * Opened Dolphin and its Preferences window * Clicked on desktop, both Dolphin and the Preferences window dimmed * Clicked on Dolphin, both windows smoothly brightened back Reviewers: #kwin, #plasma, #vdg, davidedmundson Reviewed By: #kwin, #plasma, #vdg, davidedmundson Subscribers: davidedmundson, abetts, ngraham, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D13720
2018-06-20 10:16:31 +00:00
} // namespace KWin
#include "diminactive_config.moc"