gnome/extensions/dash-to-dock@micxgx.gmail.com/docking.js
/**
     * Show/hide dash based on, in order of priority:
     * overview visibility
     * fixed mode
     * intellihide
     * autohide
     * overview visibility
     */
Show/hide dash based on, in order of priority:
overview visibility
fixed mode
intellihide
autohide
overview visibility
Show / hide dash based on in order of priority : overview visibility fixed mode intellihide autohide overview visibility
_updateDashVisibility() {
        if (Main.overview.visibleTarget)
            return;
        let settings = DockManager.settings;
        if (this._fixedIsEnabled) {
            this._removeAnimations();
            this._animateIn(settings.get_double('animation-time'), 0);
        }
        else if (this._intellihideIsEnabled) {
            if (this._intellihide.getOverlapStatus()) {
                this._ignoreHover = false;
                if (!this._box.hover || !this._autohideIsEnabled)
                    this._hide();
            }
            else {
                this._ignoreHover = true;
                this._show();
            }
        }
        else {
            if (this._autohideIsEnabled) {
                this._ignoreHover = false;
                global.sync_pointer();
                if (this._box.hover)
                    this._animateIn(settings.get_double('animation-time'), 0);
                else
                    this._animateOut(settings.get_double('animation-time'), 0);
            }
            else
                this._animateOut(settings.get_double('animation-time'), 0);
        }
    }
_updateDashVisibility ( ) { if ( Main . overview . visibleTarget ) return ; let settings = DockManager . settings ; if ( this . _fixedIsEnabled ) { this . _removeAnimations ( ) ; this . _animateIn ( settings . get_double ( 'animation-time' ) , 0 ) ; } else if ( this . _intellihideIsEnabled ) { if ( this . _intellihide . getOverlapStatus ( ) ) { this . _ignoreHover = false ; if ( ! this . _box . hover || ! this . _autohideIsEnabled ) this . _hide ( ) ; } else { this . _ignoreHover = true ; this . _show ( ) ; } } else { if ( this . _autohideIsEnabled ) { this . _ignoreHover = false ; global . sync_pointer ( ) ; if ( this . _box . hover ) this . _animateIn ( settings . get_double ( 'animation-time' ) , 0 ) ; else this . _animateOut ( settings . get_double ( 'animation-time' ) , 0 ) ; } else this . _animateOut ( settings . get_double ( 'animation-time' ) , 0 ) ; } }
Show/hide dash based on, in order of priority:
 overview visibility
 fixed mode
 intellihide
 autohide
 overview visibility
Show / hide dash based on in order of priority : overview visibility fixed mode intellihide autohide overview visibility
// Do not hide if autohide is enabled and mouse is hover