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:

  1. Create a Direct Bridge (Symlink) Open your terminal and run: mkdir -p ~/.local/share/icons && ln -s ~/.icons/youriconfoldername ~/.local/share/icons/
  2. 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.