System Load Viewer

Plasma 4 Widgets

Source (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
6.9
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:

10 years ago

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.

sickandtiredmadashell

1 year ago

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

Report

brownslink

8 years ago

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.

Report

LettersAndDigits

8 years ago

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

Report

3vi1

9 years ago

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.

Report

BartOtten

10 years ago

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 ;-)

Report

BartOtten

10 years ago

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 ;-)

Report

mkyral

10 years ago

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

Report

meskalamdug

10 years ago

Thanks

Report

meskalamdug

10 years ago

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

Report

dovidhalevi

10 years ago

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.

Report

gravy

10 years ago

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.

Report

haumann

10 years ago

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

Report

gravy

10 years ago

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.

Report

haumann

10 years ago

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

Report

gravy

10 years ago

yes, exactly

Report

haumann

10 years ago

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 :)

Report

thenexor

10 years ago

I like this one, but i have 2 suggestions:

- could you make the RAM memory bar behave like the other two, by making it grow proportionally to the total amount of ram used?
- you could also put a tooltip on mouse hover showing a legend of the colors

Report

thenexor

10 years ago

Nevermind my first suggestion, now i see it's working as i intended, i just couldn't believe i was using all my ram in that moment... sorry!

Report

thenexor

10 years ago

I meant a LABEL explaining the colors, if that wasn't clear...

Report

mkyral

10 years ago

Hi,
thanks for it. I've made an ebuild: system_status-0.5.1.ebuild

http://bugs.gentoo.org/show_bug.cgi?id=250769

Report

google01103

10 years ago

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,

Report

krase

10 years ago

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

Report

krase

10 years ago

... and now the next iteration:
http://kra-se.de/plasmoid_system_status-0.5_multiprocessor-p3.diff.gz

Report

gravy

10 years ago

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

Report

AdrianTM

10 years ago

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.

Report

10 years ago

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.

12345678910
product-maker Count:80 Rating: 6.93
File (click to download) Version Description Downloads Date Filesize DL OCS-Install
Pling
*Needs ocs-url or ocs-store to install things
Details
license
version
0.6.0
updated Mar 04 2009
added Feb 07 2008
downloads today
0
page views today 4
+