Apakah mungkin untuk mengubah urutan ikon di applet indikator?

49

Apakah mungkin untuk mengubah urutan ikon yang ditampilkan di applet indikator? Dengan indikator Tomboy, indikator Cuaca, indikator Clipboard-manager, indikator Ubuntu One dan Dropbox dan indikator Status Baterai selain indikator Pesan klasik dan indikator Menu Suara, Applet Indikator saya menjadi sedikit kacau, menyortir ikon akan banyak membantu. ...

cepuk
sumber
1
Bukan jawaban, tetapi di bawah kde (kubuntu), saya dapat menempatkan atau menghapus apa saja di desktop dan panel, termasuk indikator.
Joe

Jawaban:

29

Indikator sistem dalam urutan tetap menurut desain. Meskipun Anda mungkin tidak menyukai pesanan, itu membuat dukungan lebih mudah dengan memiliki pesanan tetap (kami dapat berdebat tentang pesanan tanpa henti). Indikator aplikasi bekerja sedikit berbeda, mereka dirancang sehingga ada urutan default tetapi aplikasi dapat menyesuaikannya untuk kontinuitas. Misalnya, jika suatu aplikasi memiliki dua indikator yang diinginkannya bersebelahan.

Karena sistem ini mengarah ke kemungkinan penyalahgunaan oleh pengembang aplikasi, ada satu set penimpaan dalam sistem. Yang pertama adalah pada tingkat sistem sehingga dapat dikelola oleh paket-paket begitu angka-angka distro di luar sana adalah aplikasi yang menyalahgunakannya dapat diperbaiki untuk semua pengguna. Itu terletak di:

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

Anda dapat memasukkan ID pemberitahuan status apa pun di sana dan memberikannya indeks pemesanan baru karena indeks baru untuk aplikasi itu. Ada juga file override per pengguna yang dapat ada di direktori home Anda di:

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

Semoga itu akan memberi Anda bantuan dalam menyesuaikan panel Anda seperti yang Anda inginkan!

Ted Gould
sumber
Saya mendapatkan indikator sistem yang tercantum dalam file pertama. Tetapi tidak memiliki ~/.local/share/indicatorsdirektori. Tolong!
charlie
2
Jawaban ini mungkin sudah usang, saya tidak punya file seperti itu di ~/.local. File di /usr/sharetidak mengandung entri untuk semua aplikasi indikator dan mengubahnya tidak menghasilkan efek. Akan menyenangkan untuk memiliki jawaban untuk 14,04.
Luís de Sousa
1
Ini bekerja dengan Ubuntu 14.04, Anda hanya perlu secara eksplisit menambahkan setiap indikator yang Anda gunakan ke file. Jalankan perintah ini untuk mencari tahu mana yang Anda gunakan: 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"/" -f5Namun, itu tidak akan berfungsi dengan Dropbox, karena ID pemberi tahu status berubah berdasarkan pada PID dropbox. Saya telah menambahkan jawaban di bawah ini untuk memperbarui pemesanan-override.keyfile berdasarkan PID Dropbox.
Gruzzles
Apakah ini bekerja untuk 15,04? Saya sudah membuat file .local, tetapi tidak melihatnya berfungsi. File global asli dalam /usr/sharehadir, yang menunjukkan bahwa itu harus berfungsi. Apakah penguraian file ini bisa dicatat di mana saja? Apakah ada cara untuk men-debug jika ada yang salah?
Jean Jordaan
@ ted-gould Bisakah Anda menentukan kode dalam sumber indikator-applet yang membuat pesanan tetap?
Khurshid Alam
17

Ubuntu resmi (cuaca, ubu-one, baterai, pesan, saya, suara, shutdown) ada di hardcode. Menyebalkan. Yang lain harus mengambil pesanan mereka menggunakan hukum first come first serve, kanan-kiri diutamakan. Dilihat dari curah pendapat / permintaan fitur ini , jawabannya adalah: Tidak, Anda tidak dapat mengubah urutan ikon secara manual melalui gui. Tetapi lihat jawaban @Ted Gould .

djeikyb
sumber
1
Saya juga me-bug itu. Temuan yang bagus. Terima kasih.
Scaine
11

Untuk mengubah posisi Indikator Aplikasi pada panel Unity, Anda harus mengedit file yang disebut ordering-override.keyfileberada di bawah /usr/share/indicator-application. Karena mengedit file ini akan mengubah pengaturan untuk semua pengguna, Anda dapat menyalinnya ~/.local/share/indicators/application/ordering-override.keyfiledan membuat perubahan hanya untuk pengguna Anda:

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

Sekarang buka file dengan menjalankan perintah berikut di terminal:

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

Dalam file ini Anda akan melihat aturan yang ada untuk urutan Indikator Aplikasi pada panel. Yang pertama adalah nm-appletdan memiliki nilai "1", yang berarti itu akan menjadi Indikator Aplikasi pertama yang ditampilkan pada panel, dari kanan ke kiri.

Dengan menggunakan ini sebagai contoh, Anda dapat menambahkan Indikator Aplikasi Anda sendiri dan menentukan posisi mereka dengan memasukkan nama mereka dan nomor seperti transmission=6yang akan membuat Indikator Aplikasi Transmisi muncul sebagai indikator keenam pada panel (dari kanan ke kiri), jika 5 indikator lainnya ada.

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

Sekarang, dalam kasus Anda, ordering-override.keyfilefile akan terlihat seperti ini:

[Ordering Index Overrides]
nm-applet=1
My_Weather_Indicator=2
lang_indicator=3
bluetooth_manager=4
indicator_sysmonitor=5
transmission=6
Radu Rădeanu
sumber
1
@ James Ini jelas juga berlaku untuk indikator yang disediakan aplikasi, karena Transmisi digunakan sebagai contoh.
Léo Lam
Apakah ini bekerja untuk 15,04? Saya sudah membuat file .local, tetapi tidak melihatnya berfungsi. File global asli dalam /usr/sharehadir, yang menunjukkan bahwa itu harus berfungsi. Apakah penguraian file ini bisa dicatat di mana saja? Apakah ada cara untuk men-debug jika ada yang salah?
Jean Jordaan
Setelah kill $(pgrep unity-panel-service)ini berhasil :-) Saya telah reboot setelah membuat ordering-override.keyfile, jadi saya tidak tahu mengapa "butuh" setelah panel ini restart.
Jean Jordaan
Cara memulai kembali panel root@laptop:~# restart unity-panel-serviceini tidak berfungsi lagi:restart: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
Jean Jordaan
4

Petunjuk untuk Mengaktifkan penyortiran Indikator Dropbox

Ikuti instruksi Ted Gould lalu jika Anda ingin mengurutkan indikator Dropbox, berikut adalah beberapa langkah lagi:

Catatan : Jika Anda mengedit file /usr/share/...maka Anda harus memasukkan skrip /etc/rc.local(cariCatatan di bawah)

Karena Dropbox menambahkan PID ke nama indikator, dan ini berubah setiap kali Dropbox dimulai, Anda perlu memperbarui ordering-override.keyfilesetiap kali dropbox dimulai.

Untuk melakukan ini, Anda dapat membuka editor teks, menyalin dan menempelkan skrip berikut, dan beri nama seperti itu start-dropbox.sh. Lalu klik kanan, pilih "properti", buka tab "izin", dan centang kotak "izinkan file pelaksana sebagai program", atau buka terminal, navigasikan ke folder tempat Anda memasukkan skrip, dan jalankan jalankansudo 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

Sekarang Anda dapat membuka "Aplikasi Permulaan, dan membuat entri baru, menggunakan path lengkap ke skrip Anda sebagai" perintah "(menggunakan ~ / start-dropbox.sh tidak akan berfungsi, Anda harus melakukan / home / yourname / start -dropbox.sh).

** Catatan : Di sinilah Anda akan menambahkan jalur skrip lengkap ke akhir/etc/rc.local

Salah satu langkah opsional adalah membuka pengaturan Dropbox dan hapus centang "Mulai dropbox pada startup sistem". Anda tidak bisa hanya mengubah perintah untuk Dropbox yang sudah ada di daftar Aplikasi Startup, karena Dropbox menimpa ini setiap kali dimulai.

Kamu sudah selesai!

~/.local/share/indicators/application/ordering-override.keyfileSeperti apa penampilan saya :

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