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

Initial Wayland support #8

Open
felselva opened this issue Nov 30, 2017 · 1 comment
Open

Initial Wayland support #8

felselva opened this issue Nov 30, 2017 · 1 comment
Assignees
Labels

Comments

@felselva
Copy link
Owner

felselva commented Nov 30, 2017

As I was implementing the Wayland backend, I learned that there are two protocols of interest:

  • The Shell core protocol wl_shell.
  • The extension XDG-Shell protocol xdg_shell.

I was implementing the first, but it seems that the second is the one of most interest, since it's provided by the compositor as a way to make the surface behave like a window controlled by the compositor. However, the core protocol might be still useful, particularly for non-game applications.

For this reason, the backend for the core protocol will remain, and I will add the XDG-Shell protocol when the first stable release happens.

This means that for the Wayland backend, there will be an option for what kind of window will be created. Possibly with this design:

swfw_hint_wayland_window_type(&swfw_ctx, SWFW_WAYLAND_SURFACE); /* Uses the core protocol */
swfw_hint_wayland_window_type(&swfw_ctx, SWFW_WAYLAND_WINDOW); /* Uses the extension XDG protocol */
status = swfw_make_window(&swfw_ctx, &swfw_win);

I will wait the stable release of the XDG protocol to implement these hints and the XDG-Shell backend. Currently, only the first option will be available.

@felselva felselva self-assigned this Nov 30, 2017
@felselva
Copy link
Owner Author

felselva commented Dec 2, 2017

The XDG Shell was finally released as stable (https://lists.freedesktop.org/archives/wayland-devel/2017-December/036037.html).

The wl_shell was declared as deprecated, which means the Wayland backend won't have the two window types.

I have an early implementation of the backend using XDG Shell. I'm only waiting for a good compositor to be updated and able to use the XDG Shell, so I can test it.

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

No branches or pull requests

1 participant