System Monitor Applet 1.2.0

UUID: system-monitor@ebbes
Score: 20

Download



This is a port of the very popular System monitor Gnome-Shell. You can find it at https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet

I ported the extension designed for Gnome-Shell 3.2 to a Cinnamon Applet (Not an extension!). Therefore it should run on any Cinnamon version.

The applet provides graphs and/or text display of your computers Cpu load, Cpu frequency, Swap/Memory usage, Network usage, Disk activity, Sensor temperature.

Since Cinnamon's battery applet implementation differs a lot from Gnome-Shell's panel item, I removed this feature from the applet.

The applet is highly customizable using its configuration tool.

The applet has some dependencies you have to install: libgtop and gir bindings. If you don't have them installed, the applet will show a nice messagebox informing you what to install on load and a nice red icon in the panel.
These are on Ubuntu/Linux Mint: gir1.2-gtop-2.0 and gir1.2-networkmanager-1.0 and on Fedora: libgtop2-devel and NetworkManager-glib-devel.

Installation instructions: Just copy the system-monitor@ebbes folder to ~/.local/share/cinnamon/applets. Configuration is stored in this folder, so no further installation instructions are needed.

Known bugs/glitches:

Currently, there seems to be a problem with the configuration tool, it seems to be capable of rendering Cinnamon unresponsive, but works in most cases. It's the best if you run it when no other programs are running and if it doesn't work, hit Ctrl+Alt+Backspace and try again.

Another problem is that I did not figure out how to center the labels vertically on the panel; they are pretty centered on a 25px height panel. However, if you've got another panel size, you will have to fix the labels, have them incorrectly centered or simply disable them.

 

This applet would not exist without the work of its original authors. See applet.js and the original extension's homepage for further information.

 

---

Changelog:

1.0.0 Initial release

1.0.1 Workaroung for config.py because it did not work at all on some systems

1.0.2 Figured out why config.py didn't work on some systems (Too old python Gio bindings) and fixed that. (Basically moving environment variable delcaration up before importing Gio bindings)

1.0.3 You can now choose from more sensors in config.py if your controller has more than two sensors attached. Additionally, if your system doesn't meet the dependencies, a message box will be shown on applet launch informing you which packages you have to install. A red error icon is shown in the panel in that case. This is basically a backport of gnome-shell system monitor extension to its 3.2 branch on which this applet is based.

1.0.4 Finally managed to get rid of environment variable to load the settings schema in config.py. Using Gio API now. Additionally, I ported a feature back from the original project. CPU, Memory and Swap graphs now show correct maximum values.

1.0.5 Code cleanup. Removed tooltips (that did not work anyway. Enabling them crashed Cinnamon). Added tooltips. (Not as cool as those for gnome-shell 3.4, but they work with Cinnamon)

1.1.0 Added bar chart for disk usage visualization.

1.2.0 Some changes, schema can now be placed in /usr/share/glib-2.0/schemas or applet dir. Will use python2 for calling settings script if python outputs other version than 2. Corrected wrong CSS Selector.

About The Author

ebbes

Cinnamon on Linux Mint 13 (Notebook) and Fedora 17 (Desktop)


