我想做的事:

我想做的事:

我想做的事:

在“概览/应用程序网格”打开时隐藏 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.安装前尝试该命令。

相关内容