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 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 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 at 10:12
  • I've updated the question. Mar 1 at 12:20
  • Much clearer now: this will avoid answers to use existing extensions (where I do not see that possibility).
    – vanadium
    Mar 1 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 at 16:53
  • Would it be possible to also hide the panel in this extension when a window is maximized? Mar 25 at 17:21

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 at 12: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/dash-to-panel@jderose9.github.com/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


_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 at 14:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.