-
-
Notifications
You must be signed in to change notification settings - Fork 919
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: change min cursor padding to 0 #6027
Conversation
but my scroll bar 😭 #5902 (comment) (JK, but this could be turned into a per-side config maybe) |
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.
Firefox fullscreen functionality is reduced by the 1 pixel minimum. This does indeed fix it.
wouldnt it be better to add a setting to have the padding only on the bottom right? |
Maybe I am not understanding this right, but what is the purpose of the padding? It mainly seems to break stuff. |
#5902 (comment) and #5902 (comment) should explain the reason behind it. |
Okay after reading through the pr I understand the purpose of the padding. However it feels like it should default to 0 and then users affected can add the 1px padding themselves. If this gets released as is most desktop users will end up with a broken config by default without even knowing why. +1 for this pr |
I still think this is the wrong solution and instead #6027 (comment) should be done |
That could be a solution. Regardless this should be considered a blocker for 0.41.0 until resolved imo |
358e59e
to
3fd6c1b
Compare
any news about it? Moving the problem is not a solution, since this compositor is supposed to be desktop-first, putting padding on the bottom will break the applications that expect a hit on bottom edge |
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.
The default minimum of hotspot padding in the recent update has made hyprland so unusable with firefox that i have temporarily swithched to i3. Without firefox what is a computer? i so frustrating as i usually have 100 tabs open so i cannot cycle through them and i think so is the case with many people.
|
putting the padding at the bottom will break those applications that expect a bottom edge cursor hit, in this way it's only a moving of the problem and not a real solution |
was the cursor able to go to (x,y) on a (w,h) sized monitor before? I don't think so. That was the issue with what @Agent00Ming was dealing, precisely because apps would NOT get a bottom edge hit because the coord would be off-limit. |
ok i got it, i didn't check that the cursor can go out of screen limit, i'll fix it soon |
if i didn't misunderstand, the problem is the cursor hotspot can reach |
this won't work if you have two monitors side-by-side touching each other on the right or bottom. |
what do you mean? I've tried every combo using 2 monitors and i don't see any issue |
mon1: 1920x1080 at 0x0
The point (1919.5, 69) is now treated as out of bounds, despite not being such. |
should we care since the functions like move_cursor take the cursor position which are integers, and |
we should because wlroots is being removed and aquamarine takes doubles. Furthermore internally it's stored as a double, so when a user would be moving their mouse veeery slowly (e.g. 0.2px a frame) they would be blocked from leaving their screen: 1918 ok |
this should fix the sub-pixel coords clamp on edges, but can I ask you why use floating points for the cursor position? Shouldn't using fixed points be more appropriate maybe using |
why not? |
just asking, nvm, then i found out that using double for cursor position it's not as bad an idea as I thought. Btw, can you give a feedback about last commit? |
I feel like the reasonable solution is: Make padding a 4-value special value (like gaps_in for example) which describes per-side padding. for example: 0,1,1,0 for 1px on bottom and right. Then, assume there is a box around the cursor, in this case at cursor x,y with size 1,1 clamp that box to the region of all screens return coord. |
Isn't that padding solution, a solution to a problem that shouldn't even exist? Fixing by padding hack, may not be the ideal solution, and it makes the code unnecessarily complex when such a problem can be solved by modifying a few lines. if we were to fix by adopting padding in each direction, should i do it with 4 boxes? |
returning x - epsilon,y - epsilon is a fine solution by me, as long as it doesnt break something else |
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.
with the hyprutils mr merged, this is fine. Thanks!
Describe your PR, what does it fix/add?
Since ed411f5 a padding has been added to the cursor, which means that some application that expect a hit in the window border bounds, will never detects the hit there.
For example when using firefox at full screen mode, that expect a hit on top of the windows to show the hidden tabs, it will never detects the hit.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
ed411f5 #5902
Is it ready for merging, or does it need work?
Ready