Skip to content

Hyprland Visual Editor (HVE) - #462

Merged
ItsLemmy merged 11 commits into
noctalia-dev:mainfrom
XimoCP:main
Mar 27, 2026
Merged

Hyprland Visual Editor (HVE)#462
ItsLemmy merged 11 commits into
noctalia-dev:mainfrom
XimoCP:main

Conversation

@XimoCP

@XimoCP XimoCP commented Mar 23, 2026

Copy link
Copy Markdown
Contributor

Personal Note from the Author

Hello everyone! I wanted to add a sincere personal note. This is my very first time programming, and I realized a bit late how many mistakes I was making along the way. I want to deeply apologize if I wasted your valuable time. I absolutely love this wonderful project, and that admiration is what pushed me to try and contribute in some way.

I am opening this as a new PR because I accidentally closed my previous one. I completely messed up the synchronization of my fork and ended up breaking my repository! However, after getting serious, starting fresh, and following your developer guidelines strictly, I believe I finally have something decent and solid to offer. I leave it in your expert hands for review. Thank you for your immense patience!


Description

Initial release of the Hyprland Visual Editor (HVE) plugin.
This plugin acts as an aesthetic control center for Hyprland, allowing users to safely manage animations, window borders, and real-time screen shaders without permanently altering their main hyprland.conf.

Features included:

  • Animations Module: Multiple movement presets (smooth, energetic, bounce, etc.).
  • Borders Module: Visual styles and geometry configuration for active/inactive windows.
  • Shaders Module: Real-time screen filters (Night light, Vibrant, OLED, etc.).
  • Safe Persistence Contract: Settings are exported to a satellite overlay.conf file, keeping the user's primary config safe and untouched.
  • i18n Support: Fully translated to English, Spanish, French, German, Italian, and Russian.

Checklist:

  • Tested with qs -c noctalia-shell
  • Zero WARN or ERROR in the console log during runtime.
  • Follows Noctalia UI layout guidelines (no anchors mixed with layouts, pure QML).
  • Translations implemented without fallback texts inside QML, adhering to the official i18n guide.

@spiros132 spiros132 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some feedback about the PR :)

Comment thread hyprland-visual-editor/i18n/hu.json
Comment thread hyprland-visual-editor/i18n/ja.json
Comment thread hyprland-visual-editor/i18n/ku.json
Comment thread hyprland-visual-editor/i18n/zh-TW.json
Comment thread hyprland-visual-editor/modules/AnimationModule.qml Outdated
Comment thread hyprland-visual-editor/BarWidget.qml Outdated
Comment thread hyprland-visual-editor/manifest.json Outdated
Comment thread hyprland-visual-editor/Panel.qml Outdated
Comment thread hyprland-visual-editor/Panel.qml Outdated
Comment thread hyprland-visual-editor/Panel.qml Outdated
@XimoCP

XimoCP commented Mar 24, 2026

Copy link
Copy Markdown
Contributor Author

Hi Spiros!

I hope you're doing well. I’m reaching out to let you know that I’ve finished reviewing and applying all your feedback regarding the "Hyprland Visual Editor" code.

I’ve performed a deep cleanup across all project files to ensure the plugin feels like a native part of Noctalia. These are the main changes:

Translations (i18n): All language files have been reviewed, and missing lines have been added.

Removal of Fallbacks: I’ve removed all || "" operators in translation calls (pluginApi?.tr()) across all modules, letting the Noctalia system handle keys on its own as per the official guidelines.

No more Hardcoded Code: I’ve replaced all hardcoded values (hex colors, fixed margins, and font sizes) with the official Style and Color constants. I also swapped raw Qt types for N* widgets (like NBox, NText, etc.).

Dynamic Scaling: All borders and critical dimensions now use Style.uiScaleRatio to ensure perfect rendering across all resolutions.

I believe everything is now resolved and nothing has been missed. Thank you so much for the time you spent reviewing the plugin; your feedback has been incredibly helpful in understanding the Noctalia architecture.

Looking forward to your thoughts!

@ItsLemmy

Copy link
Copy Markdown
Contributor

@spiros132

@spiros132 spiros132 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some more feedback about the PR, otherwise I think it looks good

Comment thread hyprland-visual-editor/BarWidget.qml Outdated
Comment thread hyprland-visual-editor/Panel.qml Outdated
Comment thread hyprland-visual-editor/modules/BorderModule.qml Outdated
Comment thread hyprland-visual-editor/modules/WelcomeModule.qml Outdated
Comment thread hyprland-visual-editor/modules/WelcomeModule.qml Outdated
Comment thread hyprland-visual-editor/modules/ShaderModule.qml Outdated
Comment thread git Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Automatic Code Quality Review

File: hyprland-visual-editor/BarWidget.qml

File: hyprland-visual-editor/Panel.qml

  • (H) Line 70: Do not use hardcoded values, always prefer to use the Style singleton instead
+                    spacing: 0

File: hyprland-visual-editor/Settings.qml

File: hyprland-visual-editor/modules/AnimationModule.qml

File: hyprland-visual-editor/modules/BorderModule.qml

File: hyprland-visual-editor/modules/ShaderModule.qml

File: hyprland-visual-editor/modules/WelcomeModule.qml

@XimoCP

XimoCP commented Mar 26, 2026

Copy link
Copy Markdown
Contributor Author

"Thanks for catching those last details, Spiros! I've just replaced the hardcoded spacing: 0 and the border widths with the proper Style singletons.

Regarding the .gitignore, I left it untouched for now pending your confirmation on my previous comment.

I really appreciate your thorough review and your patience with this PR. I'm learning a lot about Noctalia's design standards thanks to your feedback! Let me know how you want to proceed."

@spiros132

Copy link
Copy Markdown
Collaborator

Hello, it looks great the only thing I could think of is that specific file that I can see called "git", if you can remove that one I think this plugin is ready. Thank you for the PR! :)

@XimoCP

XimoCP commented Mar 26, 2026

Copy link
Copy Markdown
Contributor Author

"Hi Spiros! I've just removed the accidental 'git' file from the repository. If for some reason it still shows up on your end, please let me know and I'll investigate it more deeply.

Thank you so much for your time and for all the help you've given me to get this plugin ready. Cheers!"

@spiros132 spiros132 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ItsLemmy
ItsLemmy merged commit 14b5ed5 into noctalia-dev:main Mar 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants