summaryrefslogtreecommitdiff
path: root/src/helpers
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2023-08-09 22:03:24 +0200
committervaxerski <vaxry@vaxry.net>2023-08-09 22:03:31 +0200
commitcbb899740cd80dfd29afeb5426c60e6b41a23669 (patch)
treec7053a32750448e7d84a7d13a1b874d423c4ac21 /src/helpers
parentfe9453c6432ccdb3935ff6e9aa32f9d985aff577 (diff)
rules: add layer and window xray rules
Diffstat (limited to 'src/helpers')
-rw-r--r--src/helpers/WLClasses.cpp6
-rw-r--r--src/helpers/WLClasses.hpp3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/helpers/WLClasses.cpp b/src/helpers/WLClasses.cpp
index 3a03afcd..c257b6b8 100644
--- a/src/helpers/WLClasses.cpp
+++ b/src/helpers/WLClasses.cpp
@@ -12,6 +12,7 @@ void SLayerSurface::applyRules() {
forceBlur = false;
ignoreAlpha = false;
ignoreAlphaValue = 0.f;
+ xray = -1;
for (auto& rule : g_pConfigManager->getMatchingRules(this)) {
if (rule.rule == "noanim")
@@ -29,6 +30,11 @@ void SLayerSurface::applyRules() {
if (!alphaValue.empty())
ignoreAlphaValue = std::stof(alphaValue);
} catch (...) { Debug::log(ERR, "Invalid value passed to ignoreAlpha"); }
+ } else if (rule.rule.find("xray") == 0) {
+ CVarList vars{rule.rule, 0, ' '};
+ try {
+ xray = configStringToInt(vars[1]);
+ } catch (...) {}
}
}
} \ No newline at end of file
diff --git a/src/helpers/WLClasses.hpp b/src/helpers/WLClasses.hpp
index 18e223b6..e43a00ff 100644
--- a/src/helpers/WLClasses.hpp
+++ b/src/helpers/WLClasses.hpp
@@ -50,6 +50,7 @@ struct SLayerSurface {
bool noAnimations = false;
bool forceBlur = false;
+ int xray = -1;
bool ignoreAlpha = false;
float ignoreAlphaValue = 0.f;
@@ -242,7 +243,7 @@ struct STablet {
std::string name = "";
bool operator==(const STablet& b) const {
- return wlrDevice == b.wlrDevice;
+ return wlrDevice == b.wlrDevice;
}
};