icontool.py is a simple python tool which can be used to automatically add/remove icons and sort appfilter.xml links in alphabetical order.
For Mac/Linux users, you can simply type ./icontool to run the program. Otherwise, you must run python3 ./icontool.py.
./icontool [-m] [-h]
add (a) svg component name
link (l) svg component name
remove (r, d) component [-d]
sort (s)
find (f) {duplicates, unused}Adding the flag -m will generate a list item (depending on the subcommand) that looks like this:
* App Name (component info)
Note that you should add it before the other parameters:
❌ python3 icontool.py add ... -m
✅ python3 icontool.py -m add ...
python3 icontool.py add /path/to/icon com.app.app/com.app.app.appActivity "App Name"The .svg extension for icon.svg is optional, since the program automatically adds them.
python3 icontool.py link icon com.app.app/com.app.app.appActivity "App Name"Note that icon.svg should be an SVG file located in the svgs/ directory. The .svg extension for icon.svg is optional as well.
python3 icontool.py remove com.app.app/com.app.app.appActivitypython3 icontool.py remove com.app.appSimply pass the -d or --delete flag:
python3 icontool.py remove com.app.app -dNote that the SVG file's name is based on the drawable attribute of the first <item> element.
Some common utilities are described below.
Warning
At the moment, the sorting works with errors: duplicates and extra spaces are added. It is recommended not to use it.
python3 ./icontool.py sortThis will sort the appfilter.xml file via the name attribute.
python3 ./icontool.py find duplicatespython3 ./icontool.py find unused