From 73f06434a43c75b3a81e31a6ed7586a14a9c7a48 Mon Sep 17 00:00:00 2001 From: rfresh2 <89827146+rfresh2@users.noreply.github.com> Date: Mon, 6 Oct 2025 12:10:56 -0700 Subject: keybinds: fix repeat and long press keybinds release (#11863) --- hyprtester/src/tests/shared.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'hyprtester/src/tests/shared.cpp') diff --git a/hyprtester/src/tests/shared.cpp b/hyprtester/src/tests/shared.cpp index b7aa325c..8cdd648e 100644 --- a/hyprtester/src/tests/shared.cpp +++ b/hyprtester/src/tests/shared.cpp @@ -9,10 +9,15 @@ using namespace Hyprutils::OS; using namespace Hyprutils::Memory; -CUniquePointer Tests::spawnKitty(const std::string& class_) { +CUniquePointer Tests::spawnKitty(const std::string& class_, const std::vector args) { const auto COUNT_BEFORE = windowCount(); - CUniquePointer kitty = makeUnique("kitty", class_.empty() ? std::vector{} : std::vector{"--class", class_}); + std::vector programArgs = args; + if (!class_.empty()) { + programArgs.insert(programArgs.begin(), "--class"); + programArgs.insert(programArgs.begin() + 1, class_); + } + CUniquePointer kitty = makeUnique("kitty", programArgs); kitty->addEnv("WAYLAND_DISPLAY", WLDISPLAY); kitty->runAsync(); @@ -49,7 +54,7 @@ int Tests::countOccurrences(const std::string& in, const std::string& what) { auto pos = in.find(what); while (pos != std::string::npos) { cnt++; - pos = in.find(what, pos + what.length() - 1); + pos = in.find(what, pos + what.length()); } return cnt; @@ -90,3 +95,13 @@ void Tests::waitUntilWindowsN(int n) { } } } + +std::string Tests::execAndGet(const std::string& cmd) { + CProcess proc("/bin/sh", {"-c", cmd}); + + if (!proc.runSync()) { + return "error"; + } + + return proc.stdOut(); +} -- cgit v1.2.3