-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix: rotated outputs #112
Fix: rotated outputs #112
Conversation
505ef40
to
e02e338
Compare
8ab81ad
to
788fae8
Compare
Two comments:
We can continue as is for now with the border corners and tackle those couple of comments later. We may want to have a separate PR for fixing the titlebar stuff as I don't think it'll be fun :S |
788fae8
to
ec5feaa
Compare
Fixed :) Also rebased from master |
wlr_output_transformed_resolution(output, &monitor_box.width, &monitor_box.height); | ||
wlr_box_transform(&monitor_box, &monitor_box, | ||
wlr_output_transform_invert(output->transform), | ||
monitor_box.width, monitor_box.height); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could add a struct wlr_box *monitor_box
as a function parameter
So the only thing left I guess would be "fixing" the corners with a uncomfortably long switch statement (until we rework the borders), fix the blur (doesn't work on portrait orientations) :) |
Titlebars too but they can be a follow up |
Luckily I had that ugly switch statement in a months old stash so didn't have to recreate it 😅 Everything should be "ready" now. The only thing that's not working is the titlebars which we agreed on working on in a new PR if I haven't misunderstood you completely :) |
I think I could extend this to work with fixing rotated titlebars. Will do so tomorrow |
Does your guy's vertical monitors do this? |
Mind trying out this branch and seeing if the issue persists? That's not behavior I've encountered :S |
That fixed everything, thx. |
2668e89
to
ab6fd80
Compare
Just rebased from master. Some Y axis issues with blur (only when tiled so probably with the x-ray too), but otherwise good. |
ab6fd80
to
78d13a8
Compare
78d13a8
to
489bd6d
Compare
@@ -1,3 +1,4 @@ | |||
#include <wlr/util/box.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: remove
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm going to look into the projection / matrix thing and the tradeoffs in code cleanliness, which means that this PR has two items left:
TODO:
- fix blur issue
- investigate where and how matrix should be computed
struct wlr_box monitor_box = get_monitor_box(wlr_output); | ||
wlr_box_transform(&monitor_box, &monitor_box, | ||
wlr_output_transform_invert(wlr_output->transform), | ||
monitor_box.width, monitor_box.height); | ||
|
||
fx_renderer_begin(renderer, monitor_box.width, monitor_box.height); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would be cleaner if there was a way to just get the width and height of the transform invert output instead of the entire box. Haven't found a way based on a quick scroll through wlroots
Fixes: #47
Some things don't work (mostly position dependent rounding).
Todo:
Per-side window rounding with titlebarsIssues:
Everything else should work 🤞
Testing: