Changeset View
Changeset View
Standalone View
Standalone View
src/build_theme.sh
Show All 20 Lines | |||||
21 | 21 | | |||
22 | # Usage: install_theme <theme-directory> <theme-name> <install-target-dir> | 22 | # Usage: install_theme <theme-directory> <theme-name> <install-target-dir> | ||
23 | # If <install-target-dir> is unset or empty, install to $HOME/.local/share/themes/$THEME_NAME | 23 | # If <install-target-dir> is unset or empty, install to $HOME/.local/share/themes/$THEME_NAME | ||
24 | install_theme () { | 24 | install_theme () { | ||
25 | THEME_INSTALL_TARGET="$3" | 25 | THEME_INSTALL_TARGET="$3" | ||
26 | if [ -z "${THEME_INSTALL_TARGET}" ]; then | 26 | if [ -z "${THEME_INSTALL_TARGET}" ]; then | ||
27 | THEME_INSTALL_TARGET="${HOME}/.local/share/themes/$2" | 27 | THEME_INSTALL_TARGET="${HOME}/.local/share/themes/$2" | ||
28 | fi | 28 | fi | ||
29 | echo "Installing into ${THEME_INSTALL_TARGET}" | ||||
29 | mkdir -p "${THEME_INSTALL_TARGET}" | 30 | mkdir -p "${THEME_INSTALL_TARGET}" | ||
30 | for dir in assets gtk-2.0 gtk-3.18 gtk-3.20; do | 31 | for dir in assets gtk-2.0 gtk-3.18 gtk-3.20; do | ||
31 | if [ -d "${THEME_INSTALL_TARGET}/$dir" ]; then | 32 | if [ -d "${THEME_INSTALL_TARGET}/$dir" ]; then | ||
32 | rm -rf "${THEME_INSTALL_TARGET:?}/$dir" | 33 | rm -rf "${THEME_INSTALL_TARGET:?}/$dir" | ||
33 | fi | 34 | fi | ||
34 | mv -f "$1/$dir" "${THEME_INSTALL_TARGET}" | 35 | mv -f "$1/$dir" "${THEME_INSTALL_TARGET}" | ||
35 | done | 36 | done | ||
36 | rmdir "$1" | 37 | rmdir "$1" | ||
37 | } | 38 | } | ||
38 | 39 | | |||
39 | # Usage render_theme <colorscheme> <theme-name> <theme-install-target> <colorschemebase> | 40 | # Usage render_theme <colorscheme> <theme-name> <theme-install-target> <colorschemebase> | ||
40 | render_theme () { | 41 | render_theme () { | ||
41 | THEME_BUILD_DIR="$(mktemp -d)" | 42 | THEME_BUILD_DIR="$(mktemp -d)" | ||
42 | create_folders "${THEME_BUILD_DIR}" | 43 | create_folders "${THEME_BUILD_DIR}" | ||
43 | cp -R gtk2/* "${THEME_BUILD_DIR}/gtk-2.0/" | 44 | cp -R gtk2/* "${THEME_BUILD_DIR}/gtk-2.0/" | ||
44 | python3 render_assets.py -c "$1" -a "${THEME_BUILD_DIR}/assets" \ | 45 | python3 render_assets.py -c "$1" -a "${THEME_BUILD_DIR}/assets" \ | ||
45 | -g "${THEME_BUILD_DIR}/gtk-2.0" -G "${THEME_BUILD_DIR}" -b $4 | 46 | -g "${THEME_BUILD_DIR}/gtk-2.0" -G "${THEME_BUILD_DIR}" -b "$4" | ||
46 | build_sass gtk318/gtk.scss "${THEME_BUILD_DIR}/gtk-3.18/gtk.css" "${THEME_BUILD_DIR}" | 47 | build_sass gtk318/gtk.scss "${THEME_BUILD_DIR}/gtk-3.18/gtk.css" "${THEME_BUILD_DIR}" | ||
47 | build_sass gtk320/gtk.scss "${THEME_BUILD_DIR}/gtk-3.20/gtk.css" "${THEME_BUILD_DIR}" | 48 | build_sass gtk320/gtk.scss "${THEME_BUILD_DIR}/gtk-3.20/gtk.css" "${THEME_BUILD_DIR}" | ||
48 | rm -f "${THEME_BUILD_DIR}/_global.scss" | 49 | rm -f "${THEME_BUILD_DIR}/_global.scss" | ||
49 | install_theme "${THEME_BUILD_DIR}" "$2" "$3" | 50 | install_theme "${THEME_BUILD_DIR}" "$2" "$3" | ||
50 | | ||||
51 | echo "Installing into $3" | | |||
52 | } | 51 | } | ||
53 | 52 | | |||
54 | COLOR_SCHEME="" | 53 | COLOR_SCHEME="" | ||
55 | INSTALL_TARGET="" | 54 | INSTALL_TARGET="" | ||
56 | THEME_NAME="" | 55 | THEME_NAME="" | ||
57 | COLOR_SCHEME_ROOT="/usr/share/color-schemes" | 56 | COLOR_SCHEME_ROOT="/usr/share/color-schemes" | ||
58 | 57 | | |||
59 | while [ "$#" -gt 0 ]; do | 58 | while [ "$#" -gt 0 ]; do | ||
60 | case "$1" in | 59 | case "$1" in | ||
61 | -h|--help) | 60 | -h|--help) | ||
62 | echo "$0: build Breeze theme" | 61 | echo "$0: build Breeze theme" | ||
63 | echo "Usage: $0 [-c COLOR_SCHEME] [-t TARGET_DIRECTORY]" | 62 | echo "Usage: $0 [-c COLOR_SCHEME] [-r COLOR_SCHEME_ROOT] [-t TARGET_DIRECTORY]" | ||
64 | echo | 63 | echo | ||
65 | echo "Arguments:" | 64 | echo "Arguments:" | ||
66 | echo " -h, --help show this help" | 65 | echo " -h, --help show this help" | ||
67 | echo " -c COLOR_SCHEME use color scheme with name COLOR_SCHEME. If unset or" | 66 | echo " -c COLOR_SCHEME use color scheme with name COLOR_SCHEME. If unset or" | ||
68 | echo " empty, the value from ~/.config/kdeglobals is used" | 67 | echo " empty, the value from ~/.config/kdeglobals is used" | ||
69 | echo " -r COLOR_SCHEME_ROOT The base path of all color schemes or" | 68 | echo " -r COLOR_SCHEME_ROOT The base path of all color schemes or" | ||
70 | echo " /usr/share/color-schemes if unset" | 69 | echo " /usr/share/color-schemes if unset" | ||
71 | echo " -t TARGET_DIRECTORY the directory to install the color scheme. If unset or" | 70 | echo " -t TARGET_DIRECTORY the directory to install the color scheme. If unset or" | ||
72 | echo " empty, it is installed into" | 71 | echo " empty, it is installed into" | ||
73 | echo " ~/.local/share/themes/THEME_NAME" | 72 | echo " ~/.local/share/themes/THEME_NAME" | ||
74 | exit 0 | 73 | exit 0 | ||
75 | ;; | 74 | ;; | ||
76 | -c) | 75 | -c) | ||
77 | shift | 76 | shift | ||
78 | COLOR_SCHEME="$1" | 77 | COLOR_SCHEME="$1" | ||
79 | ;; | 78 | ;; | ||
80 | -t) | 79 | -t) | ||
81 | shift | 80 | shift | ||
82 | INSTALL_TARGET="$1" | 81 | INSTALL_TARGET="$1" | ||
83 | ;; | 82 | ;; | ||
84 | -r) | 83 | -r) | ||
85 | shift | 84 | shift | ||
86 | COLOR_SCHEME_ROOT="$1" | 85 | COLOR_SCHEME_ROOT="$1" | ||
86 | ;; | ||||
87 | esac | 87 | esac | ||
88 | shift | 88 | shift | ||
89 | done | 89 | done | ||
90 | 90 | | |||
91 | if [ -z "${COLOR_SCHEME}" ]; then | 91 | if [ -z "${COLOR_SCHEME}" ]; then | ||
92 | THEME_NAME="Breeze" | 92 | THEME_NAME="Breeze" | ||
93 | if [ -f "${HOME}/.config/kdeglobals" ]; then | 93 | if [ -f "${HOME}/.config/kdeglobals" ]; then | ||
94 | COLOR_SCHEME="${HOME}/.config/kdeglobals" | 94 | COLOR_SCHEME="${HOME}/.config/kdeglobals" | ||
Show All 17 Lines |