Logo

Sparkles A hackable shell for Hyprland Powered by Fabric Sparkles

GitHub stars Hyprland Maintained Discord


Home Screen:

fabric

Lock Screen:

fabric

Installation

Caution

  • You need a working installation of hyprland and knowledge of how it works
  • There may not be all packages in your system install them accordingly
git clone https://github.com/S4NKALP/Modus ~/.config/Modus
cd ~/.config/Modus
./install.sh

Tip

Post Installation

  • Install recommended Icon theme , GTK theme and Cursor Theme
  • Check config/hypr/modus.conf edit it according to your device and copy it to your hyprland config
  • For Lock Screen Bind keys to uv run lock

Rocket Todo

Configuration

Config files are in config/ directory, using TOML format:

File Purpose
config/config.toml Main app configuration (including Switcher & Live Preview settings)
config/mods.toml Custom mod definitions
config/launcher.toml Launcher settings
config/dock.toml Dock pinned apps

Custom Mods

Define panel buttons that run commands or show dropdowns in config/mods.toml:

[Mods.terminal]
icon = "terminal.svg"
icon-size = 16
order = 1
on-clicked = "kitty"

[Mods.color-picker]
icon = "misc/color-picker.svg"
icon-size = 22
order = 0
on-left = "hyprpicker -a -n -f hex && sleep 0.1 && ..."
on-middle = "hyprpicker -a -n -f rgb && sleep 0.1 && ..."
on-right = "hyprpicker -n -f hsv | wl-copy -n && sleep 0.1 && ..."
  • icon — SVG filename in src/assets/icons/
  • icon-size — defaults to 16
  • order — button position (lower = first)
  • on-clicked — shell command on any click
  • on-left, on-middle, on-right — per-mouse-button commands (optional)
  • options — dropdown menu entries (optional, each with label + on-clicked)
  • Supports &&, |, and full shell syntax (runs via sh -c)
  • File monitoring enables live reload — edit mods.toml and changes apply instantly

Manual Installation

paru -S uv fabric-cli-git cliphist gnome-bluetooth-3.0 slurp ffmpeg hypridle hyprsunset hyprpicker hyprshot grim libnotify matugen-bin playerctl gtk-session-lock awww apple-fonts swappy wl-clipboard webp-pixbuf-loader wf-recorder acpi brightnessctl power-profiles-daemon uwsm cinnamon-desktop ddcutil at-spi2-core gcc make pkgconf appmenu-gtk-module libdbusmenu-gtk3 libdbusmenu-qt5 meson ninja wayland-protocols --needed
git clone https://github.com/S4NKALP/Modus ~/.config/Modus
cd ~/.config/Modus
uv sync

# Compile the high-performance App Switcher C-backend
cd src/window/switcher/app-capture
meson setup builddir
meson compile -C builddir
cd ../../../..

# Compile the Global Menu Button shim
cd src/globalmenu
gcc -shared -fPIC -O2 -o libmenu_button_shim.so libmenu_button_shim.c $(pkg-config --cflags --libs gtk+-3.0) -ldl
cd ../..

uv run start

Roadmap

  • Launcher
  • Lock Screen
  • Dock
  • Notification
  • Control Center
  • Music Player
  • Desktop Widgets
  • New Launcher (like Spotlight)
  • Settings
  • Magnifier hover effect on Dock
  • New Application Switcher (with high-performance Live Wayland Previews via custom C-backend)
  • Built-in Screen Capture & Screen Recording Widget
  • Panel Widget
  • MacOS like Widget
  • Expandable Notification Centre
  • Installation Script
  • Migrate to a uv managed Python virtual environment
  • To-do List Widget
  • Proper Documentation
  • Pomodoro Timer Widget

Team

Special Thanks

A big thank you to the following people for their incredible help with code and creative ideas. Your help made a real difference!

  • darsh: for creating Fabric, which made everything possible.
  • gummy bear album: for sharing fantastic code snippets that saved me time and effort.
  • axenide: for the amazing config that not only inspired parts of mine but also provided some gems I couldn’t resist borrowing.
  • E3nviction: for code snippets and ideas that were incredibly helpful.

I truly appreciate your support

V1.0.0
Latest
2026-07-12 12:39:17 +00:00
Languages
Python 91.3%
CSS 4.6%
C 1.9%
Shell 1.3%
Lua 0.6%
Other 0.3%