mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-26 15:05:59 +01:00
windowrules: make idleinhibit dynamic
This commit is contained in:
parent
5edb4e4a30
commit
49597688e9
2 changed files with 14 additions and 14 deletions
|
@ -591,6 +591,19 @@ void CWindow::applyDynamicRule(const SWindowRule& r) {
|
||||||
try {
|
try {
|
||||||
m_sAdditionalConfigData.xray = configStringToInt(vars[1]);
|
m_sAdditionalConfigData.xray = configStringToInt(vars[1]);
|
||||||
} catch (...) {}
|
} catch (...) {}
|
||||||
|
} else if (r.szRule.starts_with("idleinhibit")) {
|
||||||
|
auto IDLERULE = r.szRule.substr(r.szRule.find_first_of(' ') + 1);
|
||||||
|
|
||||||
|
if (IDLERULE == "none")
|
||||||
|
m_eIdleInhibitMode = IDLEINHIBIT_NONE;
|
||||||
|
else if (IDLERULE == "always")
|
||||||
|
m_eIdleInhibitMode = IDLEINHIBIT_ALWAYS;
|
||||||
|
else if (IDLERULE == "focus")
|
||||||
|
m_eIdleInhibitMode = IDLEINHIBIT_FOCUS;
|
||||||
|
else if (IDLERULE == "fullscreen")
|
||||||
|
m_eIdleInhibitMode = IDLEINHIBIT_FULLSCREEN;
|
||||||
|
else
|
||||||
|
Debug::log(ERR, "Rule idleinhibit: unknown mode {}", IDLERULE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -615,6 +628,7 @@ void CWindow::updateDynamicRules() {
|
||||||
m_sAdditionalConfigData.xray = -1;
|
m_sAdditionalConfigData.xray = -1;
|
||||||
m_sAdditionalConfigData.forceTearing = false;
|
m_sAdditionalConfigData.forceTearing = false;
|
||||||
m_sAdditionalConfigData.nearestNeighbor = false;
|
m_sAdditionalConfigData.nearestNeighbor = false;
|
||||||
|
m_eIdleInhibitMode = IDLEINHIBIT_NONE;
|
||||||
|
|
||||||
const auto WINDOWRULES = g_pConfigManager->getMatchingRules(this);
|
const auto WINDOWRULES = g_pConfigManager->getMatchingRules(this);
|
||||||
for (auto& r : WINDOWRULES) {
|
for (auto& r : WINDOWRULES) {
|
||||||
|
|
|
@ -246,20 +246,6 @@ void Events::listener_mapWindow(void* owner, void* data) {
|
||||||
}
|
}
|
||||||
vPrev = v;
|
vPrev = v;
|
||||||
}
|
}
|
||||||
} else if (r.szRule.starts_with("idleinhibit")) {
|
|
||||||
auto IDLERULE = r.szRule.substr(r.szRule.find_first_of(' ') + 1);
|
|
||||||
|
|
||||||
if (IDLERULE == "none") {
|
|
||||||
PWINDOW->m_eIdleInhibitMode = IDLEINHIBIT_NONE;
|
|
||||||
} else if (IDLERULE == "always") {
|
|
||||||
PWINDOW->m_eIdleInhibitMode = IDLEINHIBIT_ALWAYS;
|
|
||||||
} else if (IDLERULE == "focus") {
|
|
||||||
PWINDOW->m_eIdleInhibitMode = IDLEINHIBIT_FOCUS;
|
|
||||||
} else if (IDLERULE == "fullscreen") {
|
|
||||||
PWINDOW->m_eIdleInhibitMode = IDLEINHIBIT_FULLSCREEN;
|
|
||||||
} else {
|
|
||||||
Debug::log(ERR, "Rule idleinhibit: unknown mode {}", IDLERULE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
PWINDOW->applyDynamicRule(r);
|
PWINDOW->applyDynamicRule(r);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue