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

Wayland rewrite #4945

Closed
wants to merge 2 commits into from
Closed

Wayland rewrite #4945

wants to merge 2 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Oct 1, 2017

The wayland code was written more than 4 years ago when wayland wasn't even at version 1.0. This commit rewrites everything in a more modern way, switches to using the new xdg v6 shell interface which solves a lot of bugs and makes mpv tiling-friedly, adds support for drag and drop, adds support for touchscreens and adds support for KDE's server decorations protocol.
Currently supported touchscreen events: two finger move, one finger scale (touch the edge of the window) and one-finger tapping to click.

It does not yet use the frame callback as a main rendering loop, this will happen with a later commit.

The protocol files are included in the repo because waf can't seem to use them from /usr/share/wayland-protocols.

I agree that my changes can be relicensed to LGPL 2.1 or later.

This VO was buggy and never worked correctly. Like with wayland_common,
it needs to be rewritten from scratch.
static void pointer_handle_axis(void *data, struct wl_pointer *wl_pointer,
uint32_t time, uint32_t axis, wl_fixed_t value)
{
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't you need to implement this?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I forgot to.
Implemented.

The wayland code was written more than 4 years ago when wayland wasn't
even at version 1.0. This commit rewrites everything in a more modern way,
switches to using the new xdg v6 shell interface which solves a lot of bugs
and makes mpv tiling-friedly, adds support for drag and drop, adds support
for touchscreens, adds support for KDE's server decorations protocol,
and finally adds support for the new idle-inhibitor protocol.

It does not yet use the frame callback as a main rendering loop driver,
this will happen with a later commit.
@ghost
Copy link
Author

ghost commented Oct 3, 2017

Thanks for the review, pushed

@ghost ghost closed this Oct 3, 2017
@vanvugt
Copy link
Contributor

vanvugt commented Jan 8, 2018

Tangentially, if anyone is still using mpv 0.27 and earlier on Gnome Shell then this shell fix solves clicking/moving/tiling issues too (without needing the rewrite in mpv 0.28):
https://bugzilla.gnome.org/show_bug.cgi?id=790309
With some luck that will make it into mutter 3.26.3.

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants