sankalp 4637799e11 feat(src/window/pomodoro): implement Pomodoro timer widget and integrate it into the panel
Add Pomodoro component with UI controls and state management,
modify Panel to instantiate and cache Pomodoro and TodoList widgets,
hook datetime button to toggle Pomodoro and handle right‑click on todo list,
extend destroy logic to cleanly close Pomodoro and Todo instances.
2026-07-12 09:32:47 +05:45
2025-09-01 12:39:28 +05:45
2026-07-04 06:28:44 +05:45

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%