You have a custom icon theme sitting in ~/.icons/ or a similar directory. Your environment variables are set correctly, but some applications (like Qt 6-based apps) stubbornly refuse to load the theme, falling back to ugly default icons.
The problem: modern application frameworks (especially Qt 6 and Flatpaks) aggressively stick to strict XDG standards. They expect to find icon files inside ~/.local/share/icons/. Because your icons were in a different folder, ~/.icons/ folder, these apps were effectively blind to them.
Here is how to bridge the gap and force your apps to cooperate:
- Create a Direct Bridge (Symlink)
Open your terminal and run:
mkdir -p ~/.local/share/icons && ln -s ~/.icons/youriconfoldername ~/.local/share/icons/ - Restart the stubborn app
This fix is great because there is no wasted space (zero-byte symlink instead of duplicating files) and it is also UNIVERSAL. Both native applications on your host machine and isolated Flatpak applications look in ~/.local/share/icons/ by default. This single command handles both perfectly without poking holes in application sandboxes.