I am pleased to introduce the first stable release of Casilda!
A simple Wayland compositor widget for Gtk 4 which can be used to embed other processes windows in your Gtk 4 application.
It was originally created for Cambalache‘s workspace using wlroots, a modular library to create Wayland compositors.
Following Wayland tradition, this library is named after my hometown in Santa Fe, Argentina
License
Casilda is distributed under the GNU Lesser General Public License version 2.1 only.
Where to get it?
Source code lives on GNOME gitlab here
git clone https://gitlab.gnome.org/jpu/casilda.git
Manual installation
This is a regular meson package and can be installed the usual way.
# Configure project in _build directory meson setup --wipe --prefix=~/.local _build . # Build and install in ~/.local ninja -C _build install
How to use it
To add a Wayland compositor to your application all you have to do is create a CasildaCompositor widget. You can specify which UNIX socket the compositor will listen for clients connections or let it will choose one automatically.
compositor = casilda_compositor_new ("/tmp/casilda-example.sock"); gtk_window_set_child (GTK_WINDOW (window), GTK_WIDGET (compositor));
Once the compositor is running you can connect to it by specifying the socket in WAYLAND_DISPLAY environment variable.
export GDK_BACKEND=wayland export WAYLAND_DISPLAY=/tmp/casilda-example.sock gtk4-demo
API
The api is pretty simple CasildaCompositor has two properties, socket and bg-color.
-
- socket: The unix socket file to connect to this compositor (string)
- bg-color: Compositor background color (GdkRGBA)
Matrix channel
Have any question? come chat with us at #cambalache:gnome.org
Mastodon
Follow me in Mastodon @xjuan to get news related to Casilda and Cambalache development.
Happy coding!