From 4ebf5ff4790783ff5e8fbf740fc5781aa55fabc3 Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Mon, 17 Nov 2025 21:59:01 -0500 Subject: [PATCH] refactor: WlClipbaord::empty use QProcess --- src/lib/platform/WlClipboard.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/lib/platform/WlClipboard.cpp b/src/lib/platform/WlClipboard.cpp index 7abc1dcfd..5f0af1b19 100644 --- a/src/lib/platform/WlClipboard.cpp +++ b/src/lib/platform/WlClipboard.cpp @@ -236,15 +236,18 @@ bool WlClipboard::empty() if (!m_open) { return false; } + auto cmd = new QProcess(this); + cmd->setProgram(s_copyApp); + m_runningWlCopies.append(cmd); + connect(cmd, &QProcess::finished, this, [&] { m_runningWlCopies.removeAll(cmd); }); - std::vector args; - if (m_useClipboard) { - args = {"wl-copy", nullptr}; - } else { - args = {"wl-copy", "-p", nullptr}; - } + QStringList args = {s_noNewLine, ""}; + if (!m_useClipboard) + args.prepend(s_isPrimary); - bool success = executeCommandWithInput(args, ""); + cmd->setArguments(args); + cmd->start(); + bool success = cmd->waitForStarted(100); if (success) { // Update ownership and cache only if command succeeded