How muddyblack/kde-glassy-system-monitor works
Glassy System Monitor is a configurable desktop system-monitor widget for KDE Plasma and Hyprland. Users choose and arrange metric sections in a studio, preview looks using live or demo data, and view the resulting dashboard; a separate network window explores connections, traffic history, interfaces, containers, and threat checks. The graph preserves those distinct product areas and the probe, model, configuration, and chart layers. Many UI files are not excerpted, so documented capabilities are represented at subsystem level and uncertain implementation links are omitted.
Main entry points: Studio.qml Studio editor · NetworkWindow.qml Network window · MonitorView.qml Monitor widget · Probes.js System probes
Components 27
Monitor dashboard
- Monitor widget
package/contents/ui/MonitorView.qml - Section catalogue
package/contents/ui/Sections.js - Metric sections
package/contents/ui
Metrics and probes
- Monitor core
package/contents/ui/MonitorCore.qml - System probes
package/contents/ui/Probes.js - Sensor backend
package/contents/ui/SensorBackend.qml - Sensor readings
package/contents/ui/SensorReadings.qml - Demo data
package/contents/ui/DemoData.js
Configuration studio
- Studio editor
package/contents/ui/studio/Studio.qml - Settings schema
package/contents/ui/studio/Schema.js - Looks and presets
package/contents/ui/studio/Looks.js - Live preview
package/contents/ui/studio/PreviewPane.qml - Hyprland config
hyprland/Configuration.js
Network analysis
- Network window
package/contents/ui/network/NetworkWindow.qml - Network service
package/contents/ui/network/NetworkService.qml - Connection model
package/contents/ui/network/NetModel.js - Traffic history
package/contents/ui/network/NetHistory.js - Threat checks
package/contents/ui/network/Threats.js - Capture integration
package/contents/ui/network/Wireshark.js - Browser tab parser
package/contents/ui/network/BrowserTabs.mjs
Charts and appearance
- Chart renderer
package/contents/ui/diagram/Diagram.qml - Chart data
package/contents/ui/diagram/DiagramData.js - Studio theme
package/contents/ui/studio/Theme.js
Other components
- Desktop user
- Public blocklists
- Wireshark
- System and OS
Connections 30
- Desktop user → Monitor widget: views
README.md - Desktop user → Studio editor: configures
README.md - Studio editor → Live preview: previews
- Live preview → Monitor widget: renders
- Monitor widget → Section catalogue: selects sections
- Section catalogue → Metric sections: defines
package/contents/ui/studio/Schema.js - Monitor widget → Monitor core: reads metrics
- Monitor core → System probes: uses probes
- Monitor core → Sensor backend: reads sensors
- Sensor backend → Sensor readings: provides readings
- Demo data → Live preview: feeds demo data
- Studio editor → Settings schema: edits settings
package/contents/ui/studio/Schema.js - Studio editor → Looks and presets: selects looks
- Hyprland config → Looks and presets: uses look keys
hyprland/Configuration.js - Hyprland config → Section catalogue: parses sections
hyprland/Configuration.js - Desktop user → Network window: opens
README.md - Network window → Network service: requests network data
- Network service → Connection model: updates model
- Connection model → System probes: uses probe helpers
package/contents/ui/network/NetModel.js - Connection model → Browser tab parser: uses parser
package/contents/ui/network/NetModel.js - Network window → Traffic history: records traffic
- Network window → Threat checks: shows checks
- Threat checks → System probes: uses probe helpers
package/contents/ui/network/Threats.js - Threat checks → Public blocklists: optionally fetches
README.md - Network window → Capture integration: offers capture
- Capture integration → Wireshark: launches
README.md - Monitor widget → Chart renderer: renders charts
- Chart renderer → Chart data: uses data helpers
- Studio editor → Studio theme: uses palette
- System probes → System and OS: queries system