System Load Viewer

Plasma 4 Extensions

Source i (link to git-repo or to original if based on someone elses unmodified work):

Add the source-code for this project on opencode.net

6
Become a Fan
5.0

Description:
System Load Viewer is a simple plasmoid meant to display cpu, ram, and swap usage. Currently it only monitors the average cpu usage. System Load Viewer only supports KDE 4.2. System Load Viewer how has an oxygen style theme available (check under options).

To install, look at the INSTALL file inside the archive, or do:
tar -jxf /path/to/system_status-version.tar.gz
cd system_status
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/path/to/kde4
make
sudo make install

then run
kquitapp plasma && plasma

Todo:
* Implement bendie's request.
* Change to KDE 4.2's data engines.
Last changelog:

0.6.0
- Change to use the systemmonitor data engine
- Thanks to Dominik Haumann for his help getting the plasmoid ready for this release!

0.5.1
- Add option for different types of backgrounds.
- Update drawing code to better support multi-processors, later.
- Add Oxygen style look, thanks to Hans Dembinski and his fork at http://www.kde-look.org/content/show.php/SystemMonitorNG?content=94746 .

0.5
- Thanks to the help of Angel Luis Jimenez Martinez, the applet's colour can now be configured. There is also a configuration item to change the bars to the horizontal, for use in the panel.

0.4
- Aspect Ratio is better kept in panel, but is not maintained while on the desktop.

0.3
- Now fully supports KDE 4.1 (SVN).

0.2
- Now looks at the average cpu usage instead of only the first cpu.
- No longers steals tons of space on the taskbar.

0.1
- Inital public release.


Ratings & Comments

45 Comments

sickandtiredmadashell

Why is "CPU separately" greyed out in Fedora 27?

brownslink

I have frequency scaling enabled on my CPUs. This has provided some additional information on two bugs. I am using the mouse hovering to provide details as to what the System Load Viewer thinks the CPU load is numerically. 1 - When the CPU load is 100%, the System Load Viewer often thinks the load is 0% and draws the bars accordingly. Maybe the load is calculating higher than 100% due to rounding errors and being adjusted to zero during exception handling instead of being clamped to 100%. I know the load is 100% because my frequency scaling is running at maximum. 2 - The load does not take frequency scaling into account even though the text displaying in the hover box is aware of it. If the CPU is running at 50% of the max frequency and 50% loading, the bar should be drawn at 25% instead of 50%. Thanks for the great start on this widget. I hope some time can be devoted to getting these fixed.

LettersAndDigits

I get buggy drawing of the bars. It doesn't do it all the time, but frequent enough at seemingly random intervals. http://img192.imageshack.us/img192/5870/slvrenderbugs.png Basically the bar is shifted vertically by some amount. Also bars are partially drawn over by other bars. I'm currently using version 0.6 on OpenSuse 11.2

3vi1

Nice little app - though I do see one bug under KDE4.4rc1: If you don't choose to show the CPUs individually, the CPU value appears wrong (way too high) and doesn't seem to fluctuate with system load.

BartOtten

Works like a charm, thanks :D Two point: 1.) The screenshot does not contain the new visual style. I would not want to use the version from the screenshot cause it breaks my stylisch KDE 4.2 :D 2.) I like Hans Dembinski's design even better. As it seems he is only forking cause of the design, maybe a merge of both projects would do miracles ;-)

BartOtten

Works like a charm, thanks :D Two point: 1.) The screenshot does not contain the new visual style. I would not want to use the version from the screenshot cause it breaks my stylisch KDE 4.2 :D 1.) I like Hans Dembinski's design even better. As it seems he is only forking cause of the design, maybe a merge of both projects would do miracles ;-)

mkyral

Hi, thanks for the new version. Is really great.

meskalamdug

Thanks

meskalamdug

Won't compile with latest 4.2 Linking CXX shared module ../lib/plasma-applet_system_status.so CMakeFiles/plasma-applet_system_status.dir/system_monitor.o: In function `systemMonitor::qt_metacast(char const*)': /tmp/tgz/system_status/build/applet/system_monitor.moc:59: undefined reference to `Plasma::Applet::qt_metacast(char const*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o: In function `systemMonitor::constraintsEvent(QFlags<Plasma::Constraint>)': /tmp/tgz/system_status/applet/system_monitor.cpp:67: undefined reference to `Plasma::Applet::setAspectRatioMode(Plasma::AspectRatioMode)' /tmp/tgz/system_status/applet/system_monitor.cpp:65: undefined reference to `Plasma::Applet::setAspectRatioMode(Plasma::AspectRatioMode)' /tmp/tgz/system_status/applet/system_monitor.cpp:72: undefined reference to `Plasma::Applet::backgroundHints() const' /tmp/tgz/system_status/applet/system_monitor.cpp:73: undefined reference to `Plasma::Applet::setBackgroundHints(QFlags<Plasma::Applet::BackgroundHint>)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o: In function `~systemMonitor': /tmp/tgz/system_status/applet/system_monitor.cpp:40: undefined reference to `Plasma::Applet::hasFailedToLaunch() const' /tmp/tgz/system_status/applet/system_monitor.cpp:46: undefined reference to `Plasma::Applet::~Applet()' /tmp/tgz/system_status/applet/system_monitor.cpp:40: undefined reference to `Plasma::Applet::hasFailedToLaunch() const' /tmp/tgz/system_status/applet/system_monitor.cpp:46: undefined reference to `Plasma::Applet::~Applet()' /tmp/tgz/system_status/applet/system_monitor.cpp:40: undefined reference to `Plasma::Applet::hasFailedToLaunch() const' /tmp/tgz/system_status/applet/system_monitor.cpp:46: undefined reference to `Plasma::Applet::~Applet()' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o: In function `systemMonitor': /tmp/tgz/system_status/applet/system_monitor.cpp:32: undefined reference to `Plasma::Applet::Applet(QObject*, QList<QVariant> const&)' /tmp/tgz/system_status/applet/system_monitor.cpp:34: undefined reference to `Plasma::Applet::setHasConfigurationInterface(bool)' /tmp/tgz/system_status/applet/system_monitor.cpp:32: undefined reference to `Plasma::Applet::Applet(QObject*, QList<QVariant> const&)' /tmp/tgz/system_status/applet/system_monitor.cpp:34: undefined reference to `Plasma::Applet::setHasConfigurationInterface(bool)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o: In function `systemMonitor::configUpdated()': /tmp/tgz/system_status/applet/system_monitor.cpp:135: undefined reference to `Plasma::Applet::config() const' /tmp/tgz/system_status/applet/system_monitor.cpp:137: undefined reference to `Plasma::Applet::backgroundHints() const' /tmp/tgz/system_status/applet/system_monitor.cpp:138: undefined reference to `Plasma::Applet::setBackgroundHints(QFlags<Plasma::Applet::BackgroundHint>)' /tmp/tgz/system_status/applet/system_monitor.cpp:139: undefined reference to `Plasma::Applet::backgroundHints() const' /tmp/tgz/system_status/applet/system_monitor.cpp:183: undefined reference to `Plasma::Applet::configNeedsSaving()' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o: In function `systemMonitor::readConfig()': /tmp/tgz/system_status/applet/system_monitor.cpp:364: undefined reference to `Plasma::Applet::config() const' /tmp/tgz/system_status/applet/system_monitor.cpp:378: undefined reference to `Plasma::Applet::setBackgroundHints(QFlags<Plasma::Applet::BackgroundHint>)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o: In function `systemMonitor::init()': /tmp/tgz/system_status/applet/system_monitor.cpp:52: undefined reference to `Plasma::Applet::dataEngine(QString const&) const' /tmp/tgz/system_status/applet/system_monitor.cpp:53: undefined reference to `Plasma::Applet::dataEngine(QString const&) const' /tmp/tgz/system_status/applet/system_monitor.cpp:54: undefined reference to `Plasma::DataEngine::connectSource(QString const&, QObject*, unsigned int, Plasma::IntervalAlignment) const' /tmp/tgz/system_status/applet/system_monitor.cpp:55: undefined reference to `Plasma::DataEngine::connectSource(QString const&, QObject*, unsigned int, Plasma::IntervalAlignment) const' /tmp/tgz/system_status/applet/system_monitor.cpp:56: undefined reference to `Plasma::DataEngine::connectSource(QString const&, QObject*, unsigned int, Plasma::IntervalAlignment) const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o: In function `systemMonitor::qt_metacall(QMetaObject::Call, int, void**)': /tmp/tgz/system_status/build/applet/system_monitor.moc:65: undefined reference to `Plasma::Applet::qt_metacall(QMetaObject::Call, int, void**)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o: In function `systemMonitor::createConfigurationInterface(KConfigDialog*)': /tmp/tgz/system_status/applet/system_monitor.cpp:91: undefined reference to `Plasma::Applet::backgroundHints() const' /tmp/tgz/system_status/applet/system_monitor.cpp:126: undefined reference to `Plasma::Applet::icon() const' /tmp/tgz/system_status/applet/system_monitor.cpp:127: undefined reference to `Plasma::Applet::icon() const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro+0x0): undefined reference to `Plasma::Applet::staticMetaObject' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x20): undefined reference to `Plasma::Applet::eventFilter(QObject*, QEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x24): undefined reference to `Plasma::Applet::timerEvent(QTimerEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x40): undefined reference to `Plasma::Applet::type() const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x44): undefined reference to `Plasma::Applet::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x48): undefined reference to `Plasma::Applet::paintWindowFrame(QPainter*, QStyleOptionGraphicsItem const*, QWidget*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x50): undefined reference to `Plasma::Applet::shape() const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x58): undefined reference to `Plasma::Applet::sizeHint(Qt::SizeHint, QSizeF const&) const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x60): undefined reference to `Plasma::Applet::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x7c): undefined reference to `Plasma::Applet::focusInEvent(QFocusEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x94): undefined reference to `Plasma::Applet::resizeEvent(QGraphicsSceneResizeEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xa0): undefined reference to `Plasma::Applet::hoverLeaveEvent(QGraphicsSceneHoverEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xb4): undefined reference to `Plasma::Applet::save(KConfigGroup&) const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xb8): undefined reference to `Plasma::Applet::restore(KConfigGroup&)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xbc): undefined reference to `Plasma::Applet::formFactor() const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xc0): undefined reference to `Plasma::Applet::location() const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xc8): undefined reference to `Plasma::Applet::contextualActions()' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xcc): undefined reference to `Plasma::Applet::isPopupShowing() const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xd0): undefined reference to `Plasma::Applet::addAssociatedWidget(QWidget*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xd4): undefined reference to `Plasma::Applet::removeAssociatedWidget(QWidget*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xd8): undefined reference to `Plasma::Applet::initExtenderItem(Plasma::ExtenderItem*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xe0): undefined reference to `Plasma::Applet::destroy()' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xe4): undefined reference to `Plasma::Applet::showConfigurationInterface()' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xec): undefined reference to `Plasma::Applet::configChanged()' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xf0): undefined reference to `Plasma::Applet::saveState(KConfigGroup&) const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xf8): undefined reference to `Plasma::Applet::sceneEventFilter(QGraphicsItem*, QEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0xfc): undefined reference to `Plasma::Applet::mouseMoveEvent(QGraphicsSceneMouseEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x100): undefined reference to `Plasma::Applet::hoverEnterEvent(QGraphicsSceneHoverEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x11c): undefined reference to `non-virtual thunk to Plasma::Applet::shape() const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x134): undefined reference to `non-virtual thunk to Plasma::Applet::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x138): undefined reference to `non-virtual thunk to Plasma::Applet::type() const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x13c): undefined reference to `non-virtual thunk to Plasma::Applet::sceneEventFilter(QGraphicsItem*, QEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x158): undefined reference to `non-virtual thunk to Plasma::Applet::focusInEvent(QFocusEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x160): undefined reference to `non-virtual thunk to Plasma::Applet::hoverEnterEvent(QGraphicsSceneHoverEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x168): undefined reference to `non-virtual thunk to Plasma::Applet::hoverLeaveEvent(QGraphicsSceneHoverEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x178): undefined reference to `non-virtual thunk to Plasma::Applet::mouseMoveEvent(QGraphicsSceneMouseEvent*)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x190): undefined reference to `non-virtual thunk to Plasma::Applet::itemChange(QGraphicsItem::GraphicsItemChange, QVariant const&)' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTV13systemMonitor[vtable for systemMonitor]+0x1bc): undefined reference to `non-virtual thunk to Plasma::Applet::sizeHint(Qt::SizeHint, QSizeF const&) const' CMakeFiles/plasma-applet_system_status.dir/system_monitor.o:(.data.rel.ro._ZTI13systemMonitor[typeinfo for systemMonitor]+0x8): undefined reference to `typeinfo for Plasma::Applet' collect2: ld returned 1 exit status make[2]: *** [lib/plasma-applet_system_status.so] Error 1 make[1]: *** [applet/CMakeFiles/plasma-applet_system_status.dir/all] Error 2 make: *** [all] Error 2

