Skip to content

Comments

dashboard/performance: new design, configurable, controlcenter support#975

Merged
soramanew merged 34 commits intocaelestia-dots:mainfrom
tmih06:feature/configurable-performance-resources
Feb 19, 2026
Merged

dashboard/performance: new design, configurable, controlcenter support#975
soramanew merged 34 commits intocaelestia-dots:mainfrom
tmih06:feature/configurable-performance-resources

Conversation

@tmih06
Copy link
Contributor

@tmih06 tmih06 commented Dec 9, 2025

  • Add config options to show/hide Battery, GPU, CPU, Memory, Storage
  • Make dashboard responsive based on number of visible resources
  • Scale resource sizes and spacing dynamically for 3, 4, or 5 items
  • Battery shows charge status and time remaining/to full
  • Each resource can be individually toggled via config

@tmih06
Copy link
Contributor Author

tmih06 commented Dec 9, 2025

Since im using a laptop without an external GPU so the usage just show 0% all the time, i would love to replace it with something else, so i made a small commit to toggleable usages

Here is an example of configuration

    "dashboard": {
        "enabled": true,
        "dragThreshold": 50,
        "mediaUpdateInterval": 500,
        "showOnHover": true,
        "performance": {
            "showBattery" : true,
            "showGpu" : false,
            "showCpu" : true,
            "showMemory" : true,
            "showStorage" : true
        }
    }

It is also responsive to the dashboard
default
image

for laptop without gpu
image

show all
image

@Markus328
Copy link
Contributor

I may be wrong, but the current memory status doesn't already show both RAM memory and storage?

@tmih06
Copy link
Contributor Author

tmih06 commented Dec 9, 2025

I may be wrong, but the current memory status doesn't already show both RAM memory and storage?

Yes it is, i splitted it into 2 for more clear view

@Markus328
Copy link
Contributor

I may be wrong, but the current memory status doesn't already show both RAM memory and storage?

Yes it is, i splitted it into 2 for more clear view

I don't know if its already did (since there are two indicators), but then the memory instead of storage may show swap. Storage should show only one indicator similar to battery, no? Talking about it, it would be good battery temp as second indicator

@Markus328
Copy link
Contributor

Markus328 commented Dec 9, 2025

I'm talking to this, because the way the cpu status, per example, is done is showing a big text about CPU temp and the bottom indicator being the temperature. Also, a small text in right about the CPU usage, being displayed to the top indicator.

