Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
deepin-fcitx5configtool-plugin (6.0.23) unstable; urgency=medium

* Non-maintainer upload.

-- wangyu <wangyu@uniontech.com> Sun, 04 Jan 2026 17:10:33 +0800

deepin-fcitx5configtool-plugin (6.0.22) unstable; urgency=medium

* chore: Update compiler flags for security enhancements
Expand Down
19 changes: 18 additions & 1 deletion src/fcitx5helper/processmonitor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,24 @@ ProcessMonitor::ProcessMonitor(QObject *parent) : QObject(parent)
{
// qCDebug(procMon) << "Entering ProcessMonitor constructor";
connect(&m_timer, &QTimer::timeout, this, &ProcessMonitor::checkFcitx5Process);
// qCDebug(procMon) << "Exiting ProcessMonitor constructor";

QString output, error;
exeCommand("pgrep", QStringList() << "-u" << getCurrentUserName() << "-x" << "fcitx5", output, error);
if (!output.isEmpty()) {
QStringList pids = output.trimmed().split('\n', Qt::SkipEmptyParts);
for (const QString &pid : pids) {
qCDebug(procMon) << "Killing existing fcitx5 process with PID:" << pid;
QString killOutput, killError;
exeCommand("kill", QStringList() << pid.trimmed(), killOutput, killError);
}
}
QProcess process;
bool started = process.startDetached(PROCESS_NAME, QStringList() << "-d");
if (started) {
qCDebug(procMon) << "Successfully started fcitx5 process in constructor";
} else {
qCWarning(procMon) << "Failed to start fcitx5 process in constructor";
}
}

void ProcessMonitor::startMonitoring() {
Expand Down