mirror of
https://github.com/hyprwm/Hyprland
synced 2024-12-23 04:49:48 +01:00
clamp resizing tiled to their max sizes
This commit is contained in:
parent
4ea37fe64d
commit
97e82fa4fb
1 changed files with 11 additions and 1 deletions
|
@ -183,8 +183,18 @@ void IHyprLayout::onMouseMove(const Vector2D& mousePos) {
|
||||||
g_pXWaylandManager->setWindowSize(DRAGGINGWINDOW, DRAGGINGWINDOW->m_vRealSize.goalv());
|
g_pXWaylandManager->setWindowSize(DRAGGINGWINDOW, DRAGGINGWINDOW->m_vRealSize.goalv());
|
||||||
} else {
|
} else {
|
||||||
if (DRAGGINGWINDOW->m_bIsFloating) {
|
if (DRAGGINGWINDOW->m_bIsFloating) {
|
||||||
|
|
||||||
|
auto MAXSIZE = DRAGGINGWINDOW->m_bIsX11 ?
|
||||||
|
Vector2D(DRAGGINGWINDOW->m_uSurface.xwayland->size_hints->max_width, DRAGGINGWINDOW->m_uSurface.xwayland->size_hints->max_height)
|
||||||
|
: Vector2D(DRAGGINGWINDOW->m_uSurface.xdg->toplevel->current.max_width, DRAGGINGWINDOW->m_uSurface.xdg->toplevel->current.max_height);
|
||||||
|
|
||||||
|
if (MAXSIZE.x < 5)
|
||||||
|
MAXSIZE.x = 99999;
|
||||||
|
if (MAXSIZE.y < 5)
|
||||||
|
MAXSIZE.y = 99999;
|
||||||
|
|
||||||
DRAGGINGWINDOW->m_vRealSize.setValueAndWarp(m_vBeginDragSizeXY + DELTA);
|
DRAGGINGWINDOW->m_vRealSize.setValueAndWarp(m_vBeginDragSizeXY + DELTA);
|
||||||
DRAGGINGWINDOW->m_vRealSize.setValueAndWarp(Vector2D(std::clamp(DRAGGINGWINDOW->m_vRealSize.vec().x, (double)20, (double)999999), std::clamp(DRAGGINGWINDOW->m_vRealSize.vec().y, (double)20, (double)999999)));
|
DRAGGINGWINDOW->m_vRealSize.setValueAndWarp(Vector2D(std::clamp(DRAGGINGWINDOW->m_vRealSize.vec().x, (double)20, (double)MAXSIZE.x), std::clamp(DRAGGINGWINDOW->m_vRealSize.vec().y, (double)20, (double)MAXSIZE.y)));
|
||||||
|
|
||||||
DRAGGINGWINDOW->updateWindowDecos();
|
DRAGGINGWINDOW->updateWindowDecos();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue