All sensors Tab for System Monitor (and more)

The Situation:

When using the System Monitor I have noticed repeatedly, that the one sensor I was looking for was not visible by default. I think this is inevitable, because different users have different needs. What I do not like however is how long it takes to get to see that value.
Currently you have to:

  1. click edit page
  2. Figure out what you can do here (its is pretty intuitive, but this takes time)
  3. Add the corresponding row, separator/s and section/s
  4. Figure out how to add the sensor (that is to say select a chart type, what “total sensors“, “sensors“ and “text-only sensors“ to select (It does not help here that these are specific to the chart type and hence are likely to get cleared as a result of changing the chart type))
  5. View the sensor (SUCCESS).

This is to cumbersome in my opinion and while there are some measures that would help this experience and should probably be implemented as well (I listed them at the end), I think that a page that just contains all sensors (like HWINFO for windows) would be a very useful feature that also mitigates this issue.

Namely if you do not frequently access a certain sensor, just quickly viewing it, would become possible without having to add it to your layout permanently.

Here is how I imagined it:

You would have the all the sensors in a table view with collapsible segments (like the processes page). The segments would be arranged by the category of sensor (i.e. the same categories used when selecting a sensor for a chart (probably without the “All“ and “groups” categories))
and then in the respective categories you would have the sensor rows. This table would always be populated with all currently available sensors of your system.
For the columns, it would be nice to have:

  • Current (with a line chart in the background, like the CPU column in the Applications page)
  • Min
  • Max
  • Average

Also you could add a details sidebar (like on the applications page) visible when selecting the sensor, with a larger version of the line chat (like you would currently have if you added a line chart for the sensor).

(optional) additions

You might want to consider adopting some more auto generated pages, like a page for RAM per CPU, GPU, Drive, etc. (like the windows task manager has for instance).
You might want to pre-layout these pages (and maybe make the templates editable) instead of just dumping all sensor in there (again like the windows task manager).

You could then group the auto generated pages together in the page view (maybe all bellow the other pages and with the all sensors page at the top of the group (by default)).

Here are some additional improvement ideas for the system monitor (I am currently running KDE 6.6.4):

  • Add the option to remove the current page to the edit page menu.
  • Add the ability to hover over a line chart to see the exact past value of the hovered over sensor at that time (or all sensors at the current x if the previous is hard to determine) (This would also be useful for the above mentioned details sidebar, as well as the currently already present details sidebar for the applications page)
  • Make the details sidebars show by default (currently only the applications page has one), reason being that it is easy to miss and if you select the application then it is likely you want more detail.
  • Make snap applications show in the applications tab (Ubuntu is simply used to widely not to have that)
  • Make line charts the default chart type (it simply contains the most information)
  • For pie charts (the current default), remove or rename the “total sensors” category (I do not fully understand it, why does adding a text only sensor to a pie chart have no effect, while the total sensors category does what I would expect the text-only sensors to do (namely add the sensor value as text))
  • Why can I see my script and (associated) Konsole in the overview pages “Applications”, but not on the “Applications“ page? (It should clearly be visible in both places)
  • Do not silently automatically save the current layout changes when the application is closed by the user (Since they lose the option to discard the changes this way). (This might however still be the better option during shutdown, etc..) Instead display a “You have unsaved layout changes - Save/Do not save” dialog.

Final thoughts

I would be happy if you would adopt some of these suggestions, since they would make working with your desktop environment easier (especially for hardware enthusiasts), but also for casual people that wonder, why i.e. they can not (easily) view their total disk utilization (read/write).
I think that especially considering the current trend of ditching windows for Linux, easing that transition by having a more familiar experience could help.

PS:

This is probably not the right place for some of the things mentioned above (especially the bugs). I would be happy to put them in the right places and I would be thankful if someone could point those out.

hi, welcome.

you have clearly spent some time in the system monitor… as many of us have.

the strength of plasma is that you can create the sensor layout that you want with the canned layout being only starting point/suggestion.

no default setup is going to satisfy everyone, so it better to just have a simple example and let each user find their own niche.

yes, it can be a lot of work but you are rewarded with a display that suits your particular taste and needs.

for me i use senor widgets in a panel to keep tabs on things, rather than open the system monitor application or leave it running all the time.

it takes resources to keep that app open and some of the suggestions you are making would cause that app to require even more resources.

the idea is to showcase what CAN be done and let you design the monitoring system of your hearts desire… i only use the system monitor app to fiddle with how i want a monitor to look and then i recreate that in a widget (either in a panel or on the desktop) that runs all the time so i can close the system monitor when i’m not using it.

I have to agree with your sentiment, that customization is great and that it is awesome, that you can build whatever menu most suits your needs, but I think that I have somewhat failed to get my point across.

My main point is, that customization is great, but you should not be forced to customize anything to use its basic functions.
The defaults should be “good enough” for most people.
Here an application that can display the information that I want, should not make it unnecessarily difficult to access that information by hiding it behind an edit feature.
That can lead to the following:

  • Users never finding the thing they are looking for, because they do not realize the menu can be edited (never underestimate the ignorance of the user-base! There is a reason why tech-support asks whether the system was restarted!)

    An all sensors page would mostly solve this category of issue (uses would still have to find the system monitory, but they can probably be trusted to select the “All Sensors” page).

  • Users failing to understand the edit menu and hence not achieving their goal (I for instance still do not understand what all the sensor categories of the pie chart do)

    Here, with an all sensors page, they would at least be able to view the sensor at all.

  • Users finding the process of editing the view annoying (like myself) i.e. because it takes time to lean it, or because (like for you apparently) a system monitor page with that sensor visible is not actually what they were looking for (i.e. They only wanted to quickly check whether their CPU was thermal throttling right now, but are not interested in more permanent monitoring)

    Here an all sensors page can be a great time saver.

Sure, if I want something that better suits my needs i.e. by having all and only the thinks I care about in one place, then I can always build myself a corresponding system monitor page or a widget and that is awesome, but I should not have to do so, to access the information in the first place, because that can be a great waste of my time.

Also I do not understand your point about the resources required. The system monitor (, unless you explicitly change that, (note this is changed for the default history page,)) only loads pages once you open them, so having an additional page reusing existing functionality, would not actually lead to a lot more resources being consumed, unless of cause you would leave the (very dense) all sensors page open (but then you are interested in that data). Also you still have the options you detailed above.

As far as I understand, adding an all sensors page would not negatively impact anyone and help a lot of people.

the more things on display in the monitor the more resources it uses when you open it…. so throwing everything in there would be too burdensome and could render the entire application useless on lower spec machines.

the discoverability you are looking for is there if you poke around in the app

you can edit the default overview to show what you want, or you can add your own page that just has what you want to check on…. you can even set that is a the default page when you open the app.

it’s widely configurable.

the best way to learn what each chart type does with which types of sensors, is to experiment and the edit page function makes that fairly easy.

there is also the possibility that there are sensors your firmware provides but are not accessible to the OS without some command line operations on your part…. and there are also masks you can place on that array of sensors so that they don’t even appear in the system monitor.

the system monitor is meant to be a high level GUI where you can explore what your system offers and create your preferred ways to present that data.

Again that page would not load unless selected, so the rest of the application would not be impacted. Also I checked, HWiNFO (tracking 200 values most of which are sensors) on Windows uses ~70MB RAM and ~0.3% CPU (according to windows task manager on a 12Core CPU).
Also HWiNFO had that view for more than a decade (if my research is correct), so even on older Hardware showing that many sensors should be no issue whatsoever.

the discoverability you are looking for is there if you poke around in the app

you can edit the default overview to show what you want, or you can add your own page that just has what you want to check on…. you can even set that is a the default page when you open the app.

it’s widely configurable.

the best way to learn what each chart type does with which types of sensors, is to experiment and the edit page function makes that fairly easy

I tried and failed to figure out what the different sensor types are (for the pie chart specifically, I did succeed on others, showing even somewhat experienced users might not find everything intuitive), but that was not my point my point was you have to do so and that is unnecessarily inconvenient especially for inexperienced users. Why insist on making things difficult for beginners?

A software the sole purpose of which is to track data about the operation of your device and visualize it, should not make getting access to that data unnecessarily difficult. On the contrary it should be as straightforward as possible, so that even inexperienced users can quickly and easily access it, and first having to edit the page (, in my humble opinion,) is not sufficiently straightforward.

the system monitor is meant to be a high level GUI where you can explore what your system offers and create your preferred ways to present that data.

Yes, I agree and an all sensors page would help greatly with that, because it literally shows what your system has to offer in the most straightforward way imaginable (again all my opinion).

I simply think that vital system information should by visible by default.
Think of the unfortunate people in tech support call-centers that have to give the person a complicated explanation for checking something as simple as CPU Temperature only to then say and you have to do it all over again for System Temperature. Why must it be so complicated? Why can I not just read these values from a table?

sudo apt install hwinfo