dovidhalevi

Change the main CMakeList.txt: Delete or comment the required plasma libraries line. Now part of kde4.2 In the applet and data_engine folders: Change the CMakeLists.txt to use in linking: KDE4_PLASMA_LIBS.

gravy

I have one suggestion, can you add possibility to change the free color (m_freeResourceColor) in settings? Even better would be possibility to change transparency of the color.

haumann

Have a look at the System Load Viewer, see [1] for more details. Here the free resources are drawn already in a white gradient. But it should also be configurable I guess :-) [1] http://dhaumann.blogspot.com/2009/01/system-load-viewer.html

gravy

Funny, I thought that the System Load Viewer is only renamed and upgraded this plasmoid. So the my problem with the not transparent background is connected to the System Load Viewer. I don now how it works in this plasmoid because I can't get it work.

haumann

I'm not sure what you mean. Do you mean the white part of the bars on the top?

gravy

yes, exactly

haumann

I agree, looks not perfect, but that's just a matter of changing the drawing code. Besides that, there are already quite a few features and it is already now ready to be moved to kdeplasma-addons for KDE 4.3 :)

mkyral

Hi, thanks for it. I've made an ebuild: system_status-0.5.1.ebuild http://bugs.gentoo.org/show_bug.cgi?id=250769

google01103

