diff --git a/tycho/gen_images.fish b/tycho/gen_images.fish
new file mode 100644
index 0000000..b645e50
--- /dev/null
+++ b/tycho/gen_images.fish
@@ -0,0 +1,51 @@
+#!/usr/bin/env fish
+
+set sizes 16 24 32 48 64 128 256 512 1024
+set hidpi 32 48 64 96 128 256 512 1024 2048
+set numsize 9
+
+mkdir -p resources/icons
+rm resources/icons/*.png resources/icons.qrc
+
+echo "" > resources/icons.qrc
+echo '' >> resources/icons.qrc
+
+function conv_icon -a out sz inf
+ inkscape -z -e "$out" -w "$sz" -h "$sz" "$inf" &
+end
+
+function run_optipng -a out
+ optipng -quiet -o5 "$out" &
+end
+
+function comp_icon -a f i
+ set sz $sizes[$i]
+ set hz $hidpi[$i]
+ set out icons/(basename -s .svg "$f")_$sz
+ set out_s $out.png
+ set out_h $out@2x.png
+ echo \t"$out_s" >> resources/icons.qrc
+ echo \t"$out_h" >> resources/icons.qrc
+ set out_s resources/$out_s
+ set out_h resources/$out_h
+ conv_icon "$out_s" "$sz" "$f"
+ conv_icon "$out_h" "$hz" "$f"
+ wait inkscape
+ run_optipng "$out_s"
+ run_optipng "$out_h"
+end
+
+for f in resources/mini/*.svg
+ for i in (seq 1 "$numsize")
+ comp_icon "$f" "$i"
+ end
+end
+
+echo "" >> resources/icons.qrc
+echo "" >> resources/icons.qrc
+
+wait optipng
+
+echo "done"
+
+## EOF
diff --git a/tycho/gen_images.sh b/tycho/gen_images.sh
deleted file mode 100644
index 1978a35..0000000
--- a/tycho/gen_images.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env bash
-
-sizes=(16 24 32 48 64 128 256 512 1024)
-hidpi=(32 48 64 96 128 256 512 1024 2048)
-numsize=8
-
-mkdir -p resources/icons
-rm resources/icons/*.png resources/icons.qrc
-
-echo "" > resources/icons.qrc
-echo "" >> resources/icons.qrc
-
-comp_icon() {
- f=$1
- i=$2
- sz=${sizes[${i}]}
- hz=${hidpi[${i}]}
- out=icons/$(basename -s .svg "${f}")_${sz}
- out_s=${out}.png
- out_h=${out}@2x.png
- echo " ${out_s}" >> resources/icons.qrc
- echo " ${out_h}" >> resources/icons.qrc
- out_s=resources/${out_s}
- out_h=resources/${out_h}
- echo "${out_s}"
- convert -background none "${f}" -resize "${sz}x${sz}" "${out_s}" &
- convert -background none "${f}" -resize "${hz}x${hz}" "${out_h}" &
- wait
- optipng -quiet -o5 "${out_s}" &
- optipng -quiet -o5 "${out_h}" &
-}
-
-for f in resources/mini/*.svg
-do
- for i in $(seq 0 "${numsize}")
- do
- comp_icon "${f}" "${i}"
- done
-done
-
-echo "" >> resources/icons.qrc
-echo "" >> resources/icons.qrc
-
-## EOF