I made a small tool for KDE Plasma (and other freedesktop desktops) that lets you easily customize single app icons:

  • Use your own images or library
  • Copy icon from another app
  • Pick one icon from any installed theme (without switching global theme)
  • Built-in pixel editor to create your own
  • Batch apply, undo, overrides, missing icons overview
  • Import image to turn it into an icon

Completely user-level, safe, and reversible. No manual .desktop editing.

GitHub: https://github.com/rayman1972/kappicon

AUR: kappicon or kappicon-git

Feedback welcome!-

  • ColdWater@lemmy.ca
    link
    fedilink
    arrow-up
    1
    ·
    2 days ago

    Very nice, will this work with wm? I’m not with my computer at the moment so I can’t test it

    • rayman30@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 days ago

      It should work with most window managers, but with some limitations. kAppIcon edits user-level .desktop files and installs icons into your personal ~/.local/share/icons/hicolor theme. This is the standard freedesktop way, so it works on any desktop/WM that respects the spec (most do).

      However: The GUI is built with PyQt6, so you need a working Qt6 environment (works fine on Wayland too). Some features like automatic icon cache refresh or menu updates depend on the desktop environment (Plasma does it best, but it also runs gtk-update-icon-cache for GTK-based setups).

      On pure minimal WMs (i3, Hyprland, etc.) it will still apply the icons, but you may need to restart your menu/panel or run update-desktop-database manually sometimes. If you test it, let me know how it goes.

    • ferric_carcinization@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      kAppIcon is a small icon manager for KDE Plasma and other freedesktop desktops.

      According to the Readme, yes.

      I didn’t look too deeply, but I assume it modifies .desktop files stored in $XDG_DATA_HOME/applications/ and/or copies system.desktop files there to override them with modified versions.

      If it works like I assume, it should work with anything that reads .desktop files from the standard locations.