FLTK logo

Re: [fltk.coredev] Towards a Wayland platform for the FLTK library ?

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.coredev  ]
 
Previous Message ]New Message | Reply ]Next Message ]

Re: Towards a Wayland platform for the FLTK library ? Albrecht Schlosser Jun 06, 2021  
 
On 6/6/21 11:40 AM Manolo wrote:
I'd like to invite fellow FLTK developpers to discuss the possibility of
adding a Wayland platform to the FLTK library.

We've been asked (not many, but a few, countable) times about our plans to add Wayland support to FLTK. I was about to look how this would be done a few times, but now I see you did it. Awesome!

My proposal is in branch "wayland" of https://github.com/ManoloFLTK/fltk
See file README.Wayland.txt therein for installation instructions, including
a short list of required Debian packages.
That software should hopefully install on any Wayland-running Linux system.
It's been tested on Debian and Ubuntu.
At this time, the wayland branch is not complete but quite advanced :
all test/ and examples/ apps build and run.

I'll try that ASAP, but likely not tomorrow because I need to do some other stuff.

The "wayland" branch doesn't require any change to the platform-independent FLTK code. It's expected that any FLTK app should link and mostly run as a Wayland client program. `fltk-config --cxxflags --ldflags` can be used in makefiles as usual.
Nevertheless, X11-specific code delimited by
#if !defined(__APPLE__) && !defined(_WIN32)
... X11-specific code ...
#endif
will choke at compile-time because it will expose X11-specific function calls. Such
source code should be changed to
#if !defined(__APPLE__) && !defined(WIN32) && !defined(__WAYLAND__)
... X11-specific code ...
#endif

Thanks for your notes. This could turn out helpful.

Regarding the code changes: WOW, that's a lot of code! The following is just for my curiosity:

I'm seeing also that much code has been copied which might not be needed due to the driver structure. What are your plans, will you do a mass cleanup when the Wayland code is (almost) finished? I'm asking because I'm concerned about duplicated code. One example seems to be timer related code which could be reused rather than duplicated etc. etc.. I take it that you first copied the entire driver code and are now working on fleshing out the needed changes and what doesn't need to be changed. Is that about correct?

The Wayland protocol accomodates either client-based or server-based window
decoration. The Gnome Wayland implementation does not contain server-based
window decoration and instead expects each client program to decorate its windows. For that reason, the FLTK library is extended in my proposal by a library, libdecor, (see https://gitlab.gnome.org/jadahl/libdecoration) which produces window decoration for each FLTK client program. That library is governed by the MIT license which allows unrestricted use, even in a commercial setting, but asks for a copy of the
license to be included in any copy of the software.

Interesting. I see that you added the library to the FLTK repo. Are there plans to (finally) bundle it or would we take it as a prerequisite to be installed by developers? Generally I'd prefer the latter, but I don't know how well it is supported by (Linux) distros. Can you share your thoughts about this?

I believe it's too early at this point for you, fellow developers, to send "this doesn't work" messages, but expect messages about attempts to install the new branch and to build full-size FLTK apps, and about the opportunity of a Wayland FLTK platform.

Looking forward to install and test! I'll let you know about my results and hopefully others will try as well.

--
You received this message because you are subscribed to the Google Groups "fltk.coredev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkcoredev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/2f54295b-a4d4-ecb2-c62b-14668d0fd70f%40online.de.
Direct Link to Message ]
 
     
Previous Message ]New Message | Reply ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.