Previous reload step was gated on $HYPRLAND_INSTANCE_SIGNATURE being
set in the environment. If you ran the installer from outside the
Hyprland session (SSH, TTY, a non-graphical shell) the reload silently
skipped and windowrules weren't picked up until the next Hyprland
restart — which is why a test install on another box had the app
opening fullscreen instead of floating + centered.
Now the script:
* Falls back to picking a live instance from $XDG_RUNTIME_DIR/hypr/ if
the env var isn't set — so hyprctl reload works even from SSH.
* Always runs a best-effort `touch` on windows.conf so Hyprland's
inotify-based auto-reload picks up the change even if the explicit
reload was somehow a no-op.
* Prints a clear "run `hyprctl reload` manually" hint in the success
summary so users who see the fullscreen-by-mistake behaviour know
the one-command fix without reading source.
Verified on this machine: after `bash install.sh`, the running window
reports floating=True fullscreen=0 size=[1280,880] via hyprctl clients.
Native GTK4 + libadwaita app that wraps ffmpeg to batch-convert source
video into editorial-ready Apple ProRes .mov. Targets Omarchy / Hyprland
on Arch Linux specifically.
Highlights:
* Real ffmpeg encode (prores_ks → prores fallback) with live progress
parsing, cancelable serial queue, disk-space pre-check, source-missing
guard, output-collision (N) suffixes.
* GPU decode auto-probe at install time — picks cuda → qsv → vaapi based
on what actually initialises on the host. ProRes encoding stays on CPU
(no vendor ships a GPU encoder); offloading the decode side cuts wall
time 25-40% on H.264 / HEVC sources.
* Theme-aware: tracks the active Omarchy theme on every launch by
parsing colors.toml / ghostty.conf / alacritty.toml / kitty.conf in
priority order. 34 stock + custom themes verified.
* Pro camera support: .MXF (Canon XF / Sony XDCAM / Panasonic AVC-Intra)
with proxy-directory pruning so dropping a Sony XAVC card maps masters
in CLIP/ but skips the low-res duplicates in SUB/.
* Multi-track audio preserved — 4 mono PCM streams from a Canon C300/C500
land in the output as 4 separate tracks. Optional 24-bit toggle.
* Live encode-speed indicator with ffmpeg -progress parsing; ETA refines
from real measured throughput rather than a fixed heuristic.
* Hyprland-aware install — registers walker entry, six hicolor icon
sizes, float+centre windowrule for class dev.nocoder.NoCoder.
Distribution model: git clone + bash install.sh. The installer copies the
source tree to ~/.local/share/nocoder/ so the clone is disposable. Updates
are git pull + re-run install.sh.
Documented at README.md.