This is still a WIP, node layouting is kinda jank at the moment.
Installation
A compiled binary is available on the releases page.
Building from source
Clone the repo:
git clone https://github.com/Ax9D/pw-viz
cd pw-viz
To build pw-viz, you will need to have Rust installed. The recommended way to install Rust is from the official download page, using rustup.
Once Rust is installed, you can build pw-viz:
cargo build --release
Next you can copy the resulting binary(pw-viz) which will be found inside target/release
to a directory in your $PATH
, like /usr/bin/
Controls
Description | |
---|---|
Left Click + Drag | Move nodes, create links between ports |
Alt + Left Click + Drag | Remove links |
Middle Mouse + Drag | Pan the graph |
Ctrl | Shows pipewire ids of nodes and ports |
Zooming is not supported currently
Libraries Used
- pipewire-rs: Rust bindings for PipeWire
- egui-rs: an easy-to-use immediate mode GUI in pure Rust
- A modified fork of egui-nodes: A egui port of imnodes
Thanks / Alternatives
Pipewire connection code is inspired by helvum's implementation helvum: A GTK patchbay for pipewire.
License
pw-viz is licensed under the terms of the GNU General Public License v3.0. See LICENSE.md for more info.