Skip to content

fix(layout): resize past neighbor minimum - #96

Open
itsJai42 wants to merge 3 commits into
noctalia-dev:mainfrom
itsJai42:fix/resize-past-neighbor-minimum
Open

fix(layout): resize past neighbor minimum#96
itsJai42 wants to merge 3 commits into
noctalia-dev:mainfrom
itsJai42:fix/resize-past-neighbor-minimum

Conversation

@itsJai42

@itsJai42 itsJai42 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Without this fix, when dragging Window B to resize it leftward, if Window A is at its minimum width, Window B will refuse to resize itself. This branch fixes that behavior, allowing Window B to be resized regardless of Window A's width. Note that this new behavior mimics what happens when you drag rightward to resize.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring
  • Build / packaging
  • Documentation

Testing

Commands run:

  meson setup build-debug -Dbuildtype=debug
  meson compile -C build-debug umbriel pointer-client scrolling-layout-test
  ./build-debug/scrolling-layout-test
  meson test -C build-debug --print-errorlogs scrolling-layout
  bash -n tests/harness/checks/516_resize_past_neighbor_minimum.sh
  tests/harness/verify.sh ./build-debug/umbriel 516_resize_past_neighbor_minimum
  git diff --check

Manual/integration testing:

  • Ran the new headless compositor harness check 516_resize_past_neighbor_minimum.
  • It opens two real foot windows, uses the virtual pointer with Mod+Right-drag to shrink A to its minimum, then drags B’s left edge left.
  • It verifies A remains at minimum, B’s left edge moves left, and B’s right edge does not advance.

Manual Coverage

  • Tested in a nested Umbriel session
  • Tested in a native Umbriel session
  • Tested with multiple monitors
  • Tested with a scaled output
  • Tested with native Wayland applications
  • Tested with X11 applications through xwayland-satellite
  • Tested with the scrolling layout
  • Tested with the dwindle layout

Screenshots / Videos

2026-09-01.11-46-42.mp4

Checklist

  • This PR is ready for review, or it is marked as Draft.
  • This change fits SCOPE.md, or its scope was agreed in an issue or on Discord first.
  • I read and followed the relevant guidance in CONTRIBUTING.md.
  • I ran just format, or this PR has no C++ changes.
  • I ran the relevant build, test, lint, or verification commands, or explained why they were not run.
  • I functionally verified compositor behavior where automated checks are insufficient.
  • I self-reviewed the changes.
  • I checked for new warnings or errors.
  • I updated docs/ and examples/config.toml, or this PR does not change user-facing configuration or behavior.
  • I used canonical names for config keys, IPC actions, paths, and identifiers.

@itsJai42 itsJai42 changed the title Fix/resize past neighbor minimum (fix): resize past neighbor minimum Sep 1, 2026
@itsJai42 itsJai42 changed the title (fix): resize past neighbor minimum fix(layout): resize past neighbor minimum Sep 1, 2026
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