Tôi có thể đưa vào danh sách đen một appindicator không?


27

Tôi đã liệt kê một số chỉ số cho các ứng dụng chưa có ứng dụng tuân thủ Unity. Có cách nào để liệt kê danh sách đen cho các ứng dụng tuân thủ Unity (không phải chỉ báo kiểu cũ) nhưng không cung cấp tùy chọn "Không hiển thị trong khay hệ thống"?

  • Bất kỳ giải pháp làm việc nào để cấm người lập trình hiển thị, dựa trên GUI hoặc CLI, đều được hoan nghênh.
  • Một thay thế hợp lệ sẽ là một cách để ẩn chỉ báo theo cách tương tự như cách bạn có thể hiển thị / ẩn các biểu tượng khay hệ thống trong Windows 7. Theo câu trả lời cho câu hỏi đóng này, điều này hiện không thể có trong Ubuntu.
  • Các kỹ thuật bao gồm các chỉ số cũ cũng như các chỉ số mới cũng có giá trị. (Loại bỏ các mục khỏi systray-whitelist chỉ hoạt động cho các chỉ số cũ.)

Bạn có thể cung cấp tên của một hoặc hai ứng dụng mà bạn muốn "danh sách đen"
doug

@doug stackapplet, wakoopa, có thể là những người khác nhưng họ không mở ngay bây giờ :)
david.libremone

Skype cũng đến với tâm trí. Bạn có thể xóa sni-qt, nhưng điều đó cũng sẽ xóa các chỉ số của tất cả các ứng dụng qt khác.
mniess

@mniess vâng, skype cũng vậy - Tôi đã không nhận ra các câu hỏi tương tự như thế nào :) lý do của tôi để tách chúng ra: câu hỏi 61514: bao gồm cả những người không phải là người tìm kiếm, đang tìm kiếm một tùy chọn dựa trên giao diện người dùng và đang tìm kiếm tạm thời " ẩn giấu"; cái này là dành riêng cho người lập trình, tìm kiếm bất cứ thứ gì kể cả chỉnh sửa tệp cli và tối nghĩa và "danh sách đen" vĩnh viễn - Tôi rất vui khi làm rõ từ ngữ của mình trong mỗi nếu cần, nhưng nếu chúng vẫn được coi là quá giống nhau, thì hãy xem
david.libremone

1
Tôi bối rối về cách câu trả lời được chấp nhận nhất trong câu hỏi này là câu trả lời rằng nếu không có applet nào chạy thì nên để nguyên như vậy. Tôi chắc chắn rằng bạn đang cố gắng ngăn thứ gì đó chạy, không kích hoạt thứ gì đó bạn không nên thấy để bắt đầu.
Bruno Pereira

Câu trả lời:


11

Để không tải một applet, chỉ cần ngăn nó chạy.

Nếu chỉ báo được mã hóa vào ứng dụng và ứng dụng không cung cấp cho bạn tùy chọn xóa chỉ báo khỏi bảng điều khiển mà bạn không thể bỏ qua, bạn không thể bỏ qua chỉ báo ứng dụng được tích hợp vào mã và không có tùy chọn để vô hiệu hóa nó, bạn cần thay đổi mã nguồn do bạn thực hiện hoặc bạn có thể đề xuất chúng cho nhà phát triển ứng dụng, trường hợp cuối cùng sẽ phụ thuộc vào ứng dụng mà bạn đang đề cập đến.

Không có hướng dẫn cụ thể giải thích nếu và ứng dụng nên hay không nên có một applet cuộn cảm, chỉ những gì một applet chỉ báo nên làm .

Bạn vẫn có thể xóa các applet hệ thống do gnome tạo cho hệ thống của bạn hoặc nếu ứng dụng tự sử dụng một applet bên ngoài được sử dụng làm chỉ báo.


Để xóa một trong các chỉ số gnome / unity có thể nhìn thấy theo mặc định, hãy mở terminal và chạy lệnh này để hiển thị tất cả các ứng dụng có thể được tải khi khởi động

cd /etc/xdg/autostart/ && ls

Xác định applet mà bạn muốn ngăn không tải và chỉnh sửa nó bằng trình soạn thảo văn bản yêu thích của bạn, tức là:

sudo nano nm-applet.desktop

Xác định vị trí dòng với các nội dung này

NoDisplay=true

và thay đổi nó thành

NoDisplay=false

Lưu và đóng thiết bị đầu cuối.

Nhấp vào cog weel ở góc trên bên phải của màn hình bên cạnh tên người dùng của bạn và chọn Startup Applications..., bây giờ bạn sẽ thấy ứng dụng mà bạn vừa chỉnh sửa tệp .desktop và bạn có thể tắt nó.

