Commit 393af855 authored by Scott Harvey's avatar Scott Harvey

Revert "Revert "Add "SkipSwitcher" to API""

This reverts commit 5ef11904.
parent 267b5a11
......@@ -215,6 +215,7 @@ void AbstractClient::setSkipSwitcher(bool set)
if (set == skipSwitcher())
return;
m_skipSwitcher = set;
doSetSkipSwitcher();
updateWindowRules(Rules::SkipSwitcher);
emit skipSwitcherChanged();
}
......@@ -259,6 +260,11 @@ void AbstractClient::doSetSkipTaskbar()
}
void AbstractClient::doSetSkipSwitcher()
{
}
void AbstractClient::setIcon(const QIcon &icon)
{
m_icon = icon;
......@@ -776,6 +782,7 @@ void AbstractClient::setupWindowManagementInterface()
};
updateAppId();
w->setSkipTaskbar(skipTaskbar());
w->setSkipSwitcher(skipSwitcher());
w->setPid(pid());
w->setShadeable(isShadeable());
w->setShaded(isShade());
......@@ -789,6 +796,11 @@ void AbstractClient::setupWindowManagementInterface()
w->setSkipTaskbar(skipTaskbar());
}
);
connect(this, &AbstractClient::skipSwitcherChanged, w,
[w, this] {
w->setSkipSwitcher(skipSwitcher());
}
);
connect(this, &AbstractClient::captionChanged, w, [w, this] { w->setTitle(caption()); });
connect(this, &AbstractClient::desktopChanged, w,
[w, this] {
......
......@@ -820,6 +820,7 @@ protected:
virtual void doSetSkipTaskbar();
virtual void doSetSkipPager();
virtual void doSetSkipSwitcher();
void setupWindowManagementInterface();
void destroyWindowManagementInterface();
......
......@@ -1206,6 +1206,11 @@ void Client::doSetSkipPager()
info->setState(skipPager() ? NET::SkipPager : NET::States(0), NET::SkipPager);
}
void Client::doSetSkipSwitcher()
{
info->setState(skipSwitcher() ? NET::SkipSwitcher : NET::States(0), NET::SkipSwitcher);
}
void Client::doSetDesktop(int desktop, int was_desk)
{
Q_UNUSED(desktop)
......
......@@ -357,6 +357,7 @@ protected:
void doMinimize() override;
void doSetSkipPager() override;
void doSetSkipTaskbar() override;
void doSetSkipSwitcher() override;
bool belongsToDesktop() const override;
void setGeometryRestore(const QRect &geo) override;
void updateTabGroupStates(TabGroup::States states) override;
......
......@@ -756,7 +756,7 @@ void RulesWidget::prefillUnusedValues(const KWindowInfo& info)
CHECKBOX_PREFILL(noborder, , info.frameGeometry() == info.geometry());
CHECKBOX_PREFILL(skiptaskbar, , info.state() & NET::SkipTaskbar);
CHECKBOX_PREFILL(skippager, , info.state() & NET::SkipPager);
CHECKBOX_PREFILL(skipswitcher, , false);
CHECKBOX_PREFILL(skipswitcher, , info.state() & NET::SkipSwitcher);
//CHECKBOX_PREFILL( acceptfocus, );
//CHECKBOX_PREFILL( closeable, );
//CHECKBOX_PREFILL( autogroup, );
......
......@@ -159,6 +159,7 @@ bool Client::manage(xcb_window_t w, bool isMapped)
setOriginalSkipTaskbar((info->state() & NET::SkipTaskbar) != 0);
setSkipPager((info->state() & NET::SkipPager) != 0);
setSkipSwitcher((info->state() & NET::SkipSwitcher) != 0);
readFirstInTabBox(firstInTabBoxCookie);
setupCompositing();
......@@ -557,7 +558,7 @@ bool Client::manage(xcb_window_t w, bool isMapped)
setKeepBelow(rules()->checkKeepBelow(info->state() & NET::KeepBelow, !isMapped));
setOriginalSkipTaskbar(rules()->checkSkipTaskbar(info->state() & NET::SkipTaskbar, !isMapped));
setSkipPager(rules()->checkSkipPager(info->state() & NET::SkipPager, !isMapped));
setSkipSwitcher(rules()->checkSkipSwitcher(false, !isMapped));
setSkipSwitcher(rules()->checkSkipSwitcher(info->state() & NET::SkipSwitcher, !isMapped));
if (info->state() & NET::DemandsAttention)
demandAttention();
if (info->state() & NET::Modal)
......
......@@ -95,7 +95,8 @@ RootInfo *RootInfo::create()
NET::Hidden |
NET::FullScreen |
NET::KeepBelow |
NET::DemandsAttention;
NET::DemandsAttention |
NET::SkipSwitcher;
NET::Properties2 properties2 = NET::WM2UserTime |
NET::WM2StartupId |
NET::WM2AllowedActions |
......@@ -284,6 +285,8 @@ void WinInfo::changeState(NET::States state, NET::States mask)
m_client->setOriginalSkipTaskbar((state & NET::SkipTaskbar) != 0);
if (mask & NET::SkipPager)
m_client->setSkipPager((state & NET::SkipPager) != 0);
if (mask & NET::SkipSwitcher)
m_client->setSkipSwitcher((state & NET::SkipSwitcher) != 0);
if (mask & NET::DemandsAttention)
m_client->demandAttention((state & NET::DemandsAttention) != 0);
if (mask & NET::Modal)
......
......@@ -1299,6 +1299,11 @@ void ShellClient::installPlasmaShellSurface(PlasmaShellSurfaceInterface *surface
connect(surface, &PlasmaShellSurfaceInterface::skipTaskbarChanged, this, [this] {
setSkipTaskbar(m_plasmaShellSurface->skipTaskbar());
});
setSkipSwitcher(surface->skipSwitcher());
connect(surface, &PlasmaShellSurfaceInterface::skipSwitcherChanged, this, [this] {
setSkipSwitcher(m_plasmaShellSurface->skipSwitcher());
});
}
void ShellClient::updateShowOnScreenEdge()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment