インジケーターアプレットのアイコンの順序を変更することはできますか?


49

インジケーターアプレットに表示されるアイコンの順序を変更することはできますか?おてんば娘インジケーター、天気インジケーター、クリップボードマネージャーインジケーター、Ubuntu Oneインジケーター、Dropboxインジケーター、バッテリーステータスインジケーターに加えて、従来のメッセージインジケーターとサウンドメニューインジケーターが表示されます。 ...


1
答えではありませんが、kde(kubuntu)の下では、デスクトップとパネル上にインジケーターを含めて何でも配置または削除できます。
ジョー

回答:


29

システムインジケータは、設計により固定された順序になっています。注文が気に入らないかもしれませんが、注文を固定することでサポートが容易になります(注文については延々と議論できます)。アプリケーションインジケータの動作は少し異なります。デフォルトの順序になるように設計されていますが、アプリケーションは連続性のためにそれを調整できます。たとえば、アプリケーションに2つのインジケーターが隣接している場合。

このシステムはアプリケーション開発者による悪用の可能性があるため、システムには一連のオーバーライドがあります。1つ目はシステムレベルです。これにより、ディストリビューションがすべてのユーザーに対して修正できる不正なアプリケーションがあることが判明した場合、パッケージで管理できます。次の場所にあります。

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

任意のステータス通知IDをそこに配置し、そのアプリケーションの新しいインデックスのために、新しい順序付けインデックスを指定できます。次の場所にあるホームディレクトリに存在できるユーザーごとのオーバーライドファイルもあります。

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

希望する方法でパネルを調整する助けになることを願っています!


最初のファイルにリストされたシステムインジケータを取得しました。ただし、~/.local/share/indicatorsディレクトリはありません。助けて!
チャーリー

2
この回答は古くなっている可能性があり、そのようなファイルはありません~/.local。のファイルに/usr/shareはすべてのインジケーターアプリケーションのエントリが含まれているわけではなく、変更しても効果はありません。14.04の回答があるといいですね。
ルイスデスーサ14

1
Ubuntu 14.04で動作します。使用しているすべてのインジケーターをファイルに明示的に追加するだけです。このコマンドを実行して、使用しているものを確認します。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"/" -f5ただし、DropboxのPIDに基づいてステータス通知IDが変更されるため、Dropboxでは機能しません。DropboxのPIDに基づいてordering-override.keyfileを更新するために、以下の回答を追加しました。
Gruzzles

これは15.04で機能しますか?でファイルを作成しましたが.local、動作していません。の元のグローバルファイル/usr/shareが存在するため、動作するはずです。このファイルの解析はどこにでも記録されますか?問題が発生した場合にデバッグする方法はありますか?
ジャンジョルダン

@ ted-gould順序を修正するインジケーターアプレットソースのコードを特定できますか?
ルシッドアラム

17

公式のubuntuのもの(天気、ubu-one、バッテリー、メッセージ、私、音、シャットダウン)は所定の場所にハードコーディングされています。吸います。他のものは、先着順、右左優先の法則を使用して順序を取る必要があります。このブレーンストーム/機能のリクエストから判断すると、答えは次のとおりです。いいえ、GUIを使用してアイコンの順序を手動で変更することはできません。しかし、@ Ted Gouldの回答を参照してください。


1
私はそのバグをやりすぎた。素敵な発見。ありがとう。
スケイン

11

UnityパネルのApplication Indicatorsの位置を変更ordering-override.keyfileするには、の下にあるというファイルを編集する必要があります/usr/share/indicator-application。このファイルを編集するとすべてのユーザーの設定が変更されるため、このファイルをコピー~/.local/share/indicators/application/ordering-override.keyfileしてユーザーのみに変更を加えることができます。

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

ターミナルで次のコマンドを実行してファイルを開きます。

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

このファイルでは、パネルにアプリケーションインジケータの順序に関する既存のルールが表示されます。最初のnm-applet値は「1」の値であり、右から左にパネルに表示される最初のアプリケーションインジケータであることを意味します。

一例として、これを使用して、独自のアプリケーション指標を追加し、自分の名前を入力することにより、自分の位置を特定し、数のようにすることができますtransmission=6送信アプリケーションインジケータ(右から左へ)パネルの第六の指標として表示するようになりますどの、もし他の5つのインジケータが存在します。

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

さて、あなたの場合、ordering-override.keyfileファイルは次のようになります。

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

1
@Jamesこれは、例としてTransmissionが使用されているため、アプリケーションが提供するインジケーターにも明らかに適用されます。
レオラム14

これは15.04で機能しますか?でファイルを作成しましたが.local、動作していません。の元のグローバルファイル/usr/shareが存在するため、動作するはずです。このファイルの解析はどこにでも記録されますか?問題が発生した場合にデバッグする方法はありますか?
ジャンヨルダーン

kill $(pgrep unity-panel-service)これが機能した後:-)を作成した後、再起動しましたordering-override.keyfileので、このパネルの再起動後になぜ「かかった」のかわかりません。
ジャンヨルダーン

パネルを再起動するこの方法ではroot@laptop:~# restart unity-panel-service動作しません、それ以上:restart: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
ジャン・ヨルダン

4

Dropboxインジケーターの並べ替えを有効にする手順

ドロップボックスインジケーターを並べ替える場合は、テッドグールドの指示に従ってください。さらにいくつかの手順を示します。

:ファイルを編集した場合/usr/share/...は、スクリプトを配置する必要があります/etc/rc.local(検索下の

Dropboxはインジケーター名にPIDを追加し、これはDropboxが起動するたびに変化するため、Dropboxが起動するたびに更新する必要がありordering-override.keyfileます。

これを行うには、テキストエディターを開き、次のスクリプトをコピーして貼り付け、のような名前を付けますstart-dropbox.sh。次に、右クリックして「プロパティ」を選択し、「許可」タブに移動して「プログラムとして実行ファイルを許可する」ボックスをオンにするか、ターミナルを開いてスクリプトを配置したフォルダーに移動し、実行を実行しますsudo 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

これで、「スタートアップアプリケーション」を開き、スクリプトへのフルパスを「コマンド」として使用して新しいエントリを作成できます(〜/ start-dropbox.shを使用しても機能しません。/home/yourname/startを実行する必要があります) -dropbox.sh)。

**注:これは、スクリプトの完全パスを末尾に追加する場所です/etc/rc.local

オプションの手順の1つは、Dropboxの設定を開き、「システム起動時にDropboxを開始する」のチェックを外すことです。Dropboxは起動するたびにこれを上書きするため、既にスタートアップアプリケーションリストにあるDropboxのコマンドを変更することはできません。

できました!

私の~/.local/share/indicators/application/ordering-override.keyfile外観は次のとおりです。

[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
ジャンジョルダン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.