4dcfaed69e1eb120bf0c822ec8e76ed82324ffbe
Add @Signal fullscreen_changed(), expose a read‑write fullscreen Property that triggers the signal on change, set its default to False, connect Hyprland’s fullscreen event to update the property, and store it on the service instance.
Home Screen:
Lock Screen:
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.confedit it according to your device and copy it to your hyprland config- For Lock Screen Bind keys to
uv run lock
Todo
Configuration
Config files are in config/ directory, using TOML format:
| File | Purpose |
|---|---|
config/config.toml |
Main app configuration |
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 insrc/assets/icons/icon-size— defaults to 16order— button position (lower = first)on-clicked— shell command on any clickon-left,on-middle,on-right— per-mouse-button commands (optional)options— dropdown menu entries (optional, each withlabel+on-clicked)- Supports
&&,|, and full shell syntax (runs viash -c) - File monitoring enables live reload — edit
mods.tomland changes apply instantly
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 DockNew Application Switcher- Panel Widget
- MacOS like Widget
- Expandable Notification Centre
- Installation Script
- Migrate to a
uvmanaged 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
Unknownwhen 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
Description
A modular and extensible shell for Hyprland, written on Fabric.
arch-linuxarchlinuxdesktopdotfilesdotsdynamic-colorfabricfabric-configfabric-shellgtkgtk-layer-shellhyprlandmaterial-colorsmatugenpythonpython3ricericingunixpornwayland
Readme
GPL-3.0
78 MiB
0 Stars
1 Watchers
0 Forks
