What I want to do:

Hide the GNOME Panel while Overview/App Grid is open, but show it on the desktop. So when I go to my activities overview or look at my apps, the panel is not there. But when I am looking at the desktop, it is there, and I can interact with it and everything.

What I've Tried:

I've tried variations of Hide Top Bar extensions without any luck.


You should be able to make an extension to do this, right? I have very very little knowledge of how to make an extension for GNOME, so any help would be appreciated.

  • Do you want it hidden any time? Or only when moving into the overview?
    – vanadium
    Feb 28, 2022 at 19:30
  • Only in the overview. I want it to be shown when the user is on desktop, but hidden in overview. Feb 28, 2022 at 20:44
  • Make this more explicit in your question. Hiding in the overview is easy enough, keeping it on the desktop while hiding in the overview is not obvious.
    – vanadium
    Mar 1, 2022 at 10:12
  • I've updated the question. Mar 1, 2022 at 12:20
  • Much clearer now: this will avoid answers to use existing extensions (where I do not see that possibility).
    – vanadium
    Mar 1, 2022 at 12:21

3 Answers 3


For the native panel

Install Hide Panel extension by fthx

open ~/.local/share/gnome-shell/extensions/hide-panel@fthx/extension.js

modify 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));


Now this extension hides the panel from overview.

  • Amazing, thanks! This worked like a charm (I also commented the line above it to remove the eyeball icon) Mar 25, 2022 at 16:53
  • Would it be possible to also hide the panel in this extension when a window is maximized? Mar 25, 2022 at 17:21

I'm offering only a partial solution which implies the use of dash to panel extension with intellihide ON.

The intellihide works awesome except it reveals the panel in overview.

The responsible is _checkIfShouldBeVisible in ~/.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;

Changing the _checkIfShouldBeVisible to

    _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;

hides the panel from overview.

This works for gnome 3.36, 41 and I believe for all the other versions.

I don't yet know how to use intellihide to interact with the panel for the overview only and it was my main goal. As of now I'm ok with this.


I've found a better solution with intellihide OFF

~/.local/share/gnome-shell/extensions/[email protected]/panel.js

_adjustForOverview: function()


this.panelBox[isShown ? 'show' : 'hide']();


this.panelBox[isShown ? 'hide' : 'hide']();

but now there's no nice smooth animation.. not a big deal I think

  • This is not a bad solution, however I would prefer not to use Dash to Panel. If you know how to do it with a standalone extension, maybe creating one from scratch, then you are very welcome to write another answer. Mar 21, 2022 at 14:34

you can do this by setting this extention. Try the sudo apt install gnome-shell command before installation.

  • Well I've tried that extension, as stated in the question. Also I already have GNOME shell installed, or I wouldn't be able to install the extensions. Mar 1, 2022 at 12:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .