Skip to content

Make output discovery compositor-independent - #9

Merged
t4t5 merged 1 commit into
t4t5:mainfrom
riccardomarotti:feature/compositor-independent-output-management
Sep 18, 2026
Merged

t4t5 merged 1 commit into
t4t5:mainfrom
riccardomarotti:feature/compositor-independent-output-management

Conversation

@riccardomarotti

Copy link
Copy Markdown
Contributor

Summary

  • Replace Hyprland-specific monitor discovery with SCTK OutputState backed by xdg-output.
  • Use logical output position and size directly, while preserving direct wl_output ownership and transform handling.
  • Remove runtime dependencies on hyprctl monitors -j and hyprctl cursorpos.
  • Keep pointer coordinates compositor-independent via Wayland pointer events.
  • Separate clipped monitor-local rectangle drawing from full global drag dimensions so labels remain correct across monitor boundaries.
  • Update protocol documentation and remove unused JSON dependencies.

Testing

  • just check
  • cargo test
  • cargo check --all --locked
  • cargo clippy --all --locked -- -D warnings
  • cargo build --release --locked
  • Manual testing on Umbriel and Hyprland, including a three-monitor setup, cross-monitor dragging, and output rotations 0°, 90°, 180°, and 270°.

@t4t5

t4t5 commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Oh this is cool! I might have to consider changing the name of the package though 😆

@t4t5

t4t5 commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Works great! Merging!

@t4t5
t4t5 merged commit d8f8613 into t4t5:main Sep 18, 2026
1 check passed
@riccardomarotti

Copy link
Copy Markdown
Contributor Author

Oh this is cool! I might have to consider changing the name of the package though 😆

I actually think the name is still pretty cool, even if it's not Hyprland-only anymore 😄

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.

2 participants