如何才能将 Gnome3 shell 扩展排序在最顶部?

如何才能将 Gnome3 shell 扩展排序在最顶部?

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,键入rEnter。面板将刷新,显示新排序的图标。这是一个快速尝试这些值的选项。


最后引用数学咖啡

使用 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。

如果您对此方法有任何问题,请告诉我。


更新:

我四处查看,发现这种方式并不适用于所有扩展(主要是简单/新扩展)。在这种情况下,一个常用的扩展是“系统监视器”。修改图标位置的方式应该(通常)相同(我还没有测试过。所以请确保创建备份文件)。但是“系统监视器”有一些区别:

  1. 您要搜索的函数名为var enable = function ()。因此,最好enable在文件中搜索该单词。
  2. 定义图标位置的地方称为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,浏览到扩展选项卡,然后关闭并重新打开扩展。这样做会将图标移到左侧。

相关内容