nexus: add cursor theme selector to wallpaper & style page#1563
nexus: add cursor theme selector to wallpaper & style page#1563vitormarquesgithub wants to merge 3 commits into
Conversation
c0f699e to
be6d403
Compare
|
This might be something to hold off on a bit, as I think instead of adding too many toplevel options there, might be a subpage of "colours and style" where this functionality can sit as a single dropdown selector. |
|
This definitely shouldn't be a separate page there. Perhaps a dropdown input like the default apps options, or a separate page if we add more related options. I'm holding back on this for now, we can decide where to add it when we have more related options. |
da9a879 to
a125106
Compare
I've since reworked it, the cursor theme and size selection are now inline dropdowns directly in the Wallpaper & style page, no separate subpage. Happy to adjust placement further once there's a clearer direction. |
Understood, I'll wait for your call on placement. The current implementation already uses a dropdown inline in the Wallpaper & style page, similar to the default apps approach. Ready to rework whenever you decide on the final structure. |
There was a problem hiding this comment.
Please use the PopupRow component instead of modifying the Menu component. Menus are not scrollable, the PopupRow is there specifically for this purpose
There was a problem hiding this comment.
Hey @soramanew, thanks for the feedback!
I've reverted Menu.qml back to its original state and replaced the theme/size selectors with CursorThemeRow/CursorSizeRow, which extend PopupRow and use a VerticalFadeListView inside the popup content — same scrollable pattern used elsewhere. Both rows also scroll to the currently active theme/size on open.
As part of this I added a popupIcon prop to PopupRow (wired to BlobPopup's existing icon alias) so each row can set its own trigger icon instead of the hardcoded view_apps default — happy to revert that part if you'd rather keep PopupRow's API untouched.
I've also updated the PR description to reflect the current implementation.
Also wanted to say thanks for the guidance and patience — I'm still fairly new to this stack and to the codebase, so pointers like this really help. I'll keep digging into the architecture so I can contribute better on future PRs.
Revert scroll-related additions to Menu.qml (maxHeight, minHeight, scrollToActive, dynamic attach positioning) since Menu is not meant to be scrollable. Replace SelectRow/SliderRow (Menu-based) with CursorThemeRow/CursorSizeRow, which extend PopupRow and use a VerticalFadeListView inside a BlobPopup — the existing scrollable-popup pattern. Both rows position the list at the currently active theme/size on open, via Loader.onLoaded (first load) and a Connections on popup.open (reopen). Add popupIcon prop to PopupRow, wired to BlobPopup's existing icon alias, so each row can set its own trigger icon instead of the hardcoded 'view_apps' default. Addresses review feedback: caelestia-dots#1563 (comment)
Revert scroll-related additions to Menu.qml (maxHeight, minHeight, scrollToActive, dynamic attach positioning) since Menu is not meant to be scrollable. Replace SelectRow/SliderRow (Menu-based) with CursorThemeRow/CursorSizeRow, which extend PopupRow and use a VerticalFadeListView inside a BlobPopup — the existing scrollable-popup pattern. Both rows position the list at the currently active theme/size on open, via Loader.onLoaded (first load) and a Connections on popup.open (reopen). Add popupIcon prop to PopupRow, wired to BlobPopup's existing icon alias, so each row can set its own trigger icon instead of the hardcoded 'view_apps' default. Addresses review feedback: caelestia-dots#1563 (comment)
52534d3 to
5d072ec
Compare
What this adds
/usr/share/icons,~/.local/share/iconsand~/.iconshyprctl setcursorgsettingsand to$cursorTheme/$cursorSizein the Hyprland variables configPopupRowgained apopupIconprop so each row can set a distinct icon for its trigger button, independent of the row's leading iconNotes
$cursorThemeand$cursorSizein the Hyprland variables configDemo
2026-07-01.04-50-18.mp4