Add detailed configuration documentation in README, describing TOML files, their purpose, and usage. Update the TODO checklist to reflect completed items and remove outdated entries.
152 lines
5.9 KiB
Markdown
152 lines
5.9 KiB
Markdown
<p align="center">
|
||
<img src="src/assets/modus.png" height="200" alt="Logo">
|
||
</p>
|
||
|
||
<p align="center">
|
||
<sub><sup><img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Telegram-Animated-Emojis/main/Activity/Sparkles.webp" alt="Sparkles" width="25" height="25"/></sup></sub>
|
||
<a href="https://github.com/hyprwm/Hyprland">
|
||
<img src="https://img.shields.io/badge/A%20hackable%20shell%20for-Hyprland-0092CD?style=for-the-badge&logo=linux&color=0092CD&logoColor=D9E0EE&labelColor=000000" alt="A hackable shell for Hyprland">
|
||
</a>
|
||
<a href="https://github.com/Fabric-Development/fabric/">
|
||
<img src="https://img.shields.io/badge/Powered%20by-Fabric-FAFAFA?style=for-the-badge&logo=python&color=FAFAFA&logoColor=D9E0EE&labelColor=000000" alt="Powered by Fabric">
|
||
<sub><sup><img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Telegram-Animated-Emojis/main/Activity/Sparkles.webp" alt="Sparkles" width="25" height="25"/></sup></sub>
|
||
</a>
|
||
</p>
|
||
|
||
<div align="center">
|
||
|
||
[](https://github.com/S4NKALP/Modus/stargazers)
|
||
[](https://hyprland.org/)
|
||
[]()
|
||
[](https://discord.gg/tRFxkbQ3Zq)
|
||
|
||
</div>
|
||
|
||
<br>
|
||
|
||
<figure>
|
||
<h2>Home Screen:</h2>
|
||
<img src="src/assets/screenshots/home.png" alt="fabric">
|
||
<br/>
|
||
<h2>Lock Screen:</h2>
|
||
<img src="src/assets/screenshots/lock.png" alt="fabric">
|
||
</figure>
|
||
<br>
|
||
|
||
## 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
|
||
|
||
```bash
|
||
git clone https://github.com/S4NKALP/Modus ~/.config/Modus
|
||
cd ~/.config/Modus
|
||
./install.sh
|
||
```
|
||
|
||
> [!TIP]
|
||
>
|
||
> ## Post Installation
|
||
>
|
||
> - Install recommended [Icon theme](https://github.com/vinceliuice/MacTahoe-icon-theme) , [GTK theme](https://github.com/vinceliuice/MacTahoe-gtk-theme) and [Cursor Theme](https://github.com/vinceliuice/MacTahoe-icon-theme/tree/main/cursors) <br>
|
||
> - 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`
|
||
|
||
<h2><sub><img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Travel%20and%20places/Rocket.png" alt="Rocket" width="25" height="25" /></sub> Todo</h2>
|
||
|
||
## 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`:
|
||
|
||
```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
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
- [x] Launcher
|
||
- [x] Lock Screen
|
||
- [x] Dock
|
||
- [x] Notification
|
||
- [x] Control Center
|
||
- [x] Music Player
|
||
- [x] Desktop Widgets
|
||
- [x] New Launcher (like Spotlight)
|
||
- [x] Settings
|
||
- [x] ~~Magnifier hover effect on Dock~~
|
||
- [x] ~~New Application Switcher~~
|
||
- [x] Panel Widget
|
||
- [x] MacOS like Widget
|
||
- [x] Expandable Notification Centre
|
||
- [x] Installation Script
|
||
- [x] Migrate to a `uv` managed Python virtual environment
|
||
- [ ] Proper Documentation
|
||
- [ ] Pomodoro Timer Widget
|
||
- [x] To-do List Widget
|
||
|
||
## Bug Fixes (the bug found till now)
|
||
|
||
- [x] WiFi
|
||
- [x] wifi off button looks bigger
|
||
- [x] Metadata Changes delay in Media Player
|
||
- [x] Active Window Title showing `Unknown` when no active window
|
||
- [x] Notification Escape Char Issue
|
||
|
||
## Team
|
||
|
||
- [SANKALP](https://github.com/S4NKALP/)
|
||
- [tr1x_em](https://github.com/tr1xem)
|
||
|
||
## 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](https://github.com/its-darsh): for creating Fabric, which made everything possible.
|
||
- [gummy bear album](https://github.com/muhchaudhary): for sharing fantastic code snippets that saved me time and effort.
|
||
- [axenide](https://github.com/Axenide): for the amazing config that not only inspired parts of mine but also provided some gems I couldn’t resist borrowing.
|
||
- [E3nviction](https://github.com/E3nviction/): for code snippets and ideas that were incredibly helpful.
|
||
|
||
I truly appreciate your support
|