ITADN

[Feature Request] Customization: conditional formatting, alert rules, layout presets, CSV export, scriptable widgets

#3255Openherrothere29 创建于 2026-05-30
H
herrothere29commented
## Summary A set of customization features that would let power users tailor Stats more aggressively. Filing together since they're thematically related; happy to split if maintainers prefer. > Note: #3210 (closed) briefly touched threshold colors as part of the Liquid Glass widget rework. This issue is broader — applying conditional formatting and alerting across *all* modules, not just the new widgets. ## Requested features ### Conditional formatting per module Let users define rules like: - CPU > 80% → icon turns red - RAM pressure > 70% → icon pulses - Network upload > 50 MB/s → icon turns yellow Today colors are hardcoded per module. A simple rules UI (metric, comparison, threshold, color/style) would unlock a lot of customization without much code. ### Custom alert rules / notifications Trigger a macOS notification when: - GPU > X% for Y minutes - Battery temperature > Z°C - Disk free space < N GB - Any sensor crosses a user-defined bound Rules-based, user-defined thresholds. Useful for spotting issues without staring at the menu bar. ### Layout presets Let users save the current module configuration as a named preset and swap between them quickly: - "Gaming" → GPU, CPU temp, fans, network - "Dev" → CPU per-core, RAM pressure, disk I/O - "Presentation" → minimal / battery only Quick-swap via menu bar dropdown or hotkey. Saves the tedious "I want to change my whole layout" flow. ### CSV / JSON export of historical data Stats already keeps a rolling history for charts. Letting users export it (per module, time range, format) would enable: - Performance analysis across sessions - Sharing diagnostics in bug reports - Feeding data into other tools (Grafana, spreadsheets) Simple "Export…" button in each module's settings. ### Reorderable popover sections via drag Within a popover, let users drag sections (e.g. processes list, sensors, charts) to reorder them. Today the layout is fixed per module. ### Scriptable widgets Let users write a small Swift snippet or shell command that returns a value/string for a custom menu bar slot. Lets power users surface anything Stats doesn't natively support (Docker container count, GitHub notifications, etc.) without forking. Could be sandboxed similarly to Übersicht or BitBar/SwiftBar — Stats wouldn't need to compete with those, just allow lightweight one-off scripts in its own bar. ## Why these together All five are about giving users levers without bloating defaults. The current Stats UX is good for the default case; these would help the long tail of users who want it to fit their specific workflow.
0 条评论