我想做的事:
在“概览/应用程序网格”打开时隐藏 GNOME 面板,但在桌面上显示它。因此,当我转到活动概览或查看我的应用程序时,面板不在那里。但当我查看桌面时,它就在那里,我可以与它进行交互。
我尝试过的:
我尝试过各种隐藏顶部栏扩展,但都没有任何效果。
理论上
你应该可以做一个扩展来做这个,对吧?我有非常非常对于如何为 GNOME 制作扩展的知识知之甚少,因此任何帮助都将不胜感激。
答案1
对于本机面板
安装 fthx 的隐藏面板扩展
打开 ~/.local/share/gnome-shell/extensions/hide-panel@fthx/extension.js
调整AppMenu.container.hide()
this.showing = Overview.connect('showing', this._show_panel.bind(this));
this.hiding = Overview.connect('hiding', this._hide_panel.bind(this));
到
this.showing = Overview.connect('hiding', this._show_panel.bind(this));
this.hiding = Overview.connect('showing', this._hide_panel.bind(this));
瞧。
现在这个扩展隐藏概览面板。
答案2
我只提供部分解决方案,这意味着使用带有 intellihide ON 的 dash to panel 扩展。
除了它之外,intelligide 的工作非常棒揭示概览中的面板。
责任_checkIfShouldBeVisible
在于~/.local/share/gnome-shell/extensions/[email protected]/intellihide.js
_checkIfShouldBeVisible: function(fromRevealMechanism) {
if (Main.overview.visibleTarget || this._dtpPanel.taskbar.previewMenu.opened ||
this._panelBox.get_hover() || this._checkIfGrab()) {
return true;
}
更改_checkIfShouldBeVisible
为
_checkIfShouldBeVisible: function(fromRevealMechanism) {
if (Main.overview.visibleTarget) {
return false;
}
else if (Main.overview.visibleTarget || this._panelBox.get_hover() || this._checkIfGrab() || this._dtpPanel.taskbar.previewMenu.opened) {
return true;
}
隐藏概览面板。
这适用于 gnome 3.36、41,我相信也适用于所有其他版本。
我还不知道如何使用 intellihide 与面板交互,仅用于概览,而这是我的主要目标。到目前为止,我对此还算满意。
编辑:
我找到了一个更好的解决方案,即关闭 intellihide
~/.local/share/gnome-shell/extensions/[email protected]/panel.js
_adjustForOverview: function()
改变
this.panelBox[isShown ? 'show' : 'hide']();
到
this.panelBox[isShown ? 'hide' : 'hide']();
但现在没有流畅的动画了。。我觉得没什么大不了的
答案3
你可以通过设置这个来做到这一点延伸sudo apt install gnome-shell
.安装前尝试该命令。