No description
Find a file
Juan Pablo Ugarte 96f1fd8080
Rolling 1.2.3
2026-04-08 22:36:49 -04:00
docs docs/casilda.toml.in: add docs base url. 2025-09-11 01:16:30 -07:00
examples Examples: set default size for python and js examples to 1024x768 2026-04-08 22:36:48 -04:00
src CasildaCompositor: cleanup output virtual size calculation 2026-04-08 22:36:47 -04:00
.gitlab-ci.yml Fix documentation CI dependencies 2026-04-03 15:49:29 -04:00
CHANGELOG.md Rolling 1.2.3 2026-04-08 22:36:49 -04:00
COPYING Change namespace from cambalache to casilda 2024-08-05 11:48:40 -04:00
meson.build Rolling 1.2.3 2026-04-08 22:36:49 -04:00
meson_options.txt Add API reference generation using gi-docgen 2025-08-28 08:42:01 -04:00
README.md docs/casilda.toml.in: add docs base url. 2025-09-11 01:16:30 -07:00

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 (LGPL) as described in the COPYING file.

Source code

Source code lives on GNOME gitlab here

git clone https://gitlab.gnome.org/jpu/casilda.git

Dependencies

  • Meson build system
  • GTK Version 4
  • wlroots - Library to create Wayland compositors

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 and pack it as any other widget.

compositor = casilda_compositor_new (NULL);
gtk_window_set_child (GTK_WINDOW (window), GTK_WIDGET (compositor));
gtk_window_present (GTK_WINDOW (window));

The easiest way to show another process window in the compositor is to spawn the process using the helper function provided by Casilda

gchar *argv[] = { "/usr/bin/gtk4-demo", NULL };
casilda_compositor_spawn_async (compositor, NULL, argv, NULL, G_SPAWN_DEFAULT, NULL, NULL, NULL, NULL);

API

Casilda uses gi-docgen to generate it's API reference documentation and is available online.

Contributing

If you are interested in contributing you can open an issue here and/or a merge request here

Contact

You can hang with us and ask us questions on Cambalache Matrix at #cambalache:gnome.org

Matrix