Both were redundant in a textual README — the logo is in the app itself, not something users need to see in the repo overview. |
||
|---|---|---|
| assets | ||
| nocoder | ||
| packaging | ||
| .gitignore | ||
| install.sh | ||
| README.md | ||
| run.py | ||
| style.css | ||
| uninstall.sh | ||
NO-CODER
A native GTK4 + libadwaita batch transcoder for Omarchy. Drop video files (or whole camera cards) onto the window, choose a ProRes profile, hit Encode. Output is editorial-ready Apple ProRes .mov ready for DaVinci Resolve, Premiere, FCP, Avid.
Features
- Real ffmpeg encode —
prores_ks(with fallback to plainprores), live progress bar parsed from-progress pipe:1, cancelable, serial queue with disk-space pre-check. - GPU decode auto-probe — installer tests
cuda→qsv→vaapiand pins the working one to~/.config/nocoder/config.json. ProRes encoding stays on CPU (no vendor ships a GPU ProRes encoder), but offloading the decode side cuts wall time by 25-40% on H.264 / HEVC / AV1 sources. - Theme-aware — palette tracks the active Omarchy theme on every launch (parses
colors.toml/ghostty.conf/alacritty.toml/kitty.confin priority order). 34 stock + custom themes verified. - Pro camera ready —
.MXFfrom Canon XF / Sony XDCAM / Panasonic AVC-Intra, with proxy-directory pruning so dropping a Sony XAVC card maps only the masters inCLIP/and not the low-res duplicates inSUB/. - Multi-track audio preserved — Canon C300/C500 records 4 mono PCM streams; all four land in the output
.movas separate tracks. Optional 24-bit toggle for pro delivery. - Live encode-speed indicator — footer shows real
1.5×throughput from ffmpeg and refines the ETA from actual measured rate, not a fixed heuristic. - Hyprland-aware install — registers a
.desktopentry with the walker, installs the icon at six hicolor sizes, appends a windowrule that floats and centres the app at 1280×880.
Supported source formats
.mov .mp4 .m4v .mkv .avi .mts .m2ts .webm .mpeg .mpg .3gp .3g2 .mxf
Not supported (proprietary RAW; ffmpeg has no decoder without vendor SDKs): .crm (Canon Cinema RAW Light), .braw (Blackmagic), .r3d (RED), .ari (Arri). Pre-transcode those via Canon Cinema RAW Development / Blackmagic RAW Player / REDCINE-X / ARRI Meta Extract first, then bring the resulting MXF or MOV into NO-CODER.
Install
Targets Arch / Omarchy specifically.
git clone https://git.no-signal.uk/nosignal/nocoder.git
cd nocoder
bash install.sh
The installer:
- Verifies pacman is present, fails fast otherwise.
- Installs missing pacman packages:
python python-gobject gtk4 libadwaita ffmpeg. - Installs Inter and JetBrains Mono fonts to
~/.local/share/fonts/(per-user, no sudo). - Probes GPU decode and pins the working backend to
~/.config/nocoder/config.json. - Copies the source tree to
~/.local/share/nocoder/so you can delete this clone afterward. - Writes a launcher to
~/.local/bin/nocoder. - Drops the
.desktopfile and PNG icons into the right XDG locations. - Appends Hyprland windowrules (float, centre, 1280×880) inside a marked block in
~/.config/hypr/windows.conf. - Restarts walker so the entry appears immediately.
After install, Super+Space → "no" launches it. Or nocoder from a shell.
Updating
cd nocoder
git pull
bash install.sh
Re-running the installer wipes and re-copies the live install dir — files removed upstream propagate cleanly.
Uninstall
bash uninstall.sh
Removes the installed app tree, launcher, desktop entry, all six icon sizes, the Hyprland windowrules block, and the per-user config. Pacman packages and fonts are left in place (other apps may need them).
Hardware
- Required: anything that runs Omarchy / Hyprland.
- Recommended: a GPU with ffmpeg-supported decode (NVIDIA NVDEC, Intel QSV, AMD VAAPI). The probe falls back to CPU decode on systems without; everything still works, just slower on camera-native sources.
- No upper limit on cores —
prores_ksis well-parallelised.
Configuration
~/.config/nocoder/config.json — currently just {"hwaccel": "cuda" | "qsv" | "vaapi" | "none"}. Edit by hand to override the auto-probed choice.
Known gaps
- No persistence for last-used output folder / profile (resets to defaults each launch).
- "Reveal in Files" opens the output folder but doesn't select the specific file.
- Per-row remove button isn't keyboard-accessible (mouse-hover only, by design — keeps tab order clean).
- No live theme-change pickup — theme swaps apply on next launch, not immediately.
License
Not yet specified. The app wraps ffmpeg and depends on GTK4 / libadwaita; check those licenses for the redistributable parts.
Credits
Born as a rewrite of prowrap-yad.sh (a yad-based ProRes batch transcoder), rebranded NO-CODER to lean into the visual identity. The encoding logic from the original bash script is preserved verbatim.