Skip to content
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

mouse_warping container sets cursor to (0,0) for newly created windows (on drm backend) #2819

Closed
Emantor opened this issue Oct 11, 2018 · 0 comments

Comments

@Emantor
Copy link
Contributor

Emantor commented Oct 11, 2018

The focus is set during view_map, however the window size is not set at this point and the pointer warps to (0,0).
The proper fix would be to warp the pointer to the correct position in the new window, however that is only set after view_update_size is called, which is done on surface commit, not on surface map.

Easy fix but partially broken fix (see fix-mouse-warping-container in my repo):
check if x and y are > 0 before warping the cursor, however that effectively disables focus warping for new windows.

From IRC:

ryan-au: Emantor: The size is set when calling the arrange_* function                                                                                                                           
         That might be done from each shell's handle_map function                                                                                                                               
         Maybe you could move that into view_map, then set the focus after calling arrange
Emantor added a commit to Emantor/sway that referenced this issue Oct 11, 2018
not sure about the decorations and whether decorations and fullscreen have to be
passed as arguments.

Fixes swaywm#2819
Emantor added a commit to Emantor/sway that referenced this issue Oct 11, 2018
not sure about the decorations and whether decorations and fullscreen have to be
passed as arguments.

Fixes swaywm#2819
Emantor added a commit to Emantor/sway that referenced this issue Oct 13, 2018
not sure about the decorations and whether decorations and fullscreen have to be
passed as arguments.

Fixes swaywm#2819
Emantor added a commit to Emantor/sway that referenced this issue Oct 16, 2018
not sure about the decorations and whether decorations and fullscreen have to be
passed as arguments.

Fixes swaywm#2819
Emantor added a commit to Emantor/sway that referenced this issue Oct 16, 2018
For mouse_warping cursor to correctly work on newly spawned containers,
the workspace needs to be arranged before the cursor is warped.

The shell functions each implement their own fullscreen and arrange checks,
move them into the view_map function and pass their states via boolean arguments.

Fixes swaywm#2819
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant