Every script, service, and configuration file explained.
| Component | Path | Purpose |
|---|---|---|
| Main overlay | quickshell/Main.qml | Master overlay window — hosts all popups, notifications, and widgets |
| Top Bar | quickshell/TopBar.qml | Multi-monitor horizontal bar with workspaces, clock, system tray, volume, battery, network, KB layout |
| Floating Sidebar | quickshell/Floating.qml | Right-edge floating sidebar with quick actions and system stats |
| Lock Screen | quickshell/Lock.qml | 2361-line full-screen lock UI with clock, music player, and PAM auth |
| Config Singleton | quickshell/Config.qml | Shared utilities for all widgets: path resolution, JSON I/O, bash execution |
| Scaler | quickshell/Scaler.qml | Responsive scaling system based on screen width |
| Matugen Colors | quickshell/MatugenColors.qml | Material You color extraction — reads matugen output into QML properties |
| Wallpaper Picker | quickshell/wallpaper/WallpaperPicker.qml | Horizontal wallpaper browser with color filters, video previews, and one-click apply |
| Guide Popup | quickshell/guide/GuidePopup.qml | Keybinding reference, system info, and recent changes changelog |
| Updater Popup | quickshell/updater/UpdaterPopup.qml | Release notes and update button when new version is available |
| App Launcher | quickshell/applauncher/ | Application launcher popup |
| Battery Popup | quickshell/battery/ | Battery status with liquid animations, drag brightness, profile theming |
| Volume Popup | quickshell/volume/ | Volume slider with 150% boost mode, sink selection |
| Network Popup | quickshell/network/ | WiFi toggle, SSID display, connection management |
| Bluetooth Popup | quickshell/network/ | Bluetooth device scanning and connection |
| Calendar/Weather | quickshell/calendar/ | Calendar with weather overlay (requires .env config) |
| Clipboard Manager | quickshell/clipboard/ | Clipboard history browser |
| Music Player | quickshell/music/ | Local MP3 player with playlist navigation |
| Settings Panel | quickshell/settings/ | GUI settings editor for hyprland configuration |
| Notifications | quickshell/notifications/ | Notification center with history |
| Quick Actions | quickshell/quickactions/ | System toggle buttons (WiFi, Bluetooth, Dark Mode, etc.) |
| Focus Timer | quickshell/focustime/ | Pomodoro-style focus timer |
| Movies | quickshell/movies/ | Fun movie/humor popup |
| Monitor Manager | quickshell/monitors/ | Multi-monitor configuration |
| SDDM Theme | SDDM/matugen-minimal/ | QtQuick-based SDDM login theme with wallpaper background |
| Audio Auto-Switch | watchers/audio_autoswitch.sh | Automatically switches audio sink on headphone/BT plug/unplug |
| Battery Watcher | watchers/battery_{fetch,wait}.sh | Battery monitoring, low-battery warnings, 3% auto-suspend |
| Audio Watcher | watchers/audio_{fetch,wait}.sh | Volume level monitoring and OSD triggering |
| Network Watcher | watchers/network_{fetch,wait}.sh | Network connectivity monitoring |
| Bluetooth Watcher | watchers/bt_{fetch,wait}.sh | Bluetooth adapter and device monitoring |
| KB Layout Watcher | watchers/kb_{fetch,wait}.sh | Keyboard layout change detection |
| System Fetcher | watchers/sys_fetcher.sh | CPU%, RAM%, temperature, network rates |
| Init Script | scripts/init.sh | Boot-time wallpaper set, matugen theming, thumbnail cache pruning |
| QS Manager | scripts/qs_manager.sh | IPC router: workspace switching, widget toggle, wallpaper prep |
| Settings Watcher | scripts/settings_watcher.sh | Regenerates configs from templates on settings.json change |
| Update Notifier | scripts/update_notifier.sh | Background daemon: checks GitHub every 10min for updates |
| Screenshot Tool | scripts/screenshot.sh | Full screenshot/recording/QR scanning system with GUI overlay |
| Lock Script | scripts/lock.sh | Screen locker — launches Lock.qml with music player |
| Workspaces | quickshell/workspaces.sh | Hyprland socket listener → /tmp/qs_workspaces.json for top bar |
| Music Controller | quickshell/music_control.sh | Lock screen music playback controller (playlist, next/prev, pause) |