Openscad thumbnails in Nemo

24-12-2025
openscad-thumbnailer Met een paar eenvoudige scriptjes laat Nemo (of Thunar of jouw andere file manager) alle OpenScad- en STL-bestanden gerendered zien.



Je hebt verder alleen OpenScad als executable nodig ergens op je systeem. Je moet 2 bestanden aanmaken: 1x een thumbnailer-bestand in ~/local/share/thumbnailers en 1x een Bash-Script die op verzoek van Nemo OpenScad opstart (onzichtbaar) om te renderen.

Sla het bestand openscad.thumbnailer op in ~/.local/share/thumbnailers (maak pad aan indien niet bestaat).
Inhoud van het bestand openscad.thumbnailer:
[Thumbnailer Entry]
TryExec=/home/marcel/Applications/OpenSCAD.AppImage
Exec=/home/marcel/openscad-thumbnailer %i %o
MimeType=application/x-openscad;model/stl;
Dit bestand verwijst naar de OpenScad-executable: hij gebruikt dat alleen om te kijken of die exe er is, zo niet dan weet Nemo dat hij niets hoeft te doen (maar dan werkt het dus niet).

Maak het bestand openscad-thumbnailer en sla het op in je home-folder (merk op dat /home/marcel mijn home-folder is, zie het script hierboven). Dit bestand gebruikt de OpenScad-executable ook (om alles te renderen).
#!/bin/bash
in="$1"
out="$2"

openscad="/home/marcel/Applications/OpenSCAD.AppImage"

tmp_scad=""

case "${in##*.}" in
stl|STL)
tmp_scad="$(mktemp --suffix=.scad)"
cat > "$tmp_scad" < \$fn=64;
color([0.2,0.6,0.9,1.0])
import("$in");
EOF
src="$tmp_scad"
;;
*)
src="$in"
;;
esac

"$openscad" \
--imgsize=196,196 \
--export-format png \
--preview \
-o "$out" \
"$src"

ret=$?

[ -n "$tmp_scad" ] && rm -f "$tmp_scad"

exit $ret
Als het niet werkt even checken of het MimeType in openscad.thumbnailer wel klopt. Test dit met:
xdg-mime query filetype test.scad
waarbij test.scad een willekeurig OpenScad-bestand is.

Hoe te gebruiken

Zet het script in een bestand openscad-thumbnailer en maak het uitvoerbaar met:
chmod +x openscad-thumbnailer
Run het script vanuit een terminalvenster:
./openscad-thumbnailer

Automatisch

Zet dit script in crontab zodat het automatisch periodiek wordt uitgevoerd:
crontab -e
Bekijk 33 meer scripts
 
×
×