48 Comments

  1. billynick says:

    wow yes. been waiting for this :) after a few ctrl-alt-backspace i got it set up thte way i wanted, although the freq graph doesent work, but as a digit it works would also be nice if it was possible to change the order of the different graphs. 5 stars. oh i noticed now that when i run a stress test utilizing all cores 100% the cpu graph doesent reach 100%. maybe 85%

  2. ebbes says:

    I'm sorry for Ctrl+Alt+Backspace, but Python is not my preferred language, I don't know how to fix this bug. Concerning re-ordering the graphs: You could edit applet.js. In line 981: let elts = { cpu: new Cpu(), freq: new Freq(), memory: new Mem(), swap: new Swap(), net: new Net(), disk: new Disk(), thermal: new Thermal(), } Just change it the way you like. And concerning stress testing: Have you got multiple cores? The initial code had a function for getting the number of cores, but it was disabled (comment stated it led to a segfault on a certain gjs version. However, the most recent that comes with Mind and Fedora had no errors, so I put this back in). The original assumed one core, now it should recognize multiple cores. Maybe that causes your issue?

  3. billynick says:

    dont worry about the ctrl-alt-backspace, its smt inherited from the original gnome-shell applet. theres a cinnamon extension (not applet) also based on that gnome-shell thing, its got the exact same problem. yes i have 8 cores in fact. im not sure what you mean by "the most recent that comes with Mind and Fedora had no errors, so I put this back in). The original assumed one core, now it should recognize multiple cores." - are you saying you have updated the applet in the last few hours?

  4. ebbes says:

    No, I wanted to say that I changed a bit of the extension's code to support more than 1 core. At least it should support it. This feature was already included in the initial version uploaded here, there were no updates since then. According to the original code's comments, the function getting the number of cores caused a segfault when running under gjs 1.29.18 (gjs is Cinnamon's javascript interpreter) which is the reason why it was disabled. However, both Mint and Fedora seem to ship with gjs 1.32.0 installed which has no problems running that code. Therefore I enabled it, making the applet support more than one core.

  5. ebbes says:

    I just updated the applet to version 1.0.1 fixing a bug that occured while testing in a VM causing settings script not to find the configuration schema. The script is now invoked using a bash wrapper script setting a required environment variable. If you've got the very first version, you don't have to update unless the preferences button does not cause a configuration window to be shown.

  6. ebbes says:

    Another update. Version 1.0.2 removes the bash wrapper script and calls python script directly. Figured out that setting the environment variable has to be done BEFORE importing gio when using a python-gobject binding whose version is too old.

  7. billynick says:

    hi again, nice updates. is it possible to show more than one temperature in the panel ? also what i mentioned earlier about the cpu graph not reaching 100 % heres a screenshot http://imageshack.us/photo/my-images/685/73115887.jpg/ - the other cpu monitor shown is http://cinnamon-spices.linuxmint.com/applets/view/88 . the 8 bars in the middle between the cpu graphs is another applet showing that all 8 cores are running at max frequency

  8. ebbes says:

    About more than one temperature: It should be possible, but I haven't yet looked deeper into the code. Maybe I'll try to add this. And I don't know yet why CPU doesn't reach 100%, I'll try to figure it out.

  9. ebbes says:

    Update to 1.0.4. CPU graph should now show correct maximum values.

  10. billynick says:

    indeed it does! top work

  11. ebbes says:

    Update to 1.1.0. You can now choose between pie chart and bar chart for disk usage. Unfortunately, a settings change was needed. You'll have to replace the gschemas.compiled file, too. This will reset your settings to defaults (but it will also add required new settings).

  12. ebbes says:

    I have to correct my last comment. It seems as replacing gschemas.compiled does not revert settings to defaults.

  13. billynick says:

    hm 1.1.0 i just get a tiny 2mm wide thing in the panel with a blank popup menu if i click it. i guess it has to do with settings not being reset to default?

  14. ebbes says:

    Strange. Does your looking-glass show anything? (Press Alt+F2 and type lg, check in Errors tab.) Does changing configuration (run config.py manually by running python ~/.local/share/cinnamon/applets/system-monitor@ebbes/config.py ) do anything?

  15. smeto says:

    for me, very usefull applet... but on archlinux with cinnamon 1.5.2 applet segfault-ed whole desktop. config.py complaining to missing python gobjets... i've this installed: local/pygobject-devel 3.2.2-1 Development files for the pygobject bindings local/pygobject2-devel 2.28.6-6 Development files for the pygobject bindings local/python-gobject 3.2.2-1 Python 3 bindings for GObject local/python-gobject2 2.28.6-6 Python 3 bindings for GObject2 local/python2-gobject 3.2.2-1 Python 2 bindings for GObject local/python2-gobject2 2.28.6-6 Python 2 bindings for GObject2

  16. ebbes says:

    Strange... Could you please check what version of gjs you are using? You could try to change a bit in applet.js. Search for "get_cores: function(){" (About line 375) and insert just after "return 4;" (but replace 4 with the number of cores your cpu has) and check if segfault still happens. And concerning your config.py problem: The script will complain about missing dependencies when one of the following imports are not met: from gi.repository import Gtk, Gio, Gdk Have you installed them all? You could try to check using python interpreter (run python in terminal, and enter from gi.repository import Gtk and so on...)

  17. smeto says:

    version gjs 1.32.0-2, change number of cores without success -> segfault still remains. in python console run "from gi.repository import Gtk, Gio, Gdk" -> nothing return -> i think, i've installed all. but run config.py return error message missing python gobject...

  18. ebbes says:

    Very strange. If python doesn't return anything, the import statement worked. I'll try to change a bit of the structure ASAP (could take a while because I'm busy with other thinks the next days) for you to test. And I don't know how to fix your segfault. Could you try to comment every statement in get_cores function except your return [number of cores]; ? I don't think this helps, but maybe gjs works differently than I expect it to work. You could also enable cinnamon debug logging to file in Cinnamon settings, maybe there's a hint logged when segfault happens.

  19. smeto says:

    after i comment all line in get_cores function and set return 1 segfault disapeared. glass.log output: error t=2012-08-04T18:12:36Z system-monitor@ebbes SyntaxError: missing } after property list error t=2012-08-04T18:12:36Z Failed to load applet panel1:right:0:system-monitor@ebbesTypeError: e is null error t=2012-08-04T18:12:38Z TypeError: devices is null error t=2012-08-04T18:13:52Z Failed to refresh list of applets TypeError: appletObj[uuid] is undefined. i don't know... maybe usefull for you. this extension http://aur.archlinux.org/packages.php?ID=56090 works with archlinux, take a look if you have some time. thank for your help!!!

  20. Zyzz says:

    Hmm it's not working for me with LMDE. First I got this error in lg: "failed to evaluate main function: TypeError: Gio:SettingsSchemaSource is undefined after readding the applet I get: "Failed to refresh list of applets TypeError: appletObj[uuid] is undefined." I have gir1.2-gtop-2.0 and gir1.2-networkmanager-1.0 installed.

  21. ebbes says:

    @smeto: I looked at the extension in AUR, it basically fetches gnome-shell extension for 3.2 (on which this applet is based, too), comments out network and battery (Network works in my applet). However, I added some features (backported some changes from extension version 3.4) in my applet's code, that seems to be the problem. Could you please try https://gist.github.com/3264922 as replacement for applet.js? And I see you have an account at AUR. If you want to, you could post a comment. The PKGBUILD's creator disabled network functionality in the extension. If you enable it, it won't work. The problem is the line "IconSize = Math.round(Panel.PANEL_ICON_SIZE * 4 / 5);" because Panel.PANEL_ICON_SIZE doesn't exist, if you change it to "IconSize = 16;" (16 seems to be good enough), network should work. Maybe the PKGBUILD author could change this to enable network graph again. @Zyzz: The problem in your case seems to be that the applet is not able to read its configuration... Could you provide additional information about your Cinnamon version and GSettings version? (I think the package seems to be dconf-gsettings-backend but I don't know for sure)

  22. smeto says:

    @ebbes: I tested new applet.js aaaand... it works!!! :) Some cosmetic changes are necessary: http://i45.tinypic.com/zsnxwg.png . In config.py with remove test import condition, configuration works under Archlinux http://i46.tinypic.com/ih4h1u.png .

  23. Zyzz says:

    Sry for the late feedback. Cinnamon is 1.4.0-lmde1 and gsettings-desktop-schemas is 3.2.0-2. Searching for gsettings I found gconf-gsettings-backend does this need to be installed? (I try it out now.)

  24. Zyzz says:

    Wait asecond. I read about Cinnamon 1.5 etc but it's not on the news page? Do I misss something? Is 1.5 really already out?

  25. ebbes says:

    @smeto: I tried to fix those numbers, but my CSS skills are very bad... @Zyzz: Well, I'm running Cinnamon 1.5.2 on all my machines, but as far as I know it's not yet in Mint's repos, I built it myself. But I don't know why it doesn't work, your message seems like you have not the right functions in Gio...

  26. ktalog says:

    @ebbes Many thanks for your works :) i patched a little applet.js and use your patch, the applet work perfects for people run archlinux i made the package : https://aur.archlinux.org/packages.php?ID=62637

  27. Ivan76 says:

    Don't you can also add a sensor to monitor more than pure GPU temperatures dellaCPU??? would be great!!

  28. ebbes says:

    Updated to 1.2.0, no significant changes for users, see changelog above. @ktalog: See AUR. I commented.

  29. ktalog says:

    i updated package on aur, but actually the applet want gschemas.compiled on applet folder(if not applet don't load), so i included it in package, i think it's better if applet take shema /usr/share/glib-2.0/schemas.

  30. cpmehl says:

    Wanted to say thank you. As many have stated, been waiting on this for a while. It's really in a great place already. Looking forward to seeing it progress even further. Nice work!

  31. Zyzz says:

    Alright I got Cinnamon 1.6.1 now and thought I give it another try. It works now and only crashed my desktop once. :D Really nice applet!

  32. Hedgehood says:

    Nice applet but the network graph is empty (when it worked before the update to Cinnamon 1.6.1). Perhaps it doesn't follow the right network (I use Wifi network). How could I change the parameter ?

  33. Hedgehood says:

    Nice applet but the network graph is empty (when it worked before the update to Cinnamon 1.6.1). Perhaps it doesn't follow the right network (I use Wifi network). How could I change the parameter ?

  34. antiplex says:

    12/10/11 hi there, i am missing some of my status-applets that i got used to coming from ubuntu so i was happy to find a status-monitor for cinnamon. however it seems not to run for me on cinnamon 1.4-UP3. i installed the dependencies gir1.2-networkmanager-1.0 (ver 0.9.4.0-0ubuntu4.1) and gir1.2-gtop-2.0 (ver 2.28.4-2) and put the folder system-monitor@ebbes to ~/.local/share/cinnamon/applets as described. when i try to activate the applet, nothing happens tough =( the multi-core system monitor (http://cinnamon-spices.linuxmint.com/applets/view/79) which also depends on gir1.2-gtop-2.0 works for me but i would prefer the good old classic-style monitor. any advice?

  35. cinnaminty says:

    2012-October-18 Hello, I use Linux Mint 13 Cinnamon and I downloaded the zip file and extracted to /.local/share/cinnamon/applets. I installed both gir1.2-gtop-2.0 and gir1.2-networkmanager-1.0. I then went to Add/remove applets. I put a check beside System Monitor applet. And nothing seems to show up on the panel. I discovered there was an invisible sliver. See http://i.imgur.com/cFleS.png. But how come it's completely blank? Please help.

  36. antiplex says:

    @cinnaminty: might be that we both have the same issue altough i dont even see that sliver of yours but that might be due to a different cinnamon-theme i selected (holo). anyway, can you check which cinnamon-version you are running through issuing 'cinnamon --version' and/or 'sudo dpkg -l | grep cinnamon' and post the results? sad there seems no way of contacting the author ebbes directly and afaik there is no notification-functionality for new comments here so i wonder how frequently he might check this page...

  37. antiplex says:

    12/10/19 @cinnaminty: i just upgraded to cinnamon 1.6.2 which solved among some other troubles also the one of not displaying this applet correctly. during fiddling with the settings the cinnamon 1.6.2 freezed twice but in general appears to work ok. you can read the blog entry at http://blog.linuxmint.com/?p=2177 to find how to update to the latest cinnamon, its really easy.

  38. Fraoch says:

    Hmm, I can get this applet to display the text labels and provide space for the graphs but it doesn't draw the graphs themselves. Cinnamon 1.6.3 on Ubuntu 12.10.

  39. testbot says:

    copied to /home/xxxx/.local/share/cinnamon/applets/system-monitor@ebbes but when i check the box it doesn't load or display. :[

  40. billynick says:

    same problem as fraoch on lm14

  41. ayurchen says:

    Same problem as Fraoh on 1.6.7 - displays nothing but graph labels space. Also color configuration does not seem to work, but width - does. And where on earth does it store configuration???

  42. hempytree says:

    this is the system monitor I always wanted ; I'll be very happy when it works, but now I just installed Mint14 and am having the same problems as billynick and fraoch (space allocated to applet, labels appear, but no graphs / hdd usage ring) thanks

  43. baroncelli says:

    Great applet, the only metric it lacks for me is load average!

  44. marlog says:

    Here is the fixed source of "applet.js": http://dl.dropbox.com/u/61186528/applet.js Just copy to the source folder "system-monitor@ebbes" Diff: http://pastebin.com/exSpWCBp Anyway thanks for your great work ;)

  45. billynick says:

    thanks for the fix marlog, seems to work great :)

  46. hernejj says:

    Thanks for porting this :) It is the best system monitor applet available in my opinion.

  47. zarnce says:

    The applet does not appear to work with Cinnamon 1.8. It never shows up on the panel bar. Great little applet. Thanks!

  48. Fixes required for Cinnamon 1.8.2 running on Ubuntu 12.04 LTS (probably fixes all Cinnamon 1.8.x problems): http://pastebin.com/HdMmk8Vg The change to graph colors is of course optional.