-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unmapping a sub-surface does not damage the affected region #6960
Comments
FYI: foot-1.12.1 added a workaround for this. In other words, if you're trying to reproduce the behavior described above, you need foot-1.12.0. |
#6844 Should fix this. |
algitbot
pushed a commit
to alpinelinux/aports
that referenced
this issue
May 12, 2023
This adds a quirk that works around rendering bugs in combination with sway. Specifically foot assumes damage to propagate to the surface beneath a subsurface. This matches the behavior of most Wayland compositors, but sway, as of now, falls out of the line here. See swaywm/sway#6960 for the issue in sway. See https://codeberg.org/dnkl/foot/commit/3b41379be43a21a00a776d0d136c5d1b2fe4007e for the commit message in foot.
algitbot
pushed a commit
to alpinelinux/aports
that referenced
this issue
May 12, 2023
This adds a quirk that works around rendering bugs in combination with sway. Specifically foot assumes damage to propagate to the surface beneath a subsurface. This matches the behavior of most Wayland compositors, but sway, as of now, falls out of the line here. See swaywm/sway#6960 for the issue in sway. See https://codeberg.org/dnkl/foot/commit/3b41379be43a21a00a776d0d136c5d1b2fe4007e for the commit message in foot.
lbrayner
pushed a commit
to lbrayner/foot
that referenced
this issue
Jan 15, 2024
When unmapping a sub-surface, Sway <= 1.8 does not damage the surface beneath the sub-surface. swaywm/sway#6960 The workaround is to manually damage the main surface. Previously, this was done when exiting scrollback search, and after the ‘flash’ OSC. But other sub-surfaces, that may also be unmapped, did not. This patch adds a quirk handler that does this, and calls it when: * Exiting scrollback search * Ending the ‘flash’ OSC * Exiting unicode input mode * Clearing URL labels * Removing the scrollback position indicator Closes #1335
lbrayner
pushed a commit
to lbrayner/foot
that referenced
this issue
Jan 15, 2024
…search 3b41379 introduced a regression, where canceling a scrollback search didn’t refresh the viewport correctly; the viewport was changed, but the screen content was not refreshed. This worked before, because the workaround for swaywm/sway#6960 always called term_damage_view() when exiting scrollback search mode. 3b41379 removed that call since it’s no longer required. *Except* when executing the BIND_ACTION_SEARCH_CANCEL binding, since then the viewport may be moved. Note that this regression affected *all* compositors, not just Sway. Closes #1354
Closed by #6844. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Sway version: 1.7
Foot version: 1.12
Logs:
sway.log (
sway -d
)foot.log (
WAYLAND_DEBUG=1 foot
)Description:
Foot's scrollback search mode (ctrl+shift+r), starting with version 1.12, dims the terminal window by stacking a sub-surface with an alpha-channel on top of the main window. When exiting scrollback search mode, this sub-surface is unmapped (i.e. a NULL buffer is attached and committed). This works well on at least River, Weston and Mutter. On Sway however, it appears the region under the unmapped sub-surface is not damaged, causing it to remain dimmed until something else triggers a refresh.
It's pretty easy to test: enter scrollback search mode, type a couple of letters, and then press Return. In almost all cases, the window remains dimmed, except for the row the (terminal) cursor is on.
A workaround (in foot) is to explicitly damage the entire toplevel buffer when unmapping the sub-surface.
The text was updated successfully, but these errors were encountered: