3.4 KiB
3.4 KiB
Project: QuickShell KDE Widget Suite
Architecture
Production-grade modular QuickShell UI framework integrating with KDE Plasma DBus services, custom Dracula Pro dynamic theme engine, glassmorphic styling, top status bar, bottom floating dock, and interactive overlay panels (Quick Settings, App Launcher, MPRIS, OSDs, Notification Center).
Milestones
| # | Name | Scope | Dependencies | Status |
|---|---|---|---|---|
| 1 | Master Spec | Document DBus endpoints, QuickShell QML architecture, theme schemas, component specs in QUICKSHELL_KDE_MASTER_SPEC.md |
none | DONE |
| 2 | Theme Engine & Glassmorphism | ThemeManager.qml, Dracula Pro palette engine (Blade, Buffy, Chrome, Lincoln, Morbius, Van Helsing), blur/glass styling, dynamic switching |
M1 | DONE |
| 3 | Bars & Docks | Top Status Bar (workspaces, task title, metrics, clock, tray) & Bottom Dock (task tracking, launchers, animations) | M2 | IN_PROGRESS |
| 4 | Backend Services & Overlays | Quick Settings, App Launcher, MPRIS Controller, Notification Center & OSDs with 1:1 KDE DBus bindings | M2, M3 | PLANNED |
| 5 | E2E Testing & Hardening | Opaque-box E2E test runner, unit tests, QML syntax verification (quickshell --check / qmlfmt), adversarial hardening |
M1-M4 | PLANNED |
Interface Contracts
Theme Engine ↔ UI Components
ThemeManager: Singleton exposingcurrentTheme,palette(colors: background, surface, foreground, selection, accents: red, orange, yellow, green, cyan, purple, pink),glassproperties (blurRadius, opacity, borderOpacity, shadow), andsetTheme(themeName).
Services ↔ System DBus Wrappers
NetworkService: DBusorg.freedesktop.NetworkManagerwrapper for Wi-Fi SSID listing, connection toggling, Ethernet status.AudioService:WirePlumber/ PipeWire DBus wrapper for volume control, sink/source switching, mute status.MprisService:org.mpris.MediaPlayer2wrapper for player discovery, metadata, playback state, position, track controls.NotificationService:org.freedesktop.Notificationsserver implementation or DBus listener with history, notification categorization, OSD signals.PowerService: Battery status, power profiles (power-profiles-daemonor KDE PowerManagement), session management (Lock, Suspend, Reboot, Shutdown).WorkspaceService: KWin DBus wrapper (org.kde.KWin) for virtual desktop listing, switching, active window title/class tracking.
Code Layout
QUICKSHELL_KDE_MASTER_SPEC.md: Master Architecture & DBus Referenceshell.qml: Main QuickShell entry pointtheme/: Theme Engine (ThemeManager.qml,DraculaPro.qml, palette definitions)services/: Backend DBus wrappers and singletons (NetworkService.qml,AudioService.qml,MprisService.qml,NotificationService.qml,WorkspaceService.qml,PowerService.qml,BrightnessService.qml)components/: UI building blocks (GlassPanel.qml,IconButton.qml,Slider.qml,MeterBar.qml,Badge.qml)bar/: Top Status Bar (TopBar.qml,WorkspaceSwitcher.qml,WindowTitle.qml,SystemMetrics.qml,ClockWidget.qml,TrayWidget.qml,MprisSnippet.qml)dock/: Bottom Floating Dock (BottomDock.qml,DockItem.qml,WindowTracker.qml)overlays/: Interactive Overlay Windows & Popups (QuickSettingsPopup.qml,AppLauncher.qml,MprisPlayer.qml,NotificationCenter.qml,VolumeOSD.qml,BrightnessOSD.qml)tests/: Automated test suite, test runner script, unit tests, E2E test harness