Làm cách nào để hợp nhất hai bộ biểu tượng?


14

Tôi muốn hợp nhất bộ biểu tượng Ubuntu Mono tiêu chuẩn và bộ biểu tượng Faenza. Tôi muốn giữ các biểu tượng Ubuntu tiêu chuẩn trong bảng điều khiển (bao gồm các biểu tượng cho Dropbox, chuyển tập tin, v.v.) và thay thế tất cả các biểu tượng ứng dụng khác bằng các phiên bản Faenza.

Làm thế nào tôi sẽ đi về điều này?

Câu trả lời:


3

Chỉnh sửa tập tin này dưới đây với trình soạn thảo văn bản yêu thích của bạn

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

và đặt Faenza ở đầu dòng thừa kế.


2
Bạn nên tránh sửa đổi các tập tin hệ thống. Một bản cập nhật cho ubfox-mono sẽ hoàn nguyên thay đổi của bạn.
idbrii

12

Tôi nghĩ cách tốt nhất để hợp nhất các bộ biểu tượng là tạo ra cái mà tôi gọi là bộ biểu tượng nhẹ. Biểu tượng này được đặt trong thư mục nhà của bạn để nó không bị ghi đè bởi các bản cập nhật hệ thống, nhưng nó liên kết với các bộ biểu tượng hệ thống, vì vậy nó sẽ được cập nhật cùng với chúng. Những chủ đề này sẽ không có sẵn cho những người dùng khác trên hệ thống của bạn.

Bộ biểu tượng nhẹ

Trình quản lý chủ đề của Ubuntu sẽ xem xét ~/.icons/usr/share/iconstìm các bộ biểu tượng. Bất cứ điều gì trong phần ~/.iconsghi đè /usr/share/icons.Vì vậy, bạn có thể sao chép một biểu tượng được đặt từ thư mục hệ thống vào thư mục nhà của bạn để tùy chỉnh biểu tượng và bạn chỉ bao gồm các phần bạn muốn thay đổi!

Nói chung, tôi nghĩ tốt nhất là tạo các bộ biểu tượng của riêng bạn sử dụng các bộ hệ thống. Bạn có thể làm điều này bằng cách tạo một bộ biểu tượng, tệp index.theme và thêm một số biểu tượng. Tuy nhiên, khi bạn kết hợp các bộ biểu tượng khác nhau, bạn sẽ cần ghi đè Inheritsthuộc tính của chúng để bạn có thể đặt thứ tự ưu tiên của riêng mình.

Tạo biểu tượng được đặt thành hợp nhất chủ đề

Hãy tạo một bộ biểu tượng siêu đơn sắc:

# 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

Bây giờ chúng ta có một biểu tượng mới được đặt trong Giao diện giống hệt như Faenza-Darkest.

Để hợp nhất hai chủ đề của chúng tôi, chúng tôi thay đổi chủ đề siêu đơn để kế thừa từ ubfox-mono-dark và sau đó là Faenza.

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

Điều đó là đủ cho richzilla, chỉ cần chọn siêu đơn sắc trong Ngoại hình.

Thêm biểu tượng tùy chỉnh

Chúng tôi cũng có thể thêm các biểu tượng riêng lẻ vào bộ biểu tượng này:

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

Và bây giờ, chủ đề siêu đơn sắc của chúng tôi kết hợp giữa ubfox-mono-dark và Faenza, ngoại trừ nó sử dụng một biểu tượng từ Faenza-Darkest. Xem các phần sau để sử dụng nhiều hơn chỉ một vài biểu tượng.

Điều quan trọng là tôi đã sao chép index.theme từ Faenza-Darkest và sau đó sử dụng các biểu tượng từ Faenza-Darkest. Tệp index.theme cho biết các biểu tượng có thể ở đâu. Nếu bạn muốn kéo các biểu tượng riêng lẻ từ các bộ biểu tượng khác nhau, bạn sẽ cần hợp nhất các tệp index.theme của chúng. Bạn có thể xem các tệp và bạn sẽ thấy một trường có tên là Thư mục liệt kê tất cả các thư mục chứa các biểu tượng. Sau đó, bạn sẽ thấy các trường khác mô tả các thư mục này. Nếu bạn thêm một biểu tượng không được mô tả bởi các trường này, thì biểu tượng đó sẽ bị bỏ qua. Bạn có thể tìm thêm thông tin trong thông số index.theme .

