Introduction
What is Astal?
Astal (meaning "desk") is a suite of libraries written in Vala and C. The core library astal3 and astal4 have some Gtk widgets that come packaged, the most important one being the Window which is the main toplevel component using gtk-layer-shell. This is what allows us to use Gtk as shell components on Wayland. The other component is Application which provides a way to send messages from the cli to running Astal instances. The other part of the core library is astal-io which contains some utility GLib shortcut for running external processes, reading, writing and monitoring files, timeout and interval functions.
Why Astal?
What makes Astal convenient to use is not the core libraries, as they can easily be replaced by the standard library of any of your favorite language that has bindings to Gtk, it is the accompanying libraries (formerly known as "services" in AGS).
Have you ever wanted to write a custom bar, custom notification popups or an applauncher, but gave up because writing a workspace widget, implementing the notification daemon or handling a search filter was too much of a hassle?
Astal libraries have you covered, you don't have to worry about these, you just define the layout, style with CSS hook up the state from libraries you want and that's it.