From d2753ab6a734a9af2829241d8a74f3dd037f23e1 Mon Sep 17 00:00:00 2001 From: Ignacy Kajdan Date: Sun, 20 Mar 2022 11:51:00 +0100 Subject: [PATCH] refactor: optimize svg icons --- scripts/optimize-icons.sh | 47 ++++++++++++ src/kcm/icons/22-categories-bismuth-kcm.svg | 75 +++++++++---------- src/kcm/icons/64-categories-bismuth-kcm.svg | 74 +++++++++--------- src/kcm/icons/sc-apps-bismuth.svg | 10 +-- .../icons/16-status-bismuth-column.svg | 13 ++++ .../icons/16-status-bismuth-floating.svg | 12 +++ .../icons/16-status-bismuth-monocle.svg | 11 +++ .../icons/16-status-bismuth-quarter.svg | 14 ++++ .../icons/16-status-bismuth-spiral.svg | 14 ++++ .../icons/16-status-bismuth-spread.svg | 13 ++++ .../icons/16-status-bismuth-stair.svg | 12 +++ .../icons/16-status-bismuth-tile.svg | 13 ++++ .../icons/32-status-bismuth-column.svg | 20 ++--- .../icons/32-status-bismuth-floating.svg | 18 ++--- .../icons/32-status-bismuth-monocle.svg | 16 ++-- .../icons/32-status-bismuth-quarter.svg | 22 ++---- .../icons/32-status-bismuth-spiral.svg | 22 ++---- .../icons/32-status-bismuth-spread.svg | 20 ++--- .../icons/32-status-bismuth-stair.svg | 18 ++--- .../icons/32-status-bismuth-tile.svg | 20 ++--- src/kwinscript/icons/CMakeLists.txt | 8 ++ 21 files changed, 288 insertions(+), 184 deletions(-) create mode 100755 scripts/optimize-icons.sh create mode 100644 src/kwinscript/icons/16-status-bismuth-column.svg create mode 100644 src/kwinscript/icons/16-status-bismuth-floating.svg create mode 100644 src/kwinscript/icons/16-status-bismuth-monocle.svg create mode 100644 src/kwinscript/icons/16-status-bismuth-quarter.svg create mode 100644 src/kwinscript/icons/16-status-bismuth-spiral.svg create mode 100644 src/kwinscript/icons/16-status-bismuth-spread.svg create mode 100644 src/kwinscript/icons/16-status-bismuth-stair.svg create mode 100644 src/kwinscript/icons/16-status-bismuth-tile.svg diff --git a/scripts/optimize-icons.sh b/scripts/optimize-icons.sh new file mode 100755 index 00000000..783b6fbf --- /dev/null +++ b/scripts/optimize-icons.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env sh + +# SPDX-FileCopyrightText: 2022 Ignacy Kajdan +# SPDX-License-Identifier: MIT + +# Exit immediately on error +set -eu + +# Check if scour is installed +if ! command -v scour &> /dev/null; then + echo '"scour" could not be found.' >&2 + exit 1 +fi + +# Determine the absolute path to the repository +repo_dir_path="$(unset CDPATH && cd "$(dirname "$0")/.." && echo "$PWD")" +if ! [ "$(basename "${repo_dir_path}")" = bismuth ]; then + echo 'Could not determine the absolute path of the repository. Bailing out.' >&2 + exit 1 +fi + +echo 'Optimizing icons...' + +for icon in "${repo_dir_path}"/src/kcm/icons/*.svg \ + "${repo_dir_path}"/src/kwinscript/icons/*.svg; do + # File name without leading path and .svg suffix + base_name="$(basename "${icon}" .svg)" + + # Append .tmp to unoptimized icon's name + mv "${icon}" "${icon}.tmp" + + scour --create-groups \ + --strip-xml-prolog \ + --remove-descriptive-elements \ + --enable-viewboxing \ + --nindent 2 \ + --strip-xml-space \ + --enable-id-stripping \ + --protect-ids-list=current-color-scheme \ + -i "${icon}.tmp" \ + -o "${icon}" + + # Remove unoptimized icon + rm "${icon}.tmp" +done + +echo 'Done!' diff --git a/src/kcm/icons/22-categories-bismuth-kcm.svg b/src/kcm/icons/22-categories-bismuth-kcm.svg index f00f5599..ebb473b1 100644 --- a/src/kcm/icons/22-categories-bismuth-kcm.svg +++ b/src/kcm/icons/22-categories-bismuth-kcm.svg @@ -3,43 +3,40 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: LGPL-3.0-or-later --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/kcm/icons/64-categories-bismuth-kcm.svg b/src/kcm/icons/64-categories-bismuth-kcm.svg index 2bf9e13b..45a48185 100644 --- a/src/kcm/icons/64-categories-bismuth-kcm.svg +++ b/src/kcm/icons/64-categories-bismuth-kcm.svg @@ -3,42 +3,40 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: LGPL-3.0-or-later --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/kcm/icons/sc-apps-bismuth.svg b/src/kcm/icons/sc-apps-bismuth.svg index c94bc747..288f1b20 100644 --- a/src/kcm/icons/sc-apps-bismuth.svg +++ b/src/kcm/icons/sc-apps-bismuth.svg @@ -2,9 +2,9 @@ SPDX-FileCopyrightText: 2021 Mikhail Zolotukhin SPDX-License-Identifier: CC-BY-4.0 --> - - - - - + + + + + diff --git a/src/kwinscript/icons/16-status-bismuth-column.svg b/src/kwinscript/icons/16-status-bismuth-column.svg new file mode 100644 index 00000000..de3a9d3e --- /dev/null +++ b/src/kwinscript/icons/16-status-bismuth-column.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/kwinscript/icons/16-status-bismuth-floating.svg b/src/kwinscript/icons/16-status-bismuth-floating.svg new file mode 100644 index 00000000..e4c5272d --- /dev/null +++ b/src/kwinscript/icons/16-status-bismuth-floating.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/src/kwinscript/icons/16-status-bismuth-monocle.svg b/src/kwinscript/icons/16-status-bismuth-monocle.svg new file mode 100644 index 00000000..1320621c --- /dev/null +++ b/src/kwinscript/icons/16-status-bismuth-monocle.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/src/kwinscript/icons/16-status-bismuth-quarter.svg b/src/kwinscript/icons/16-status-bismuth-quarter.svg new file mode 100644 index 00000000..7aab5f34 --- /dev/null +++ b/src/kwinscript/icons/16-status-bismuth-quarter.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/src/kwinscript/icons/16-status-bismuth-spiral.svg b/src/kwinscript/icons/16-status-bismuth-spiral.svg new file mode 100644 index 00000000..ecbc49eb --- /dev/null +++ b/src/kwinscript/icons/16-status-bismuth-spiral.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/src/kwinscript/icons/16-status-bismuth-spread.svg b/src/kwinscript/icons/16-status-bismuth-spread.svg new file mode 100644 index 00000000..7b608419 --- /dev/null +++ b/src/kwinscript/icons/16-status-bismuth-spread.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/kwinscript/icons/16-status-bismuth-stair.svg b/src/kwinscript/icons/16-status-bismuth-stair.svg new file mode 100644 index 00000000..8c6e5d30 --- /dev/null +++ b/src/kwinscript/icons/16-status-bismuth-stair.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/src/kwinscript/icons/16-status-bismuth-tile.svg b/src/kwinscript/icons/16-status-bismuth-tile.svg new file mode 100644 index 00000000..51103463 --- /dev/null +++ b/src/kwinscript/icons/16-status-bismuth-tile.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/kwinscript/icons/32-status-bismuth-column.svg b/src/kwinscript/icons/32-status-bismuth-column.svg index 66547ed6..88b91bb5 100644 --- a/src/kwinscript/icons/32-status-bismuth-column.svg +++ b/src/kwinscript/icons/32-status-bismuth-column.svg @@ -3,17 +3,11 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: CC-BY-4.0 --> - - - - - - - - - - - + + + + + + + diff --git a/src/kwinscript/icons/32-status-bismuth-floating.svg b/src/kwinscript/icons/32-status-bismuth-floating.svg index b63abc48..1888a87c 100644 --- a/src/kwinscript/icons/32-status-bismuth-floating.svg +++ b/src/kwinscript/icons/32-status-bismuth-floating.svg @@ -3,16 +3,10 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: CC-BY-4.0 --> - - - - - - - - - - + + + + + + diff --git a/src/kwinscript/icons/32-status-bismuth-monocle.svg b/src/kwinscript/icons/32-status-bismuth-monocle.svg index b36a3c34..afb707aa 100644 --- a/src/kwinscript/icons/32-status-bismuth-monocle.svg +++ b/src/kwinscript/icons/32-status-bismuth-monocle.svg @@ -3,15 +3,9 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: CC-BY-4.0 --> - - - - - - - - - + + + + + diff --git a/src/kwinscript/icons/32-status-bismuth-quarter.svg b/src/kwinscript/icons/32-status-bismuth-quarter.svg index 7a0a6140..c56f5f62 100644 --- a/src/kwinscript/icons/32-status-bismuth-quarter.svg +++ b/src/kwinscript/icons/32-status-bismuth-quarter.svg @@ -3,18 +3,12 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: CC-BY-4.0 --> - - - - - - - - - - - - + + + + + + + + diff --git a/src/kwinscript/icons/32-status-bismuth-spiral.svg b/src/kwinscript/icons/32-status-bismuth-spiral.svg index f5647894..5eb6af36 100644 --- a/src/kwinscript/icons/32-status-bismuth-spiral.svg +++ b/src/kwinscript/icons/32-status-bismuth-spiral.svg @@ -3,18 +3,12 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: CC-BY-4.0 --> - - - - - - - - - - - - + + + + + + + + diff --git a/src/kwinscript/icons/32-status-bismuth-spread.svg b/src/kwinscript/icons/32-status-bismuth-spread.svg index ee9c1b06..95038f4e 100644 --- a/src/kwinscript/icons/32-status-bismuth-spread.svg +++ b/src/kwinscript/icons/32-status-bismuth-spread.svg @@ -3,17 +3,11 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: CC-BY-4.0 --> - - - - - - - - - - - + + + + + + + diff --git a/src/kwinscript/icons/32-status-bismuth-stair.svg b/src/kwinscript/icons/32-status-bismuth-stair.svg index 983c8f89..46f0951c 100644 --- a/src/kwinscript/icons/32-status-bismuth-stair.svg +++ b/src/kwinscript/icons/32-status-bismuth-stair.svg @@ -3,16 +3,10 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: CC-BY-4.0 --> - - - - - - - - - - + + + + + + diff --git a/src/kwinscript/icons/32-status-bismuth-tile.svg b/src/kwinscript/icons/32-status-bismuth-tile.svg index c3cbed0b..f07c939f 100644 --- a/src/kwinscript/icons/32-status-bismuth-tile.svg +++ b/src/kwinscript/icons/32-status-bismuth-tile.svg @@ -3,17 +3,11 @@ SPDX-FileCopyrightText: 2021 Ignacy Kajdan SPDX-License-Identifier: CC-BY-4.0 --> - - - - - - - - - - - + + + + + + + diff --git a/src/kwinscript/icons/CMakeLists.txt b/src/kwinscript/icons/CMakeLists.txt index aecbed77..0c73ca01 100644 --- a/src/kwinscript/icons/CMakeLists.txt +++ b/src/kwinscript/icons/CMakeLists.txt @@ -3,6 +3,14 @@ ecm_install_icons( ICONS + 16-status-bismuth-column.svg + 16-status-bismuth-floating.svg + 16-status-bismuth-monocle.svg + 16-status-bismuth-quarter.svg + 16-status-bismuth-spiral.svg + 16-status-bismuth-spread.svg + 16-status-bismuth-stair.svg + 16-status-bismuth-tile.svg 32-status-bismuth-column.svg 32-status-bismuth-floating.svg 32-status-bismuth-monocle.svg