When we override a 3rd party app's icon, we override the app's own branding. This is generally a somewhat rude thing to do, and in many cases we're violating their branding guidelines or trademarks. It also puts us on the hook for updating these icons when the upstream branding changes, which — let's be honest — we don't actually do. Let's remove them. For now the symbolic icons remain, since the explicit intention there is to use a completely different style that blends into Plasma's System Tray, so it's okay if it differs from the app's primary icon. However we could remove these too if we want to be completely consistent here. Fixes #96
119 lines
4.0 KiB
Python
119 lines
4.0 KiB
Python
#!/usr/bin/env python3
|
|
|
|
"""
|
|
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
|
|
SPDX-FileCopyrightText: 2022 Alois Wohlschlager <alois1@gmx-topmail.de>
|
|
"""
|
|
|
|
from pprint import pprint
|
|
import os
|
|
import shutil
|
|
import sys
|
|
|
|
aliases = {
|
|
"akregator": ["org.kde.akregator"],
|
|
"alligator": ["org.kde.alligator"],
|
|
"amarok": ["org.kde.amarok"],
|
|
"ark": ["org.kde.ark"],
|
|
"artikulate": ["org.kde.artikulate"],
|
|
"blinken": ["org.kde.blinken"],
|
|
"bomber": ["org.kde.bomber"],
|
|
"bovo": ["org.kde.bovo"],
|
|
"cantor": ["org.kde.cantor"],
|
|
"crow-translate": ["org.kde.CrowTranslate.svg"],
|
|
"cuttlefish": ["org.kde.iconexplorer"],
|
|
"digikam": ["org.kde.digikam"],
|
|
"elisa": ["org.kde.elisa"],
|
|
"falkon": ["org.kde.falkon"],
|
|
"granatier": ["org.kde.granatier"],
|
|
"gwenview": ["org.kde.gwenview"],
|
|
"juk": ["org.kde.juk"],
|
|
"kalgebra": ["org.kde.kalgebra"],
|
|
"kalzium": ["org.kde.kalzium"],
|
|
"kamoso": ["org.kde.kamoso"],
|
|
"kanagram": ["org.kde.kanagram"],
|
|
"kapman": ["org.kde.kapman"],
|
|
"katomic": ["org.kde.katomic"],
|
|
"kblackbox": ["org.kde.kblackbox"],
|
|
"kblocks": ["org.kde.kblocks"],
|
|
"kbreakout": ["org.kde.kbreakout"],
|
|
"kbruch": ["org.kde.kbruch"],
|
|
"kcachegrind": ["org.kde.kcachegrind"],
|
|
"kcolorchooser": ["org.kde.kcolorchooser"],
|
|
"kdenlive": ["org.kde.kdenlive"],
|
|
"kdevelop": ["org.kde.kdevelop"],
|
|
"kdiamond": ["org.kde.kdiamond"],
|
|
"kdiff3": ["org.kde.kdiff3"],
|
|
"kfind": ["org.kde.kfind"],
|
|
"kfourinline": ["org.kde.kfourinline"],
|
|
"kgeography": ["org.kde.kgeography"],
|
|
"kget": ["org.kde.kget"],
|
|
"khangman": ["org.kde.khangman"],
|
|
"kig": ["org.kde.kig"],
|
|
"kile": ["org.kde.kile"],
|
|
"kiriki": ["org.kde.kiriki"],
|
|
"kiten": ["org.kde.kiten"],
|
|
"kjumpingcube": ["org.kde.kjumpingcube"],
|
|
"kmplot": ["org.kde.kmplot"],
|
|
"knights": ["org.kde.knights"],
|
|
"kolf": ["org.kde.kolf"],
|
|
"kolourpaint": ["org.kde.kolourpaint"],
|
|
"kontact": ["org.kde.kontact"],
|
|
"konversation": ["org.kde.konversation"],
|
|
"kopete": ["org.kde.kopete"],
|
|
"kpat": ["org.kde.kpat"],
|
|
"kphotoalbum": ["org.kde.kphotoalbum"],
|
|
"krdc": ["org.kde.krdc"],
|
|
"krename": ["org.kde.krename"],
|
|
"kronometer": ["org.kde.kronometer"],
|
|
"kruler": ["org.kde.kruler"],
|
|
"ksirk": ["org.kde.ksirk"],
|
|
"kstars": ["org.kde.kstars"],
|
|
"kteatime": ["org.kde.kteatime"],
|
|
"ktimetracker": ["org.kde.ktimetracker"],
|
|
"ktorrent": ["org.kde.ktorrent"],
|
|
"ktouch": ["org.kde.ktouch"],
|
|
"ktrip": ["org.kde.ktrip"],
|
|
"kuiviewer": ["org.kde.kuiviewer"],
|
|
"kwrite": ["org.kde.kwrite"],
|
|
"kxstitch": ["org.kde.kxstitch"],
|
|
"kwalletmanager": ["org.kde.kwalletmanager5"],
|
|
"labplot": ["org.kde.labplot2"],
|
|
"lokalize": ["org.kde.lokalize"],
|
|
"massif-visualizer": ["org.kde.massif-visualizer"],
|
|
"minuet": ["org.kde.minuet"],
|
|
"nota": ["org.kde.nota"],
|
|
"okteta": ["org.kde.okteta"],
|
|
"okular": ["org.kde.okular"],
|
|
"picmi": ["org.kde.picmi"],
|
|
"skanlite": ["org.kde.skanlite"],
|
|
"skrooge": ["org.kde.skrooge"],
|
|
"umbrello": ["org.kde.umbrello"],
|
|
"vvave": ["org.kde.vvave"],
|
|
}
|
|
|
|
SRCDIR = sys.argv[1]
|
|
BINDIR = sys.argv[2]
|
|
|
|
shutil.rmtree(BINDIR, ignore_errors=True)
|
|
|
|
created_symlinks = dict()
|
|
|
|
for dirpath, _, filenames in os.walk(os.path.join(SRCDIR, "apps")):
|
|
outpath = os.path.join(BINDIR + dirpath[len(SRCDIR):])
|
|
os.makedirs(outpath)
|
|
for file in filenames:
|
|
if file[-4:] == ".svg":
|
|
base = file[:-4]
|
|
if base not in created_symlinks.keys():
|
|
created_symlinks[base] = dict()
|
|
if base in aliases:
|
|
for alias in aliases[base]:
|
|
os.symlink(file, os.path.join(outpath, alias + ".svg"))
|
|
if alias not in created_symlinks[base].keys():
|
|
created_symlinks[base][alias] = []
|
|
created_symlinks[base][alias].append(int(outpath.split('/')[-1]))
|
|
|
|
print('Symlinking application icons to their Flatpak IDs:')
|
|
pprint(created_symlinks)
|