Đồng bộ hóa các biểu tượng giữa .desktop và dock
Tôi đã tạo một mục nhập .desktop tùy chỉnh trong thư mục chính của mình, ~/.local/share/applications/startMyApp.desktoptôi đã tạo nó để nó sử dụng xterm thay vì gnome-terminal. Tôi muốn nó có một giao diện khác trong dock với các thiết bị đầu cuối gnome của tôi mà tôi sử dụng tương tác.
Các startMyApp.desktopvẻ thích:
[Desktop Entry]
Type=Application
Name=MyScript
Terminal=false
Exec=xterm -e myScript.sh
Icon=myIcon.png
Tôi đã tạo một tệp biểu tượng trong ~/.icons/myIcon.png
Biểu tượng xuất hiện chính xác trong trình duyệt tệp mặc định. Khi được mở từ trình duyệt tệp, nó thực thi tập lệnh trong xterm như mong đợi, tuy nhiên, biểu tượng trong thanh công cụ xuất hiện dưới dạng một số biểu tượng xterm chung khác. Biểu tượng đó đến từ đâu? Nó có được nhúng trong hệ nhị phân không?
Làm cách nào để thay đổi điều này? Tôi muốn biểu tượng trong thanh công cụ xuất hiện giống như biểu tượng được chỉ định trong .desktoptệp. Các ứng dụng đi kèm với Ubuntu có cùng một biểu tượng trong thanh công cụ khi khởi chạy (ngoài các chấm màu đỏ cho biết có bao nhiêu cửa sổ đang mở).
Trả lời
Bạn cần thêm một StartupWMClassmục nhập thích hợp vào.desktop tệp của mình . Để thực hiện việc này, hãy làm theo các bước dưới đây.
- Khởi chạy ứng dụng được đề cập.
- Khởi chạy một cửa sổ Terminal riêng và chạy
xprop WM_CLASS. - Đặt con trỏ lên cửa sổ ứng dụng đã mở được đề cập. Bây giờ con trỏ sẽ biến thành hình chữ thập. Nhấp chuột. Bạn sẽ nhận được một
WM_CLASSchuỗi cho ứng dụng trong cửa sổ Terminal. Trong
.desktoptệp thêm dòng sauStartupWMClass=OBTAINED-VALUEThay
OBTAINED-VALUEcho giá trị bạn nhận được từ bước 3 mà không có bất kỳ dấu ngoặc kép nào.
Cập nhật từ OP:
cũng có vẻ như tôi cần cung cấp tên cho phiên bản xterm. Dòng thực thi bây giờ trông giống như
xterm -name myApp -e myScript.sh