Add Center zone for keyboard window snapping#2134
Closed
leonbreukelman wants to merge 2 commits intopop-os:masterfrom
Closed
Add Center zone for keyboard window snapping#2134leonbreukelman wants to merge 2 commits intopop-os:masterfrom
leonbreukelman wants to merge 2 commits intopop-os:masterfrom
Conversation
Implement handler for the TileWindow action that snaps floating windows to screen edges and corners (8 zones: Top, TopRight, Right, BottomRight, Bottom, BottomLeft, Left, TopLeft). - Add TileWindow action handler in input/actions.rs - Add Shell::tile_window() method in shell/mod.rs - Add FloatingLayout::tile_window() method in shell/layout/floating/mod.rs The implementation reuses the existing TiledCorners enum and animation system for smooth transitions. Depends on: pop-os/cosmic-settings-daemon#124 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds TiledCorners::Center that snaps a floating window to a horizontally centered, full-height column (50% width). This is especially useful on ultrawide monitors where left/right halves are too wide for focused single-window work. Geometry: centered at 25% from left edge, 50% screen width, full height (minus gaps). Direction transitions from Center: - Left → Left half - Right → Right half - Up → Maximize (already full height, expand to full width) - Down → Bottom half Extends the TileWindow handler from #2009. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Member
|
The pull request template is not optional. You must check each item on the list before creating a pull request. |
Author
|
Build verified locally with |
Author
|
Build and runtime verified. Tested in nested compositor (COSMIC_BACKEND=winit) with a patched cosmic-settings-config. Center zone snaps correctly to a horizontally centered, full-height column (50% width). Left/Right zones also tested for comparison — all working as expected. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
TiledCorners::Center— a horizontally centered, full-height column (50% width)TilingZone::Centerfrom cosmic-settings-config to the new variantPrimarily useful on ultrawide monitors where the existing left/right halves are too wide for focused single-window work (terminals, editors, reading).
Dependencies
TileWindowhandler)Example keybinding
Test plan