Cursor TUI - #332
Conversation
|
u dont have to add the matugen cursor script to config.toml to hotreload, watcher script does it anyway thats why i think it takes 8secs in ur case mine is just 2secs , also use hyprpm for the plugin rather than sending the compiled binary directly |
|
u are right about the config.toml but i have made some changes to the pluggin that's why i included the compiled binary |
|
In |
|
turns out its a bug hyprwm/Hyprland#15757 i wonder why i dont have this issue |
|
r u sure u on 0.55 not 0.56? |
|
ah im on 55 |
|
Okay so this is a lot, can you write a readme, explaining how all of this works? so i can understand it and why it was necessary to edit each existing file? also the settings.json file in .config/dusky/tui/.. should not be tracked by git. Nothing in .config/dusky/ is git tracked, all those files are created on each system so configurations dont get overwritten if i edit mine, the setup script or what ever it uses , shoudl auto deploy that configurable settings file on first run if it doesn't already exist. and then the tui edits that file at .config/dusky/tui/.. (if theres no setup script to auto deploy that file on first run, you could make it so the engine for the tui, on the first run, or when it detects the settings.json missing, copies the git tracked settings.json default file from the same directory as where the tui is at and places it into .config/dusky/tui/.. and then modifies that) |
|
alright great, will get to it in a bit. |
|
that's definitely a motivator to get it configured. will do it soon |
|
yeah definitely by accident |
|
so i've been trying to understand it.... |
|
ai: The Short AnswerNo, a C++ Hyprland plugin is not necessary for dynamic cursor color theming. Using a C++ Hyprland plugin for color changes is over-engineered and structurally flawed for Wayland cursor architecture. A single, lightweight Python or Bash script triggered via a Matugen post-hook combined with hyprctl setcursor and gsettings is the standard, resilient approach.First-Principles Architecture: Why a Plugin is the Wrong ToolTo understand why a plugin is unnecessary, consider how cursors work across the Linux desktop stack: 1. Client-Side vs. Server-Side Cursors in Wayland
2. The Maintenance Burden of Hyprland Plugins
(Note: C++ plugins like hypr-dynamic-cursors exist for runtime frame-by-frame physics—such as macOS-style shake-to-magnify, velocity tilting, and geometry warping in the render loop—not for palette recoloring.)How the Scripted Approach WorksA minimal script achieves full dynamic theming in four steps: 1. SVG Color InjectionCursor shapes (such as default, pointer, text, crosshair, grab) are stored as clean SVGs with placeholder color attributes (e.g., stroke="{{primary}}", fill="{{surface}}"). When Matugen generates a new palette, the script substitutes the hex values into the SVGs.2. Hyprcursor & XCursor Packaging
3. The "A/B Theme Swap" (Cache Invalidation)GTK and Qt apps cache cursor assets in memory based on the theme name. If you overwrite files in a theme called Dynamic-Cursor, running apps may not reload the changes.By alternating between two names ( Dynamic-Theme-A $\leftrightarrow$ Dynamic-Theme-B), toolkits detect a distinct theme name change and drop their cached buffers immediately.4. Global Broadcast & Live Reload
Minimal Implementation Blueprint1. Matugen Configuration ( |
| Metric | C++ Hyprland Plugin | Matugen Hook + Python Script |
|---|---|---|
| Wayland Protocol Compatibility | Partial (only compositor-rendered surfaces) | Full (Hyprland, GTK3/4, Qt, Flatpak, XWayland) |
| Breakage on Hyprland Updates | High (frequent ABI breakages) | Zero (standard CLI/IPC tools: hyprctl, gsettings) |
| Execution Overhead | Adds C++ logic into the display server | Offloaded once on theme change ($\sim$30ms) |
| Complexity | High (C++, CMake/Meson, hyprpm) | Low ($\sim$50 lines of Python or Shell) |
|
the above is a starting point for how it should be built, it probably doesnt work well yet cuz it was its initial response, it needs to be put through the ringer and tested but the plugin way of doing it is unoptimized and therefore not getting merged. |
|
that's fine, i'll take it up from here, leave this pr open, i'l use the svg's from it. btw the shake to enlarge also didn't require a plugin since hyprland has cursor size setting too for changing the size. its not so difficult from here cuz i'll be using the native hyprland cursor settings to achieve this. |
|
bruh ubaid always undersell, we also not sure if it will work yet |
|
unrelated: i'm just amaized at how popular it is for absoultey no reason. it is FAR from user friendly even with all the quickshell shit, no easy way to configure anything, you have to manually edit the configs for everything. it might take the cake for being the windows of linux, right next to ubuntu. what a shame, cuz it had so much potential. |
|
i'll be spending aroudn 2-3 months on the next video to pour all of my soul into it. that's our last shot at claiming the spot for the top hyprland distro, or even a top linux distro. cuz god knows we are the best, no other distro has come close to the optimizations that we've implemented. NONE!! not even cachy with all there architecture specific pacakages, they still fall short. hell i don tthink any other distro has a polkit as lean as hours, LMAO a tui polkit is not somethign anyone woudl even think of other than us. and all this without 10 million dollars to burn, like omarchy does. shit i dont even have llm subscripton for anything anymore, will be opening up donation channels soon. |
it would be uhh like a store for TUI's lol people should be able to install community made TUI's IF it works
breh the whole pluggin thing, TUI and everything else consists of a total of 11 files including edited and new files the rest of it is just the cursor shi
holly shi!
god dayum finally a vid!!! hell yea
course it would be i mean when u release the new vid im pretty sure it would get ALOT of attention hell even more when omarchy was released and ofc dusky will top out omarchy
LOL someone hook bro with a gpt subscription |
|
a well made video is all we need, its the solution to getting out of poverty. the only hope lol, |
LOL!!! man i hope you also get omarchy level donations so ricing becomes your job and u could do ricing forever and ever cuz u like it and also u will get some dabloons from youtube themselves also |
|
also dusk what are ur thoughts on wobbly windows? they look pretty cool maybe like opt them in and motion blur also |
Here is the showcase of wobly windows as well as motion blur |
|
not clear if its built into hyprland or if he used a plugin for it, the overview will definately be enabled by default when its out with alt tab or something |









No description provided.