Conditional per-corner rounding (square inner corners when windows touch) #11478
Unanswered
Valognolo09
asked this question in
Feature requests - Config
Replies: 1 comment
-
|
I like the idea of having different rules for "inner" and "outer" corners, but I think the title is a bit confusing. I actually want north, east, south, and west type rounding options as well. E.g. top two corners are round and bottom corners are straight, or vice versa. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Currently, Hyprland applies a single uniform corner radius per window (decoration:rounding or via windowrulev2 rounding). This means all four corners of a window are always rounded or square.
It would be very useful to support conditional per-corner rounding, so that only the outer corners of tiled windows are rounded, while the inner corners (where two windows touch) remain square.
Motivation / Use Case
In tiling layouts, when two windows touch, their rounded corners create a visual "hole" that makes the desktop visible. This creates a seam that many users find aesthetically unpleasant.
Users often want rounded outer edges (for floating windows, outer borders of tiled layouts, etc.), while keeping clean square inner corners where windows meet.
This is a common request in other compositors / DEs with rounded corner support (GNOME extensions, kwin scripts, etc.), and it improves visual consistency.
Proposed Solution
Add support for per-corner rounding (e.g. rounding_top-left, rounding_top-right, etc.) at the window decoration level.
Optionally, add a config option like:
The compositor could detect when two windows are adjacent (within a tiling layout) and automatically apply rounding_inner.
Alternatively, expose per-corner properties (via setprop or windowrulev2) so that scripts or plugins can set them based on adjacency logic.
Alternatives Considered
Scripting via IPC + setprop rounding=0 works today, but only at the whole-window level. It is not possible to disable rounding on only the touching corners while keeping outer corners rounded.
Increasing gaps_in hides the problem somewhat, but gaps change the layout and don’t truly solve the inner-corner rounding issue.
### Benefits
Cleaner look in tiled layouts with rounded corners.
More customization / theming flexibility.
Matches user expectations from other compositors and DEs.
Beta Was this translation helpful? Give feedback.
All reactions