6795fb0bd6
The README describes the steps in detail, but most of it is abstracted away by the update-osk-layouts.sh script.
49 lines
1.0 KiB
Bash
Executable File
49 lines
1.0 KiB
Bash
Executable File
#!/bin/env bash
|
|
|
|
CLDR_LAYOUTS_TARBALL="http://www.unicode.org/Public/cldr/latest/keyboards.zip"
|
|
CLDR2JSON_GIT="git://repo.or.cz/cldr2json.git"
|
|
|
|
WORKDIR=".osk-layout-workbench"
|
|
CLDR2JSON="$WORKDIR/cldr2json/cldr2json.py"
|
|
SRCDIR="$WORKDIR/keyboards/android"
|
|
DESTDIR="osk-layouts"
|
|
GRESOURCE_FILE="gnome-shell-osk-layouts.gresource.xml"
|
|
TMP_GRESOURCE_FILE=".$GRESOURCE_FILE.tmp"
|
|
|
|
cd `dirname $0`
|
|
|
|
# Ensure work/dest dirs
|
|
rm -rf $WORKDIR
|
|
mkdir -p $WORKDIR
|
|
mkdir -p "osk-layouts"
|
|
|
|
# Download stuff on the work dir
|
|
pushd $WORKDIR
|
|
gio copy $CLDR_LAYOUTS_TARBALL .
|
|
git clone $CLDR2JSON_GIT
|
|
unzip keyboards.zip
|
|
popd
|
|
|
|
# Transform to JSON files
|
|
$CLDR2JSON $SRCDIR $DESTDIR
|
|
|
|
# Generate new gresources xml file
|
|
cat >$TMP_GRESOURCE_FILE <<EOF
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<gresources>
|
|
<gresource prefix="/org/gnome/shell/osk-layouts">
|
|
EOF
|
|
|
|
for f in $DESTDIR/*.json
|
|
do
|
|
echo " <file>$(basename $f)</file>" >>$TMP_GRESOURCE_FILE
|
|
done
|
|
|
|
cat >>$TMP_GRESOURCE_FILE <<EOF
|
|
</gresource>
|
|
</gresources>
|
|
EOF
|
|
|
|
# Rewrite old gresources xml
|
|
mv $TMP_GRESOURCE_FILE $GRESOURCE_FILE
|