在gnome 3中设置扩展/指标的顺序

是否可以设置扩展/指示符出现在gnome 3顶部面板中的顺序,因为它们似乎每次登录时都会更改位置,我想设置特定的顺序。

TL; DR方式有点棘手:

您可以重新加载,从而影响扩展的顺序。

使用此命令并将替换为UUID不要使用ID

 gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method  

但我发现有时必须重新加载扩展名才能达到效果。


例:

我的系统扩展:

 % ls -og /usr/share/gnome-shell/extensions total 4 drwxr-xr-x 2 4096 Mär 31 15:15 GPaste@gnome-shell-extensions.gnome.org 

我的每用户扩展名:

 % ls -og ~/.local/share/gnome-shell/extensions/ total 16 drwxrwxr-x 3 4096 Mär 26 08:01 drive-menu@gnome-shell-extensions.gcampax.github.com drwxrwxr-x 3 4096 Mär 26 08:02 laine@knasher.gmail.com drwxrwxr-x 4 4096 Mär 26 07:56 user-theme@gnome-shell-extensions.gcampax.github.com drwxrwxr-x 3 4096 Mär 26 07:57 web_search_dialog@awamper.gmail.com 

扩展ID应该是文件夹名称,例如。 drive-menu@gnome-shell-extensions.gcampax.github.com

可以肯定的是,我会从元数据文件中获取UUID

 % less ~/.local/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com/metadata.json { "_generated": "Generated by SweetTooth, do not edit", "description": "A status menu for accessing and unmounting removable devices.", "extension-id": "drive-menu", "gettext-domain": "gnome-shell-extensions", "name": "Removable Drive Menu", "settings-schema": "org.gnome.shell.extensions.drive-menu", "shell-version": [ "3.16" ], "url": "http://git.gnome.org/gnome-shell-extensions", "uuid": "drive-menu@gnome-shell-extensions.gcampax.github.com", "version": 28 } 

因此,这是重新加载扩展的命令

 gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Extensions.ReloadExtension "drive-menu@gnome-shell-extensions.gcampax.github.com" 

可以使用以下命令可靠地确定UUID:

安装JSON解析器:

 sudo apt-get install jq 

使用以下内容确定UUID:

 jq '.uuid' ~/.local/share/gnome-shell/extensions//metadata.json 

例:

 % jq '.uuid' ~/.local/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com/metadata.json "drive-menu@gnome-shell-extensions.gcampax.github.com" 

或者一气呵成:

 gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Extensions.ReloadExtension $(jq '.uuid' ~/.local/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com/metadata.json) 

另一个很好的解决方案是这个答案 。