2つのアイコンセットをマージするにはどうすればよいですか?


14

標準のUbuntu MonoアイコンセットとFaenzaアイコンセットをマージします。パネルに標準のUbuntuアイコン(Dropboxのようなアイコン、ファイル転送などを含む)を保持し、他のすべてのアプリケーションアイコンをFaenzaバージョンに置き換えたいと思います。

これについてどうすればいいですか?

回答:


3

お気に入りのテキストエディターでこのファイルを編集してください

/usr/share/icons/ubuntu-mono-(which mono set you want)/index.theme

そして、Faenzaをinherits行の先頭に配置します。


2
システムファイルの変更は避けてください。ubuntu-monoを更新すると、変更が元に戻ります。
idbrii

12

アイコンセットをマージする最良の方法は、軽量アイコンセットと呼ぶものを作成することだと思います。このアイコンセットはホームディレクトリに存在するため、システムの更新によって上書きされることはありませんが、システムアイコンセットにリンクしているため、それらと共に更新されます。これらのテーマは、システム上の他のユーザーは利用できません。

軽量アイコンセット

Ubuntuのテーママネージャがになります~/.icons/usr/share/icons、アイコンセットのために。で何か~/.iconsオーバーライド/usr/share/icons.アイコンをカスタマイズするために、あなたのホームディレクトリに、システムディレクトリからアイコンセットをコピーすることができますし、あなただけを変更したい部分を含んだから!

一般に、システムのアイコンセットを使用する独自のアイコンセットを作成することをお勧めします。これを行うには、アイコンセット、index.themeファイルを作成し、いくつかのアイコンを追加します。ただし、異なるアイコンセットを組み合わせる場合はInherits、独自の優先順位を設定できるように、それらの属性をオーバーライドする必要があります。

テーマをマージするアイコンセットを作成する

スーパーモノのアイコンセットを作成しましょう:

# Create a new icon set
mkdir -p ~/.icons/super-mono

# Copy an existing icon config and modify it for our new icon set
cp /usr/share/icons/Faenza-Darkest/index.theme      ~/.icons/super-mono/.
sed -ie "s/Name=Faenza-Darkest/Name=super-mono/"    ~/.icons/super-mono/index.theme
sed -ie "s/Comment=.*$/Comment=Created with by me/" ~/.icons/super-mono/index.theme
sed -ie "s/Inherits=/Inherits=ubuntu-mono-dark,/"   ~/.icons/super-mono/index.theme

これで、外観にFaenza-Darkestとまったく同じ新しいアイコンが設定されました。

2つのテーマをマージするために、スーパーモノテーマを変更して、ubuntu-mono-darkからFaenzaを継承します。

sed -ie "s/Inherits=.*$/Inherits=ubuntu-mono-dark,Faenza/" ~/.icons/super-mono/index.theme

richzillaにはこれで十分で、Appearanceでスーパーモノを選択するだけです。

カスタムアイコンの追加

このアイコンセットに個々のアイコンを追加することもできます。

ln -s /usr/share/icons/Faenza-Darkest/actions/22/gtk-paste.png ~/.icons/super-mono/actions/22/.

そして今、私たちのスーパーモノのテーマは、ubuntu-mono-darkとFaenzaを組み合わせていますが、Faenza-Darkestのアイコンを1つ使用しているだけです。いくつかのアイコン以上のものを使用するには、後のセクションを参照してください。

index.themeをFaenza-Darkestからコピーし、Faenza-Darkestのアイコンを使用したことを確認することが重要です。index.themeファイルは、アイコンの場所を示しています。異なるアイコンセットから個々のアイコンを取得する場合は、それらのindex.themeファイルをマージする必要があります。ファイルを見ると、アイコンを含むすべてのフォルダをリストするディレクトリというフィールドが表示されます。次に、これらのフォルダを説明する他のフィールドが表示されます。これらのフィールドで説明されていないアイコンを追加すると、そのアイコンは無視されます。詳細については、index.theme仕様を参照してください

高度:3つのアイコンセットを選択的に組み合わせる

私もubuntu-monoアイコンが大好きです。私はファエンツァのアプリのアイコンを愛し、しかし、私はファエンツァのモノのアイコン(指標やボタン)好きではありません。エレメンタリーのアイコンも好きです。そこで、これら3つのアイコンセットを組み合わせたいと思います。私の知る限り、これを行う最善の方法は、好きなアイコンを分離することです。

  1. ubuntu-mono-darkを使用
  2. Faenzaのアプリアイコンを使用する
  3. そうでなければ、小学校のアイコンを使用する

