v1.2.38
Latte Dock NG v1.2.38
What's changed
Application Menu & cascading submenus
- Menu bar submenus no longer close when the pointer reaches them. The
dock previously reconfigured its window flags / plasma shell surface while
the Application Menu widget reportedNeedsAttentionStatus; on Wayland
that invalidated the QMenu's child popup surfaces, closing the menu as soon
as the pointer entered a submenu. - Cascading submenus (kicker, etc.) no longer stay stuck open after the
pointer leaves them. The submenu windows steal the keyboard focus when they
open, which breaks the widget's own mouse-leave close timer, so the dock
now closes the submenu tree event-driven when the pointer leaves the menu
windows (tracked via Enter/Leave events —QCursor::pos()is stale on
Wayland once the pointer leaves the dock's surfaces). - The first-level menu stays open on pointer-leave (matching the official
panel behaviour) and closes on click-outside (hideOnWindowDeactivate
restored to its default). - Fixed a segfault while interacting with a cascading menu: destroyed
popup/menu windows are now removed from the pointer tracker so the deferred
close check never dereferences a dangling pointer.
Tests
- New source-contract tests lock the
NeedsAttentionStatuswindow handling,
thehideOnWindowDeactivatedefault, the event-driven submenu close, and
the dangling-pointer guard.
Full changelog: https://github.com/ruizhi-lab/latte-dock-ng/blob/main/CHANGELOG.md
Diff: v1.2.37...v1.2.38