Có thể thay đổi thứ tự của các biểu tượng trong applet chỉ báo?


49

Có thể thay đổi thứ tự của các biểu tượng được hiển thị trong applet chỉ báo không? Với chỉ báo Tomboy, Chỉ báo thời tiết, Chỉ báo quản lý Clipboard, Chỉ báo Ubuntu One và Dropbox và chỉ báo Trạng thái pin ngoài chỉ báo Tin nhắn cổ điển và Chỉ báo Menu âm thanh, Chỉ báo Applet của tôi trở nên hơi rối, việc sắp xếp các biểu tượng sẽ giúp ích rất nhiều ...


1
Không phải là một câu trả lời, nhưng theo kde (kubfox), tôi có thể đặt hoặc xóa bất cứ thứ gì trên máy tính để bàn và bảng điều khiển, bao gồm các chỉ số.
Joe

Câu trả lời:


29

Các chỉ số hệ thống theo thứ tự cố định theo thiết kế. Mặc dù bạn có thể không thích đơn đặt hàng, nhưng nó giúp hỗ trợ dễ dàng hơn bằng cách có một đơn hàng cố định (chúng tôi có thể tranh luận về đơn hàng không ngừng). Các chỉ báo ứng dụng hoạt động hơi khác một chút, chúng được thiết kế sao cho có thứ tự mặc định nhưng các ứng dụng có thể điều chỉnh mức độ liên tục. Chẳng hạn, nếu một ứng dụng có hai chỉ số mà nó muốn nằm cạnh nhau.

Bởi vì hệ thống này dẫn đến sự lạm dụng có thể của các nhà phát triển ứng dụng, có một tập hợp các phần ghi đè trong hệ thống. Đầu tiên là ở cấp hệ thống để có thể quản lý nó bằng các gói một khi các bản phân phối có một ứng dụng lạm dụng, nó có thể được sửa cho tất cả người dùng. Nó nằm ở:

   /usr/share/indicator-application/ordering-override.keyfile

Bạn có thể đặt bất kỳ ID thông báo trạng thái nào vào đó và cung cấp cho nó một chỉ mục đặt hàng mới sẽ vì chỉ mục mới cho ứng dụng đó. Ngoài ra còn có một tệp ghi đè cho mỗi người dùng có thể tồn tại trong thư mục chính của bạn tại:

  ~/.local/share/indicators/application/ordering-override.keyfile

Hy vọng rằng sẽ cung cấp cho bạn một số trợ giúp trong việc điều chỉnh bảng điều khiển của bạn theo cách bạn thích!


Tôi đã nhận được các chỉ số hệ thống được liệt kê trong tập tin đầu tiên. Nhưng không có một ~/.local/share/indicatorsthư mục. Cứu giúp!
charlie

2
Câu trả lời này có thể đã lỗi thời, tôi không có tập tin như vậy ~/.local. Tệp tại /usr/sharekhông chứa các mục nhập cho tất cả các ứng dụng chỉ báo và việc thay đổi nó không tạo ra hiệu ứng. Sẽ thật tuyệt khi có câu trả lời cho 14.04.
Luís de Sousa

1
Nó hoạt động với Ubuntu 14.04, bạn chỉ cần thêm rõ ràng mọi chỉ số bạn đang sử dụng vào tệp. Chạy lệnh này để tìm ra cái nào bạn đang sử dụng: dbus-send --type=method_call --print-reply --dest=com.canonical.indicator.application /com/canonical/indicator/application/service com.canonical.indicator.application.service.GetApplications | grep "object path" | sed 's/_/-/g' | cut -d"/" -f5Mặc dù vậy, nó sẽ không hoạt động với Dropbox, vì ID trình thông báo trạng thái thay đổi dựa trên PID của dropbox. Tôi đã thêm một câu trả lời bên dưới để cập nhật ghi đè đặt hàng.keyfile dựa trên PID của Dropbox.
Gru phun

Điều này có hoạt động cho 15.04 không? Tôi đã tạo tệp trong .localnhưng không thấy nó hoạt động. Các tập tin toàn cầu ban đầu trong /usr/sharehiện tại, cho thấy rằng nó nên hoạt động. Việc phân tích cú pháp của tập tin này có được ghi lại ở bất cứ đâu? Có cách nào để gỡ lỗi nếu có gì sai không?
Jean Jordaan

@ ted-gould Bạn có thể xác định mã trong nguồn chỉ báo-applet làm cho đơn hàng cố định không?
Khurshid Alam

17

Các bản chính thức của Ubuntu (thời tiết, ubu-one, pin, tin nhắn, tôi, âm thanh, tắt máy) đều được mã hóa cứng. Sucks. Những người khác nên nhận lệnh của họ bằng cách sử dụng luật trước tiên phục vụ trước, quyền ưu tiên bên trái. Đánh giá từ yêu cầu tính năng / động não này , câu trả lời là: Không, bạn không thể tự thay đổi thứ tự các biểu tượng thông qua gui. Nhưng hãy xem câu trả lời của @Ted Gould .


1
Tôi cũng vậy - lỗi đó. Đẹp tìm thấy. Cảm ơn.
Scaine

11

Để thay đổi vị trí Chỉ báo Ứng dụng trên bảng Unity, bạn phải chỉnh sửa tệp có tên ordering-override.keyfilenằm dưới /usr/share/indicator-application. Vì chỉnh sửa tệp này sẽ thay đổi cài đặt cho tất cả người dùng, bạn có thể sao chép tệp đó ~/.local/share/indicators/application/ordering-override.keyfilevà chỉ thực hiện các thay đổi cho người dùng của mình:

mkdir -p ~/.local/share/indicators/application
cp /usr/share/indicator-application/ordering-override.keyfile ~/.local/share/indicators/application/

Bây giờ hãy mở tệp bằng cách chạy lệnh sau trong một thiết bị đầu cuối:

gedit ~/.local/share/indicators/application/ordering-override.keyfile

Trong tệp này, bạn sẽ thấy các quy tắc hiện có cho thứ tự Chỉ số ứng dụng trên bảng. Cái đầu tiên là nm-appletvà có giá trị là "1", nghĩa là nó sẽ là Chỉ báo ứng dụng đầu tiên được hiển thị trên bảng, từ phải sang trái.

Lấy ví dụ này, bạn có thể thêm các Chỉ số ứng dụng của riêng mình và chỉ định vị trí của chúng bằng cách nhập tên của chúng và một số giống như transmission=6vậy sẽ làm cho Chỉ báo ứng dụng truyền tải hiển thị dưới dạng chỉ báo thứ 6 trên bảng (từ phải sang trái), nếu 5 chỉ số khác tồn tại.

Nguồn: http://www.webupd8.org/2011/06/how-to-change-application-indicators.html

Bây giờ, trong trường hợp của bạn, ordering-override.keyfiletệp sẽ trông như thế này:

[Ordering Index Overrides]
nm-applet=1
My_Weather_Indicator=2
lang_indicator=3
bluetooth_manager=4
indicator_sysmonitor=5
transmission=6

1
@James Điều này rõ ràng cũng áp dụng cho các chỉ số do ứng dụng cung cấp, vì Truyền được sử dụng làm ví dụ.
Léo Lam

Điều này có hoạt động cho 15.04 không? Tôi đã tạo tệp trong .localnhưng không thấy nó hoạt động. Các tập tin toàn cầu ban đầu trong /usr/sharehiện tại, cho thấy rằng nó nên hoạt động. Việc phân tích cú pháp của tập tin này có được ghi lại ở bất cứ đâu? Có cách nào để gỡ lỗi nếu có gì sai không?
Jean Jordaan

Sau khi kill $(pgrep unity-panel-service)nó hoạt động :-) Tôi đã khởi động lại sau khi tạo ordering-override.keyfile, vì vậy tôi không biết tại sao nó lại "mất" sau khi bảng này khởi động lại.
Jean Jordaan

Cách khởi động lại bảng điều khiển root@laptop:~# restart unity-panel-servicenày không còn hiệu quả nữa:restart: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
Jean Jordaan

4

Hướng dẫn kích hoạt sắp xếp chỉ số Dropbox

Làm theo hướng dẫn của Ted Gould sau đó nếu bạn muốn sắp xếp chỉ báo Dropbox, đây là một vài bước nữa:

Lưu ý : Nếu bạn chỉnh sửa tệp trong /usr/share/...đó thì bạn sẽ phải đặt tập lệnh vào /etc/rc.local(tìmLưu ý bên dưới)

Vì Dropbox gắn thêm PID vào tên chỉ báo và điều này thay đổi mỗi khi Dropbox bắt đầu, bạn cần cập nhật ordering-override.keyfilemỗi khi dropbox bắt đầu.

Để làm điều này, bạn có thể mở một trình soạn thảo văn bản, sao chép và dán đoạn script sau và đặt tên cho nó là như thế start-dropbox.sh. Sau đó nhấp chuột phải, chọn "thuộc tính", chuyển đến tab "quyền" và chọn hộp "cho phép thực thi tệp dưới dạng chương trình" hoặc mở một thiết bị đầu cuối, điều hướng đến thư mục bạn đặt tập lệnh và chạysudo chmod 755 ./start-dropbox.sh

#!/bin/bash
#Disclaimer: This script is intended for use with Ubuntu 14.04. You alone are responsible any consequence resulting from its use.
#The purpose of this script is to start dropbox, update the keyfile, and restart the indicator panel.

#Start dropbox if not already started (for some reason pgrep didn't work)
[[ $(ps aux | grep dropbox | grep dist | awk '{print $2 }') = "" ]] && dropbox start -i

#If the override file exists
if [[ -e ~/.local/share/indicators/application/ordering-override.keyfile ]]
then
    while [ "$(ps aux | grep dropbox | grep dist | awk '{print $2 }')" = "" ]; do
        sleep 1s
    done
    sleep 5s #dropbox creates several PIDs, so wait a bit before continuing
    sed -e "s/dropbox-client-.*=/dropbox-client-$(ps aux | grep dropbox | grep dist | awk '{print $2 }')=/g" -i ~/.local/share/indicators/application/ordering-override.keyfile
    restart unity-panel-service
fi

Bây giờ bạn có thể mở "Ứng dụng khởi động và tạo một mục mới, sử dụng đường dẫn đầy đủ đến tập lệnh của bạn làm" lệnh "(sử dụng ~ / start-dropbox.sh sẽ không hoạt động, bạn phải làm / home / yourname / start -boxbox.sh).

** Lưu ý : Đây là nơi bạn thêm đường dẫn tập lệnh đầy đủ vào cuối/etc/rc.local

Một bước tùy chọn là mở cài đặt Dropbox và bỏ chọn "Bắt đầu dropbox khi khởi động hệ thống". Bạn không thể thay đổi lệnh cho Dropbox đã có trong danh sách Ứng dụng khởi động, vì Dropbox sẽ ghi đè lên điều này mỗi khi nó khởi động.

Bạn đã hoàn tất!

Đây là những gì tôi ~/.local/share/indicators/application/ordering-override.keyfiletrông giống như:

[Ordering Index Overrides]
multiload=13
My-Weather-Indicator=12
redshift=11
Diodon=10
Chars=9
indicator-brightness=8
dropbox-client-24651=7
nm-applet=6
gnome-power-manager=5
ibus=4
gst-keyboard-xkb=3
gsd-keyboard-xkb=2
chrome-app-indicator-1=1

root@laptop:~# restart unity-panel-service restart: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
Jean Jordaan
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.