diff --git a/sources/ext-sysmon/extsysmon.cpp b/sources/ext-sysmon/extsysmon.cpp index 97f5e62..819c654 100644 --- a/sources/ext-sysmon/extsysmon.cpp +++ b/sources/ext-sysmon/extsysmon.cpp @@ -143,6 +143,17 @@ void ExtendedSysMon::readConfiguration() } confFile.close(); configuration = updateConfiguration(rawConfig); + setCustomProcesses(); +} + + +void ExtendedSysMon::setCustomProcesses() +{ + if (debug) qDebug() << "[DE]" << "[setCustomProcesses]"; + for (int i=0; i ExtendedSysMon::updateConfiguration(const QMaptoUnicode(command.readAllStandardOutput()).trimmed(); - if (debug) qDebug() << "[DE]" << "[getCustomCmd]" << ":" << "Return" << qoutput; - return qoutput; + customProcesses[number]->start(QString("bash -c \"") + cmd + QString("\"")); +} + + +void ExtendedSysMon::setCustomCmd() +{ + if (debug) qDebug() << "[DE]" << "[setCustomCmd]"; + for (int i=0; itoUnicode(customProcesses[i]->readAllStandardOutput()).trimmed(); + if (!value.isEmpty()) { + if (debug) qDebug() << "[DE]" << "[setCustomCmd]" << ":" << "Found output for cmd" << i; + if (debug) qDebug() << "[DE]" << "[setCustomCmd]" << ":" << "Return" << value; + QString source = QString("custom"); + QString key = QString("custom") + QString::number(i); + setData(source, key, value); + } + } } @@ -553,9 +574,7 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) QString key; if (source == QString("custom")) { for (int i=0; i +class QProcess; + class ExtendedSysMon : public Plasma::DataEngine { Q_OBJECT @@ -27,7 +29,7 @@ class ExtendedSysMon : public Plasma::DataEngine public: ExtendedSysMon(QObject *parent, const QVariantList &args); // update functions - QString getCustomCmd(const QString cmd); + void getCustomCmd(const QString cmd, const int number); float getGpu(const QString device); float getGpuTemp(const QString device); float getHddTemp(const QString cmd, const QString device); @@ -43,7 +45,12 @@ protected: bool updateSourceEvent(const QString &source); QStringList sources() const; +private slots: + void setCustomCmd(); + private: + // processes + QList customProcesses; // configuration QMap configuration; bool debug; @@ -51,6 +58,7 @@ private: QString getAllHdd(); QString getAutoGpu(); void readConfiguration(); + void setCustomProcesses(); QMap updateConfiguration(const QMap rawConfig); };