desktop/windowRules: fix disabling binary window rules with override (#12635)
This commit is contained in:
parent
6b491e4d6b
commit
6e09eb2e6c
2 changed files with 11 additions and 19 deletions
|
|
@ -41,12 +41,11 @@ namespace Desktop::Rule {
|
||||||
std::string monitor, workspace, group;
|
std::string monitor, workspace, group;
|
||||||
|
|
||||||
std::optional<bool> floating;
|
std::optional<bool> floating;
|
||||||
|
std::optional<bool> fullscreen;
|
||||||
bool fullscreen = false;
|
std::optional<bool> maximize;
|
||||||
bool maximize = false;
|
std::optional<bool> pseudo;
|
||||||
bool pseudo = false;
|
std::optional<bool> pin;
|
||||||
bool pin = false;
|
std::optional<bool> noInitialFocus;
|
||||||
bool noInitialFocus = false;
|
|
||||||
|
|
||||||
std::optional<int> fullscreenStateClient;
|
std::optional<int> fullscreenStateClient;
|
||||||
std::optional<int> fullscreenStateInternal;
|
std::optional<int> fullscreenStateInternal;
|
||||||
|
|
|
||||||
|
|
@ -2047,14 +2047,10 @@ void CWindow::mapWindow() {
|
||||||
requestedFSMonitor = MONITOR_INVALID;
|
requestedFSMonitor = MONITOR_INVALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_ruleApplicator->static_.floating.has_value())
|
m_isFloating = m_ruleApplicator->static_.floating.value_or(m_isFloating);
|
||||||
m_isFloating = m_ruleApplicator->static_.floating.value();
|
m_isPseudotiled = m_ruleApplicator->static_.pseudo.value_or(m_isPseudotiled);
|
||||||
|
m_noInitialFocus = m_ruleApplicator->static_.noInitialFocus.value_or(m_noInitialFocus);
|
||||||
if (m_ruleApplicator->static_.pseudo)
|
m_pinned = m_ruleApplicator->static_.pin.value_or(m_pinned);
|
||||||
m_isPseudotiled = true;
|
|
||||||
|
|
||||||
if (m_ruleApplicator->static_.noInitialFocus)
|
|
||||||
m_noInitialFocus = true;
|
|
||||||
|
|
||||||
if (m_ruleApplicator->static_.fullscreenStateClient || m_ruleApplicator->static_.fullscreenStateInternal) {
|
if (m_ruleApplicator->static_.fullscreenStateClient || m_ruleApplicator->static_.fullscreenStateInternal) {
|
||||||
requestedFSState = Desktop::View::SFullscreenState{
|
requestedFSState = Desktop::View::SFullscreenState{
|
||||||
|
|
@ -2080,13 +2076,10 @@ void CWindow::mapWindow() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_ruleApplicator->static_.pin)
|
if (m_ruleApplicator->static_.fullscreen.value_or(false))
|
||||||
m_pinned = true;
|
|
||||||
|
|
||||||
if (m_ruleApplicator->static_.fullscreen)
|
|
||||||
requestedInternalFSMode = FSMODE_FULLSCREEN;
|
requestedInternalFSMode = FSMODE_FULLSCREEN;
|
||||||
|
|
||||||
if (m_ruleApplicator->static_.maximize)
|
if (m_ruleApplicator->static_.maximize.value_or(false))
|
||||||
requestedInternalFSMode = FSMODE_MAXIMIZED;
|
requestedInternalFSMode = FSMODE_MAXIMIZED;
|
||||||
|
|
||||||
if (!m_ruleApplicator->static_.group.empty()) {
|
if (!m_ruleApplicator->static_.group.empty()) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue