Skip to content

system/icons: improve inherits, allow png icons, fixup pathing, add caching#45

Merged
vaxerski merged 2 commits intomainfrom
icons-more
Feb 11, 2026
Merged

system/icons: improve inherits, allow png icons, fixup pathing, add caching#45
vaxerski merged 2 commits intomainfrom
icons-more

Conversation

@vaxerski
Copy link
Copy Markdown
Member

@vaxerski vaxerski commented Feb 7, 2026

Various improvements, fixes #43

cc @Dregu please check this

@Dregu
Copy link
Copy Markdown

Dregu commented Feb 10, 2026

  • This does now fallback to the hicolor theme inherited in the default theme explicitly, but there's still supposed to be a hardcoded fallback to hicolor too
  • It's finding more icons now, but mostly SVG
  • PNG seems to only work from /pixmaps, not /icons. e.g. fuzzel has a lot more icons still
  • The few PNG that do work look pretty crusty in hyprlauncher, maybe expected cause resized

@vaxerski
Copy link
Copy Markdown
Member Author

  1. done
  2. fixed
  3. fixed, but see note
  4. expected

Note: on my system I have ~/.local/share/icons/hicolor, but it does not have an index.theme file, so ht ignores it. Fuzzel doesn't... I think?

@Dregu
Copy link
Copy Markdown

Dregu commented Feb 11, 2026

~/.local/share/icons/hicolor

Yeah these icons are usually from when steam/lutris/$gamelauncher makes a desktop shortcut. They do work in fuzzel, not hyprlauncher.

Everything found under $themename anywhere should be combined under the common $themename, and anything found in higher priority directories should override anything in the lower ones. e.g. user should be allowed to only create a ~/.local/share/icons/hicolor/scalable/foot.svg and nothing else to override a single apps icon from /usr/share/icons/hicolor/. Or add a bunch of new ones. It's probably actually way more common to just put a bunch of extra icons in .local instead of a complete icon theme with the index, but overriding the index file should also be possible, technically.

For me this has like >99% of icons now, just the games are missing.

Oh and I just remembered that Icon=/absolute/path.ext is also a thing that probably doesn't work, but that's also the simplest feature ever to add if it doesn't exist yet. Some (nix) systems might use absolute paths exclusively I think.

@vaxerski
Copy link
Copy Markdown
Member Author

this can be improved later, I think it's good enough

@vaxerski vaxerski merged commit 971951a into main Feb 11, 2026
4 checks 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.

Icon theme inheritance is all wrong

2 participants