summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-12-07 16:08:44 +0000
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-12-07 16:08:44 +0000
commit73b3bbe49bf5a059df688b389aba7f947f62626c (patch)
tree29bf8efa845a98942784e5d4e52f527f9da5bd6b /src
parentd8dcf670da246dd49a8d36d2c61445f729a0c752 (diff)
added nomaxsize rule
Diffstat (limited to 'src')
-rw-r--r--src/Window.hpp1
-rw-r--r--src/config/ConfigManager.cpp1
-rw-r--r--src/events/Windows.cpp2
-rw-r--r--src/managers/XWaylandManager.cpp2
4 files changed, 5 insertions, 1 deletions
diff --git a/src/Window.hpp b/src/Window.hpp
index 59ef1857..a7c6657c 100644
--- a/src/Window.hpp
+++ b/src/Window.hpp
@@ -39,6 +39,7 @@ struct SWindowAdditionalConfigData {
bool forceNoBorder = false;
bool forceNoShadow = false;
bool windowDanceCompat = false;
+ bool noMaxSize = false;
};
struct SWindowRule {
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp
index 78374d2b..e668a98a 100644
--- a/src/config/ConfigManager.cpp
+++ b/src/config/ConfigManager.cpp
@@ -749,6 +749,7 @@ bool windowRuleValid(const std::string& RULE) {
&& RULE != "forceinput"
&& RULE != "fullscreen"
&& RULE != "nofullscreenrequest"
+ && RULE != "nomaxsize"
&& RULE != "pin"
&& RULE != "noanim"
&& RULE != "windowdance"
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index 85115139..0c264f9b 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -170,6 +170,8 @@ void Events::listener_mapWindow(void* owner, void* data) {
requestsFullscreen = true;
} else if (r.szRule == "windowdance") {
PWINDOW->m_sAdditionalConfigData.windowDanceCompat = true;
+ } else if (r.szRule == "nomaxsize") {
+ PWINDOW->m_sAdditionalConfigData.noMaxSize = true;
} else if (r.szRule == "forceinput") {
PWINDOW->m_sAdditionalConfigData.forceAllowsInput = true;
} else if (r.szRule == "pin") {
diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp
index 3f6c2371..e41d2e82 100644
--- a/src/managers/XWaylandManager.cpp
+++ b/src/managers/XWaylandManager.cpp
@@ -263,7 +263,7 @@ Vector2D CHyprXWaylandManager::getMaxSizeForWindow(CWindow* pWindow) {
if (!g_pCompositor->windowValidMapped(pWindow))
return Vector2D(99999, 99999);
- if ((pWindow->m_bIsX11 && !pWindow->m_uSurface.xwayland->size_hints) || (!pWindow->m_bIsX11 && !pWindow->m_uSurface.xdg->toplevel))
+ if ((pWindow->m_bIsX11 && !pWindow->m_uSurface.xwayland->size_hints) || (!pWindow->m_bIsX11 && !pWindow->m_uSurface.xdg->toplevel) || pWindow->m_sAdditionalConfigData.noMaxSize)
return Vector2D(99999, 99999);
auto MAXSIZE = pWindow->m_bIsX11 ? Vector2D(pWindow->m_uSurface.xwayland->size_hints->max_width, pWindow->m_uSurface.xwayland->size_hints->max_height)