Gnomeのアイコンの一部を入れ替えたい場合、テーマファイルを新たに作成するか、既存のテーマファイルの中のアイコンファイルを入れ替える必要がある。
ルート権限がある場合は、/usr/share/.icons 以下を修正することもできるが、現在のユーザでしか使わないのなら、~/.icons 以下にテーマファイルを作れば良い。
たとえば、~/.icons/Test-Theme というフォルダを作って
index.theme
[Icon Theme]
Name=テスト・テーマ
Inherits=Humanity ← このテーマにないアイコンを取ってくる上位のテーマ
Comment=
Directories=apps/scalable ← アイコンを収めたフォルダ
[apps/scalable]
Size=96
Context=Apps
Type=Scalable
MinSize=64
MaxSize=128
index.theme の規格は Specifications/icon-theme-spec に書かれている。
■ 例題
例えば、ゴミ箱のアイコンを変更したい場合、$HOME/.icons に適当なディレクトリを作る。今回は test というディレクトリを作った。ゴミ箱を変更するためのファイル類は次のようになる。
$ ls -laR test/
test/:
合計 16
drwxr-xr-x 3 us us 4096 2010-12-11 15:33 .
drwxr-xr-x 6 us us 4096 2010-12-11 15:28 ..
-rwxr-xr-x 1 us us 151 2010-12-11 15:33 index.theme
drwxr-xr-x 2 us us 4096 2010-12-11 15:31 trash
test/trash:
合計 228
drwxr-xr-x 2 us us 4096 2010-12-11 15:31 .
drwxr-xr-x 3 us us 4096 2010-12-11 15:33 ..
lrwxrwxrwx 1 us us 19 2010-12-11 15:31 edittrash.svg -> user-trash-full.svg
lrwxrwxrwx 1 us us 14 2010-12-11 15:31 emptytrash.svg -> user-trash.svg
lrwxrwxrwx 1 us us 14 2010-12-11 15:31 gnome-fs-trash-empty.svg -> user-trash.svg
lrwxrwxrwx 1 us us 19 2010-12-11 15:31 gnome-fs-trash-full.svg -> user-trash-full.svg
lrwxrwxrwx 1 us us 19 2010-12-11 15:31 gnome-stock-trash-full.svg -> user-trash-full.svg
lrwxrwxrwx 1 us us 14 2010-12-11 15:31 gnome-stock-trash.svg -> user-trash.svg
lrwxrwxrwx 1 us us 19 2010-12-11 15:31 stock_trash_full.svg -> user-trash-full.svg
lrwxrwxrwx 1 us us 14 2010-12-11 15:31 trashcan_empty.svg -> user-trash.svg
lrwxrwxrwx 1 us us 19 2010-12-11 15:31 trashcan_full.svg -> user-trash-full.svg
-rw-r--r-- 1 us us 208207 2010-06-09 20:15 user-trash-full.svg
-rw-r--r-- 1 us us 11381 2010-06-09 20:15 user-trash.svg
lrwxrwxrwx 1 us us 14 2010-12-11 15:31 xfce-trash_empty.svg -> user-trash.svg
lrwxrwxrwx 1 us us 19 2010-12-11 15:31 xfce-trash_full.svg -> user-trash-full.svg
index.themeは次のようになる。
$HOME/.icons/test/index.theme
[Icon Theme]
Name=test icon theme
Inherits=Faenza-Dark
Comment=
Directories=trash
[trash]
Size=32
Context=trash
Type=Scalable
MinSize=16
MaxSize=128
結果はこのように…
変更前
変更後