gresourceの一般的な取り出しスクリプト

●gresourceは、いちいち指定しないとリソースが出ないこと、ディレクトリ構造も崩れることから、一般的な取り出しスクリプトを作ってみました。
extract.sh
――――ここから

#!/bin/sh
workdir=${PWD}
gst=$1
for r in `gresource list $gst`; do
target="$workdir/$r"
targetdir="${target%/*}"
if [ ! -d ${targetdir} ]; then
mkdir -p ${targetdir}
fi
gresource extract $gst $r >$target
done

――――ここまで
スクリプトは、こちらからダウンロードできます。
 $ chmod +x extract.sh
 などで、実行可能にしましょう。
●試しに、UBUNTU19.04のYaruテーマを、以前のようにgresourceを使わないテーマ(Yaru-test)に変えてみました。
1. extract.shのおいてあるパスをカレントディレクトリにしてください。

$ cd ~/ダウンロード
2. 次に
$ ./extract.sh /usr/share/themes/Yaru/gtk-3.0/gtk.gresource
$ ./extract.sh /usr/share/themes/Yaru/gtk-3.20/gtk.gresource
ディレクトリ以下に、
 com/ubuntu/themes/Yaruができ、3.0と3.20ができます。
3. YaruをYaru-testに変えます。
$ mv com/ubuntu/themes/Yaru com/ubuntu/themes/Yaru-test
4. 3.0や3.20をgtk-3.0,gtk-3.20に変えます
$ mv com/ubuntu/themes/Yaru-test/3.0 com/ubuntu/themes/Yaru-test/gtk-3.0
$ mv com/ubuntu/themes/Yaru-test/3.20 com/ubuntu/themes/Yaru-test/gtk-3.20
5. gtk-2.0はgtk.gresourceがないので、そのままコピーで持ってきます。
$ cp -r /usr/share/themes/Yaru/gtk-2.0/ com/ubuntu/themes/Yaru-test/
6.Yaruのindex.themeを持ってきて、内容を変えます。
$ cp /usr/share/themes/Yaru/index.theme com/ubuntu/themes/Yaru-test/
$ gedit com/ubuntu/themes/Yaru-test/index.theme
直したもの
――――ここから

[X-GNOME-Metatheme]
Name=Yaru-test
Type=X-GNOME-Metatheme
Comment=Ubuntu Yaru-test theme
Encoding=UTF-8
GtkTheme=Yaru-test
IconTheme=Yaru-test
CursorTheme=Yaru-test
CursorSize=24

―――――ここまで
7.オーナー、パーミッションを整えます。
$ sudo chown -R root:root com/ubuntu/themes/Yaru-test/
$ sudo chmod -R 755 com/ubuntu/themes/Yaru-test/
8.Yaru-testをテーマファイルフォルダにコピーします
$ sudo cp -r com/ubuntu/themes/Yaru-test/ /usr/share/themes/
9.tweakでYaru-testに変えます。
 大丈夫なはずです。

PC

Posted by masterkudo