Files
s0wlz (Matthias Puchstein) d5d890aa43 quickshell: add systemd service and system popout update/ALHP status improvements
- Add quickshell.service for systemd --user autostart
- Add ALHP status indicators (good/stale/building) with color-coded icons
- Make updates and ALHP building rows expandable with animated chevron
- Capture full checkupdates package list for expand drawer
- Parse alhp.utils packages array for ALHP expand drawer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 23:44:23 +02:00
..

Quickshell Desktop Shell

A vertical bar + popout panel shell for Hyprland, built with Quickshell v0.2.x and themed with Catppuccin.

Setup

quickshell   # launch (reads from ~/.config/quickshell/)

Quickshell hot-reloads on file save. If it crashes: killall quickshell && quickshell &

Configuration

All user settings live in shared/Config.qml. Edit this file to customize your setup:

Setting Default Description
catppuccinFlavor "mocha" Color theme: "mocha", "macchiato", "frappe", "latte"
transparency true Semi-transparent bar/popouts (requires Hyprland layerrules below)
monitor "DP-1" Which monitor to display the bar on
workspaceCount 5 Number of workspace indicators
weatherLocation "Munich" City name for wttr.in weather data
useCelsius true Temperature unit (false for Fahrenheit)
use24h true Clock format (false for 12-hour)
weekStartsMonday true Calendar week start day
diskMount1 / diskMount2 "/" / ~/data Disk mounts shown in system popout
idleProcess "hypridle" Idle daemon to toggle
lockCommand "hyprlock" Lock screen command

Hyprland Layerrules (required for blur/transparency)

Add to your hyprland.conf:

# Enable blur on all Quickshell windows
layerrule = match:namespace quickshell:.*, blur on
layerrule = match:namespace quickshell:.*, ignore_alpha 0.79

The shell registers these namespaces:

Namespace Window
quickshell:bar The main bar panel
quickshell:popout Popout overlay (notifications, media, weather, etc.)
quickshell:osd Volume/brightness OSD
quickshell:notifications Toast notification popups
quickshell:idle Idle screen overlay

To target specific windows, replace quickshell:.* with the exact namespace:

# Only blur the bar, not popouts
layerrule = match:namespace quickshell:bar, blur on
layerrule = match:namespace quickshell:bar, ignore_alpha 0.79

If you set transparency: false in Config.qml, layerrules are not needed.

Dependencies

  • Hyprland — compositor
  • PipeWire — audio control
  • lm_sensors (sensors) — CPU temperature
  • Nerd Fonts (Inconsolata Go Nerd Font) — all icons
  • hyprlock / hypridle / hyprshutdown — lock, idle, power
  • brightnessctl — brightness OSD (optional, auto-detected)
  • wf-recorder — screen recording (optional)
  • hyprpicker — color picker (optional)