|
1 | 1 | # HyprRice User Guide (v1.0.0) |
2 | 2 |
|
| 3 | +## Table of Contents |
| 4 | +- [Overview](#overview) |
| 5 | +- [Getting Started](#getting-started) |
| 6 | +- [Configuration Tabs](#configuration-tabs) |
| 7 | +- [Advanced Features](#advanced-features) |
| 8 | +- [Troubleshooting](#troubleshooting) |
| 9 | +- [See Also](#see-also) |
| 10 | + |
3 | 11 | ## Overview |
4 | 12 | HyprRice is a comprehensive ricing tool for the Hyprland Wayland compositor ecosystem. It provides a modern GUI, deep integration with Hyprland and related tools, theme management, plugin support, and robust configuration handling. |
5 | 13 |
|
6 | | -## Core Features |
7 | | -- **Modern GUI**: Intuitive PyQt5 interface with live preview |
8 | | -- **Deep Integration**: Configure Hyprland, Waybar, Rofi, notifications, clipboard, lockscreen |
9 | | -- **Theme System**: Switch, preview, import/export themes |
10 | | -- **Plugin System**: Extend functionality with Python plugins and event hooks |
11 | | -- **Safety**: Backup/restore, undo/redo, validation |
12 | | -- **Audit**: Full changelog and configuration history |
13 | | - |
14 | 14 | ## Getting Started |
15 | | - |
16 | | -### Installation |
17 | | -```bash |
18 | | -# Install system dependencies (Arch Linux) |
19 | | -sudo pacman -S hyprland waybar rofi dunst swww grim slurp cliphist hyprlock python-pyqt5 python-yaml |
20 | | - |
21 | | -# Install HyprRice |
22 | | -pip install hyprrice |
23 | | -``` |
24 | | - |
25 | | -### First Launch |
26 | | -1. Run `hyprrice` from your terminal |
27 | | -2. Choose a base theme (minimal, cyberpunk, pastel) |
28 | | -3. Configure basic settings |
29 | | -4. Use live preview to see changes |
| 15 | +- **Installation, Features, and Quick Start:** See the [README](../README.md) for the most up-to-date installation instructions, feature overview, and quick start guide. |
| 16 | +- After installation, launch HyprRice and follow the on-screen setup wizard. |
| 17 | +- For a fast onboarding, see the [Quick Start Tutorial](tutorials/quick_start.md). |
30 | 18 |
|
31 | 19 | ## Configuration Tabs |
32 | 20 |
|
33 | 21 | ### Hyprland Tab |
34 | | -- **Animations**: Enable/disable, customize duration and style |
35 | | -- **Window Management**: Gaps, borders, opacity, blur |
36 | | -- **Input**: Mouse, keyboard, touchpad settings |
37 | | -- **Display**: Monitors, workspaces, scaling |
38 | | -- **Performance**: Rendering, VSync, frame timing |
| 22 | +- Animations, window management, input, display, performance |
39 | 23 |
|
40 | 24 | ### Waybar Tab |
41 | | -- Layout and position |
42 | | -- Module selection and order |
43 | | -- Colors and transparency |
44 | | -- Custom CSS |
| 25 | +- Layout, modules, colors, custom CSS |
45 | 26 |
|
46 | 27 | ### Rofi Tab |
47 | | -- Theme selection |
48 | | -- Layout and position |
49 | | -- Colors and transparency |
50 | | -- Custom modes |
| 28 | +- Theme selection, layout, colors, custom modes |
51 | 29 |
|
52 | 30 | ### Notifications Tab |
53 | | -- Dunst/Mako configuration |
54 | | -- Position and layout |
55 | | -- Timeout and actions |
56 | | -- Custom rules |
| 31 | +- Dunst/Mako config, position, timeout, rules |
57 | 32 |
|
58 | 33 | ### Clipboard Tab |
59 | | -- Manager selection (Cliphist/wl-clipboard) |
60 | | -- History size |
61 | | -- Sync settings |
62 | | -- Privacy options |
| 34 | +- Manager selection, history, sync, privacy |
63 | 35 |
|
64 | 36 | ### Lockscreen Tab |
65 | | -- Hyprlock/Swaylock settings |
66 | | -- Background and effects |
67 | | -- Timeout and triggers |
68 | | -- Custom scripts |
| 37 | +- Hyprlock/Swaylock, backgrounds, effects, triggers |
69 | 38 |
|
70 | 39 | ### Themes Tab |
71 | | -- Browse and preview themes |
72 | | -- Import/export themes |
73 | | -- Create custom themes |
74 | | -- Share with community |
| 40 | +- Browse, preview, import/export, create, share themes |
| 41 | +- For theme format details, see [Theme Format Reference](reference/theme_format.md) |
75 | 42 |
|
76 | 43 | ### Settings Tab |
77 | | -- Backup and restore |
78 | | -- Import/export config |
79 | | -- Undo/redo changes |
80 | | -- View audit log |
81 | | -- Export changelog |
| 44 | +- Backup/restore, import/export, undo/redo, audit log |
82 | 45 |
|
83 | 46 | ### Plugins Tab |
84 | | -- Enable/disable plugins |
85 | | -- Configure plugin settings |
86 | | -- View plugin events |
87 | | -- Install new plugins |
| 47 | +- Enable/disable plugins, configure settings, view events, install new plugins |
| 48 | +- For plugin development, see [Plugin API Reference](reference/plugin_api.md) |
88 | 49 |
|
89 | 50 | ## Advanced Features |
90 | | - |
91 | | -### Plugin Development |
92 | | -Plugins can now use advanced event hooks to extend functionality: |
93 | | - |
94 | | -```python |
95 | | -from hyprrice.plugins import PluginBase |
96 | | - |
97 | | -class MyPlugin(PluginBase): |
98 | | - """Example plugin demonstrating event hooks""" |
99 | | - |
100 | | - def before_apply(self, context): |
101 | | - """Called before applying any changes""" |
102 | | - print(f"About to apply changes: {context}") |
103 | | - |
104 | | - def after_theme_change(self, context): |
105 | | - """Called after a theme is changed""" |
106 | | - theme_name = context.get('theme_name') |
107 | | - print(f"Theme changed to: {theme_name}") |
108 | | - |
109 | | - def on_preview_update(self, context): |
110 | | - """Called when preview window updates""" |
111 | | - changes = context.get('changes') |
112 | | - print(f"Preview updated with: {changes}") |
113 | | - |
114 | | -def register(app): |
115 | | - """Required: Register plugin with HyprRice""" |
116 | | - plugin = MyPlugin() |
117 | | - app.plugin_manager.plugin_instances.append(plugin) |
118 | | - return plugin |
119 | | -``` |
120 | | - |
121 | | -Available hooks: |
122 | | -- `before_apply`, `after_apply`: Configuration changes |
123 | | -- `before_theme_change`, `after_theme_change`: Theme switching |
124 | | -- `before_import`, `after_import`: Config/theme import |
125 | | -- `on_preview_update`: Live preview updates |
126 | | - |
127 | | -### Theme Creation |
128 | | -Create custom themes in `~/.config/hyprrice/themes/`: |
129 | | - |
130 | | -```yaml |
131 | | -# mytheme.hyprrice |
132 | | -name: "My Custom Theme" |
133 | | -author: "Your Name" |
134 | | -version: "1.0" |
135 | | - |
136 | | -hyprland: |
137 | | - animations: |
138 | | - enabled: true |
139 | | - bezier: "myBezier,0.05,0.9,0.1,1.05" |
140 | | - animation: |
141 | | - windows: "1, 7, myBezier" |
142 | | - border: "1, 10, default" |
143 | | - |
144 | | - decoration: |
145 | | - blur: |
146 | | - enabled: true |
147 | | - size: 3 |
148 | | - passes: 1 |
149 | | - |
150 | | -waybar: |
151 | | - style: | |
152 | | - * { |
153 | | - border: none; |
154 | | - border-radius: 0; |
155 | | - font-family: "JetBrainsMono Nerd Font"; |
156 | | - font-size: 13px; |
157 | | - min-height: 0; |
158 | | - } |
159 | | - |
160 | | -rofi: |
161 | | - theme: |
162 | | - window: |
163 | | - background-color: "#2e3440" |
164 | | - border: 1 |
165 | | -``` |
166 | | -
|
167 | | -### Import/Export |
168 | | -- Import themes from files, URLs, or clipboard |
169 | | -- Export your config or themes to share |
170 | | -- All imports are validated and previewed |
171 | | -- Automatic backup before import |
172 | | -
|
173 | | -### Changelog & Audit |
174 | | -Export detailed changelogs and audit trails: |
175 | | -- Markdown format for documentation |
176 | | -- JSON format for automation |
177 | | -- HTML format for viewing |
178 | | -- Includes timestamps and context |
| 51 | +- **Plugin System:** Extend HyprRice with Python plugins and event hooks. See [Plugin API Reference](reference/plugin_api.md) and [Plugin Development Tutorial](tutorials/plugin_development.md). |
| 52 | +- **Theme Creation:** Create and share custom themes. See [Theme Format Reference](reference/theme_format.md) and [Theme Creation Tutorial](tutorials/theme_creation.md). |
| 53 | +- **Import/Export:** Import/export themes and configs with validation and preview. All imports trigger backup and plugin hooks. |
| 54 | +- **Changelog & Audit:** Export detailed changelogs and audit trails (Markdown, JSON, HTML). |
179 | 55 |
|
180 | 56 | ## Troubleshooting |
181 | | -
|
182 | | -### Common Issues |
183 | | -1. **Preview not updating** |
184 | | - - Check if compositor is running |
185 | | - - Verify display permissions |
186 | | - - Restart HyprRice |
187 | | -
|
188 | | -2. **Plugin not loading** |
189 | | - - Check plugin file permissions |
190 | | - - Verify Python dependencies |
191 | | - - Check logs for errors |
192 | | -
|
193 | | -3. **Theme import fails** |
194 | | - - Validate theme file format |
195 | | - - Check for missing dependencies |
196 | | - - Try importing sections separately |
197 | | -
|
198 | | -### Logs |
199 | | -- Main log: `~/.local/share/hyprrice/hyprrice.log` |
200 | | -- Debug log: `~/.local/share/hyprrice/debug.log` |
201 | | -- Plugin logs: `~/.local/share/hyprrice/plugins/*.log` |
202 | | - |
203 | | -## Contributing |
204 | | -- Report issues on GitHub |
205 | | -- Submit pull requests |
206 | | -- Share themes and plugins |
207 | | -- Improve documentation |
| 57 | +- For common issues, log locations, and solutions, see the [Troubleshooting Guide](howto/troubleshooting.md). |
208 | 58 |
|
209 | 59 | ## See Also |
210 | | -- [README.md](../README.md) |
211 | | -- [CHANGELOG.md](../CHANGELOG.md) |
212 | | -- [PROJECT_SUMMARY.md](../PROJECT_SUMMARY.md) |
| 60 | +- [README](../README.md) |
| 61 | +- [Quick Start Tutorial](tutorials/quick_start.md) |
| 62 | +- [Plugin API Reference](reference/plugin_api.md) |
| 63 | +- [Theme Format Reference](reference/theme_format.md) |
| 64 | +- [Contributing Guide](development/contributing.md) |
0 commit comments