diff --git a/src/screenedge.cpp b/src/screenedge.cpp index 4dc9c7c7d4..d09a401b5f 100644 --- a/src/screenedge.cpp +++ b/src/screenedge.cpp @@ -41,6 +41,8 @@ #include #include #include +#include +#include #include #include #include @@ -775,17 +777,8 @@ ScreenEdges::ScreenEdges(QObject *parent) , m_actionLeft(ElectricActionNone) , m_gestureRecognizer(new GestureRecognizer(this)) { - // TODO: Maybe calculate the corner offset based on font metrics instead? - const auto outputs = kwinApp()->platform()->enabledOutputs(); - if (!outputs.isEmpty()) { - const QSize size = outputs[0]->geometry().size(); - const QSizeF physicalSize = outputs[0]->physicalSize(); - - const int physicalDpiX = size.width() / physicalSize.width() * qreal(25.4); - const int physicalDpiY = size.height() / physicalSize.height() * qreal(25.4); - - m_cornerOffset = (physicalDpiX + physicalDpiY + 5) / 6; - } + const int gridUnit = QFontMetrics(QFontDatabase::systemFont(QFontDatabase::GeneralFont)).boundingRect(QLatin1Char('M')).height(); + m_cornerOffset = 4 * gridUnit; connect(workspace(), &Workspace::windowRemoved, this, &ScreenEdges::deleteEdgeForClient); }