discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Wayland backend


From: Riccardo Canalicchio
Subject: Re: Wayland backend
Date: Sat, 6 Nov 2021 13:33:44 +0100

Hello,
following up on this, I moved forward with the implementation and I have got to a working state. (with still some bugs but usable)
Windows are shown properly, dropdown menus as well, resize and move work.
The implementation is tested on Weston, GnomeShell and some other compositors based on wlroots. It uses the protocol xdgshell widely adopted in all the compositors as well the layer shell protocol which is currently adopted by the wlroots compositors and ubuntu shell. 
Here a PR: https://github.com/gnustep/libs-back/pull/33

note: To be able to associate submenus to the parent windows i had to make a change to libs-gui:
https://github.com/nongio/libs-back/blob/wayland/Source/wayland/WaylandServer.m#L894
maybe there are better ways to do it, in case you think it's ok i would proceed to make a PR for libs-gui too

Let me know what you think about it,
cheers
Riccardo

Screen Shot 2021-11-06 at 1.30.33 PM.png
Screen Shot 2021-11-06 at 1.31.59 PM.png

On Mon, 18 Oct 2021 at 13:21, Riccardo Canalicchio <riccardo.canalicchio@gmail.com> wrote:
Hi,
I played a bit with the wayland backend trying to make it work.
Here is a branch where I made some changes on the surface management and reimplemented the xdg toplevel to send the surfaces to the server only when they should be visible.

https://github.com/nongio/libs-back/commit/c6ce795898d0d71afa9dbe165ae9ff99e90bc8d2

Right now the rendering seems correct. 
Even though the windows are still getting stuck after some time showing the loading cursor, it is possible to make some interactions. 
It also needs some memory management, listening at when the memory buffers can be deleted.

Feedback on this work is welcome, as well I am happy to onboard anyone interested in the approach.

best,
Riccardo

reply via email to

[Prev in Thread] Current Thread [Next in Thread]