Skip to content

jimallen/quickshell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quickshell Bar for Hyprland

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.

Quickshell Bar QML

Preview

Bar Preview

Features

  • 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

Dependencies

  • Quickshell - The shell framework
  • Hyprland - Wayland compositor
  • nmcli - WiFi management
  • bluetoothctl - Bluetooth management
  • powerprofilesctl - Power profile switching
  • swaync / swaync-client - Notification daemon with DND support
  • wpctl / pactl - Audio control
  • hyprctl - Hyprland IPC
  • jq - JSON parsing
  • A Nerd Font - For icons (Material Design Icons range recommended)

Included

  • scripts/weather.py - Weather data script (outputs JSON with waybar-compatible format). Uses weather.com and auto-detects location via IP. Requires pyquery (pip install pyquery).

Installation

  1. Install Quickshell following the official guide

  2. Clone this repository:

    git clone https://github.com/yourusername/quickshell-config.git ~/.config/quickshell
  3. Start Quickshell:

    quickshell
  4. (Optional) Add to your Hyprland config to start on login:

    exec-once = quickshell

Configuration

Theme

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"
}

Adding Widgets

See CLAUDE.md for detailed documentation on the architecture and how to create new widgets.

File Structure

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

Key Patterns

  • 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

Credits & Inspiration

  • quickshell-btw by Tony Banters - Major inspiration for this configuration
  • Quickshell - The amazing shell framework by outfoxxed
  • Hyprland - The dynamic tiling Wayland compositor

License

MIT License - Feel free to use, modify, and distribute.

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

About

No description, website, or topics provided.

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors