papirus-icon-theme/tools/work/convert.sh

162 lines
4.6 KiB
Bash
Raw Normal View History

2017-07-21 04:18:47 -04:00
#!/usr/bin/env bash
#
2017-07-21 04:18:47 -04:00
# This script copies needed icons from Papirus to derived themes
# and changes their color schemes
set -eo pipefail
SCRIPT_DIR="$(dirname "$0")"
2017-07-21 04:18:47 -04:00
SOURCE_DIR="$SCRIPT_DIR/Papirus"
find "$SCRIPT_DIR" -maxdepth 1 -type d | while read -r theme_dir; do
2017-07-21 04:18:47 -04:00
theme_name=$(basename "$theme_dir")
case "$theme_name" in
ePapirus)
# copy files from Papirus to ePapirus
find "$theme_dir" -maxdepth 1 -type d | while read -r dir; do
2017-07-21 04:18:47 -04:00
sub_dir=$(basename "$dir")
case "$sub_dir" in
actions)
find "$SOURCE_DIR/$sub_dir" \
-name '*@16x16.svg' -print0 -o \
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
2017-08-15 15:58:21 -04:00
cp -auv '{}' "$theme_dir/$sub_dir"
2017-07-21 04:18:47 -04:00
;;
devices|places)
find "$SOURCE_DIR/$sub_dir" \
-name '*@16x16.svg' -print0 | xargs -0 -i \
2017-08-15 15:58:21 -04:00
cp -auv '{}' "$theme_dir/$sub_dir"
2017-07-21 04:18:47 -04:00
;;
panel)
find "$SOURCE_DIR/$sub_dir" \
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
2017-08-15 15:58:21 -04:00
cp -auv '{}' "$theme_dir/$sub_dir"
2017-07-21 04:18:47 -04:00
;;
esac
done
# convert color scheme from Papirus to ePapirus
2017-07-21 04:18:47 -04:00
find "$theme_dir" -type f -name '*.svg' -exec sed -i \
-e 's/#5c616c/#6e6e6e/gI' \
-e 's/#d3dae3/#ffffff/gI' '{}' \;
;;
Papirus-Adapta)
# copy files from Papirus to Papirus-Adapta
find "$theme_dir" -maxdepth 1 -type d | while read -r dir; do
sub_dir=$(basename "$dir")
case "$sub_dir" in
actions)
find "$SOURCE_DIR/$sub_dir" \
-name '*@16x16.svg' -print0 -o \
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
cp -auv '{}' "$theme_dir/$sub_dir"
;;
devices|places)
find "$SOURCE_DIR/$sub_dir" \
-name '*@16x16.svg' -print0 | xargs -0 -i \
cp -auv '{}' "$theme_dir/$sub_dir"
;;
panel)
find "$SOURCE_DIR/$sub_dir" \
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
cp -auv '{}' "$theme_dir/$sub_dir"
;;
esac
done
# convert color scheme from Papirus to Papirus-Adapta
find "$theme_dir" -type f -name '*.svg' -exec sed -i \
-e 's/#5c616c/#414c52/gI' \
-e 's/#d3dae3/#cfd8dc/gI' \
-e 's/#5294e2/#00bcd4/gI' '{}' \;
;;
Papirus-Adapta-Nokto)
# copy files from Papirus to Papirus-Adapta-Nokto
find "$theme_dir" -maxdepth 1 -type d | while read -r dir; do
sub_dir=$(basename "$dir")
case "$sub_dir" in
actions)
find "$SOURCE_DIR/$sub_dir" \
-name '*@16x16.svg' -print0 -o \
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
cp -auv '{}' "$theme_dir/$sub_dir"
;;
devices|places)
find "$SOURCE_DIR/$sub_dir" \
-name '*@16x16.svg' -print0 | xargs -0 -i \
cp -auv '{}' "$theme_dir/$sub_dir"
;;
esac
done
# convert color scheme from Papirus to Papirus-Adapta-Nokto
find "$theme_dir" -type f -name '*.svg' -exec sed -i \
-e 's/#5c616c/#cfd8dc/gI' \
-e 's/#5294e2/#00bcd4/gI' '{}' \;
;;
2017-07-21 04:18:47 -04:00
Papirus-Dark)
# copy files from Papirus to Papirus-Dark
find "$theme_dir" -maxdepth 1 -type d | while read -r dir; do
2017-07-21 04:18:47 -04:00
sub_dir=$(basename "$dir")
case "$sub_dir" in
actions)
find "$SOURCE_DIR/$sub_dir" \
-name '*@16x16.svg' -print0 -o \
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 -o \
-name '*@symbolic.svg' -print0 | xargs -0 -i \
2017-08-15 15:58:21 -04:00
cp -auv '{}' "$theme_dir/$sub_dir"
2017-07-21 04:18:47 -04:00
;;
devices|places)
find "$SOURCE_DIR/$sub_dir" \
-name '*@16x16.svg' -print0 -o \
-name '*@symbolic.svg' -print0 | xargs -0 -i \
2017-08-15 15:58:21 -04:00
cp -auv '{}' "$theme_dir/$sub_dir"
2017-07-21 04:18:47 -04:00
;;
apps|categories|emblems|emotes|mimetypes|status)
find "$SOURCE_DIR/$sub_dir" \
-name '*@symbolic.svg' -print0 | xargs -0 -i \
2017-08-15 15:58:21 -04:00
cp -auv '{}' "$theme_dir/$sub_dir"
2017-07-21 04:18:47 -04:00
;;
esac
done
# convert color scheme from Papirus to Papirus-Dark
2017-07-21 04:18:47 -04:00
find "$theme_dir" -type f -name '*.svg' -exec sed -i \
-e 's/#5c616c/#d3dae3/gI' '{}' \;
;;
Papirus-Light)
# copy files from Papirus to Papirus-Light
find "$theme_dir" -maxdepth 1 -type d | while read -r dir; do
2017-07-21 04:18:47 -04:00
sub_dir=$(basename "$dir")
case "$sub_dir" in
panel)
find "$SOURCE_DIR/$sub_dir" \
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
2017-08-15 15:58:21 -04:00
cp -auv '{}' "$theme_dir/$sub_dir"
2017-07-21 04:18:47 -04:00
;;
esac
done
# convert color scheme from Papirus to Papirus-Light
2017-07-21 04:18:47 -04:00
find "$theme_dir" -type f -name '*.svg' -exec sed -i \
-e 's/#d3dae3/#5c616c/gI' '{}' \;
;;
*)
continue
;;
esac
done