System Monitor Applet 1.2.0

UUID: system-monitor@ebbes
Score: 25

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


58 Comments

  1. Skuzzy says:

    4 months ago

    Axel: thanks, with your suggestion works it now fine in Linux Mint 17 !:-)

  2. axel says:

    7 months ago

    This is the best sytem monitor applet for me, many thanks! I use LMDE and after UP8 upgrading to cinnamon 2 i culdn't get the graphs to display (neither in the tray or the large window after clicking). Took me some time to figure that the version here to download here and which is officially downloaded by cinnamon settings is NOT the latest version with the fix from mtrantalainen in https://github.com/ebbes/system-monitor-applet for cinnamon. With the latest version (9 months old by the time i'm writing this) the applet works just fine in cinnamon 2, but again that is not the one available here. Please update it so that we can all enjoy this applet easily by installing it via the standard cinnamon way. Oh, yes, just for those who may wander how to get it running in cinnamon 2 by now: install the applet via normal Settings>Applets>GetMoreOnline, download the (more up to date) applet.js file from the git page and use it to replace the file the (old) file ~/.local/share/cinnamon/applets/system-monitor@ebbes/applet.js . Don't forget to restart cinnamon or reload the applet for the fix to take effect. You can also update stylesheet.css file in the same way, but I guess that is more a cosmetic fix and it is not critical for the applet to work. Please let know if there is a more elegant solution for this in the meantime. Again, thanks for a great applet!!!

  3. Enkouyami says:

    9 months ago

    Takes up to much horizontal space, takes up too much vertical space when you click it; its just too big.

  4. Fraoch says:

    10 months ago

    Love this applet, it's the only system monitor applet that works for me. I'm noticing the memory graph isn't properly scaled though. The top of the graph seems to be some arbitrary number, not the total memory. My graph is currently filled yet I'm only using 1511/3937 MiB. The graph seems to show more the division between program, buffer and cache than used memory to total memory. Is this the intention? I can provide screenshots if required.

  5. dimitris says:

    11 months ago

    running on cinnamon 2.0.7, fedora 19. Graphs in the applet and graph/pie charts in the popup will not display, whether with the schema in the applet dir or in /usr/share/glib-2.0/schemas. When I bring up the popup I see this in the log: Nov 20 11:04:35 gaspode /etc/gdm/Xsession[1816]: Window manager warning: Log level 8: g_source_remove: assertion `tag > 0' failed Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: JS ERROR: !!! Exception in callback for signal: open-state-changed Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: JS ERROR: !!! message = '"pie is not defined"' Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: JS ERROR: !!! fileName = '"/home/d/.local/share/cinnamon/applets/system-monitor@ebbes/applet.js"' Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: JS ERROR: !!! lineNumber = '1039' Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: JS ERROR: !!! stack = '"([object Object],true)@/home/d/.local/share/cinnamon/applets/system-monitor@ebbes/applet.js:1039 Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: _emit("open-state-changed",true)@/usr/share/cjs-1.0/signals.js:124 Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: (true)@/usr/share/cinnamon/js/ui/popupMenu.js:1249 Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: ()@/usr/share/cinnamon/js/ui/popupMenu.js:1131 Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: ([object _private_Clutter_Event])@/home/d/.local/share/cinnamon/applets/system-monitor@ebbes/applet.js:1080 Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: ([object _private_St_BoxLayout],[object _private_Clutter_Event])@/usr/share/cinnamon/js/ui/applet.js:260 Nov 20 11:04:36 gaspode /etc/gdm/Xsession[1816]: "'

  6. mccfrank says:

    11 months ago

    Running Cinnamon 2.03 in Fedora 19...and the applet doesn't show up on the task bar ?? I took the version mike uploaded to dropbox.

  7. mike says:

    1 year ago

    Still works in Cinnamon 2.0.2. :)

  8. beni22sof says:

    1 year ago

    @mike: This is great. Thanks a lot.

  9. mike says:

    1 year ago

    In case anyone is looking for a updated version of this applet, I took the liberty of applying the changes from marlog and mtrantalainen: https://dl.dropboxusercontent.com/u/50206714/applets/system-monitor@ebbes.tar.gz I also edited the styling a little for Freq so it would be in line with everything else. You can just copy the old stylesheet if you don't like this or change it by modifying sma-big-status-value. Cheers!

  10. beni22sof says:

    1 year ago

    Can you please post a complete version of the file for those who don't know how to patch? Thank you. Since my last update the app doesn't work and I don't like my computer without this app.

  11. mtrantalainen says:

    1 year ago

    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.

  12. zarnce says:

    1 year ago

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

  13. hernejj says:

    1 year ago

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

  14. billynick says:

    1 year ago

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

  15. marlog says:

    1 year ago

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

  16. baroncelli says:

    1 year ago

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

  17. hempytree says:

    1 year ago

    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

  18. ayurchen says:

    1 year ago

    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???

  19. billynick says:

    1 year ago

    same problem as fraoch on lm14

  20. testbot says:

    1 year ago

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

  21. Fraoch says:

    1 year ago

    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.

  22. antiplex says:

    2 years ago

    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.

  23. antiplex says:

    2 years ago

    @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...

  24. cinnaminty says:

    2 years ago

    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.

  25. antiplex says:

    2 years ago

    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?

  26. Hedgehood says:

    2 years ago

    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 ?

  27. Hedgehood says:

    2 years ago

    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 ?

  28. Zyzz says:

    2 years ago

    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!

  29. cpmehl says:

    2 years ago

    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!

  30. ktalog says:

    2 years ago

    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.

  31. ebbes says:

    2 years ago

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

  32. Ivan76 says:

    2 years ago

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

  33. ktalog says:

    2 years ago

    @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

  34. ebbes says:

    2 years ago

    @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...

  35. Zyzz says:

    2 years ago

    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?

  36. Zyzz says:

    2 years ago

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

  37. smeto says:

    2 years ago

    @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 .

  38. ebbes says:

    2 years ago

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

  39. Zyzz says:

    2 years ago

    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.

  40. smeto says:

    2 years ago

    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!!!

  41. ebbes says:

    2 years ago

    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.

  42. smeto says:

    2 years ago

    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...

  43. ebbes says:

    2 years ago

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

  44. smeto says:

    2 years ago

    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

  45. ebbes says:

    2 years ago

    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?

  46. billynick says:

    2 years ago

    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?

  47. ebbes says:

    2 years ago

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

  48. ebbes says:

    2 years ago

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

  49. billynick says:

    2 years ago

    indeed it does! top work

  50. ebbes says:

    2 years ago

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

  51. ebbes says:

    2 years ago

    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.

  52. billynick says:

    2 years ago

    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

  53. ebbes says:

    2 years ago

    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.

  54. ebbes says:

    2 years ago

    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.

  55. ebbes says:

    2 years ago

    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.

  56. billynick says:

    2 years ago

    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?

  57. ebbes says:

    2 years ago

    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?

  58. billynick says:

    2 years ago

    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%