Ubuntu19.04theme用のgtk.gresourceの作り方

ここからスクリプトをダウンロードしてください。
~/binにextract,file2xml,gatherを展開してください。
実行属性をつけます。
$ chmod +x ~/bin/*
$ export PATH=$PATH:$HOME/bin (ターミナルを立ちあげると、再度必要です。本来であれば.bashrcにでも書くのですが、今は永続的に必要はないと思いますので使うときに打ち込んでください。)
$ sudo apt install libglib2.0-dev-bin
(glib-compile-resourcesのインストール)
抽出(~/に抽出します)
$ cd
$ extract /usr/share/themes/Yaru/gtk-3.0/gtk.gresource
$ extract /usr/share/themes/Yaru/gtk-3.20/gtk.gresource
$ mkdir ~/com/ubuntu/themes/Yaru/2.0
$ cp -r /usr/share/themes/Yaru/gtk-2.0/* ~/com/ubuntu/themes/Yaru/2.0
$ cp /usr/share/themes/Yaru/index.theme ~/com/ubuntu/themes/Yaru/
抽出を変更(以下など)
$ gedit ~/com/ubuntu/themes/Yaru/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
―――――ここまで
0.Yaru-testの置き場
$ mkdir ~/Yaru-test
●それぞれのxmlを作って、コンパイルすることになります。
1.gtk-3.0
コンパイルの用意
$ cd ~/com/ubuntu/themes/Yaru/3.0/
$ file2xml >~/gtk.gresource.xml
$ gedit ~/gtk.gresource.xml
ーーーー初めに

<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/ubuntu/themes/Yaru-test/3.0">

ーーーー最後に

 </gresource>

を入れます。
$ cd ~/com/ubuntu/themes/Yaru/3.0/assets
$ file2xml >>~/gtk.gresource.xml
$ gedit ~/gtk.gresource.xml
ーーーー</gresource>の後に

  <gresource prefix="/com/ubuntu/themes/Yaru-test/3.0/assets">

ーーーー最後に

  </gresource>
</gresources>

を入れます。
これでgtk-3.0のgtk.gresource.xmlが完成
◎gtk.gresource.xmlは以下のようになっているはずです。
$ cat ~/gtk.gresource.xml
-----------------------------------—

<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/ubuntu/themes/Yaru-test/3.0">
<file>gtk-dark.css</file>
<file>gtk.css</file>
</gresource>
<gresource prefix="/com/ubuntu/themes/Yaru-test/3.0/assets">
<file>checkbox-unchecked@2.png</file>
<file>checkbox-checked-backdrop@2.png</file>
<file>slider-horz-scale-has-marks-below.png</file>
<file>checkbox-checked-selectionmode.png</file>
<file>slider-vert-scale-has-marks-below-backdrop.png</file>
<file>checkbox-active-selectionmode@2.png</file>
<file>checkbox-checked-active.png</file>
<file>checkbox-unchecked.png</file>
<file>checkbox-checked-backdrop-insensitive.png</file>
<file>radio-checked-backdrop-insensitive.png</file>
<file>checkbox-checked-backdrop-selectionmode@2.png</file>
<file>slider-horz-scale-has-marks-above-backdrop-insensitive.png</file>
<file>checkbox-checked-insensitive@2.png</file>
<file>checkbox-unchecked-hover.png</file>
<file>radio-mixed-insensitive@2.png</file>
<file>checkbox-checked-backdrop.png</file>
<file>radio-mixed-backdrop-insensitive@2.png</file>
<file>slider-horz-scale-has-marks-below-backdrop-insensitive.png</file>
<file>radio-mixed-backdrop-insensitive.png</file>
<file>radio-checked@2.png</file>
<file>slider-vert-scale-has-marks-below-hover.png</file>
<file>slider-horz-scale-has-marks-above-active@2.png</file>
<file>radio-checked-hover@2.png</file>
<file>radio-unchecked.png</file>
<file>checkbox-mixed-hover@2.png</file>
<file>slider-horz-scale-has-marks-below-hover.png</file>
<file>radio-unchecked-active@2.png</file>
<file>radio-checked-insensitive.png</file>
<file>checkbox-mixed-active@2.png</file>
<file>checkbox-mixed-backdrop@2.png</file>
<file>text-select-end-hover.png</file>
<file>checkbox-active-selectionmode.png</file>
<file>checkbox-checked-backdrop-insensitive@2.png</file>
<file>slider-horz-scale-has-marks-below-active@2.png</file>
<file>slider-horz-scale-has-marks-below@2.png</file>
<file>checkbox-checked-hover-selectionmode@2.png</file>
<file>slider-vert-scale-has-marks-below-active.png</file>
<file>text-select-start-active@2.png</file>
<file>radio-checked-active@2.png</file>
<file>slider-vert-scale-has-marks-below-active@2.png</file>
<file>radio-mixed@2.png</file>
<file>radio-checked.png</file>
<file>text-select-start.png</file>
<file>radio-mixed-backdrop.png</file>
<file>checkbox-unchecked-backdrop-insensitive.png</file>
<file>radio-unchecked-hover.png</file>
<file>slider-horz-scale-has-marks-above-hover@2.png</file>
<file>checkbox-unchecked-hover@2.png</file>
<file>checkbox-checked-hover-selectionmode.png</file>
<file>slider-vert-scale-has-marks-below-backdrop@2.png</file>
<file>checkbox-unchecked-insensitive.png</file>
<file>slider-horz-scale-has-marks-above-hover.png</file>
<file>text-select-start@2.png</file>
<file>slider-horz-scale-has-marks-above-active.png</file>
<file>slider-vert-scale-has-marks-above-active.png</file>
<file>slider-vert-scale-has-marks-below-backdrop-insensitive.png</file>
<file>radio-unchecked-insensitive.png</file>
<file>slider-vert-scale-has-marks-above-backdrop.png</file>
<file>checkbox-checked-active@2.png</file>
<file>radio-checked-hover.png</file>
<file>text-select-start-active.png</file>
<file>radio-mixed-hover@2.png</file>
<file>slider-horz-scale-has-marks-above-backdrop-insensitive@2.png</file>
<file>checkbox-backdrop-selectionmode@2.png</file>
<file>slider-vert-scale-has-marks-above@2.png</file>
<file>checkbox-mixed-backdrop.png</file>
<file>slider-vert-scale-has-marks-above-backdrop-insensitive@2.png</file>
<file>checkbox-checked-selectionmode@2.png</file>
<file>slider-vert-scale-has-marks-below@2.png</file>
<file>radio-mixed-active.png</file>
<file>slider-vert-scale-has-marks-above-insensitive@2.png</file>
<file>text-select-end-active@2.png</file>
<file>checkbox-checked-hover@2.png</file>
<file>slider-horz-scale-has-marks-below-backdrop@2.png</file>
<file>checkbox-mixed.png</file>
<file>slider-horz-scale-has-marks-above.png</file>
<file>checkbox-unchecked-backdrop-insensitive@2.png</file>
<file>checkbox-hover-selectionmode.png</file>
<file>checkbox-mixed-hover.png</file>
<file>radio-unchecked-insensitive@2.png</file>
<file>radio-unchecked-backdrop.png</file>
<file>slider-vert-scale-has-marks-above-active@2.png</file>
<file>checkbox-mixed-backdrop-insensitive@2.png</file>
<file>slider-vert-scale-has-marks-below-hover@2.png</file>
<file>checkbox-mixed-insensitive.png</file>
<file>checkbox-mixed@2.png</file>
<file>radio-mixed-insensitive.png</file>
<file>slider-horz-scale-has-marks-below-active.png</file>
<file>radio-checked-backdrop.png</file>
<file>checkbox-backdrop-selectionmode.png</file>
<file>text-select-end-active.png</file>
<file>slider-horz-scale-has-marks-below-insensitive.png</file>
<file>checkbox-checked-backdrop-selectionmode.png</file>
<file>slider-vert-scale-has-marks-above-backdrop-insensitive.png</file>
<file>slider-vert-scale-has-marks-below-insensitive.png</file>
<file>text-select-end@2.png</file>
<file>checkbox-hover-selectionmode@2.png</file>
<file>checkbox-mixed-backdrop-insensitive.png</file>
<file>slider-vert-scale-has-marks-above.png</file>
<file>radio-mixed.png</file>
<file>checkbox-checked@2.png</file>
<file>radio-mixed-backdrop@2.png</file>
<file>checkbox-checked.png</file>
<file>checkbox-unchecked-insensitive@2.png</file>
<file>checkbox-checked-hover.png</file>
<file>radio-unchecked-backdrop-insensitive@2.png</file>
<file>checkbox-checked-insensitive.png</file>
<file>slider-horz-scale-has-marks-below-backdrop.png</file>
<file>slider-horz-scale-has-marks-above-insensitive.png</file>
<file>checkbox-mixed-insensitive@2.png</file>
<file>checkbox-checked-active-selectionmode@2.png</file>
<file>radio-unchecked-active.png</file>
<file>slider-vert-scale-has-marks-below-insensitive@2.png</file>
<file>checkbox-unchecked-active@2.png</file>
<file>slider-horz-scale-has-marks-above-backdrop@2.png</file>
<file>checkbox-checked-active-selectionmode.png</file>
<file>text-select-start-hover@2.png</file>
<file>checkbox-unchecked-active.png</file>
<file>radio-mixed-active@2.png</file>
<file>radio-checked-backdrop-insensitive@2.png</file>
<file>checkbox-unchecked-backdrop.png</file>
<file>radio-unchecked-backdrop-insensitive.png</file>
<file>slider-vert-scale-has-marks-above-hover.png</file>
<file>slider-vert-scale-has-marks-above-hover@2.png</file>
<file>slider-horz-scale-has-marks-below-backdrop-insensitive@2.png</file>
<file>checkbox-mixed-active.png</file>
<file>text-select-start-hover.png</file>
<file>radio-checked-insensitive@2.png</file>
<file>radio-mixed-hover.png</file>
<file>slider-vert-scale-has-marks-below-backdrop-insensitive@2.png</file>
<file>slider-horz-scale-has-marks-above-insensitive@2.png</file>
<file>radio-unchecked-hover@2.png</file>
<file>checkbox-selectionmode.png</file>
<file>slider-vert-scale-has-marks-below.png</file>
<file>radio-unchecked-backdrop@2.png</file>
<file>slider-vert-scale-has-marks-above-insensitive.png</file>
<file>checkbox-selectionmode@2.png</file>
<file>radio-checked-active.png</file>
<file>slider-horz-scale-has-marks-below-insensitive@2.png</file>
<file>slider-horz-scale-has-marks-above@2.png</file>
<file>slider-horz-scale-has-marks-above-backdrop.png</file>
<file>text-select-end-hover@2.png</file>
<file>slider-horz-scale-has-marks-below-hover@2.png</file>
<file>slider-vert-scale-has-marks-above-backdrop@2.png</file>
<file>checkbox-unchecked-backdrop@2.png</file>
<file>radio-unchecked@2.png</file>
<file>radio-checked-backdrop@2.png</file>
<file>text-select-end.png</file>
</gresource>
</gresources>

-----------------------------------—
2.gtk-3.0のファイルを集めて、コンパイルする
$ mkdir ~/3.0
$ cd ~/3.0
$ gather ~/com/ubuntu/themes/Yaru/3.0/
$ glib-compile-resources ~/gtk.gresource.xml
これでgtk-3.0用のgtk.gresourceが~/にできています。
3.Yarutestに書き込み
$ cd ~/Yaru-test
$ mkdir gtk-3.0
$ cd gtk-3.0
$ mv ~/gtk.gresource .
必要なファイルはコピーしてくる
$ cp ~/3.0/*.css .
●次にgtk-3.20のコンパイルです
1.gtk-3.20
コンパイルの用意
$ cd ~/com/ubuntu/themes/Yaru/3.20/
$ file2xml >~/gtk.gresource.xml
$ gedit ~/gtk.gresource.xml
ーーーー初めに

<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/ubuntu/themes/Yaru-test/3.20">

ーーーー最後に

  </gresource>

を入れます。
$ cd ~/com/ubuntu/themes/Yaru/3.20/assets
$ file2xml >>~/gtk.gresource.xml
$ gedit ~/gtk.gresource.xml
ーーーー</gresource>の後に

  <gresource prefix="/com/ubuntu/themes/Yaru-test/3.20/assets">

ーーーー最後に

  </gresource>
</gresources>

を入れます。
これでgtk-3.20のgtk.gresource.xmlが完成
◎gtk.gresource.xmlは以下のようになっているはずです。
$ cat ~/gtk.gresource.xml
-----------------------------------—

<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/ubuntu/themes/Yaru-test/3.20">
<file>gtk-dark.css</file>
<file>gtk.css</file>
</gresource>
<gresource prefix="/com/ubuntu/themes/Yaru-test/3.20/assets">
<file>close-button-hover.png</file>
<file>close-button-active.png</file>
<file>slider-horz-scale-has-marks-below.png</file>
<file>checkbox-checked-selectionmode.png</file>
<file>titlebutton-hover.png</file>
<file>slider-vert-scale-has-marks-below-backdrop.png</file>
<file>checkbox-active-selectionmode@2.png</file>
<file>check-symbolic.svg</file>
<file>checkbox-checked-backdrop-selectionmode@2.png</file>
<file>slider-horz-scale-has-marks-above-backdrop-insensitive.png</file>
<file>slider-horz-scale-has-marks-below-backdrop-insensitive.png</file>
<file>slider-vert-scale-has-marks-below-hover.png</file>
<file>slider-horz-scale-has-marks-above-active@2.png</file>
<file>slider-horz-scale-has-marks-below-hover.png</file>
<file>titlebutton-active.png</file>
<file>check-symbolic.symbolic.png</file>
<file>text-select-end-hover.png</file>
<file>checkbox-active-selectionmode.png</file>
<file>slider-horz-scale-has-marks-below-active@2.png</file>
<file>close-button-backdrop.png</file>
<file>slider-horz-scale-has-marks-below@2.png</file>
<file>checkbox-checked-hover-selectionmode@2.png</file>
<file>slider-vert-scale-has-marks-below-active.png</file>
<file>text-select-start-active@2.png</file>
<file>slider-vert-scale-has-marks-below-active@2.png</file>
<file>text-select-start.png</file>
<file>close-button-backdrop@2.png</file>
<file>slider-horz-scale-has-marks-above-hover@2.png</file>
<file>checkbox-checked-hover-selectionmode.png</file>
<file>slider-vert-scale-has-marks-below-backdrop@2.png</file>
<file>slider-horz-scale-has-marks-above-hover.png</file>
<file>text-select-start@2.png</file>
<file>slider-horz-scale-has-marks-above-active.png</file>
<file>slider-vert-scale-has-marks-above-active.png</file>
<file>slider-vert-scale-has-marks-below-backdrop-insensitive.png</file>
<file>dash-symbolic.svg</file>
<file>slider-vert-scale-has-marks-above-backdrop.png</file>
<file>text-select-start-active.png</file>
<file>slider-horz-scale-has-marks-above-backdrop-insensitive@2.png</file>
<file>checkbox-backdrop-selectionmode@2.png</file>
<file>slider-vert-scale-has-marks-above@2.png</file>
<file>slider-vert-scale-has-marks-above-backdrop-insensitive@2.png</file>
<file>close-button@2.png</file>
<file>checkbox-checked-selectionmode@2.png</file>
<file>slider-vert-scale-has-marks-below@2.png</file>
<file>slider-vert-scale-has-marks-above-insensitive@2.png</file>
<file>text-select-end-active@2.png</file>
<file>slider-horz-scale-has-marks-below-backdrop@2.png</file>
<file>slider-horz-scale-has-marks-above.png</file>
<file>checkbox-hover-selectionmode.png</file>
<file>slider-vert-scale-has-marks-above-active@2.png</file>
<file>slider-vert-scale-has-marks-below-hover@2.png</file>
<file>dash-symbolic.symbolic.png</file>
<file>slider-horz-scale-has-marks-below-active.png</file>
<file>checkbox-backdrop-selectionmode.png</file>
<file>bullet-symbolic.svg</file>
<file>text-select-end-active.png</file>
<file>slider-horz-scale-has-marks-below-insensitive.png</file>
<file>titlebutton-active@2.png</file>
<file>checkbox-checked-backdrop-selectionmode.png</file>
<file>slider-vert-scale-has-marks-above-backdrop-insensitive.png</file>
<file>slider-vert-scale-has-marks-below-insensitive.png</file>
<file>text-select-end@2.png</file>
<file>checkbox-hover-selectionmode@2.png</file>
<file>slider-vert-scale-has-marks-above.png</file>
<file>titlebutton-selection-mode-hover.png</file>
<file>titlebutton-hover@2.png</file>
<file>slider-horz-scale-has-marks-below-backdrop.png</file>
<file>slider-horz-scale-has-marks-above-insensitive.png</file>
<file>checkbox-checked-active-selectionmode@2.png</file>
<file>titlebutton-selection-mode-active@2.png</file>
<file>slider-vert-scale-has-marks-below-insensitive@2.png</file>
<file>slider-horz-scale-has-marks-above-backdrop@2.png</file>
<file>checkbox-checked-active-selectionmode.png</file>
<file>bullet-symbolic.symbolic.png</file>
<file>text-select-start-hover@2.png</file>
<file>slider-vert-scale-has-marks-above-hover.png</file>
<file>slider-vert-scale-has-marks-above-hover@2.png</file>
<file>close-button-hover@2.png</file>
<file>slider-horz-scale-has-marks-below-backdrop-insensitive@2.png</file>
<file>text-select-start-hover.png</file>
<file>slider-vert-scale-has-marks-below-backdrop-insensitive@2.png</file>
<file>close-button-active@2.png</file>
<file>slider-horz-scale-has-marks-above-insensitive@2.png</file>
<file>checkbox-selectionmode.png</file>
<file>slider-vert-scale-has-marks-below.png</file>
<file>close-button-selection-mode@2.png</file>
<file>titlebutton-selection-mode-active.png</file>
<file>slider-vert-scale-has-marks-above-insensitive.png</file>
<file>close-button.png</file>
<file>checkbox-selectionmode@2.png</file>
<file>slider-horz-scale-has-marks-below-insensitive@2.png</file>
<file>slider-horz-scale-has-marks-above@2.png</file>
<file>slider-horz-scale-has-marks-above-backdrop.png</file>
<file>close-button-selection-mode.png</file>
<file>text-select-end-hover@2.png</file>
<file>titlebutton-selection-mode-hover@2.png</file>
<file>slider-horz-scale-has-marks-below-hover@2.png</file>
<file>slider-vert-scale-has-marks-above-backdrop@2.png</file>
<file>text-select-end.png</file>
</gresource>
</gresources>

-----------------------------------—
2.gtk-3.20のファイルを集めて、コンパイルする
$ mkdir ~/3.20
$ cd ~/3.20
$ gather ~/com/ubuntu/themes/Yaru/3.20/
$ glib-compile-resources ~/gtk.gresource.xml
これでgtk-3.20用のgtk.gresourceが~/にできています。
3.Yarutestに書き込み
$ cd ~/Yaru-test
$ mkdir gtk-3.20
$ cd gtk-3.20
$ mv ~/gtk.gresource .
必要なファイルはコピーしてくる
$ cp ~/3.20/*.css .
〇indexとgtk-2.0をコピーしてくる
$ mkdir ~/Yaru-test/gtk-2.0
$ cp -R ~/com/ubuntu/themes/Yaru/2.0/* ~/Yaru-test/gtk-2.0/
$ cp ~/com/ubuntu/themes/Yaru/index.theme ~/Yaru-test/
〇オーナーとパーミッションを整える
$ sudo chown -R root:root ~/Yaru-test/
$ sudo chmod -R 755 ~/Yaru-test/
〇Yaru-testをテーマファイルフォルダにコピーします
$ sudo cp -r ~/Yaru-test/ /usr/share/themes/
〇tweakでYaru-testに変えます。
 大丈夫なはずです。

PC

Posted by masterkudo