2026-01-20 16:59:16 +01:00
2025-12-09 22:37:49 +01:00
2025-12-05 19:45:15 +01:00
2026-01-20 16:59:16 +01:00
2026-01-20 16:59:16 +01:00
2025-12-06 00:04:24 +01:00
2025-11-29 18:49:47 +01:00
2026-01-20 16:59:16 +01:00
2025-12-07 02:16:33 +01:00
2025-12-11 12:57:51 +01:00
2026-01-20 16:59:16 +01:00
2025-11-19 17:01:20 +01:00
2025-11-22 17:33:08 +01:00
2025-12-07 02:16:33 +01:00
2025-12-11 12:57:51 +01:00
2025-12-05 01:25:50 +01:00
2025-12-06 00:04:24 +01:00
2025-11-25 13:01:27 +01:00
2025-11-19 19:50:15 +01:00
2025-12-11 12:57:51 +01:00
2026-01-20 16:59:16 +01:00
2025-12-06 00:04:24 +01:00

# ZShell

A feature-rich desktop shell for Hyprland built with Quickshell and Qt6/QML. Provides a modern, Material Design 3 inspired status bar, application launcher, notification center, wallpaper manager with dynamic color theming, and lock screen.

Features

  • Status Bar - Configurable top panel with workspace indicators, audio controls, system resource monitors (CPU/RAM/GPU), system tray, clock with calendar, and notification bell
  • Application Launcher - Fuzzy search with app frequency tracking, special search prefixes for filtering by category, description, keywords, etc.
  • Notification Center - Full notification daemon with grouped notifications, popups, persistent storage, and Do Not Disturb mode
  • Wallpaper Manager - Browse and select wallpapers with live preview carousel
  • Dynamic Color Theming - Automatic Material Design 3 color palette generation from wallpapers
  • Lock Screen - Secure session lock with PAM authentication
  • Hyprland Integration - Deep integration with Hyprland for workspaces, window focus, keyboard state, and more

Dependencies

  • Qt 6.9+
  • Quickshell
  • Hyprland
  • Python 3 with materialyoucolor and Pillow (for dynamic color generation)
  • PipeWire (for audio)

Installation

cmake -B build -G Ninja
ninja -C build
sudo ninja -C build install

This installs the QML plugin to /usr/lib/qt6/qml.

Configuration

Configuration is stored in ~/.config/z-bar/config.json. Options include:

Option Description
appCount Max apps shown in launcher
wallpaperPath Directory containing wallpapers
baseBgColor / baseBorderColor Fallback colors when dynamic colors disabled
accentColor Custom accent color override
useDynamicColors Enable Material Design 3 theming from wallpaper
barConfig Enable/disable widgets and configure popouts
transparency UI transparency levels
baseFont System font
animScale Animation speed multiplier
gpuType GPU type for resource monitoring (amd, nvidia, intel)

Launcher Search Prefixes

Prefix Filter
>i App ID
>c Categories
>d Description/comment
>e Exec command
>w WM class
>g Generic name
>k Keywords
>t Terminal apps only
> Wallpaper picker

Project Structure

├── shell.qml          # Main entry point
├── Bar.qml            # Status bar
├── Wallpaper.qml      # Wallpaper display layer
├── Components/        # Reusable UI components
├── Config/            # Configuration singletons
├── Modules/           # Main functional modules (Launcher, NotificationCenter, etc.)
├── Daemons/           # Background services (notifications, audio)
├── Helpers/           # Utility singletons
├── Plugins/ZShell/    # Native C++ plugins
└── scripts/           # Helper scripts (color generation, fuzzy search)

License

See repository for license information.

S
Description
No description provided
Readme GPL-3.0 110 MiB
Languages
QML 77.5%
C++ 11.7%
JavaScript 7.3%
Python 2.2%
Nix 0.6%
Other 0.6%