shell 扩展小部件的排序似乎是随机的,我该如何更改它?例如,我希望在左侧显示日期/时间信息。
我的外壳面板:
答案1
一般的方法:
首先,您必须找到要更改的扩展的相应文件。
您通常可以在这里找到它:~/.local/share/gnome-shell/extensions
。
如果扩展是通过包管理器安装的,您可以在这里找到它:(/usr/share/gnome-shell/extensions/
感谢AB)
然后进入扩展的目录并extension.js
使用任何文本编辑器打开“”。
转到以下行:(function enable()
使用编辑器中的搜索功能 - 如果找不到,请转到更新部分)。
此函数内通常有一行Main.panel.addToStatusArea('NAME', _OTHERNAME, NUMBER, LEFT/CENTER/RIGHT);
(再次说明:如果找不到它,请转到更新NUMBER
)。最后两个参数(和)可能会POSITION
缺失;如下所示:(Main.panel.addToStatusArea('NAME', _OTHERNAME);
不用担心!您的计算机会将较短的版本解释为:('NAME', _OTHERNAME, 0, right);
请随意添加缺失的参数。但始终按照显示的顺序!!!)
定义POSITION
图标在面板上的位置。有三个区域:左边,中心和正确的。您可能不想更改此值,但可以随意更改。以下是POSITION
面板上的三种可能状态:
------------------------------------------------------------------
Activities Date Other icons
------------------------------------------------------------------
left center right
您可能想要更改的更重要的值是NUMBER
。它定义子面板内图标的顺序。可能的值包括:
0:我不关心图标在哪里。
负值:位置;从右侧开始(可能很重要,因为所有扩展图标都是在系统图标之后加载的)
正值:位置;从左侧开始。值越高,位置越靠右。
您必须在所有扩展中尝试这些值,因为相同的值会相互冲突(位置 2 上的两个不同扩展没有任何意义)。有时甚至以下值也会发生冲突。
每次更改值时,请确保保存文件。然后按Alt+ F2,键入r和Enter。面板将刷新,显示新排序的图标。这是一个快速尝试这些值的选项。
最后引用数学咖啡:
使用 Main.panel.addToStatusArea(unique_name_of_indicator, inidicator, position, box) 将 SystemStatusButton 或 PanelButton 添加到面板。这将为您处理将其菜单添加到菜单管理器(框是 Main.panel._{left, right, center}Box,省略框参数默认为右框,省略位置为位置 0)。如果您的按钮只是 ButtonBox(即没有菜单),那么请坚持使用。_{left, right, center}Box.insert_child_at_index。
如果您对此方法有任何问题,请告诉我。
更新:
我四处查看,发现这种方式并不适用于所有扩展(主要是简单/新扩展)。在这种情况下,一个常用的扩展是“系统监视器”。修改图标位置的方式应该(通常)相同(我还没有测试过。所以请确保创建备份文件)。但是“系统监视器”有一些区别:
- 您要搜索的函数名为
var enable = function ()
。因此,最好enable
在文件中搜索该单词。 定义图标位置的地方称为
Main.panel._addToPanelBox('system-monitor', tray, 1, panel);
。更改数字应具有与上述相同的效果。为了更改整个区域,您有两个选择:通过将同一行更改为
Main.panel._addToPanelBox('system-monitor', tray, 1, Main.panel._rightBox);
(注意:扩展的设置菜单中的位置将不再起作用)。或者通过更改行
let panel = Main.panel._rightBox;
(再次使用搜索功能)到您想要的位置(_leftBox、_centerBox、_rightBox)。
(这些步骤可以应用于任何其他扩展。但名称会略有不同。但仍然:在我第一次尝试这个答案时描述了常用的方法)
整个过程简而言之:
搜索相应的文件。然后enable
在该文件内搜索。然后搜索任何类似的内容Main.panel...
并更改值(非常不言自明)。
最后我注意到你提到了时间面板。我没有找到修改其位置的好方法,但这里有其他方法:
您已安装“系统监视器”。太好了 :)
打开相应文件extension.js
,将以下两行中的单词“right”更改为“left”:
Main.panel._addToPanelBox('dateMenu', dateMenu, -1, Main.panel._rightBox);
和Main.panel._rightBox.insert_child_at_index(dateMenu.actor, -1);
。
最后,您必须在此扩展的设置中选中“移动时钟”。就这样!我还没有测试过,但它应该可以工作。如果不行,请写评论 :)
啊!忘了说了:每次更改值时,请保存文件并使用Alt+ F2- type r- hit刷新面板Enter。并确保创建备份文件!!!:D
答案2
这扩展面板菜单扩展程序将允许您使用“托盘偏移”功能和“指示器”选项卡对指示器进行排序。安装扩展程序后,进入设置以调整指示器。祝您 OCDing 愉快!
答案3
还有一种更简单的方法,只需打开gnome-tweak-tool
,浏览到扩展选项卡,然后关闭并重新打开扩展。这样做会将图标移到左侧。