From 7934267924e17083a1732c0fb2c827142fc63dce Mon Sep 17 00:00:00 2001 From: S4NKALP Date: Sun, 12 Jul 2026 18:40:03 +0545 Subject: [PATCH] docs: link contribution guide in README --- README.md | 80 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 48 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index d29f536..b6bf8ef 100644 --- a/README.md +++ b/README.md @@ -33,12 +33,19 @@
-## Installation +## Links -> [!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 +| Doc | What's inside | +|-----|---------------| +| [Installation Guide](docs/installation.md) | Automated & manual install, dependencies | +| [Configuration Guide](docs/configuration.md) | `config.toml`, `mods.toml`, `dock.toml`, keybinds | +| [Styling Guide](docs/styling.md) | Matugen colors, CSS customization | +| [Architecture Overview](docs/architecture.md) | App Switcher C-backend, Spotlight engine, Services | +| [Spotlight Plugins](docs/plugins.md) | Install/customize plugins, write your own, examples | +| [FAQs & Tips](docs/faqs_tips.md) | Troubleshooting, shortcuts, live reload | +| [Contributing](CONTRIBUTING.md) | Setup, code style, commit conventions | + +## Quick Start ```bash git clone https://github.com/S4NKALP/Modus ~/.config/Modus @@ -54,22 +61,39 @@ cd ~/.config/Modus > - 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

+## Spotlight Plugins + +The spotlight search (Super+D) is powered by plugins. Drop a `.py` file in +`config/plugins/` and it works instantly. + +```bash +cp -r examples/plugins/hello.py config/plugins/hello.py +# Hit Super+D, type "hi" — greeting appears +``` + +Plugin development: +```bash +vim config/plugins/hello.py +fabric-cli exec modus1 'deep_reload hello' # no restart needed +``` + +See [Spotlight Plugins](docs/plugins.md) for full docs and examples. ## Configuration -Config files are in `config/` directory, using TOML format: +Config files in `config/`, 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 | +| File | Purpose | +|------|---------| +| `config.toml` | Main settings (switcher, wallpaper, notifications) | +| `mods.toml` | Custom panel buttons | +| `dock.toml` | Pinned dock apps | + +See [Configuration Guide](docs/configuration.md) for full reference. ## Custom Mods -Define panel buttons that run commands or show dropdowns in `config/mods.toml`: +Define panel buttons in `config/mods.toml`: ```toml [Mods.terminal] @@ -77,24 +101,16 @@ 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 +- `on-clicked` — shell command on click +- `on-left`, `on-middle`, `on-right` — per-mouse-button commands +- `options` — dropdown menu entries (each with `label` + `on-clicked`) +- Full shell syntax (`&&`, `|`) via `sh -c` +- Live reload — edit and changes apply instantly ## Manual Installation @@ -104,13 +120,13 @@ git clone https://github.com/S4NKALP/Modus ~/.config/Modus cd ~/.config/Modus uv sync -# Compile the high-performance App Switcher C-backend +# Compile App Switcher C-backend cd src/window/switcher/app-capture meson setup builddir meson compile -C builddir cd ../../../.. -# Compile the Global Menu Button shim +# Compile Global Menu 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 ../.. @@ -120,14 +136,14 @@ uv run start ## Roadmap -- [x] Launcher +- [x] Spotlight - [x] Lock Screen - [x] Dock - [x] Notification - [x] Control Center - [x] Music Player - [x] Desktop Widgets -- [x] New Launcher (like Spotlight) +- [x] Spotlight - [x] Settings - [x] Magnifier hover effect on Dock - [x] New Application Switcher (with high-performance Live Wayland Previews via custom C-backend) @@ -152,7 +168,7 @@ A big thank you to the following people for their incredible help with code and - [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. +- [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