Tom A. Wagner 0e699288e1 graph: Allocate proper size to nodes when zoomed
Previously, the allocated height and width to a node on the graph was divided by the zoom factor,
to account for the changed size from them being zoomed.

To zoom each node, we `size_allocate` it with a GskTransform that scales it.

However, using a scaling transform to allocate the node already takes care of scaling the height and
width, so us also scaling the height and width manually means we were overcompensating.

This resulted in the allocation becoming to big when zooming out, and to small when zooming in.

This is observable as labels will become smaller when zooming in and ellipsize their content.

The commit removes the extra manual scaling so nodes get allocated properly when zoomed.
2023-07-27 13:14:03 +02:00
2023-02-12 13:30:49 +01:00
2023-02-12 21:23:12 +01:00
2021-07-22 11:35:12 +02:00
2023-02-12 21:23:12 +01:00
2023-02-12 21:23:12 +01:00
2023-02-12 21:23:12 +01:00
2023-02-12 13:30:49 +01:00

Helvum is a GTK-based patchbay for pipewire, inspired by the JACK tool catia.

Screenshot

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}//43 org.freedesktop.Sdk.Extension.rust-stable//22.08 org.freedesktop.Sdk.Extension.llvm14//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.7 or higher
  • gtk-4.0 and pipewire-0.3 development 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.

Description
Mirror of helvum since freedesktop.org has my ip banned for some reason
Readme GPL-3.0 886 KiB
Languages
Rust 95.8%
Meson 2.6%
CSS 1.4%
Shell 0.2%