fix(walls,screensaver): work on IM6, dismissable mpv, loud errors#93
Merged
VictorGSchneider merged 1 commit intoMay 11, 2026
Merged
Conversation
stoa-walls.sh and stoa-screensaver.sh hard-required ImageMagick 7
(`magick`) and bailed on systems with only IM6 (`convert`), even though
the gradient/draw/CLUT/plasma syntax they use is identical across both
versions. Detect either binary at runtime and use it.
stoa-walls.sh: fall back across reasonable mono font family names
("JetBrains Mono" with space is the canonical fontconfig family; the
hyphenated form often fails to resolve and silently drops the text).
stoa-screensaver.sh:
- Check imagemagick/ffmpeg/mpv up front and report what's missing instead
of producing a 0-byte video.
- Stop hiding ffmpeg stderr; surface errors so policy/codec issues are
diagnosable.
- mpv was launched with --no-input-default-bindings AND an empty
input-conf, which made the screensaver impossible to dismiss with the
keyboard. Generate a minimal input.conf that maps any key / mouse
click to quit, and drop the deprecated --input-vo-keyboard option.
- Guard brightnessctl calls behind a command -v check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problema
Os scripts
stoa-walls.shestoa-screensaver.sh"não funcionavam" por uma combinação de bugs reais:stoa-walls.shmagick(IM7) e abortava em sistemas com sóconvert(IM6). O comentário no script afirmava que "a sintaxe IM6 não é compatível" — testei e é compatível: todos os comandos (gradient:,xc:,-draw rectangle,-annotate,-blur) funcionam idênticos em ambas versões.JetBrains-Mono(com hífen) não resolve via fontconfig em muitos casos — o nome canônico da família éJetBrains Mono(com espaço). Sem fallback, o texto dememento.pngsumia silenciosamente.stoa-screensaver.shmagickexclusivo.ffmpeg,mpv): falhas confusas se faltassem.ffmpeg ... 2>/dev/nullengolia todo erro de encode, então uma falha de codec/policy resultava em vídeo 0 byte sem nenhuma mensagem.--no-input-default-bindingse--input-conf=/dev/null, ou seja, todas as keybindings desativadas. Quem caísse no screensaver não conseguia sair via Esc/q.--input-vo-keyboard=yesé opção legada/X11 que mpv recente ignora ou marca como deprecada.Fixes
magick(IM7) ouconvert(IM6) em runtime; usa o que existir.stoa-walls.sh: lista de candidatos de fonte mono com fallback (JetBrains Mono→JetBrainsMono-Regular→DejaVu Sans Mono→ default do IM).stoa-screensaver.sh:imagemagick/ffmpeg/mpvantes de gastar minutos renderizando.ffmpegem-loglevel error(não silenciado) + verificação de exit code.mpv-input.confmínimo mapeando qualquer tecla/clique →quit, e usa--no-configpara isolamento.brightnessctlagora condicional (command -v).Test plan
stoa-wallsgera os 4 wallpapers (1920×1080 PNG) usandoconvert(IM6) num sistema semmagick. Verificado em sandbox.stoa-screensaver generate(rodado comtotal_frames=12para smoke test) produzmarble-flow.mp4h264 1920×1080 válido comffprobe.stoa-screensaver startem Hyprland: tecla qualquer deve fechar o mpv (não testável no sandbox sem display).magick(IM7, ex.: Arch atual), comportamento idêntico ao anterior.JetBrains Monoé encontrado quandottf-jetbrains-monoestá instalado.Generated by Claude Code