これを行うには、ubuntu-mono-darkに何も継承しないように指示する必要があります(したがって、Faenzaとエレメンタリーを使用することもできます)。

# First, ubuntu-mono-dark
# Create a shadow of the system icon set
mkdir -p ~/.icons/ubuntu-mono-dark

# Copy an existing icon config and modify it for our shadow icon set
cp /usr/share/icons/ubuntu-mono-dark/index.theme   ~/.icons/ubuntu-mono-dark/.
sed -ie "s/Comment=.*$/Comment=A shadow to prevent inherits/" ~/.icons/ubuntu-mono-dark/index.theme
sed -ie "s/Inherits=.*$/Inherits=/"                ~/.icons/ubuntu-mono-dark/index.theme

ubuntu-mono-darkアイコンセットが壊れていることがわかります。Humanity-Darkが提供するアイコンと、それが継承する他のアイコンセットが欠落します。この変更はユーザーにのみ影響します。

これで、Faenzaのアプリアイコンを使用する新しいアイコンセットを作成できます。

# Create a new icon set
mkdir -p ~/.icons/Faenza-apps

# Copy the existing icon config and modify it for our new icon set
cp /usr/share/icons/Faenza/index.theme             ~/.icons/Faenza-apps/.
sed -ie "s/Name=Faenza/Name=Faenza-apps/"          ~/.icons/Faenza-apps/index.theme
sed -ie "s/Comment=.*$/Comment=Just Faenza app icons/" ~/.icons/Faenza-apps/index.theme
sed -ie "s/Inherits=.*$/Inherits=/"                ~/.icons/Faenza-apps/index.theme

# Use Faenza's app icons
ln -s /usr/share/icons/Faenza/apps/ ~/.icons/Faenza-apps/.

このFaenza-appsアイコンセットも壊れています。アプリのアイコンのみがあります。継承を削除したため、他のすべてのアイコンはありません。

次に、使用するアイコンセットを作成します。アイコンセットにはアイコンが含まれず、他のアイコンセットを接続するだけです。

# Create a new icon set
mkdir -p ~/.icons/merge-mono-dark

# Copy an existing icon config and modify it for our new icon set
cp /usr/share/icons/Faenza/index.theme                 ~/.icons/merge-mono-dark/.
sed -ie "s/Name=Faenza/Name=merge-mono-dark/"          ~/.icons/merge-mono-dark/index.theme
sed -ie "s/Comment=.*$/Comment=Created with by me/"    ~/.icons/merge-mono-dark/index.theme
sed -ie "s/Inherits=.*$/Inherits=ubuntu-mono-dark,Faenza-apps,elementary-mono-dark/" ~/.icons/merge-mono-dark/index.theme

これで、Appearanceでmerge-mono-darkを選択できるようになり、美しい新しいアイコンセットができました!(注:異なるアイコンセットのアイコンをmerge-mono-darkに追加しないため、index.themeファイルをマージする必要はありません。代わりに、Inheritsを使用してアイコンセットを自動的にマージします。)


いくつかのコマンドの説明

この答えを単純化するために多くのターミナルコマンドを使用しますが、それらの機能の説明を次に示します。

ln -s /usr/share/icons/Faenza-Darkest/actions/22/gtk-paste.png ~/.icons/Faenza-Alan/actions/22/.

これにより、アイコンセットにシステムアイコンセットのgtk-pasteアイコンへのポインタが作成されます。これにより、追加のハードディスク領域は使用されず、アイコンセットはシステムのアイコンセットとともに更新されます。あなたはそれをしたくない場合は、交換してくださいln -scp -r

sed -ie "s/dark/light/" ~/file

すべてdarklight〜/ fileで置き換えることを意味します。

sed -ie "s/Comment=.*$/Comment=Created with by me/" ~/.icons/super-mono/index.theme

.*$ライン($)の末尾に任意のテキスト(。*)を一致させるための手段。

sed -ie "s/Inherits=/Inherits=ubuntu-mono-dark,/"   ~/.icons/super-mono/index.theme

ここでは、Inheritsリストの前にubuntu-mono-darkを挿入しています。これは、これを探しInherits=て、Inherits=ubuntu-mono-dark,

私が使用するどこでもsed、ファイルを編集し、代わりに手動で編集を適用できます。


1
<sarcasm>この投稿が十分に詳細なpydaveであるかどうかはわかりません</ sarcasm> 実際、クレメンタインのアイコンについても同様の問題があり、それが整理されています。
zookalicious
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.