Nâng cao: Kết hợp có chọn lọc Ba bộ biểu tượng

Tôi cũng thích các biểu tượng ubfox-mono. Tôi yêu các biểu tượng ứng dụng của Faenza, nhưng tôi không thích các biểu tượng đơn âm của Faenza (các chỉ báo và nút). Tôi cũng thích các biểu tượng của tiểu học. Vì vậy, tôi muốn kết hợp ba bộ biểu tượng. Theo tôi biết, cách tốt nhất để làm điều này là bằng cách cô lập các biểu tượng bạn thích.

  1. Sử dụng Ubuntu-mono-dark
  2. Sử dụng biểu tượng ứng dụng của Faenza
  3. Nếu không, sử dụng biểu tượng của tiểu học

Để làm điều này, chúng ta cần nói với ubfox-mono-dark để không kế thừa từ bất cứ thứ gì (vì vậy chúng ta cũng có thể sử dụng Faenza và sơ cấp).

# 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

Bạn sẽ nhận thấy rằng bộ biểu tượng ubay-mono-dark hiện đã bị hỏng. Nó sẽ bị thiếu các biểu tượng được cung cấp bởi Humanity-Dark và các biểu tượng khác mà nó kế thừa từ đó. Thay đổi này sẽ chỉ ảnh hưởng đến người dùng của bạn.

Bây giờ chúng ta có thể tạo một bộ biểu tượng mới sử dụng các biểu tượng ứng dụng từ 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/.

Bộ biểu tượng ứng dụng Faenza này cũng bị hỏng. Nó chỉ có các biểu tượng cho các ứng dụng. Tất cả các biểu tượng khác bị thiếu vì chúng tôi đã xóa các Kế thừa.

Bây giờ chúng tôi tạo bộ biểu tượng chúng tôi sẽ sử dụng. Bộ biểu tượng của chúng tôi sẽ không chứa biểu tượng, nó chỉ kết nối các bộ biểu tượng khác của chúng tôi.

# 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

Bây giờ chúng ta sẽ có thể chọn hợp nhất-tối trong Giao diện và chúng ta sẽ có một bộ biểu tượng mới tuyệt đẹp! (Lưu ý: Chúng tôi không cần hợp nhất các tệp index.theme vì chúng tôi không thêm các biểu tượng từ các bộ biểu tượng khác nhau vào hợp nhất-tối. Thay vào đó, chúng tôi đang sử dụng Kế thừa để tự động hợp nhất các bộ biểu tượng.)


Giải thích một số lệnh

Tôi sử dụng rất nhiều lệnh Terminal để đơn giản hóa câu trả lời này, nhưng đây là một mô tả về những gì họ làm.

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

Điều này tạo ra một con trỏ trong biểu tượng của bạn được đặt thành biểu tượng gtk-paste của biểu tượng hệ thống. Bằng cách đó, không có không gian đĩa cứng bổ sung được sử dụng và bộ biểu tượng của bạn được cập nhật cùng với bộ biểu tượng của hệ thống. Nếu bạn không muốn điều đó, sau đó thay thế ln -sbằng cp -r.

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

Có nghĩa là thay thế tất cả darkbằng light~ / file.

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

Phương .*$tiện để khớp bất kỳ văn bản nào (. *) Đến cuối dòng ($).

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

Ở đây chúng tôi đang chèn ubfox-mono-dark trước danh sách Kế thừa vì chúng tôi đang tìm kiếm Inherits=và thay thế nó bằngInherits=ubuntu-mono-dark,

Bất cứ nơi nào tôi sử dụng sed, bạn có thể chỉnh sửa tệp và áp dụng các chỉnh sửa theo cách thủ công.


1
<mỉa mai> Tôi không chắc bài đăng này đủ chi tiết về pydave </ mỉa mai> trong tất cả sự nghiêm túc, câu trả lời tuyệt vời. Tôi thực sự đã có một vấn đề tương tự với biểu tượng Clementines mà điều này sắp xếp.
zookalicy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.