From a50c48b6e1672267dd831972e76fd2130ef3b3e9 Mon Sep 17 00:00:00 2001 From: Max Christian Pohle Date: Mon, 7 Sep 2015 17:17:02 +0200 Subject: cleaned working directory and simplified installation, mimetype previews now possible --- Makefile | 22 +++---- doc/img/actions.jpg | Bin 50930 -> 50923 bytes doc/img/apps.jpg | Bin 55962 -> 55952 bytes doc/img/categories.jpg | Bin 12688 -> 12687 bytes doc/img/devices.jpg | Bin 29607 -> 29607 bytes doc/img/emblems.jpg | Bin 15551 -> 15544 bytes doc/img/mimetypes-templates.jpg | Bin 0 -> 36608 bytes doc/img/places.jpg | Bin 32747 -> 32756 bytes doc/img/status.jpg | Bin 24971 -> 24978 bytes doc/readme.md | 3 +- generate.sh | 24 -------- icons-mkdefaultsizes.sh | 22 +++++++ icons-mkmimetypes.sh | 64 +++++++++++++++++++++ .../application-x-executable.png | Bin 0 -> 194302 bytes .../mimetypes-templates/application-xml-dtd.png | Bin 0 -> 238889 bytes scalable/mimetypes-templates/application.png | Bin 0 -> 161557 bytes scalable/mimetypes-templates/audio.png | Bin 0 -> 132002 bytes scalable/mimetypes-templates/file.png | Bin 0 -> 166650 bytes scalable/mimetypes-templates/image.png | Bin 0 -> 166650 bytes scalable/mimetypes-templates/text-css.png | Bin 0 -> 165568 bytes scalable/mimetypes-templates/text-x-chdr.png | Bin 0 -> 270482 bytes scalable/mimetypes-templates/text-x-csrc.png | Bin 0 -> 270303 bytes scalable/mimetypes-templates/text-x-generic.png | Bin 0 -> 166650 bytes scalable/mimetypes-templates/text-x-makefile.png | Bin 0 -> 137102 bytes scalable/mimetypes-templates/text-x-script.png | Bin 0 -> 267918 bytes scalable/mimetypes-templates/text.png | Bin 0 -> 107109 bytes scalable/mimetypes-templates/video.png | Bin 0 -> 136691 bytes scalable/mimetypes/templates/Makefile | 3 - .../templates/default/application-x-executable.png | Bin 194302 -> 0 bytes .../templates/default/application-xml-dtd.png | Bin 238889 -> 0 bytes .../mimetypes/templates/default/application.png | Bin 161557 -> 0 bytes scalable/mimetypes/templates/default/audio.png | Bin 132002 -> 0 bytes scalable/mimetypes/templates/default/file.png | Bin 166650 -> 0 bytes scalable/mimetypes/templates/default/image.png | Bin 166650 -> 0 bytes scalable/mimetypes/templates/default/text-css.png | Bin 165568 -> 0 bytes .../mimetypes/templates/default/text-x-chdr.png | Bin 270482 -> 0 bytes .../mimetypes/templates/default/text-x-csrc.png | Bin 270303 -> 0 bytes .../mimetypes/templates/default/text-x-generic.png | Bin 166650 -> 0 bytes .../templates/default/text-x-makefile.png | Bin 137102 -> 0 bytes .../mimetypes/templates/default/text-x-script.png | Bin 267918 -> 0 bytes scalable/mimetypes/templates/default/text.png | Bin 107109 -> 0 bytes scalable/mimetypes/templates/default/video.png | Bin 136691 -> 0 bytes scalable/mimetypes/templates/generate.sh | 63 -------------------- scalable/mimetypes/templates/test-globs | 4 -- 44 files changed, 99 insertions(+), 106 deletions(-) create mode 100644 doc/img/mimetypes-templates.jpg delete mode 100755 generate.sh create mode 100755 icons-mkdefaultsizes.sh create mode 100755 icons-mkmimetypes.sh create mode 100644 scalable/mimetypes-templates/application-x-executable.png create mode 100644 scalable/mimetypes-templates/application-xml-dtd.png create mode 100644 scalable/mimetypes-templates/application.png create mode 100644 scalable/mimetypes-templates/audio.png create mode 100644 scalable/mimetypes-templates/file.png create mode 100644 scalable/mimetypes-templates/image.png create mode 100644 scalable/mimetypes-templates/text-css.png create mode 100644 scalable/mimetypes-templates/text-x-chdr.png create mode 100644 scalable/mimetypes-templates/text-x-csrc.png create mode 100644 scalable/mimetypes-templates/text-x-generic.png create mode 100644 scalable/mimetypes-templates/text-x-makefile.png create mode 100644 scalable/mimetypes-templates/text-x-script.png create mode 100644 scalable/mimetypes-templates/text.png create mode 100644 scalable/mimetypes-templates/video.png delete mode 100644 scalable/mimetypes/templates/Makefile delete mode 100644 scalable/mimetypes/templates/default/application-x-executable.png delete mode 100644 scalable/mimetypes/templates/default/application-xml-dtd.png delete mode 100644 scalable/mimetypes/templates/default/application.png delete mode 100644 scalable/mimetypes/templates/default/audio.png delete mode 100644 scalable/mimetypes/templates/default/file.png delete mode 100644 scalable/mimetypes/templates/default/image.png delete mode 100644 scalable/mimetypes/templates/default/text-css.png delete mode 100644 scalable/mimetypes/templates/default/text-x-chdr.png delete mode 100644 scalable/mimetypes/templates/default/text-x-csrc.png delete mode 100644 scalable/mimetypes/templates/default/text-x-generic.png delete mode 100644 scalable/mimetypes/templates/default/text-x-makefile.png delete mode 100644 scalable/mimetypes/templates/default/text-x-script.png delete mode 100644 scalable/mimetypes/templates/default/text.png delete mode 100644 scalable/mimetypes/templates/default/video.png delete mode 100755 scalable/mimetypes/templates/generate.sh delete mode 100644 scalable/mimetypes/templates/test-globs diff --git a/Makefile b/Makefile index ac4cf99..7e5b4ab 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,19 @@ -all: clean - make generate +all: actions apps categories devices emblems places status mimetypes-templates -generate: preview.png versions update-cache +%.png: + rm -f $@ -preview.png: - #$(shell find "scalable/" -type f -name "*.png" -not -path ".git/*" -not -path 'scalable/animations/*' -not -path 'scalable/mimetypes/*' | sort | feh -m -y 96 -E 96 -s -p -b trans -O preview.png -f-) - $(shell for path in $(ls -d scalable/*/); do montage -label '\n%t' $(find $path -type f) -tile 5 -background white -geometry 96x96+24+24 doc/img/$(echo $path | cut -d "/" -f2).jpg; done) +%: %.png + $(shell /usr/bin/env montage -label '\n%t' $(shell find scalable/$(@) -type f) -tile 5 -background white -geometry 96x96+24+24 doc/img/$(@).jpg) -preview_mimetypes.png: - $(shell find "scalable/mimetypes" -type f -name "*.png" | sort | feh -m -y 256 -E 256 -W 8192 -s -p -b trans -O preview_mimetypes.png -f-) +mimetypes: + ./icons-mkmimetypes.sh /usr/share/mime/generic-icons + ./icons-mkmimetypes.sh /usr/share/mime/globs -versions: - find scalable/ -name '*.png' -exec ./generate.sh '{}' \; +resize: + find scalable/ -name '*.png' -exec ./icons-mkdefaultsizes.sh '{}' \; -update-cache: +iconcache: gtk-update-icon-cache `pwd` clean: diff --git a/doc/img/actions.jpg b/doc/img/actions.jpg index 9aec71f..83102c5 100644 Binary files a/doc/img/actions.jpg and b/doc/img/actions.jpg differ diff --git a/doc/img/apps.jpg b/doc/img/apps.jpg index 1c57a3c..b0ba043 100644 Binary files a/doc/img/apps.jpg and b/doc/img/apps.jpg differ diff --git a/doc/img/categories.jpg b/doc/img/categories.jpg index 51dd56a..9208609 100644 Binary files a/doc/img/categories.jpg and b/doc/img/categories.jpg differ diff --git a/doc/img/devices.jpg b/doc/img/devices.jpg index 8c845db..2db6eaa 100644 Binary files a/doc/img/devices.jpg and b/doc/img/devices.jpg differ diff --git a/doc/img/emblems.jpg b/doc/img/emblems.jpg index f0d4673..756512b 100644 Binary files a/doc/img/emblems.jpg and b/doc/img/emblems.jpg differ diff --git a/doc/img/mimetypes-templates.jpg b/doc/img/mimetypes-templates.jpg new file mode 100644 index 0000000..f229bcc Binary files /dev/null and b/doc/img/mimetypes-templates.jpg differ diff --git a/doc/img/places.jpg b/doc/img/places.jpg index 76f6946..3a09874 100644 Binary files a/doc/img/places.jpg and b/doc/img/places.jpg differ diff --git a/doc/img/status.jpg b/doc/img/status.jpg index b752b6f..235c3b8 100644 Binary files a/doc/img/status.jpg and b/doc/img/status.jpg differ diff --git a/doc/readme.md b/doc/readme.md index b4da9aa..db07ace 100644 --- a/doc/readme.md +++ b/doc/readme.md @@ -46,7 +46,8 @@ To use this theme diff --git a/generate.sh b/generate.sh deleted file mode 100755 index d1737fb..0000000 --- a/generate.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# invoke as ./generate.sh FILENAME -# it is used to generate smaller versions from the one found in scalable - - - -FILE=${1#scalable/} -PATH=$(dirname $FILE) - -for VERSION in 16x16 32x32 48x48 64x64 128x128 256x256 -do - /bin/mkdir -p "cache/$VERSION/$PATH" -done - - -/usr/bin/convert $1 \ - \( -clone 0 -resize 16x16 -write cache/16x16/$FILE \) \ - \( -clone 0 -resize 32x32 -write cache/32x32/$FILE \) \ - \( -clone 0 -resize 48x48 -write cache/48x48/$FILE \) \ - \( -clone 0 -resize 64x64 -write cache/64x64/$FILE \) \ - \( -clone 0 -resize 128x128 -write cache/128x128/$FILE \) \ - \( -clone 0 -resize 256x256 -write cache/256x256/$FILE \) \ - null: - diff --git a/icons-mkdefaultsizes.sh b/icons-mkdefaultsizes.sh new file mode 100755 index 0000000..6d4b756 --- /dev/null +++ b/icons-mkdefaultsizes.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# invoke as ./generate.sh FILENAME +# it is used to generate smaller versions from the one found in scalable + +FILE=${1#scalable/} +PATH=$(dirname $FILE) + +for VERSION in 16x16 32x32 48x48 64x64 128x128 256x256 +do + /bin/mkdir -p "cache/$VERSION/$PATH" +done + +echo "$1..." +/usr/bin/convert $1 \ + \( -clone 0 -resize 16x16 -write cache/16x16/$FILE \) \ + \( -clone 0 -resize 32x32 -write cache/32x32/$FILE \) \ + \( -clone 0 -resize 48x48 -write cache/48x48/$FILE \) \ + \( -clone 0 -resize 64x64 -write cache/64x64/$FILE \) \ + \( -clone 0 -resize 128x128 -write cache/128x128/$FILE \) \ + \( -clone 0 -resize 256x256 -write cache/256x256/$FILE \) \ + null: + diff --git a/icons-mkmimetypes.sh b/icons-mkmimetypes.sh new file mode 100755 index 0000000..202dbd5 --- /dev/null +++ b/icons-mkmimetypes.sh @@ -0,0 +1,64 @@ +$TEMPLATE_FOLDER_FILE='file' # .png gets added automatically +#INPUT_FILE=test-globs +#INPUT_FILE=/usr/share/mime/generic-icons < /usr/share/mime/globs +INPUT_FILE=$1 +TEMPLATE_FOLDER='scalable/mimetypes-templates' +OUT_PATH="scalable/mimetypes" + +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 "$TEMPLATE_FOLDER/$FILE.png" ]]; then + echo "using $TEMPLATE_FOLDER" + cp "$TEMPLATE_FOLDER/$FILE.png" "$OUT_PATH/$FILE.png" + else + + FIND=$FILE + while [[ 1 ]] + do + # printf "%s\n" $FIND + if [[ -f "$TEMPLATE_FOLDER/$FIND.png" ]]; then break; fi + + if [[ "$FIND" == "${FIND%-*}" ]]; then FIND="$$TEMPLATE_FOLDER_FILE"; break; fi + FIND=${FIND%-*} + done + + # create $TEMPLATE_FOLDER file... just in case there is no desktop file... + cp "$TEMPLATE_FOLDER/$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 \ + "$TEMPLATE_FOLDER/$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 diff --git a/scalable/mimetypes-templates/application-x-executable.png b/scalable/mimetypes-templates/application-x-executable.png new file mode 100644 index 0000000..92c5515 Binary files /dev/null and b/scalable/mimetypes-templates/application-x-executable.png differ diff --git a/scalable/mimetypes-templates/application-xml-dtd.png b/scalable/mimetypes-templates/application-xml-dtd.png new file mode 100644 index 0000000..6e75df0 Binary files /dev/null and b/scalable/mimetypes-templates/application-xml-dtd.png differ diff --git a/scalable/mimetypes-templates/application.png b/scalable/mimetypes-templates/application.png new file mode 100644 index 0000000..78ee865 Binary files /dev/null and b/scalable/mimetypes-templates/application.png differ diff --git a/scalable/mimetypes-templates/audio.png b/scalable/mimetypes-templates/audio.png new file mode 100644 index 0000000..1271597 Binary files /dev/null and b/scalable/mimetypes-templates/audio.png differ diff --git a/scalable/mimetypes-templates/file.png b/scalable/mimetypes-templates/file.png new file mode 100644 index 0000000..69fd3ec Binary files /dev/null and b/scalable/mimetypes-templates/file.png differ diff --git a/scalable/mimetypes-templates/image.png b/scalable/mimetypes-templates/image.png new file mode 100644 index 0000000..69fd3ec Binary files /dev/null and b/scalable/mimetypes-templates/image.png differ diff --git a/scalable/mimetypes-templates/text-css.png b/scalable/mimetypes-templates/text-css.png new file mode 100644 index 0000000..64c2aa5 Binary files /dev/null and b/scalable/mimetypes-templates/text-css.png differ diff --git a/scalable/mimetypes-templates/text-x-chdr.png b/scalable/mimetypes-templates/text-x-chdr.png new file mode 100644 index 0000000..539f127 Binary files /dev/null and b/scalable/mimetypes-templates/text-x-chdr.png differ diff --git a/scalable/mimetypes-templates/text-x-csrc.png b/scalable/mimetypes-templates/text-x-csrc.png new file mode 100644 index 0000000..d55737a Binary files /dev/null and b/scalable/mimetypes-templates/text-x-csrc.png differ diff --git a/scalable/mimetypes-templates/text-x-generic.png b/scalable/mimetypes-templates/text-x-generic.png new file mode 100644 index 0000000..69fd3ec Binary files /dev/null and b/scalable/mimetypes-templates/text-x-generic.png differ diff --git a/scalable/mimetypes-templates/text-x-makefile.png b/scalable/mimetypes-templates/text-x-makefile.png new file mode 100644 index 0000000..bd48fd4 Binary files /dev/null and b/scalable/mimetypes-templates/text-x-makefile.png differ diff --git a/scalable/mimetypes-templates/text-x-script.png b/scalable/mimetypes-templates/text-x-script.png new file mode 100644 index 0000000..6eb0d88 Binary files /dev/null and b/scalable/mimetypes-templates/text-x-script.png differ diff --git a/scalable/mimetypes-templates/text.png b/scalable/mimetypes-templates/text.png new file mode 100644 index 0000000..7d7cb76 Binary files /dev/null and b/scalable/mimetypes-templates/text.png differ diff --git a/scalable/mimetypes-templates/video.png b/scalable/mimetypes-templates/video.png new file mode 100644 index 0000000..6527c94 Binary files /dev/null and b/scalable/mimetypes-templates/video.png differ diff --git a/scalable/mimetypes/templates/Makefile b/scalable/mimetypes/templates/Makefile deleted file mode 100644 index f9ca85b..0000000 --- a/scalable/mimetypes/templates/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -all: - ./generate.sh /usr/share/mime/generic-icons - ./generate.sh /usr/share/mime/globs diff --git a/scalable/mimetypes/templates/default/application-x-executable.png b/scalable/mimetypes/templates/default/application-x-executable.png deleted file mode 100644 index 92c5515..0000000 Binary files a/scalable/mimetypes/templates/default/application-x-executable.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/application-xml-dtd.png b/scalable/mimetypes/templates/default/application-xml-dtd.png deleted file mode 100644 index 6e75df0..0000000 Binary files a/scalable/mimetypes/templates/default/application-xml-dtd.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/application.png b/scalable/mimetypes/templates/default/application.png deleted file mode 100644 index 78ee865..0000000 Binary files a/scalable/mimetypes/templates/default/application.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/audio.png b/scalable/mimetypes/templates/default/audio.png deleted file mode 100644 index 1271597..0000000 Binary files a/scalable/mimetypes/templates/default/audio.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/file.png b/scalable/mimetypes/templates/default/file.png deleted file mode 100644 index 69fd3ec..0000000 Binary files a/scalable/mimetypes/templates/default/file.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/image.png b/scalable/mimetypes/templates/default/image.png deleted file mode 100644 index 69fd3ec..0000000 Binary files a/scalable/mimetypes/templates/default/image.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/text-css.png b/scalable/mimetypes/templates/default/text-css.png deleted file mode 100644 index 64c2aa5..0000000 Binary files a/scalable/mimetypes/templates/default/text-css.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/text-x-chdr.png b/scalable/mimetypes/templates/default/text-x-chdr.png deleted file mode 100644 index 539f127..0000000 Binary files a/scalable/mimetypes/templates/default/text-x-chdr.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/text-x-csrc.png b/scalable/mimetypes/templates/default/text-x-csrc.png deleted file mode 100644 index d55737a..0000000 Binary files a/scalable/mimetypes/templates/default/text-x-csrc.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/text-x-generic.png b/scalable/mimetypes/templates/default/text-x-generic.png deleted file mode 100644 index 69fd3ec..0000000 Binary files a/scalable/mimetypes/templates/default/text-x-generic.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/text-x-makefile.png b/scalable/mimetypes/templates/default/text-x-makefile.png deleted file mode 100644 index bd48fd4..0000000 Binary files a/scalable/mimetypes/templates/default/text-x-makefile.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/text-x-script.png b/scalable/mimetypes/templates/default/text-x-script.png deleted file mode 100644 index 6eb0d88..0000000 Binary files a/scalable/mimetypes/templates/default/text-x-script.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/text.png b/scalable/mimetypes/templates/default/text.png deleted file mode 100644 index 7d7cb76..0000000 Binary files a/scalable/mimetypes/templates/default/text.png and /dev/null differ diff --git a/scalable/mimetypes/templates/default/video.png b/scalable/mimetypes/templates/default/video.png deleted file mode 100644 index 6527c94..0000000 Binary files a/scalable/mimetypes/templates/default/video.png and /dev/null differ diff --git a/scalable/mimetypes/templates/generate.sh b/scalable/mimetypes/templates/generate.sh deleted file mode 100755 index be8de9c..0000000 --- a/scalable/mimetypes/templates/generate.sh +++ /dev/null @@ -1,63 +0,0 @@ -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 diff --git a/scalable/mimetypes/templates/test-globs b/scalable/mimetypes/templates/test-globs deleted file mode 100644 index 9b062d7..0000000 --- a/scalable/mimetypes/templates/test-globs +++ /dev/null @@ -1,4 +0,0 @@ -text/x-csrc:*.c -application/x-blender:*.blend -text/plain:*.txt -application/x-kexiproject-sqlite3:*.kkk -- cgit v1.2.3