This reworks the adding of a port to nodes, to avoid assigning multiple nodes to the same grid cell when a node which was not the last in its column has previously been removed. Instead, the grid is emptied and repopulated each time. This also lets us sort the nodes each time by name. Finally, this hides the seperator if a node has no nodes, as it is unneeded.
Helvum is a GTK-based patchbay for pipewire, inspired by the JACK tool catia.
Features planned
- Volume control
- "Debug mode" that lets you view advanced information for nodes and ports
More suggestions are welcome!
Building
Via flatpak
If you don't have the flathub repo in your remote-list for flatpak you will need to add that first:
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Then install the required flatpak platform and SDK, if you dont have them already:
$ flatpak install org.gnome.{Platform,Sdk}//44 org.freedesktop.Sdk.Extension.rust-stable//22.08 org.freedesktop.Sdk.Extension.llvm15//22.08
To compile and install as a flatpak, clone the project, change to the project directory, and run:
$ flatpak-builder --install flatpak-build/ build-aux/org.pipewire.Helvum.json
You can then run the app via
$ flatpak run org.pipewire.Helvum
Manually
For compilation, you will need:
- Meson
- An up-to-date rust toolchain
libclang-3.7or highergtk-4.0andpipewire-0.3development headers
To compile and install, run
$ meson setup build && cd build
$ meson compile
$ meson install
in the repository root.
This will install the compiled project files into /usr/local.
License and Credits
Helvum is distributed under the terms of the GPL3 license. See LICENSE for more information.
Parts of the build system were taken from the gtk-rust-template project, which is provided under the terms of the MIT license.

