# Cathode [![status-badge](https://ci.greenboi.me/api/badges/emerald/cathode/status.svg)](https://ci.greenboi.me/emerald/cathode) a small app for PNG tubing. Think Veadotube-mini but completely FOSS. Built with Tauri and Svelte. ## Installation ### Packages There are a few prebuilt packages available [here](https://gitea.greenboi.me/emerald/-/packages/generic/cathode-tube/) for the latest stable release. They are built on Bullseye Debian, so should be compatible with most up to date systems. Debian derived distros will want the `.deb` file, and Fedora users will want the `.rpm` file. Download the correct file and install it with your package manager. Alternatively, download the AppImage, which should work on any glibc linux distro at the cost of being a considerable larger file. Once you download the `.AppImage` file, give it execution permissions (eg: `chmod +x cathode-tube.AppImage`) and run it like a command or script. ### Building from source #### Prerequisites In order to build from source you will need a few things to get started - Nodejs/npm (I recommend using [nvm](https://github.com/nvm-sh/nvm) for this) - [Rust](https://rustup.rs/) - Tauri's [development dependencies](https://tauri.app/v1/guides/getting-started/prerequisites#installing) #### Building Once all of these are installed, clone the repo and run ``` npm install ``` This will install everything needed to build the frontend, as well as the tauri cli. Building the project itself is then as simple as ``` npm run tauri build ``` This will build the frontend and backend, and bundle the `.deb` and `.AppImage` packages, found in `src-tauri/target/release/bundle`. The binary itself (at `src-tauri/target/release/cathode-tube`) is all that is needed to run the program, so if neither bundle works for you simply copy the executable to somewhere in your path, or run ``` cargo install --path src-tauri ``` #### Just If you have the [just](https://github.com/casey/just) command runner installed, as well as the other prerequisites, then you can run ``` just install ``` Which will build the project and install it to `/usr/bin`, along with the `.desktop` file and icons