xfdesktop & wayland

andre at andreldm.com andre at andreldm.com
Mon Sep 19 19:28:38 CEST 2022


Hi Gaël and Brian,
It's exciting to see people already working on Wayland support, I'm still not there yet, maybe some day I'll join the party. For now I can't comment on implementation details.

Regarding 4.18, I think we discussed it sometime ago that it would be another regular iteration of Xfce on X11, by the time of 4.20 cycle (in 2~4 years) we would have decided how bad is to continue using X11 and if a full migration would make sense. Of course nothing is set in stone.

Some core components such as Thunar and Appfinder are low hanging fruits, Wayland support can coexisting in their code base. Others like Panel and Xfdesktop require a good deal of changes, I think you can decide which approach works best for you, either merge requests or forks in a "Wayland group". Please just keep the work somewhere visible in our gitlab instance and the wiki page[1] as updated as possible.

1 - https://wiki.xfce.org/releng/wayland_roadmap

Cheers,
Andre Miranda

Sep 19, 2022, 18:28 by trash.paradise at protonmail.com:

> Hi Brian,
>
>> My branch[2] is super rough and needs some significant refactoring, but feel free to check it out if you want.
>>
>
> It would be nice if you opened a merge request I think when you have something watchable.
>
>> get the default GdkDisplay, and then test if it's a GdkX11Display or a GdkWaylandDisplay. Is there a better way to do that?
>>
>
> No, that's the way I think it should be done. See for example the introductory section of this doc [1].
>
>> I guess Wayland has a workspaces concept via a protocol extension
>>
>
> Not at the moment to my knowledge, except this KDE protocol [2], but I don't think we want to use that. Otherwise there is this proposal [3], but it is not accepted at the moment.
>
>> maybe a new meta-library that has an API exposing the functionality possible on both X11 and Wayland makes sense.
>>
>
> I've been wondering about integrating this with Libxfwl (mentioned in [4]) when porting the ShowDesktop plugin to Wayland in the last few days (see the last two current commits of [5]).
>
> For the moment I preferred to leave it out of the library, so its purpose would remain purely Wayland. The wrappers pointing to Libwnck or Libxfwl are therefore in ShowDesktop. I'm not yet convinced that it's worth writing a library for a few lines of wrapping... (or to integrate it into an existing library)
>
> Glad to see that another component is being ported to Wayland anyway! One more argument to make Libxfwl exist as a real library.
>
> It would be nice to have some additional opinions about this from some core devs. Andre, Alex, Simon what do you think? :)
>
> Cheers,
> Gaël
>
> --
> [1] https://developer-old.gnome.org/gdk3/stable/GdkDisplayManager.html
> [2] https://wayland.app/protocols/kde-plasma-virtual-desktop
> [3] https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/40
> [4] https://mail.xfce.org/pipermail/xfce4-dev/2022-September/033008.html
> [5] https://gitlab.xfce.org/xfce/xfce4-panel/-/merge_requests/96
>
> ------- Original Message -------
> On Monday, September 19th, 2022 at 9:32 AM, Brian Tarricone <brian at tarricone.org> wrote:
>
>
>> Hey all,
>>
>> A post on HN got me interested in Wayland again, and I decided to see where my favorite DE was wrt Wayland. I was excited to find out that there's been some work in that area, especially the recent thread about xfce4-panel. Saw the wiki page and that xfdesktop crashes on startup with Wayland, so I thought I'd take a look (xfdesktop will always have a special place in my heart, and it's been... oh my, 13 years since I last worked on it!).
>>
>> Anyhow, I did some preliminary work, and got xfdesktop to the point where it comes up properly and draws the desktop background. I ended up using the gtk-layer-shell library[0] (a work of frightening yet useful hackery to be able to use the wlr-layer-shell-unstable-v1 protocol[1] with GTK) to push xfdesktop's window to the bottom of the stack.
>>
>> My branch[2] is super rough and needs some significant refactoring, but feel free to check it out if you want.
>>
>> One open issue is runtime detection of X11 vs. Wayland. I didn't see anything in GTK that lets you query the active windowing backend (to be fair, though, I didn't look all that hard), so what I came up with was to get the default GdkDisplay, and then test if it's a GdkX11Display or a GdkWaylandDisplay. Is there a better way to do that? Another option would be to just use a command-line option, but I prefer to make things "just work" when possible.
>>
>> The other major issue is libwnck being X11-only. I guess Wayland has a workspaces concept via a protocol extension, but there isn't a cross-windowing-environment library that lets you query them. Same issue for xfdesktop's window list menu (which also uses libwnck), where I could reuse the wlr-foreign-toplevel stuff from xfce4-panel. I kinda feel like porting libwnck to Wayland may not be the best idea due to feature mismatches, but maybe a new meta-library that has an API exposing the functionality possible on both X11 and Wayland makes sense. The X11 support could just use libwnck, while Wayland support could be written to use whatever protocols are available. I might take a swing at this if y'all think it makes sense.
>>
>> Anyhow, it was fun to crack open the xfdesktop source code again after so long!
>>
>> -brian
>>
>> [0] https://github.com/wmww/gtk-layer-shell
>> [1] https://wayland.app/protocols/wlr-layer-shell-unstable-v1
>> [2] https://gitlab.xfce.org/kelnos/xfdesktop/-/tree/wayland
>> _______________________________________________
>> Xfce4-dev mailing list
>> Xfce4-dev at xfce.org
>> https://mail.xfce.org/mailman/listinfo/xfce4-dev
>>
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> https://mail.xfce.org/mailman/listinfo/xfce4-dev
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.xfce.org/pipermail/xfce4-dev/attachments/20220919/a75ffa3e/attachment.html>


More information about the Xfce4-dev mailing list