Skip to content

Add cursor theme selection to the Style menu - #9539

Open
TheLinuxITGuy wants to merge 1 commit into
omacom:quattrofrom
TheLinuxITGuy:feat/cursor-theme-menu
Open

Add cursor theme selection to the Style menu#9539
TheLinuxITGuy wants to merge 1 commit into
omacom:quattrofrom
TheLinuxITGuy:feat/cursor-theme-menu

Conversation

@TheLinuxITGuy

Copy link
Copy Markdown

What

Adds a Style → Cursor submenu to choose and apply the system cursor theme.

  • omarchy-cursor-set <theme> — applies a cursor theme system-wide. If the theme is a Bibata variant (Bibata-Modern-*) that isn't installed yet, it downloads it from the Bibata Cursor GitHub release. It writes the chosen theme into a managed ~/.config/hypr/cursor.lua (Hyprland env), updates the X.org default index, applies it via gsettings and hyprctl setcursor, then fires the cursor-set hook.
  • omarchy-cursor-current — prints the active cursor theme (used for the ✓ checkmark in the menu).
  • Registers the new cursor command group.
  • Ships a default config/hypr/cursor.lua and wires require("hypr.cursor") into the user Hyprland config so the managed file is loaded on login; omarchy refresh hyprland refreshes it too.
  • Menu options: Bibata Modern Classic / Amber / Ice, Adwaita, Yaru.

Why

Lets users change the cursor from the Omarchy Style menu, downloading Bibata cursors on demand instead of requiring manual installation.

Testing

  • ./test/cli passes (command metadata, routing, group registration).
  • Menu JSONC validated against the shell's MenuModel.
  • Verified locally: each Bibata variant downloads and applies, and omarchy-cursor-current reports the active theme.

Note: the shell/acceptance suites require a running graphical session and were not run in the contributing environment.

Add omarchy-cursor-set and omarchy-cursor-current to download and apply
cursor themes (Bibata, Adwaita, Yaru), register the cursor command group,
and expose a Style > Cursor submenu. The setter writes the theme into a
managed hypr/cursor.lua and applies it via hyprctl and gsettings.
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.

1 participant