Hyprland Visual Editor
Elevate your Hyprland experience. A modular plugin to safely inject custom animations, borders, and visual effects on the fly.
About

๐ฆ Hyprland Visual Editor (HVE)
Dynamic Visual Control for Hyprland Customization
Hyprland Visual Editor is a professional-grade, non-destructive customization ecosystem for Hyprland, built as a native plugin for Noctalia Shell. It allows you to instantly change animations, borders, shaders, and geometry, without any risk of corrupting your main hyprland.conf.
โจ Key Features
| Feature | Description |
|---|---|
| ๐ก๏ธ Guardian Shield | Deploys a secure external path in ~/.cache/noctalia/HVE/. If the plugin is disabled, the system self-cleans on reboot. |
| โก Native Integration | Uses the official Noctalia Plugin API (4.4.1+) for settings and state persistence. |
| ๐ฌ Motion Library | Swap between animation styles (Silk, Cyber Glitch, etc.) in milliseconds. |
| ๐จ Smart Borders | Dynamic gradients and reactive effects tied to window focus. |
| ๐ถ๏ธ Real-Time Shaders | Post-processing filters (CRT, OLED, Night) applied on the fly via GLSL. |
| ๐ Native i18n | Full multilingual support using Noctalia's native translation engine via i18n/. |
๐ Project Structure
To ensure maximum stability, HVE follows the official Noctalia plugin architecture:
~/.cache/noctalia/
โโโ HVE/ # ๐ก๏ธ THE SAFE REFUGE (Generated on activation)
โโโ overlay.conf # MASTER CONFIG: Sourced directly by Hyprland
~/.config/noctalia/plugins/hyprland-visual-editor/
โโโ manifest.json # Plugin metadata and Entry Points
โโโ BarWidget.qml # Entry Point: Taskbar trigger icon
โโโ Panel.qml # Main UI & Tab management
โโโ Settings.qml # Native Configuration UI
โ
โโโ modules/ # UI Components (QML)
โ โโโ WelcomeModule.qml # Activation logic & Native Persistence
โ โโโ AnimationModule.qml # Motion selector
โ โโโ BorderModule.qml # Style & Geometry selector
โ โโโ ShaderModule.qml # GLSL Filter selector
โ
โโโ assets/ # The "Engine" & Resources
โ โโโ borders/ # Style library (.conf)
โ โโโ animations/ # Movement library (.conf)
โ โโโ shaders/ # GLSL Post-processing filters (.frag)
โ โโโ scripts/ # Bash Engine (Logic and assembly)
โ
โโโ i18n/ # Official Translation Files (.json)
โโโ settings.json # Native Persistence (Managed by Noctalia)
๐ Installation
- Open Noctalia Shell's Settings and navigate to the Plugins section.
- Search for Hyprland Visual Editor and click Install.
- Open the plugin panel from your topbar.
- Go to the Welcome tab and click Activate Persistence.
[!IMPORTANT] To enable the real-time effects, you must add
source = ~/.cache/noctalia/HVE/overlay.confto the end of yourhyprland.conf. HVE will handle the rest!
โจ๏ธ IPC & Keybinds (Pro Features)
HVE supports native IPC calls. You can toggle the panel with a Hyprland keybind:
bind = $mainMod, V, exec, qs -c noctalia-shell ipc call plugin:hyprland-visual-editor toggle
๐ง Technical Architecture
HVE uses a dynamic construction flow combined with Noctalia's native API:
- Native State: All user preferences are handled via
pluginApi.pluginSettings. - Dynamic Scanning: The
scan.shscript extracts metadata from style headers in real-time. - Assembly: The engine unifies all active fragments into the external
~/.cache/noctalia/HVE/overlay.conf. - Protection: The satellite file approach ensures that even if the plugin is uninstalled, your
hyprland.confremains intact.
๐ ๏ธ Modding Guide (Metadata Protocol)
HVE scans your asset folders dynamically. To add your own styles, use this header format:
For Animations and Borders (.conf)
# @Title: My Epic Style
# @Icon: rocket
# @Color: #ff0000
# @Tag: CUSTOM
# @Desc: A brief description of your creation.
# Your Hyprland code here...
For Shaders (.frag)
// @Title: Vision Filter
// @Icon: eye
// @Color: #4ade80
// @Tag: NIGHT
// @Desc: Post-processing description.
void main() { ... }
โ ๏ธ Troubleshooting
How to see debug logs? Launch Noctalia from the terminal to see HVE specific logs using the native Logger:
NOCTALIA_DEBUG=1 qs -c noctalia-shell | grep HVE
Border animations freeze? This is a known Hyprland behavior during hot-reloads of specific geometry settings. Re-focusing the window or opening a new one usually restores the looping effect.
โค๏ธ Credits
- Architecture & Core: XimoCP
- Technical Assistance: Co-programmed with Gemini (AI)
- Inspiration: HyDE Project & JaKooLit.
- Community: Thanks to the Noctalia dev community.