Skip to content

fix(view): restore column width after fullscreen - #22

Closed
nerdislb wants to merge 1 commit into
noctalia-dev:mainfrom
nerdislb:fix/fullscreen-restore-column-width
Closed

fix(view): restore column width after fullscreen#22
nerdislb wants to merge 1 commit into
noctalia-dev:mainfrom
nerdislb:fix/fullscreen-restore-column-width

Conversation

@nerdislb

Copy link
Copy Markdown

Summary

  • restore a scrolling column's saved width when entering fullscreen from column-maximized state
  • avoid leaving widthFrac at 1.0 after fullscreen exits
  • add a headless compositor regression check for the maximize → fullscreen → restore round trip

Reproduction

  1. Focus a tiled window in the scrolling layout.
  2. Run window-toggle-maximize.
  3. Run window-toggle-fullscreen twice.
  4. The window remains full-width instead of returning to its original column width.

clearFullWidthState() discarded savedWidthFrac but intentionally left the current widthFrac unchanged. Using the existing toggle path restores the saved fraction before fullscreen takes over.

Verification

  • meson test -C build-pr --print-errorlogs (19/19 passed)
  • ./tests/harness/verify.sh build-pr/umbriel 170_fullscreen_restore_width -v
    • confirms the round trip restores the column from 1260 px to 624 px

Originally found and verified during nbshell integration testing with Zen Browser.

@nerdislb

Copy link
Copy Markdown
Author

Closing in favor of #19, which predates this PR and addresses the same column-maximize/fullscreen state transition.

The approaches differ slightly: #19 preserves column maximize across a fullscreen round trip, while this PR restored the pre-maximize width immediately when leaving fullscreen. Preserving maximize matches Niri and keeps the maximize toggle available for the explicit restore, so #19 is the better upstream direction.

I added the reproducible headless coverage here after confirming the bug in a native session; I have shared those findings on #19 in case the regression check is useful there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant