summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/desktop/Popup.cpp10
-rw-r--r--src/desktop/Popup.hpp1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/desktop/Popup.cpp b/src/desktop/Popup.cpp
index 92f0e312..29594e47 100644
--- a/src/desktop/Popup.cpp
+++ b/src/desktop/Popup.cpp
@@ -116,6 +116,7 @@ void CPopup::onMap() {
m_pSubsurfaceHead = std::make_unique<CSubsurface>(this);
unconstrain();
+ sendScale();
}
void CPopup::onUnmap() {
@@ -234,3 +235,12 @@ void CPopup::recheckChildrenRecursive() {
Vector2D CPopup::size() {
return m_vLastSize;
}
+
+void CPopup::sendScale() {
+ if (m_pWindowOwner)
+ g_pCompositor->setPreferredScaleForSurface(m_sWLSurface.wlr(), m_pWindowOwner->m_pWLSurface.m_fLastScale);
+ else if (m_pLayerOwner)
+ g_pCompositor->setPreferredScaleForSurface(m_sWLSurface.wlr(), m_pLayerOwner->surface.m_fLastScale);
+ else
+ UNREACHABLE();
+}
diff --git a/src/desktop/Popup.hpp b/src/desktop/Popup.hpp
index 48dae088..0ac460d1 100644
--- a/src/desktop/Popup.hpp
+++ b/src/desktop/Popup.hpp
@@ -65,6 +65,7 @@ class CPopup {
void initAllSignals();
void unconstrain();
void recheckChildrenRecursive();
+ void sendScale();
Vector2D localToGlobal(const Vector2D& rel);
Vector2D t1ParentCoords();