install.sh
Bourne-Again shell script, ASCII text executable
1
#!/bin/bash
2
3
repodir=$(cd $(dirname $0) && pwd)
4
srcdir=${repodir}/src
5
6
gnomever_major=$(gnome-shell --version | cut -d ' ' -f 3 | cut -d . -f 1)
7
gnomever_minor=$(gnome-shell --version | cut -d ' ' -f 3 | cut -d . -f 2)
8
9
if [ -z $gnomever_minor ]; then
10
gnomever=3.18
11
elif [ -e ${srcdir}/gnome-shell/$gnomever_major.$gnomever_minor ]; then
12
gnomever=$gnomever_major.$gnomever_minor
13
elif [ -e ${srcdir}/gnome-shell/$gnomever_major.$(($gnomever_minor + 1)) ]; then
14
gnomever=$gnomever_major.$(($gnomever_minor + 1))
15
elif [ -e ${srcdir}/gnome-shell/$gnomever_major.$(($gnomever_minor - 1)) ]; then
16
gnomever=$gnomever_major.$(($gnomever_minor - 1))
17
else
18
gnomever=3.18
19
fi
20
21
echo
22
23
themedir_base_fallback=${destdir}/usr/share/themes/Flat-Plat
24
themedir_base=${THEME_DIR_BASE:-$themedir_base_fallback}
25
26
_COLOR_VARIANTS=(
27
''
28
'-dark'
29
'-light'
30
)
31
if [ ! -z "${COLOR_VARIANTS:-}" ] ; then
32
IFS=', ' read -r -a _COLOR_VARIANTS <<< "${COLOR_VARIANTS:-}"
33
fi
34
_SIZE_VARIANTS=(
35
''
36
'-compact'
37
)
38
if [ ! -z "${SIZE_VARIANTS:-}" ] ; then
39
IFS=', ' read -r -a _SIZE_VARIANTS <<< "${SIZE_VARIANTS:-}"
40
fi
41
42
for color in "${_COLOR_VARIANTS[@]}" ; do
43
for size in "${_SIZE_VARIANTS[@]}" ; do
44
echo Installing Flat-Plat${color}${size} ...
45
46
themedir=${themedir_base}${color}${size}
47
install -d ${themedir}
48
49
# Copy COPYING
50
cd ${repodir}
51
cp -ur \
52
COPYING \
53
${themedir}
54
55
# Install index.theme
56
cd ${srcdir}
57
cp -ur \
58
index${color}${size}.theme \
59
${themedir}/index.theme
60
61
# Install Chrome Theme/Extention
62
install -d ${themedir}/chrome
63
cd ${srcdir}/chrome
64
cp -ur \
65
"Flat-Plat${color} Theme.crx" \
66
${themedir}/chrome
67
if [ "$color" != '-dark' ] ; then
68
cp -ur \
69
"Flat-Plat Scrollbars.crx" \
70
${themedir}/chrome
71
else
72
cp -ur \
73
"Flat-Plat${color} Scrollbars.crx" \
74
${themedir}/chrome
75
fi
76
77
# Install GNOME Shell Theme
78
install -d ${themedir}/gnome-shell
79
cd ${srcdir}/gnome-shell/${gnomever}
80
cp -ur \
81
no-events.svg \
82
no-notifications.svg \
83
process-working.svg \
84
${themedir}/gnome-shell
85
cp -urL \
86
extensions \
87
pad-osd.css \
88
${themedir}/gnome-shell
89
if [ "$color" != '-dark' ] ; then
90
cp -urL \
91
assets \
92
${themedir}/gnome-shell
93
else
94
cp -urL \
95
assets${color} \
96
${themedir}/gnome-shell/assets
97
fi
98
cp -ur \
99
gnome-shell${color}${size}.css \
100
${themedir}/gnome-shell/gnome-shell.css
101
glib-compile-resources \
102
--sourcedir=${themedir}/gnome-shell \
103
--target=${themedir}/gnome-shell/gnome-shell-theme.gresource \
104
gnome-shell-theme.gresource.xml
105
106
# Install GTK+ 2 Theme
107
install -d ${themedir}/gtk-2.0
108
cd ${srcdir}/gtk-2.0
109
cp -ur \
110
apps.rc \
111
hacks.rc \
112
main.rc \
113
${themedir}/gtk-2.0
114
if [ "$color" != '-dark' ] ; then
115
cp -ur \
116
assets \
117
${themedir}/gtk-2.0
118
else
119
cp -ur \
120
assets${color} \
121
${themedir}/gtk-2.0/assets
122
fi
123
cp -ur \
124
gtkrc${color} \
125
${themedir}/gtk-2.0/gtkrc
126
127
# Install GTK+ 3 Theme
128
install -d ${themedir}/gtk-common
129
cd ${srcdir}/gtk-3.0/gtk-common
130
cp -ur \
131
assets \
132
${themedir}/gtk-common
133
134
for version in '3.18' '3.20' '3.22' ; do
135
if [ "$version" == '3.18' ] ; then
136
install -d ${themedir}/gtk-3.0
137
cd ${srcdir}/gtk-3.0/${version}
138
cp -ur \
139
assets \
140
${themedir}/gtk-3.0
141
cp -ur \
142
gtk${color}.css \
143
${themedir}/gtk-3.0/gtk.css
144
if [ "$color" != '-dark' ] ; then
145
cp -ur \
146
gtk-dark.css \
147
${themedir}/gtk-3.0
148
fi
149
else
150
install -d ${themedir}/gtk-${version}
151
cd ${srcdir}/gtk-3.0/${version}
152
cp -ur \
153
assets \
154
${themedir}/gtk-${version}
155
cp -ur \
156
gtk${color}${size}.css \
157
${themedir}/gtk-${version}/gtk.css
158
if [ "$color" != '-dark' ] ; then
159
cp -ur \
160
gtk-dark${size}.css \
161
${themedir}/gtk-${version}/gtk-dark.css
162
fi
163
fi
164
done
165
166
# Install Metacity Theme
167
install -d ${themedir}/metacity-1
168
cd ${srcdir}/metacity-1
169
cp -ur \
170
*.svg \
171
${themedir}/metacity-1
172
if [ "$color" != '-light' ] ; then
173
cp -ur \
174
metacity-theme-2.xml \
175
metacity-theme-3.xml \
176
${themedir}/metacity-1
177
else
178
cp -ur \
179
metacity-theme-2${color}.xml \
180
${themedir}/metacity-1/metacity-theme-2.xml
181
cp -ur \
182
metacity-theme-3${color}.xml \
183
${themedir}/metacity-1/metacity-theme-3.xml
184
fi
185
186
# Install Unity Theme
187
install -d ${themedir}/unity
188
cd ${srcdir}/unity
189
cp -ur \
190
*.svg \
191
*.png \
192
*.json \
193
${themedir}/unity
194
if [ "$color" != '-light' ] ; then
195
cp -ur \
196
buttons \
197
${themedir}/unity
198
else
199
cp -urT \
200
buttons${color} \
201
${themedir}/unity/buttons
202
fi
203
204
# Install Xfwm Theme
205
install -d ${themedir}/xfwm4
206
cd ${srcdir}/xfwm4
207
cp -ur \
208
*.svg \
209
themerc \
210
${themedir}/xfwm4
211
if [ "$color" != '-light' ] ; then
212
cp -ur \
213
assets \
214
${themedir}/xfwm4
215
else
216
cp -urT \
217
assets${color} \
218
${themedir}/xfwm4/assets
219
fi
220
done
221
done
222
223
echo
224
echo Done.
225