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

137 lines
3.9 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
2018-09-03 02:37:39 -04:00
readonly SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
readonly SOURCE_DIR="$SCRIPT_DIR/Papirus"
2018-09-03 02:37:39 -04:00
readonly THEMES_DIR="$SCRIPT_DIR/../.."
mapfile -t THEMES < <(
find "$THEMES_DIR" -type f -name 'index.theme' -printf '%h\n'
)
2017-07-21 04:18:47 -04:00
for theme in "${THEMES[@]##*/}"; do
theme_dir="$SCRIPT_DIR/$theme"
2017-07-21 04:18:47 -04:00
case "$theme" in
2017-07-21 04:18:47 -04:00
ePapirus)
# copy files and symlinks
find "$SOURCE_DIR" -maxdepth 1 -type d | while read -r dir; do
context_dir=$(basename "$dir")
2017-07-21 04:18:47 -04:00
case "$context_dir" in
2017-07-21 04:18:47 -04:00
actions)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
2017-07-21 04:18:47 -04:00
-name '*@16x16.svg' -print0 -o \
-name '*@18x18.svg' -print0 -o \
2017-07-21 04:18:47 -04:00
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
;;
animations)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
-name '*@24x24.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
2017-07-21 04:18:47 -04:00
;;
devices|places)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
2017-07-21 04:18:47 -04:00
-name '*@16x16.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
2017-07-21 04:18:47 -04:00
;;
panel)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
2017-07-21 04:18:47 -04:00
-name '*@24x24.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
2017-07-21 04:18:47 -04:00
;;
esac
done
# convert color scheme
2017-07-21 04:18:47 -04:00
find "$theme_dir" -type f -name '*.svg' -exec sed -i \
-e 's/#444444/#6e6e6e/gI' \
-e 's/#dfdfdf/#ffffff/gI' '{}' \;
2017-07-21 04:18:47 -04:00
;;
Papirus-Dark)
# copy files and symlinks
find "$SOURCE_DIR" -maxdepth 1 -type d | while read -r dir; do
context_dir=$(basename "$dir")
2017-07-21 04:18:47 -04:00
case "$context_dir" in
2017-07-21 04:18:47 -04:00
actions)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
2017-07-21 04:18:47 -04:00
-name '*@16x16.svg' -print0 -o \
-name '*@18x18.svg' -print0 -o \
2017-07-21 04:18:47 -04:00
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 -o \
-name '*@symbolic.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
;;
animations)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
2017-07-21 04:18:47 -04:00
;;
devices|places)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
2017-07-21 04:18:47 -04:00
-name '*@16x16.svg' -print0 -o \
-name '*@symbolic.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
2017-07-21 04:18:47 -04:00
;;
apps|categories|emblems|emotes|mimetypes|status)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
2017-07-21 04:18:47 -04:00
-name '*@symbolic.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
2017-07-21 04:18:47 -04:00
;;
esac
done
# convert color scheme
2017-07-21 04:18:47 -04:00
find "$theme_dir" -type f -name '*.svg' -exec sed -i \
-e 's/#444444/#dfdfdf/gI' '{}' \;
2017-07-21 04:18:47 -04:00
;;
Papirus-Light)
# copy files and symlinks
find "$SOURCE_DIR" -maxdepth 1 -type d | while read -r dir; do
context_dir=$(basename "$dir")
2017-07-21 04:18:47 -04:00
case "$context_dir" in
animations)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
;;
2017-07-21 04:18:47 -04:00
panel)
mkdir -p "$theme_dir/$context_dir"
find "$SOURCE_DIR/$context_dir" \
-name '*@16x16.svg' -print0 -o \
2017-07-21 04:18:47 -04:00
-name '*@22x22.svg' -print0 -o \
-name '*@24x24.svg' -print0 | xargs -0 -i \
cp -afv '{}' "$theme_dir/$context_dir"
2017-07-21 04:18:47 -04:00
;;
esac
done
# convert color scheme
2017-07-21 04:18:47 -04:00
find "$theme_dir" -type f -name '*.svg' -exec sed -i \
-e 's/#dfdfdf/#444444/gI' '{}' \;
2017-07-21 04:18:47 -04:00
;;
*)
continue
;;
esac
done