sankalp 34cfb2f49e feat(root): add keyboard layouts, OSDWindow, and update services & utilities
Introduce a new OSDWindow implementation, expose keyboard layout configuration, and modernize dependency handling and helper utilities.

- **New Features**
  - Added `keyboard_layouts` list (`us`, `np`) to `config.json`
  - Created `OSDWindow` class and updated `main.py` to use it
  - Introduced new service modules (`battery`, `brightness`, `capslock`, `network`, `mpris`, `todo`, `modus`) and expanded `services/__init__.py`
  - Added `CommandResult` and `run_command` helper in `utils/functions.py`

- **Enhancements**
  - Upgraded numerous dependencies to newer versions and switched `fabric` to a git source
  - Replaced bare `except:` with `except Exception:` in `WiFiPasswordDialog`
  - Improved type hints (`NamedTuple`, `TypeVar`) and refactored JSON file helpers
  - Added property notifications for battery percentage, state, and presence

- **Bug Fixes**
  - Fixed incorrect return type annotation in `read_json_file`
  - Corrected tick‑handler logic to avoid double registration
  - Properly notify listeners on battery property changes
  - Ensured proper exception handling and cleanup in utility functions
2026-03-23 23:33:53 +05:45
2026-02-28 19:40:01 +05:45
2025-09-01 12:39:28 +05:45
2025-08-14 10:15:41 +05:30
2025-09-01 12:39:28 +05:45
2025-09-01 12:39:28 +05:45
2026-02-28 19:40:01 +05:45
2026-02-28 19:40:01 +05:45
2025-09-01 12:39:28 +05:45
2026-02-28 19:40:01 +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 python lock.py

Rocket Todo

Manual Installation (WIP)

paru -S glace-git gtk-session-lock python-pyotp python-pillow python-ijson python-setproctitle apple-fonts cinnamon-desktop --needed
git clone https://github.com/S4NKALP/Modus ~/.config/Modus
cd ~/.config/Modus
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install --no-deps git+https://github.com/Fabric-Development/fabric.git
  • Launcher
  • Lock Screen
  • Dock
  • Notification
  • Control Center
  • Music Player
  • Desktop Widgets
  • New Launcher (like Spotlight)
  • Settings
  • Magnifier hover effect on Dock
  • New Application Switcher
  • Panel Widget
  • MacOS like Widget
  • Expandable Notification Centre
  • Installation Script
  • Proper Documentation
  • Pomodoro Timer Widget
  • To-do List Widget

Bug Fixes (the bug found till now)

  • WiFi
  • wifi off button looks bigger
  • Metadata Changes delay in Media Player
  • Active Window Title showing Unknown when no active window
  • Notification Escape Char Issue

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%