A modern, feature-rich status bar for Hyprland built with Quickshell. Features a clean design with notch-style dropdown popups, weather integration, system monitoring, and more.
- Workspaces: Pill-shaped indicators with workspace numbers and app icons
- Window Info: Current window title display
- Weather Widget: Click-to-open popup with detailed forecast, temperature coloring, hourly rain predictions, and offline caching
- System Stats: CPU, memory, disk usage, volume (with audio sink detection), and battery
- Network: WiFi status with real-time upload/download speeds
- Bluetooth: Device status with connection indicator
- Power Profiles: Quick switching between power modes
- DND Toggle: Do Not Disturb mode via swaync
- Power Menu: Lock, logout, reboot, and shutdown options
- Notch Design: Elegant dropdown popups with concave corner notches connecting to the bar
- Quickshell - The shell framework
- Hyprland - Wayland compositor
nmcli- WiFi managementbluetoothctl- Bluetooth managementpowerprofilesctl- Power profile switchingswaync/swaync-client- Notification daemon with DND supportwpctl/pactl- Audio controlhyprctl- Hyprland IPCjq- JSON parsing- A Nerd Font - For icons (Material Design Icons range recommended)
scripts/weather.py- Weather data script (outputs JSON with waybar-compatible format). Uses weather.com and auto-detects location via IP. Requirespyquery(pip install pyquery).
-
Install Quickshell following the official guide
-
Clone this repository:
git clone https://github.com/yourusername/quickshell-config.git ~/.config/quickshell -
Start Quickshell:
quickshell
-
(Optional) Add to your Hyprland config to start on login:
exec-once = quickshell
Edit Theme.qml to customize colors, fonts, and sizes:
pragma Singleton
import QtQuick
QtObject {
property color colBg: "#1e1e2e"
property color colFg: "#cdd6f4"
property color colMuted: "#6c7086"
// ... more colors
property int fontSize: 13
property string fontFamily: "JetBrainsMono Nerd Font"
}See CLAUDE.md for detailed documentation on the architecture and how to create new widgets.
shell.qml # Main entry point
Theme.qml # Color/font theme singleton
qmldir # QML module definition
components/
├── DropdownWidget.qml # Base for dropdown widgets (with notch design)
├── WorkspaceBar.qml # Workspace indicators
├── WindowInfo.qml # Active window title
├── CenterInfo.qml # Date, DND, weather
├── SystemStats.qml # System monitoring
├── Clock.qml # Time display
├── WifiWidget.qml # WiFi with speeds
├── BluetoothWidget.qml # Bluetooth status
├── PowerProfileWidget.qml # Power profiles
├── PowerWidget.qml # Power menu
├── SlackWidget.qml # Slack indicator
├── WhatsAppWidget.qml # WhatsApp indicator
└── Separator.qml # Visual separator
- Hot Reload: Changes are applied automatically on save
- Process + SplitParser: Shell commands for data fetching
- HyprlandFocusGrab: Click-outside to close popups
- Notch Design: Dropdowns use Canvas-drawn shapes with concave corners
- quickshell-btw by Tony Banters - Major inspiration for this configuration
- Quickshell - The amazing shell framework by outfoxxed
- Hyprland - The dynamic tiling Wayland compositor
MIT License - Feel free to use, modify, and distribute.
Contributions are welcome! Feel free to open issues or submit pull requests.
