mirror of
				https://github.com/arcan1s/awesome-widgets.git
				synced 2025-10-31 13:13:41 +00:00 
			
		
		
		
	at the end of work on ext-sysmon-1.8.0
This commit is contained in:
		| @ -7,8 +7,8 @@ cmake_policy (SET CMP0015 NEW) | |||||||
|  |  | ||||||
| project (pytextmonitor) | project (pytextmonitor) | ||||||
| set (PROJECT_VERSION_MAJOR 1) | set (PROJECT_VERSION_MAJOR 1) | ||||||
| set (PROJECT_VERSION_MINOR 7) | set (PROJECT_VERSION_MINOR 8) | ||||||
| set (PROJECT_VERSION_PATCH 5) | set (PROJECT_VERSION_PATCH 0) | ||||||
| set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) | set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) | ||||||
|  |  | ||||||
| message (STATUS "Version: ${PROJECT_VERSION}") | message (STATUS "Version: ${PROJECT_VERSION}") | ||||||
|  | |||||||
| @ -1,6 +1,9 @@ | |||||||
| # Configuration file for Extended Systemmonitor DataEngine | # Configuration file for Extended Systemmonitor DataEngine | ||||||
| # Uncomment needed lines | # Uncomment needed lines | ||||||
|  |  | ||||||
|  | # Custom command | ||||||
|  | #CUSTOM=wget -qO- http://ifconfig.me/ip | ||||||
|  |  | ||||||
| # Set GPU device | # Set GPU device | ||||||
| # May be 'nvidia' (for nvidia), 'ati' (for ATI RADEON), 'ignore' or 'auto' | # May be 'nvidia' (for nvidia), 'ati' (for ATI RADEON), 'ignore' or 'auto' | ||||||
| #GPUDEV=auto | #GPUDEV=auto | ||||||
| @ -12,5 +15,15 @@ | |||||||
| #MPDADDRESS=localhost | #MPDADDRESS=localhost | ||||||
| #MPDPORT=6600 | #MPDPORT=6600 | ||||||
|  |  | ||||||
| # Custom command | # Package upgrade info | ||||||
| #CUSTOM=wget -qO- http://ifconfig.me/ip | ## from vicious | ||||||
|  | ## Arch:        PKGCMD=pacman -Qu                       PKGNULL=0 | ||||||
|  | ## Debian:      PKGCMD=apt-show-versions -u -b          PKGNULL=0 | ||||||
|  | ## Ubuntu:      PKGCMD=aptitude search '~U'             PKGNULL=0 | ||||||
|  | ## Fedora:      PKGCMD=yum list updates                 PKGNULL=3 | ||||||
|  | ## FreeBSD:     PKGCMD=pkg_version -I -l '<'            PKGNULL=0 | ||||||
|  | ## Mandriva:    PKGCMD=urpmq --auto-select              PKGNULL=0 | ||||||
|  | # Commands to run, comma separated | ||||||
|  | #PKGCMD=pacman -Qu | ||||||
|  | # Number of null lines for commands, comma separated | ||||||
|  | #PKGNULL=0 | ||||||
|  | |||||||
| @ -72,13 +72,13 @@ QString ExtendedSysMon::getAutoGpu() | |||||||
| QStringList ExtendedSysMon::sources() const | QStringList ExtendedSysMon::sources() const | ||||||
| { | { | ||||||
|     QStringList source; |     QStringList source; | ||||||
|  |     source.append(QString("custom")); | ||||||
|     source.append(QString("gpu")); |     source.append(QString("gpu")); | ||||||
|     source.append(QString("gputemp")); |     source.append(QString("gputemp")); | ||||||
|     source.append(QString("hddtemp")); |     source.append(QString("hddtemp")); | ||||||
|     source.append(QString("pkg")); |     source.append(QString("pkg")); | ||||||
|     source.append(QString("player")); |     source.append(QString("player")); | ||||||
|     source.append(QString("ps")); |     source.append(QString("ps")); | ||||||
|     source.append(QString("custom")); |  | ||||||
|     return source; |     return source; | ||||||
| } | } | ||||||
|  |  | ||||||
| @ -86,12 +86,13 @@ QStringList ExtendedSysMon::sources() const | |||||||
| bool ExtendedSysMon::readConfiguration() | bool ExtendedSysMon::readConfiguration() | ||||||
| { | { | ||||||
|     // pre-setup |     // pre-setup | ||||||
|  |     configuration[QString("CUSTOM")] = QString("wget -qO- http://ifconfig.me/ip"); | ||||||
|     configuration[QString("GPUDEV")] = QString("auto"); |     configuration[QString("GPUDEV")] = QString("auto"); | ||||||
|     configuration[QString("HDDDEV")] = QString("all"); |     configuration[QString("HDDDEV")] = QString("all"); | ||||||
|     configuration[QString("MPDADDRESS")] = QString("localhost"); |     configuration[QString("MPDADDRESS")] = QString("localhost"); | ||||||
|     configuration[QString("MPDPORT")] = QString("6600"); |     configuration[QString("MPDPORT")] = QString("6600"); | ||||||
|     configuration[QString("CUSTOM")] = QString("wget -qO- http://ifconfig.me/ip"); |  | ||||||
|     configuration[QString("PKGCMD")] = QString("pacman -Qu"); |     configuration[QString("PKGCMD")] = QString("pacman -Qu"); | ||||||
|  |     configuration[QString("PKGNULL")] = QString("0"); | ||||||
|  |  | ||||||
|     QString fileStr; |     QString fileStr; | ||||||
|     // FIXME: define configuration file |     // FIXME: define configuration file | ||||||
| @ -118,6 +119,10 @@ bool ExtendedSysMon::readConfiguration() | |||||||
|         configuration[QString("GPUDEV")] = getAutoGpu(); |         configuration[QString("GPUDEV")] = getAutoGpu(); | ||||||
|     if (configuration[QString("HDDDEV")] == QString("all")) |     if (configuration[QString("HDDDEV")] == QString("all")) | ||||||
|         configuration[QString("HDDDEV")] = getAllHdd(); |         configuration[QString("HDDDEV")] = getAllHdd(); | ||||||
|  |     for (int i=configuration[QString("PKGNULL")].split(QString(","), QString::SkipEmptyParts).count(); | ||||||
|  |          i<configuration[QString("PKGCMD")].split(QString(","), QString::SkipEmptyParts).count()+1; | ||||||
|  |          i++) | ||||||
|  |         configuration[QString("PKGNULL")] += QString(",0"); | ||||||
|  |  | ||||||
|     return true; |     return true; | ||||||
| } | } | ||||||
| @ -239,8 +244,8 @@ QStringList ExtendedSysMon::getPlayerInfo(const QString playerName, | |||||||
|     info.append(QString("0")); |     info.append(QString("0")); | ||||||
|     // title |     // title | ||||||
|     info.append(QString("unknown")); |     info.append(QString("unknown")); | ||||||
|     if ((playerName != QString("amarok")) || |     if ((playerName != QString("amarok")) && | ||||||
|             (playerName != QString("mpd")) || |             (playerName != QString("mpd")) && | ||||||
|             (playerName != QString("qmmp"))) |             (playerName != QString("qmmp"))) | ||||||
|         return info; |         return info; | ||||||
|     QProcess command; |     QProcess command; | ||||||
| @ -276,7 +281,7 @@ QStringList ExtendedSysMon::getPlayerInfo(const QString playerName, | |||||||
|     else if (playerName == QString("mpd")) { |     else if (playerName == QString("mpd")) { | ||||||
|         // mpd |         // mpd | ||||||
|         command.start(QString("bash -c \"echo 'currentsong\nstatus\nclose' | curl --connect-timeout 1 -fsm 3 telnet://") + |         command.start(QString("bash -c \"echo 'currentsong\nstatus\nclose' | curl --connect-timeout 1 -fsm 3 telnet://") + | ||||||
|                       mpdAddress + QString(":") + mpdPort); |                       mpdAddress + QString(":") + mpdPort + QString("\"")); | ||||||
|         command.waitForFinished(-1); |         command.waitForFinished(-1); | ||||||
|         qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()); |         qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()); | ||||||
|         for (int i=0; i<qoutput.split(QString("\n"), QString::SkipEmptyParts).count(); i++) { |         for (int i=0; i<qoutput.split(QString("\n"), QString::SkipEmptyParts).count(); i++) { | ||||||
| @ -323,6 +328,40 @@ QStringList ExtendedSysMon::getPlayerInfo(const QString playerName, | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | QStringList ExtendedSysMon::getPsStats() | ||||||
|  | { | ||||||
|  |     int psCount = 0; | ||||||
|  |     QStringList psList; | ||||||
|  |     QProcess command; | ||||||
|  |     QString qoutput = QString(""); | ||||||
|  |     command.start(QString("ps --no-headers -o command")); | ||||||
|  |     command.waitForFinished(-1); | ||||||
|  |     qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()).trimmed(); | ||||||
|  |     for (int i=0; i<qoutput.split(QString("\n"), QString::SkipEmptyParts).count(); i++) | ||||||
|  |         if (qoutput.split(QString("\n"), QString::SkipEmptyParts)[i] != QString("ps --no-headers -o command")) { | ||||||
|  |             psCount++; | ||||||
|  |             psList.append(qoutput.split(QString("\n"), QString::SkipEmptyParts)[i]); | ||||||
|  |         } | ||||||
|  |     QStringList psStats; | ||||||
|  |     psStats.append(QString::number(psCount)); | ||||||
|  |     psStats.append(psList.join(QString(","))); | ||||||
|  |     return psStats; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | int ExtendedSysMon::getUpgradeInfo(const QString pkgCommand, const int pkgNull) | ||||||
|  | { | ||||||
|  |     int count = 0; | ||||||
|  |     QProcess command; | ||||||
|  |     QString qoutput = QString(""); | ||||||
|  |     command.start(QString("bash -c \"") + pkgCommand + QString("\"")); | ||||||
|  |     command.waitForFinished(-1); | ||||||
|  |     qoutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput()).trimmed(); | ||||||
|  |     count = qoutput.split(QString("\n"), QString::SkipEmptyParts).count(); | ||||||
|  |     return (count - pkgNull); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| bool ExtendedSysMon::sourceRequestEvent(const QString &name) | bool ExtendedSysMon::sourceRequestEvent(const QString &name) | ||||||
| { | { | ||||||
|     return updateSourceEvent(name); |     return updateSourceEvent(name); | ||||||
| @ -332,7 +371,12 @@ bool ExtendedSysMon::sourceRequestEvent(const QString &name) | |||||||
| bool ExtendedSysMon::updateSourceEvent(const QString &source) | bool ExtendedSysMon::updateSourceEvent(const QString &source) | ||||||
| { | { | ||||||
|     QString key; |     QString key; | ||||||
|     if (source == QString("gpu")) { |     if (source == QString("custom")) { | ||||||
|  |             key = QString("custom"); | ||||||
|  |             QString value = getCustomCmd(configuration[QString("CUSTOM")]); | ||||||
|  |             setData(source, key, value); | ||||||
|  |         } | ||||||
|  |     else if (source == QString("gpu")) { | ||||||
|         key = QString("GPU"); |         key = QString("GPU"); | ||||||
|         float value = getGpu(configuration[QString("GPUDEV")]); |         float value = getGpu(configuration[QString("GPUDEV")]); | ||||||
|         setData(source, key, value); |         setData(source, key, value); | ||||||
| @ -349,6 +393,14 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) | |||||||
|             setData(source, deviceList[i], value); |             setData(source, deviceList[i], value); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |     else if (source == QString("pkg")) { | ||||||
|  |         for (int i=0; i<configuration[QString("PKGCMD")].split(QString(","), QString::SkipEmptyParts).count(); i++) { | ||||||
|  |             key = QString("pkgCount") + QString::number(i); | ||||||
|  |             int value = getUpgradeInfo(configuration[QString("PKGCMD")].split(QString(","), QString::SkipEmptyParts)[i], | ||||||
|  |                     configuration[QString("PKGNULL")].split(QString(","), QString::SkipEmptyParts)[i].toInt()); | ||||||
|  |             setData(source, key, value); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|     else if (source == QString("player")) { |     else if (source == QString("player")) { | ||||||
|         QStringList value; |         QStringList value; | ||||||
|         // amarok |         // amarok | ||||||
| @ -390,12 +442,13 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) | |||||||
|         key = QString("qmmp_title"); |         key = QString("qmmp_title"); | ||||||
|         setData(source, key, value[4]); |         setData(source, key, value[4]); | ||||||
|     } |     } | ||||||
|     else if (source == QString("custom")) { |     else if (source == QString("ps")) { | ||||||
|         key = QString("custom"); |         QStringList value = getPsStats(); | ||||||
|         QString value = getCustomCmd(configuration[QString("CUSTOM")]); |         key = QString("psCount"); | ||||||
|         setData(source, key, value); |         setData(source, key, value[0].toInt()); | ||||||
|  |         key = QString("ps"); | ||||||
|  |         setData(source, key, value[1]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     return true; |     return true; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | |||||||
| @ -34,6 +34,9 @@ public: | |||||||
|     QStringList getPlayerInfo(const QString playerName, |     QStringList getPlayerInfo(const QString playerName, | ||||||
|                               const QString mpdAddress = 0, |                               const QString mpdAddress = 0, | ||||||
|                               const QString mpdPort = 0); |                               const QString mpdPort = 0); | ||||||
|  |     QStringList getPsStats(); | ||||||
|  |     int getUpgradeInfo(const QString pkgCommand, | ||||||
|  |                        const int pkgNull = 0); | ||||||
|  |  | ||||||
| protected: | protected: | ||||||
|     bool readConfiguration(); |     bool readConfiguration(); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user