sankalp be308191c5 feat(src/window/panel): add persistent battery, network and bluetooth indicators with visibility handling and improve dropdown and config-driven layout logic
The refactor introduces persistent indicator widgets and updates how visibility and layout are managed based on configuration changes.

New Features
- Added BatteryIndicator, NetworkIndicator and BluetoothIndicator as persistent panel children.
- Implemented visibility toggling for each indicator according to configuration and battery presence.
- Added debug prints when an indicator’s visibility changes or a battery is not detected.

Enhancements
- Updated dropdown actions to use `get_about_window()` and `get_settings_window()` for About and System Settings entries.
- Switched layout rebuilding to use `get_config_all()` and now only rebuilds when specific keys actually change.
- Removed manual recreation of indicators; visibility is controlled via `show()`/`set_visible()`.
- Consolidated changed‑key detection and added logging of rebuild reasons.
- Streamlined config key checks to use `config_data.get(..., True)`.

Bug Fixes
- Fixed BatteryIndicator to hide and log when no battery is detected.
- Corrected use of `config_data.get()` with appropriate fallback values.
- Updated layout updates to use `show()` and trigger a resize queue instead of `show_all()`.
2026-05-03 22:06:42 +05:45
2026-04-25 08:30:03 +05:45
2025-09-01 12:39:28 +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

Manual Installation

paru -S fabric-cli-git gtk-session-lock uv apple-fonts cinnamon-desktop hyprshot hypridle hyprpicker grim slurp gnome-bluetooth-3.0 cliphist matugen-bin awww swappy wl-clipboard webp-pixbuf-loader acpi wf-recorder brightnessctl power-profile-daemon uwsm libnotify playerctl ffmpeg --needed
git clone https://github.com/S4NKALP/Modus ~/.config/Modus
cd ~/.config/Modus
uv sync
uv run start
  • 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
  • Migrate to a uv managed Python virtual environment
  • 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%