Các applet sẽ không tải vào lần khởi động tiếp theo

Sau khi bật hoặc tắt và applet theo các bước trên, bạn sẽ thấy rằng mỗi .desktop mà bạn sửa đổi sẽ tạo tệp .desktop của riêng nó trong ~/.config/autostartthư mục của bạn .

Nếu chỉ báo applet mà bạn muốn tắt không hiển thị trong danh sách khởi động của bạn, bạn cần sử dụng phương pháp ở trên, nếu không sẽ có tệp .desktop bên trong ~/.config/autostartcó thể được chỉnh sửa bằng phương pháp được mô tả và sau đó sẽ có thể được bật / tắt trong các ứng dụng khởi động.


1
Bruno - câu trả lời hay +1
fossfreedom

@bruno cảm ơn câu trả lời của bạn rất hữu ích cho trường hợp ứng dụng có thể chạy độc lập với applet chỉ báo; điều này không phù hợp với trường hợp của tôi nhưng có lẽ người khác sẽ được hưởng lợi
david.libremone

Sự khác biệt giữa những gì bạn muốn và những gì bạn có thể làm được giải thích trên 2 câu đầu tiên. Bạn không thể bỏ qua một chỉ báo ứng dụng được tích hợp vào mã và không có tùy chọn để vô hiệu hóa nó, vì bạn cần thay đổi mã nguồn do bạn thực hiện hoặc bạn có thể đề xuất chúng cho nhà phát triển ứng dụng.
Bruno Pereira

cảm ơn vì sự bổ sung cho câu trả lời của bạn Tôi nghĩ rằng tôi đã thấy các nguyên tắc chỉ báo cụ thể /
ubfox

Tôi đã tìm thấy câu trả lời @sokai thực sự hữu ích, vì các ứng dụng tôi đã cố gắng ẩn nó hoạt động và ít nhất một ứng dụng có khay được mã hóa cứng trong lõi.
Radu Maris

6

Hầu hết các chỉ số bạn không muốn thấy, không nên ở đó ngay từ đầu theo hướng dẫn thiết kế . Vì vậy, quá trình hành động đúng (ngay bây giờ) nên được liên hệ với tác giả.


Tôi hy vọng ai đó có một bản hack đáng tin cậy hoặc tôi sẽ không có lựa chọn nào khác ngoài việc chấp nhận câu trả lời của bạn :)
david.libremone

Tôi có đúng không theo hướng dẫn thiết kế mà nhà phát triển phải cung cấp tùy chọn như vậy? Nếu vậy bạn có một đề xuất về cách đề xuất điều này cho nhà phát triển không? bạn có thể cung cấp một liên kết đến các hướng dẫn mới nhất / bất kỳ cuộc thảo luận có liên quan? và trong khi bạn đang ở đó, một con ngựa, cảm ơn
david.libremone

Tôi đã thêm các tài liệu cho appindicators vào bài viết. Tôi chỉ cần viết một email cho nhà phát triển yêu cầu anh ta xóa biểu tượng hoặc cung cấp tùy chọn để ẩn nó (ít nhất là một tham số dòng cmd).
mniess

2

Ứng dụng của bạn (thiếu tùy chọn) có xuất hiện trong bảng toàn cầu không? - Tôi nghĩ, nếu có, nó nằm trong danh sách trắng và bạn phải đưa nó ra khỏi systray-whitelistdanh sách đen ...;)

Vì vậy, nếu ứng dụng "appMissing" tồn tại trong bảng điều khiển thì bạn systray-whitelistlà (đại loại như)

    #~> gsettings get com.canonical.Unity.Panel systray-whitelist
    ['appA', 'appB', 'appMissing']

và bạn phải đưa vào danh sách đen "appMissing" bằng cách thực hiện

    #~> gsettings set com.canonical.Unity.Panel systray-whitelist "['appA', 'appB']"

Nếu bạn quan tâm đến một phương thức GUI để thay đổi, systray-whitelisthãy xem bài đăng này: askubfox.com/questions/39843/application-indicator-for-shutter/ phỏng
sokai

Thật không may, các ứng dụng không xuất hiện trong systray-whitelist- Tôi đoán bởi vì chúng đã cấu hình đúng các ứng dụng viên - Tôi đang cập nhật câu hỏi để phản ánh điều này
david.libremone

0

Một số biểu tượng trong khay hệ thống có thể bị vô hiệu hóa bằng công cụ chỉnh sửa thống nhất. Bạn nên đi đến phần bảng điều khiển và bỏ chọn tùy chọn, ở đó.

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.