CMake Error at /usr/share/kde4/apps/cmake/modules/FindQt4.cmake:527 (MESSAGE): Could NOT find QtGlobal header Call Stack (most recent call first): /usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake:283 (find_package) /usr/share/cmake/Modules/FindKDE4.cmake:81 (FIND_PACKAGE) CMakeLists.txt:3 (find_package) thanks,

krase

Hi, i made a patch to support multiprocessor/multicore machines. The patch is against release 0.5, because there seems to be no public vcs of this plasmoid. The patch is located here: http://kra-se.de/plasmoid_system_status-0.5_multiprocessor-p2.diff.gz

krase
gravy

On this plasmoid I can see only background, the coloured stripes are only 1px high. Do you have any idea why? I have tried compile it again but it didn't help. I'm using KDE 4,1 from svn on gentoo

AdrianTM

I get this error: CMake Error at /usr/share/cmake-2.6/Modules/FindKDE4.cmake:72 (MESSAGE): ERROR: cmake/modules/FindKDE4Internal.cmake not found in /home/user/.kde4/share/apps;/usr/share/kde4/apps What gives? What should I put here, does anybody know? -DCMAKE_INSTALL_PREFIX= Thanks.

AdrianTM

OK, got it I installed kdelibs5-dev

warezmen

I add your plasmoid to my debian repo deb http://amarok2deb.co.cc/debian unstalbe main http://www.amarok2deb.co.cc/debian/dists/unstable/main/binary-i386/plasmoid-systemstatus_0.5_i386.deb bye

alantay

Very cool that you can now configure the colours. Thanks! Now if the background was transparent or also configurable so that it would blend nicely with the theme it would be perfect :)

Pling
0 Affiliates
Details
license
version 0.6.0
updated
added
downloads 24h 0
mediaviews 24h 0
pageviews 24h 0

Other Plasma 4 Extensions:

Icon Tasks deb build
N00bun2
last update date: 14 years ago

Score 4.3

Prayer Times Plasmoid
riyad
last update date: 13 years ago

Score 5.2

KPrayertime4 Islamic Prayer Times
ahaq
last update date: 15 years ago

Score 4.4

Hostinfo
mgraesslin
last update date: 13 years ago

Score 4.7

Monitor QuadCore Russian
kuchumovn
last update date: 16 years ago

Score 5.0

blaKjaK
werevire
last update date: 15 years ago

Score 5.0