Public bug reported: Ubuntu Dock flickers rapidly when revealing the auto-hidden dock over a maximized, focused Chrome window while Hide Top Bar hides the panel. A local patch to Ubuntu Dock v105 fixes the problem here.
Environment: - Ubuntu 26.04.1, Wayland session - gnome-shell-ubuntu-extensions 50.26.04.8ubuntu (Ubuntu Dock v105, [email protected]) - GNOME Shell 50.1-0ubuntu1.4; Mutter 50.1-0ubuntu2.4 - Chrome 152.0.7977.82 - Hide Top Bar v127, with its intellihide disabled - Dock settings: dock-fixed=false, autohide=true, intellihide=false Steps to reproduce: 1. Enable dock autohide and Hide Top Bar. 2. Maximize Chrome and focus it. 3. Let Hide Top Bar hide the panel. 4. Move the pointer to reveal and use the dock. Expected: the dock appears and remains usable while hovered. Actual: the dock flickers rapidly, making it difficult to use. This is a maximized-window case on Wayland, not F11 fullscreen. I am filing it separately from the older Xorg/fullscreen report #1905186 because I have not established that they are the same bug. The matching current upstream report is: https://github.com/micheleg/dash-to-dock/issues/2749 My confirmation and inline patch: https://github.com/micheleg/dash-to-dock/issues/2749#issuecomment-6188827178 There is also an existing proposed fix for the newer upstream code: https://github.com/micheleg/dash-to-dock/pull/2753 In the packaged v105 docking.js, _animateIn() only inhibits unredirection for intellihide. The patch below extends that to ordinary autohide, preserves the hold when visibility settings are refreshed, and releases it after hiding even if the mode changed during the animation. Existing idempotent hold/release helpers and destroy cleanup are retained. Inhibition is compositor-wide while the dock is visible. After applying the patch and starting a fresh GNOME session, I confirmed that the same Chrome/dock interaction works without flickering. No Hide Top Bar or dock preference changes were needed. JavaScript syntax and mocked lifecycle checks also passed. This supports the compositing/scanout explanation in the upstream report, but no compositor render traces were collected here. The diagnosis and patch were prepared with Codex assistance. I have tested the packaged v105 fix, not v110, current upstream master, or PR #2745. This is a local patch against the installed docking.js, not a complete Ubuntu source-package debdiff. Thanks! Patch against packaged docking.js: --- a/docking.js +++ b/docking.js @@ -732,7 +732,9 @@ this._intellihide.enable(); } else { this._intellihide.disable(); - this._restoreUnredirect(); + // Auto-hide also needs compositing while the dock is visible. + if (!this._autohideIsEnabled) + this._restoreUnredirect(); } this._updateDashVisibility(); @@ -863,7 +865,9 @@ } _animateIn(time, delay) { - if (this._intellihideIsEnabled) + // With the top bar hidden, a maximized window can cover the monitor. + // Keep the dock composited above it in either dynamic visibility mode. + if (this._intellihideIsEnabled || this._autohideIsEnabled) this._disableUnredirect(); this._dockState = State.SHOWING; this.dash.iconAnimator.start(); @@ -902,8 +906,8 @@ mode: Clutter.AnimationMode.EASE_OUT_QUAD, onComplete: () => { this._dockState = State.HIDDEN; - if (this._intellihideIsEnabled) - this._restoreUnredirect(); + // Release our hold even if the visibility mode changed mid-hide. + this._restoreUnredirect(); // Remove queued barrier removal timeout if any if (this._removeBarrierTimeoutId > 0) GLib.source_remove(this._removeBarrierTimeoutId); ** Affects: gnome-shell-ubuntu-extensions (Ubuntu) Importance: Undecided Status: New ** Tags: autohide wayland -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2170959 Title: Ubuntu Dock autohide flickers over maximized Chrome on Wayland with Hide Top Bar (26.04, dock v105) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gnome-shell-ubuntu-extensions/+bug/2170959/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
