From b73eff0e47c715c685f1604a4a5f7be6e1a46e59 Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Wed, 22 Jan 2025 19:38:18 -0800 Subject: [PATCH] core/screen: add model and serial number properties --- src/core/qmlscreen.cpp | 18 ++++++++++++++++++ src/core/qmlscreen.hpp | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/src/core/qmlscreen.cpp b/src/core/qmlscreen.cpp index 34588b77..105b4f01 100644 --- a/src/core/qmlscreen.cpp +++ b/src/core/qmlscreen.cpp @@ -42,6 +42,24 @@ QString QuickshellScreenInfo::name() const { return this->screen->name(); } +QString QuickshellScreenInfo::model() const { + if (this->screen == nullptr) { + this->warnDangling(); + return "{ NULL SCREEN }"; + } + + return this->screen->model(); +} + +QString QuickshellScreenInfo::serialNumber() const { + if (this->screen == nullptr) { + this->warnDangling(); + return "{ NULL SCREEN }"; + } + + return this->screen->serialNumber(); +} + qint32 QuickshellScreenInfo::x() const { if (this->screen == nullptr) { this->warnDangling(); diff --git a/src/core/qmlscreen.hpp b/src/core/qmlscreen.hpp index c74d3b2c..5e978bc0 100644 --- a/src/core/qmlscreen.hpp +++ b/src/core/qmlscreen.hpp @@ -29,6 +29,10 @@ class QuickshellScreenInfo: public QObject { /// /// Usually something like `DP-1`, `HDMI-1`, `eDP-1`. Q_PROPERTY(QString name READ name CONSTANT); + /// The model of the screen as seen by the operating system. + Q_PROPERTY(QString model READ model CONSTANT); + /// The serial number of the screen as seen by the operating system. + Q_PROPERTY(QString serialNumber READ serialNumber CONSTANT); Q_PROPERTY(qint32 x READ x NOTIFY geometryChanged); Q_PROPERTY(qint32 y READ y NOTIFY geometryChanged); Q_PROPERTY(qint32 width READ width NOTIFY geometryChanged); @@ -49,6 +53,8 @@ public: bool operator==(QuickshellScreenInfo& other) const; [[nodiscard]] QString name() const; + [[nodiscard]] QString model() const; + [[nodiscard]] QString serialNumber() const; [[nodiscard]] qint32 x() const; [[nodiscard]] qint32 y() const; [[nodiscard]] qint32 width() const;