summaryrefslogtreecommitdiff
path: root/hyprtester
diff options
context:
space:
mode:
authorFilip Mikina <fm394471@students.mimuw.edu.pl>2025-10-24 21:18:39 +0200
committerGitHub <noreply@github.com>2025-10-24 20:18:39 +0100
commit34812c33dbfdac33093c84b3edf5076838cbf2a6 (patch)
tree8aa0ab0b23e6944175e9594ffe37e0a5d3ace1d0 /hyprtester
parent117e38db35a8bdd98f0210d41b83b4bb0e5e6a63 (diff)
hyprctl: include color management presets and sdr information (#12019)
* move string parsing for eCMType to its own namespace, similar to how `src/protocols/types/ContentType.cpp` is done * expose cm type and sdr settings in `hyprctl monitors`, format floats to .2f
Diffstat (limited to 'hyprtester')
-rw-r--r--hyprtester/src/tests/main/colors.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/hyprtester/src/tests/main/colors.cpp b/hyprtester/src/tests/main/colors.cpp
new file mode 100644
index 00000000..deb4254c
--- /dev/null
+++ b/hyprtester/src/tests/main/colors.cpp
@@ -0,0 +1,27 @@
+#include "tests.hpp"
+#include "../../shared.hpp"
+#include "../../hyprctlCompat.hpp"
+#include "../shared.hpp"
+
+static int ret = 0;
+
+static bool test() {
+ NLog::log("{}Testing hyprctl monitors", Colors::GREEN);
+
+ std::string monitorsSpec = getFromSocket("j/monitors");
+ EXPECT_CONTAINS(monitorsSpec, R"("colorManagementPreset": "srgb")");
+
+ EXPECT_CONTAINS(getFromSocket("/keyword monitor HEADLESS-2,1920x1080x60.00000,0x0,1.0,bitdepth,10,cm,wide"), "ok")
+ monitorsSpec = getFromSocket("j/monitors");
+ EXPECT_CONTAINS(monitorsSpec, R"("colorManagementPreset": "wide")");
+
+ EXPECT_CONTAINS(getFromSocket("/keyword monitor HEADLESS-2,1920x1080x60.00000,0x0,1.0,bitdepth,10,cm,srgb,sdrbrightness,1.2,sdrsaturation,0.98"), "ok")
+ monitorsSpec = getFromSocket("j/monitors");
+ EXPECT_CONTAINS(monitorsSpec, R"("colorManagementPreset": "srgb")");
+ EXPECT_CONTAINS(monitorsSpec, R"("sdrBrightness": 1.20)");
+ EXPECT_CONTAINS(monitorsSpec, R"("sdrSaturation": 0.98)");
+
+ return !ret;
+}
+
+REGISTER_TEST_FN(test)