gnustep-dev
[Top][All Lists]
Advanced

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

Wayland backend design


From: Sergio L. Pascual
Subject: Wayland backend design
Date: Thu, 14 Jan 2016 02:09:38 +0100

Hi,

The past few nights, I've been playing around the idea of writing a
Wayland backend for GNUstep (this is my first time hacking on GS,
though I've contributed to other FOSS projects), first as a way of
getting to know Wayland, and later to explore the possibility of a pure
GNUstep Desktop Environment.

So far, I've managed to write a functional prototype (consisting of a
GS backend and a slightly modified Weston shell) which implements some
basic window management. If you're curious, you can see a video from a
screen capture here: https://sinrega.org/wp-content/uploads/2016/01/gnu
step-wayland.webm

It's a bit quirky, and the code is ugly, but as a prototype it serves
its purpose. Now I'm considering coding a clean implementation, if no
one else is already working on it.

As GNUstep already has a Cairo backend, making it write to a Wayland
surface, showing something on the screen, is easy. The hard part comes
when you want to treat that surfaces as windows in the traditional
desktop paradigm, as the basic Wayland protocol lacks the functionality
required for this.

So, I see three options for a GNUstep Wayland backend:

 1. Use only the basic Wayland protocol. Not very useful, except for
very specific uses.

 2. Use Wayland and Weston's XDG protocols. This would allow to
implement some window management, without window levels, ordering, nor
absolute window positioning. Also, all features which depend on
obtaining the location of the mouse would be broken too.

 3. Use Wayland, Weston's XDG and some specific extensions, with a
GNUstep-aware Weston shell. This would allow to implement all the
functionality, and some nifty features like a static MainMenu and a
Dock-like panel.

Personally, I'd go with 3. People only wanting to run a single app
would be still able to use the x11 backend, while the wayland backend
could be used to explore the possibility of a dedicated Desktop
Environment.

Any thoughts on this?

Sergio.




reply via email to

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