From 4d3b50949361c9725bab7b5dd07b592b11e5a120 Mon Sep 17 00:00:00 2001 From: Max Christian Pohle Date: Sun, 9 Aug 2015 02:47:13 +0200 Subject: added gvim symbol and added generation script for mime type symbols (Makefile included) --- scalable/mimetypes/templates/generate.sh | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 scalable/mimetypes/templates/generate.sh (limited to 'scalable/mimetypes/templates/generate.sh') diff --git a/scalable/mimetypes/templates/generate.sh b/scalable/mimetypes/templates/generate.sh new file mode 100755 index 0000000..be8de9c --- /dev/null +++ b/scalable/mimetypes/templates/generate.sh @@ -0,0 +1,63 @@ +DEFAULT_FILE='file' # .png gets added automatically +#INPUT_FILE=test-globs +#INPUT_FILE=/usr/share/mime/generic-icons < /usr/share/mime/globs +INPUT_FILE=$1 +OUT_PATH="../" + +MAX_LINES=`cat $INPUT_FILE | wc -l` +CUR_LINE=0 + +IFS=':' +while read A B +do + if [[ "$A" == "#"* ]]; then continue; fi + + MIME=$A + FILE=${A/\//-} + TEXT=${B/\*\./} + + + ((CUR_LINE++)) + printf "[%-4d/%-4d] checking for %s\n" "$CUR_LINE" "$MAX_LINES" "$FILE.png" + + if [[ -f "default/$FILE.png" ]]; then + echo "using default." + cp "default/$FILE.png" "$OUT_PATH/$FILE.png" + else + + FIND=$FILE + while [[ 1 ]] + do + # printf "%s\n" $FIND + if [[ -f "default/$FIND.png" ]]; then break; fi + + if [[ "$FIND" == "${FIND%-*}" ]]; then FIND="$DEFAULT_FILE"; break; fi + FIND=${FIND%-*} + done + + # create default file... just in case there is no desktop file... + cp "default/$FIND.png" "$OUT_PATH/$FILE.png" + + DESKTOP=`xdg-mime query default $MIME` + if [[ -f /usr/share/applications/$DESKTOP ]]; then + ICONTEXT=`grep -o 'Icon=.*' /usr/share/applications/$DESKTOP` + APPICON=`find ../../ /usr/share/icons/Adwaita/scalable /usr/share/icons/hicolor/scalable -path '*apps*' -name "${ICONTEXT/Icon=/}*" -type f -print -quit` + + printf "%-12s%s\t%s\t%s\t%s\n" "" $MIME $DESKTOP $FIND $APPICON + + if [[ "$APPICON" ]]; then + convert \ + "default/$FIND.png" \( -density 400 $APPICON -resize 256 \) \ + -gravity north -geometry +0+20 \ + -compose darken -composite $OUT_PATH/$FILE.png + fi + fi + fi + + mogrify "$OUT_PATH/$FILE.png" \ + -gravity northwest -pointsize 60 -rotate 90 \ + -stroke '#444' -strokewidth 2 -annotate 0 "${FILE##*-}" \ + -fill '#ff0' -annotate 0 "${FILE##*-}" \ + -rotate -90 -resize 256 $OUT_PATH/$FILE.png + +done < $INPUT_FILE -- cgit v1.2.3