docs: link contribution guide in README
This commit is contained in:
1 file changed
+48
-32
@@ -33,12 +33,19 @@
|
||||
</figure>
|
||||
<br>
|
||||
|
||||
## 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`
|
||||
|
||||
<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>
|
||||
## 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
|
||||
Reference in new issue
Block a user