是否可以设置扩展/指示器在 gnome 3 顶部面板中出现的顺序,因为它们似乎每次我登录时都会改变位置,所以我想设置一个特定的顺序。
答案1
总结方法有点棘手:
您可以重新加载并从而影响扩展的顺序。
使用此命令并替换扩展名<Extension_UUID>
,UUID
不使用ID
:
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method <Extension_UUID>
但我发现有时必须重新加载扩展两次才能达到效果。
例子:
我的系统范围的扩展:
% ls -og /usr/share/gnome-shell/extensions
total 4
drwxr-xr-x 2 4096 Mär 31 15:15 [email protected]
我的每个用户扩展:
% ls -og ~/.local/share/gnome-shell/extensions/
total 16
drwxrwxr-x 3 4096 Mär 26 08:01 [email protected]
drwxrwxr-x 3 4096 Mär 26 08:02 [email protected]
drwxrwxr-x 4 4096 Mär 26 07:56 [email protected]
drwxrwxr-x 3 4096 Mär 26 07:57 [email protected]
扩展 ID 应该是文件夹名称,例如[email protected]
。
UUID
为了确定,我会从元数据文件中提取:
% less ~/.local/share/gnome-shell/extensions/[email protected]/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": "[email protected]",
"version": 28
}
因此这是重新加载扩展的命令
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Extensions.ReloadExtension "[email protected]"
可以使用以下命令可靠地确定 UUID:
安装 JSON 解析器:
sudo apt-get install jq
使用以下方法确定 UUID:
jq '.uuid' ~/.local/share/gnome-shell/extensions/<shell_extension_path>/metadata.json
例子:
% jq '.uuid' ~/.local/share/gnome-shell/extensions/[email protected]/metadata.json
"[email protected]"
或者全部合为一体:
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/[email protected]/metadata.json)