C# P/Invoke bindings for the Astal library collection.
| Library | Shared Object |
|---|---|
| AstalIO | libastal-io-0.1.so |
| AstalApps | libastal-apps-0.1.so |
| AstalGtk3 | libastal-3.so |
| AstalGtk4 | libastal-4.so |
| AstalAuth | libastal-auth-0.1.so |
| AstalBattery | libastal-battery-0.1.so |
| AstalBluetooth | libastal-bluetooth-0.1.so |
| AstalGreet | libastal-greet-0.1.so |
| AstalHyprland | libastal-hyprland-0.1.so |
| AstalMpris | libastal-mpris-0.1.so |
| AstalNetwork | libastal-network-0.1.so |
| AstalNotifd | libastal-notifd-0.1.so |
| AstalPowerProfiles | libastal-power-profiles-0.1.so |
| AstalRiver | libastal-river-0.1.so |
| AstalTray | libastal-tray-0.1.so |
| AstalWp | libastal-wireplumber-0.1.so |
dotnet add package AstalBindingsThe native Astal libraries must be installed on your system.
Install all Astal libraries using your preferred AUR helper:
# Using yay
yay -S libastal-meta
# Using paru
paru -S libastal-meta
# Using shelly
shelly aur install libastal-metaFor more installation options (Nix, building from source, etc.), see the Astal documentation.
To regenerate the bindings from source:
-
Install ClangSharpPInvokeGenerator:
dotnet tool install --global ClangSharpPInvokeGenerator
-
Clone the Astal repo and build headers:
./setup.sh
-
Generate the bindings:
./generate-bindings.sh