-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Add More Monitor 'Auto' Positions. #5670
Conversation
https://github.com/artizirk/wdisplays
sounds fair |
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.
rest lgtm
Woahhh, thanks for bringing that to my attention. Thanks for the quick feedback though. Fixing now. |
@vaxerski All your feedback has been addressed. Just testing a bunch of different layouts to see if I can break this but feel free to review it now. |
We can make the first declared always at pos 0,0, sounds reasonable |
Implemented. Not really sure why why the Nix stuff is failing. It looks like it is in upstream too. |
ignore the nix stuff |
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.
lgtm, just needs a wiki mr and a clang-format
You can rebase to fix the Nix CI. Well you need to rebase anyway due to conflicts. |
@vaxerski clang-format has been run, feature branch has been rebased, and docs have been written! hyprwm/hyprland-wiki#610 |
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.
thanks :)
* Reverse Window Positioning. * Cleanup old comments and logs. * Finish Splitting Left and Right offset. * Forgot to add Auto Left to ConfigManager * Fix problems with auto_left. * Nearly finish up and down. * Finish draft of all four dirs. Testing now. * Change Y value in moveTo for up and down. * Format, comment, and cleanup. * Address Vaxry's feedback. * Add check to see if auto position is first rule. * Run clang-format.
* Reverse Window Positioning. * Cleanup old comments and logs. * Finish Splitting Left and Right offset. * Forgot to add Auto Left to ConfigManager * Fix problems with auto_left. * Nearly finish up and down. * Finish draft of all four dirs. Testing now. * Change Y value in moveTo for up and down. * Format, comment, and cleanup. * Address Vaxry's feedback. * Add check to see if auto position is first rule. * Run clang-format.
* Reverse Window Positioning. * Cleanup old comments and logs. * Finish Splitting Left and Right offset. * Forgot to add Auto Left to ConfigManager * Fix problems with auto_left. * Nearly finish up and down. * Finish draft of all four dirs. Testing now. * Change Y value in moveTo for up and down. * Format, comment, and cleanup. * Address Vaxry's feedback. * Add check to see if auto position is first rule. * Run clang-format.
Np! You've been a great maintainer and help with me getting started contributing to open source! I appreciate that and all the work you do! |
Describe your PR, what does it fix/add?
Resolves #5573.
The objective of this PR is to add more automatic monitor placement options. Currently, you can specify a monitors position as
auto
and it will automatically place the monitor to the right. It was requested however that we enable automatically placing monitor in other directions. So this PR adds the ability to place monitors up, down, left, and right with the keywordsauto-up
,auto-down
,auto-left
, andauto-right
.Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
It was also mentioned that having corner directions would be desirable as well. But adding this leads to significant ambiguity as to what would actually happen. For example with
auto-up-right
where would the monitors connect? On the right top or right side? What happens if this monitor overlaps with another monitor due to an odd resolution or aspect ratio?So, in this PR I kept things simple which I believe will cover most general use cases without introducing many new edge cases.
That said, in the future I would like to propose further improvements to the monitor placement system. For example, I think it would be nice to make a visual tui curses tool to align your monitors with a set scale and resolution. I also think we should implement a way to correct or warn on poor monitor placement if a user accidentally overlaps monitors or makes it so that they aren't connected.
Is it ready for merging, or does it need work?
I have done basic testing but I would like to play with some edge cases tomorrow as I've only been able to test my two monitors (both 16:9 with one rotated). I think its fine to review now though.