Looking at your memory status per example, now it show the big text as being memory usage and the small text also being the memory usage (but now as percent and displaying the maximum. What's the top indicator for?

My suggestion is to remove the top indicator at least OR add swap info, displaying the percentage and maximum memory in the big text and not small.

If you choose the second option would be good to do the same to battery, but now adding temperature as secondary (or swapping them, to match GPU/CPU order). Storage also has top indicator even though I cannot find another info to display

@tmih06
Copy link
Contributor Author

tmih06 commented Dec 9, 2025

I'm talking to this, because the way the cpu status, per example, is done is showing a big text about CPU temp and the bottom indicator being the temperature. Also, a small text in right about the CPU usage, being displayed to the top indicator.

Looking at your memory status per example, now it show the big text as being memory usage and the small text also being the memory usage (but now as percent and displaying the maximum. What's the top indicator for?

My suggestion is to remove the top indicator at least OR add swap info, displaying the percentage and maximum memory in the big text and not small.

If you choose the second option would be good to do the same to battery, but now adding temperature as secondary (or swapping them, to match GPU/CPU order). Storage also has top indicator even though I cannot find another info to display

Oh i got what you meant now, sorry. Currently both indicate showing the same info, the percentage (both mem & storage). I still don't get what you mean in

displaying the percentage and maximum memory in the big text and not small.

How would you show it in the big text ? I think i will choose the 1st option, remove the 2nd indicator but keep the small text.
image

@Markus328
Copy link
Contributor

Markus328 commented Dec 9, 2025

How would you show it in the big text ? I think i will choose the 1st option, remove the 2nd indicator but keep the small text.
image

I accord the info may be confusing, it should be better to just hide the top indicator instead of displaying two infos at once,as you did

tmih06 and others added 4 commits December 9, 2025 15:19
- Add config options to show/hide Battery, GPU, CPU, Memory, Storage
- Make dashboard responsive based on number of visible resources
- Scale resource sizes and spacing dynamically for 3, 4, or 5 items
- Battery shows charge status and time remaining/to full
- Each resource can be individually toggled via config
Ensures the rightmost resource always has proper margin to prevent
content from being cut off at the edge
@tmih06 tmih06 changed the title feat(dashboard): add configurable performance resources controlcenter: add settings for dashboard along with a new configurable performance resources Jan 9, 2026
@tmih06
Copy link
Contributor Author

tmih06 commented Jan 9, 2026

Update on Jan 4, 2026: updated to match the new control center

recording_20260109_08-29-27.mp4

@soramanew
Copy link
Collaborator

It feels a bit weird that only some indicators have the top indicator and others don't. Maybe we need to rethink the performance panel completely?

@tmih06
Copy link
Contributor Author

tmih06 commented Jan 14, 2026

It feels a bit weird that only some indicators have the top indicator and others don't. Maybe we need to rethink the performance panel completely?

How about 1 indicator that cover the whole circle ?

@soramanew
Copy link
Collaborator

We can try it out ig

Also try to show more in less space with that control center page. Those sliders don't need to extend the entire page, and neither do those toggles. Try play around with the layout until it feels more like the taskbar page

@tmih06
Copy link
Contributor Author

tmih06 commented Jan 15, 2026

@soramanew I have come up with this design, how do you feel
image

  • CPU & GPU: The background visualize the usage and the small indicator visual temp
  • Storage: Hover mouse over the indicator will change the percentage value into usage/total
image
  • This storage gauge can hold max to 5 disks info and indicators size are responsive to the count
  • I making this on my PC, i will make a battery bar vertically on the very right side for laptop soon, this design did not come with the configurable, you can check it here
  • Im thinking about implementing a network metric
  • If this doesn't look good to you, give me some suggestion !
recording_20260116_00-02-07.mp4

@tmih06
Copy link
Contributor Author

tmih06 commented Jan 16, 2026

Here is how it is on a laptop without external gpu and only 1 nvme
image
image

The weirdest one probably the storage lol

tmih06 and others added 3 commits January 16, 2026 07:38
* dashboard/performance: rework tab with card-based grid layout

- Replace circular arc meters with card-based grid layout
- CPU/GPU cards show hardware name, usage and temperature with horizontal bars
- Memory card with 3/4 arc indicator and used/total at bottom
- Storage card shows physical disks from lsblk with aggregated partition usage
- Add cpuName, gpuName, cpuFreq, cpuMaxFreq, disks properties to SystemUsage
- Clean hardware names (remove Intel/AMD/NVIDIA prefixes, TM/R symbols)

* dashboard/performance: new hero card design

* dashboard/performance: update storage indicators to be reponsive to the physical disks count

* dashboard/performance: fix the overlay bounding issue

* dashboard/perfromance: refactor code

* dashboard/performance: add battery gauge

* dashboard/performance: correct battery icon

* dashboard/performance: configurable battery
@tmih06
Copy link
Contributor Author

tmih06 commented Jan 16, 2026

update usage text
image
image

@tmih06 tmih06 changed the title controlcenter: add settings for dashboard along with a new configurable performance resources dashboard/performance: new design, configurable, controlcenter support Jan 16, 2026
@soramanew
Copy link
Collaborator

Network metrics (e.g. download/upload) sounds good

@DRKCTRLDEV
Copy link

This looks Great, been looking at different setups and this looks Brill.. Don't know abt the storage when there's only 1 drive though 😆 ... I'm definitely going to have to give Caelestia a go sometime.. really active community from the looks of it..

@tmih06
Copy link
Contributor Author

tmih06 commented Jan 26, 2026

Can you review this pr @soramanew @atdma

@soramanew
Copy link
Collaborator

The network graph still doesn't move smoothly?

Also you should add a minimum size for the panel so it doesn't get too small like this.

image

And add a placeholder when users disable all the modules so this doesn't happen.

image

@tmih06
Copy link
Contributor Author

tmih06 commented Jan 28, 2026

The network graph still doesn't move smoothly?

Also you should add a minimum size for the panel so it doesn't get too small like this.
image

And add a placeholder when users disable all the modules so this doesn't happen.
image

oh i thought u meant the network graph wont jump when the last frame of the graph have bigger data points, will fix !

@tmih06
Copy link
Contributor Author

tmih06 commented Jan 30, 2026

i don't really found a good way to make the network graph move smoothly, also i think that animate the network graph would increase power usage massively

@PixelKhaos
Copy link
Contributor

i don't really found a good way to make the network graph move smoothly, also i think that animate the network graph could improve power usage massively

It's really just that you can update it as you do, but outside of the bounds of the box, and then animation just slides to the left to become right aligned again, it wouldn't really increase power usage much but if you're worried about it maybe dont update it when not visible

* fix: network graph move smoothly

* clean up
@tmih06
Copy link
Contributor Author

tmih06 commented Jan 31, 2026

i did it guys 🎉

recording_20260131_14-47-48.mp4

@PixelKhaos
Copy link
Contributor

i did it guys 🎉

Might be a bit nitpicky here, but what if you made the animation duration of it as long as the time for each tick?
That way it might look a lot more continously updating rather than per tick?

@tmih06
Copy link
Contributor Author

tmih06 commented Jan 31, 2026

i did it guys 🎉

Might be a bit nitpicky here, but what if you made the animation duration of it as long as the time for each tick? That way it might look a lot more continously updating rather than per tick?

Here you go

recording_20260131_17-43-36.mp4

@soramanew
Copy link
Collaborator

Some issues I found:

The network looks weird when it is collecting data. The values should be there as well with default values (e.g. 0).
Also the vertical and horizontal padding for the entire tab are different. They should be equal.
image

Also the icons and values should not be that far apart. The history one is also kinda unclear on what it is (my guess is average over history?)
image

@soramanew
Copy link
Collaborator

Also please merge main into this and fix the merge conflicts

@tmih06
Copy link
Contributor Author

tmih06 commented Feb 8, 2026

Also the icons and values should not be that far apart. The history one is also kinda unclear on what it is (my guess is average over history?)

It is current session total

@tmih06 tmih06 force-pushed the feature/configurable-performance-resources branch from a115c90 to 2fe9407 Compare February 8, 2026 13:34
@tmih06 tmih06 force-pushed the feature/configurable-performance-resources branch from 2fe9407 to f10b54c Compare February 8, 2026 13:39
@tmih06
Copy link
Contributor Author

tmih06 commented Feb 8, 2026

@soramanew i have resolved the merge conflict and fixed all the inssues
image

@soramanew soramanew merged commit 46174d1 into caelestia-dots:main Feb 19, 2026
@YanamiRei
Copy link
Contributor

YanamiRei commented Feb 19, 2026

image

I think the text width should be limited so that it doesn't look like the one on the left

also, are the ... supposed to be there?
image

@tmih06
Copy link
Contributor Author

tmih06 commented Feb 19, 2026

image

I think the text width should be limited so that it doesn't look like the one on the left

also, are the ... supposed to be there?

image

Yeah i have no device that have that long name so this is an edge case

The "..." supposed to be how long the battery gonna last when unplugged and how long to full when plugged. It is calculated the same way as the one on the sidebar

xgui4 pushed a commit to xgui4/caelestia-shell that referenced this pull request Feb 23, 2026
caelestia-dots#975)

* feat(dashboard): add configurable performance resources

- Add config options to show/hide Battery, GPU, CPU, Memory, Storage
- Make dashboard responsive based on number of visible resources
- Scale resource sizes and spacing dynamically for 3, 4, or 5 items
- Battery shows charge status and time remaining/to full
- Each resource can be individually toggled via config

* fix(dashboard): add dynamic right margin for last visible resource

Ensures the rightmost resource always has proper margin to prevent
content from being cut off at the edge

* fix(performance): comment out duplicated value2 properties for memory and storage resources

* controlcenter: add settings for dashboard

* feat: handle readonly properties and re-usable codes

* Feature/performance tab rework (caelestia-dots#5)

* dashboard/performance: rework tab with card-based grid layout

- Replace circular arc meters with card-based grid layout
- CPU/GPU cards show hardware name, usage and temperature with horizontal bars
- Memory card with 3/4 arc indicator and used/total at bottom
- Storage card shows physical disks from lsblk with aggregated partition usage
- Add cpuName, gpuName, cpuFreq, cpuMaxFreq, disks properties to SystemUsage
- Clean hardware names (remove Intel/AMD/NVIDIA prefixes, TM/R symbols)

* dashboard/performance: new hero card design

* dashboard/performance: update storage indicators to be reponsive to the physical disks count

* dashboard/performance: fix the overlay bounding issue

* dashboard/perfromance: refactor code

* dashboard/performance: add battery gauge

* dashboard/performance: correct battery icon

* dashboard/performance: configurable battery

* dashboard/performance: update layout

* dashboard/performance: move the "Usage" text on top and smaller the font size

* dashboard/performance: add a lot of configurations

* dashboard/performance: add network metrics

* fix: issue with hot reload

* chore: update default vaule for mainValueSpacing to 0

* chore: group settings into collapasible sections

* chore: making GPU & Battery toggle not showing if not found

* chore: fix network widget spacing & text

* chore: remove old disk bars configs, add update interval

* chore: remove old & unused value, functions

* chore: network graph update smoothly when data points change

* chore: refactor settings

- de-flood settings, most of the font & size setting now follow the
global Appearance config
- Most of sliders are not needed anymore, only keep the update interval
slider
- clean up

* chore: remove readonly properties from the controlcenter/dashboard.

* chore: minor fix

* fix: fix warning about onPercChange()

* fix: network metrics negative number

* fix: add minimal height & width, placeholder for none toggled

* fix: network graph move smoothly (caelestia-dots#6)

* fix: network graph move smoothly

* clean up

* fix: graph animation even more smooth

* fix: padding issue

* chore: network icons short description

* fix

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
xgui4 pushed a commit to xgui4/caelestia-shell that referenced this pull request Feb 23, 2026
caelestia-dots#975)

* feat(dashboard): add configurable performance resources

- Add config options to show/hide Battery, GPU, CPU, Memory, Storage
- Make dashboard responsive based on number of visible resources
- Scale resource sizes and spacing dynamically for 3, 4, or 5 items
- Battery shows charge status and time remaining/to full
- Each resource can be individually toggled via config

* fix(dashboard): add dynamic right margin for last visible resource

Ensures the rightmost resource always has proper margin to prevent
content from being cut off at the edge

* fix(performance): comment out duplicated value2 properties for memory and storage resources

* controlcenter: add settings for dashboard

* feat: handle readonly properties and re-usable codes

* Feature/performance tab rework (caelestia-dots#5)

* dashboard/performance: rework tab with card-based grid layout

- Replace circular arc meters with card-based grid layout
- CPU/GPU cards show hardware name, usage and temperature with horizontal bars
- Memory card with 3/4 arc indicator and used/total at bottom
- Storage card shows physical disks from lsblk with aggregated partition usage
- Add cpuName, gpuName, cpuFreq, cpuMaxFreq, disks properties to SystemUsage
- Clean hardware names (remove Intel/AMD/NVIDIA prefixes, TM/R symbols)

* dashboard/performance: new hero card design

* dashboard/performance: update storage indicators to be reponsive to the physical disks count

* dashboard/performance: fix the overlay bounding issue

* dashboard/perfromance: refactor code

* dashboard/performance: add battery gauge

* dashboard/performance: correct battery icon

* dashboard/performance: configurable battery

* dashboard/performance: update layout

* dashboard/performance: move the "Usage" text on top and smaller the font size

* dashboard/performance: add a lot of configurations

* dashboard/performance: add network metrics

* fix: issue with hot reload

* chore: update default vaule for mainValueSpacing to 0

* chore: group settings into collapasible sections

* chore: making GPU & Battery toggle not showing if not found

* chore: fix network widget spacing & text

* chore: remove old disk bars configs, add update interval

* chore: remove old & unused value, functions

* chore: network graph update smoothly when data points change

* chore: refactor settings

- de-flood settings, most of the font & size setting now follow the
global Appearance config
- Most of sliders are not needed anymore, only keep the update interval
slider
- clean up

* chore: remove readonly properties from the controlcenter/dashboard.

* chore: minor fix

* fix: fix warning about onPercChange()

* fix: network metrics negative number

* fix: add minimal height & width, placeholder for none toggled

* fix: network graph move smoothly (caelestia-dots#6)

* fix: network graph move smoothly

* clean up

* fix: graph animation even more smooth

* fix: padding issue

* chore: network icons short description

* fix

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants