Waybar visible on workspace swipe with scrolling layout fullscreen window #14737
Unanswered
AuthenticSm1les
asked this question in
Bugs - Layout
Replies: 2 comments
|
Note: The PR referenced here (#14736) was generated by an AI assistant. The root cause analysis is accurate, but the implementation should only be used as a reference/template. It has not been tested end-to-end and should not be merged as-is. Please review and validate before proceeding. |
0 replies
|
This is probably has the same underlying cause as #14721. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Bug Description
When using scrolling layout (
tiledLayout: scrolling) with a TOP-layer bar (e.g. Waybar with"layer": "top"), the bar becomes visible on workspace switch via touchpad swipe gesture even when the target workspace has a fullscreen window.Expected: Bar should remain hidden (alpha = 0) when the target workspace has a fullscreen window that covers the monitor.
Actual: Bar stays fully visible after swiping to a workspace with a fullscreen window.
Environment
tiledLayout: scrolling"layer": "top"Root Cause
The workspace swipe gesture in
UnifiedWorkspaceSwipeGesture.cpphas inline bar-alpha logic that readsm_hasFullscreenWindowandm_fullscreenModedirectly. In scrolling layout,setWindowFullscreenState()resets both tofalse/FSMODE_NONEbecause the layout handles fullscreen, so the swipe gesture always sets bar alpha to 1.0 (visible).PR #14425 added
CWorkspace::hasFullscreen()but only updatedMonitor.cppcall sites, missing the swipe gesture code.Fix
begin():m_hasFullscreenWindow→hasFullscreen()end():m_hasFullscreenWindow && ... == FSMODE_FULLSCREEN→hasFullscreen() && ... != FSMODE_MAXIMIZEDPR: #14736
All reactions