{"id":51070674,"url":"https://github.com/themactep/scut-thumbnailer","last_synced_at":"2026-06-23T10:01:42.832Z","repository":{"id":366648109,"uuid":"1277226484","full_name":"themactep/scut-thumbnailer","owner":"themactep","description":"Sure Cuts a Lot app cut files thumbnailer creating preview images for Thunar and other Linux file managers","archived":false,"fork":false,"pushed_at":"2026-06-22T17:51:31.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-22T19:24:34.133Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/themactep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-22T17:43:57.000Z","updated_at":"2026-06-22T17:51:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/themactep/scut-thumbnailer","commit_stats":null,"previous_names":["themactep/scut-thumbnailer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/themactep/scut-thumbnailer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fscut-thumbnailer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fscut-thumbnailer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fscut-thumbnailer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fscut-thumbnailer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/themactep","download_url":"https://codeload.github.com/themactep/scut-thumbnailer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fscut-thumbnailer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34684686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-23T10:01:42.019Z","updated_at":"2026-06-23T10:01:42.824Z","avatar_url":"https://github.com/themactep.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# scut-thumbnailer\n\nA Linux file-manager thumbnailer for Sure Cuts A Lot project files\n(`.scut`, `.scut2`, `.scut3`, `.scut4`, `.scut5`, `.scut6`).\n\nExtracts the embedded PNG preview from SCUT files and registers the thumbnail\nwith your desktop environment so Nautilus, Thunar, Dolphin, and others can\ndisplay previews in their icon view.\n\n## Requirements\n\n- **ruby** (\u003e= 3.0, uses stdlib only: rexml, base64, cgi, uri)\n- **imagemagick** (provides the `convert` command for resizing)\n- A freedesktop-compliant file manager (Thunar 4.18+, Nautilus/GNOME Files, Dolphin, PCManFM, etc.)\n- **tumbler** (for XFCE/Thunar — typically installed by default)\n\n## Quick Install\n\n```sh\n./install.sh\n```\n\nInstalls to `~/.local/share/` (no sudo needed). Then restart your file manager:\n\n```sh\npkill -9 thunar          # XFCE / Thunar\n# or\nnautilus -q              # GNOME / Nautilus\n# or\npkill dolphin            # KDE / Dolphin\n```\n\nClear the thumbnail cache if you want immediate results:\n\n```sh\nrm -rf ~/.cache/thumbnails/\n```\n\n## System-Wide Install\n\n```sh\nsudo ./install.sh system\n```\n\n## Uninstall\n\n```sh\n./install.sh uninstall\n```\n\n## How It Works\n\n| File | Purpose |\n|------|---------|\n| `bin/scut-thumbnailer` | Ruby script that reads a `.scut` file, decodes the base64 PNG from the `\u003cpreview\u003e` element, and writes a resized thumbnail |\n| `sure-cuts-alot.xml` | freedesktop MIME type definition — registers `application/x-sure-cuts-alot` for `*.scut` through `*.scut6` |\n| `scut.thumbnailer` | Tumbler/Nautilus thumbnailer entry — tells the desktop environment how to generate thumbnails for this MIME type |\n\n**Execution flow:**\n\n1. File manager navigates to a directory containing `.scut*` files\n2. File manager queries tumbler (or the built-in thumbnailer) for supported MIME types\n3. Tumbler reads `~/.local/share/thumbnailers/scut.thumbnailer`, registers the MIME type\n4. For each `.scut*` file, tumbler calls `scut-thumbnailer \u003cinput\u003e \u003coutput\u003e \u003csize\u003e`\n5. The script extracts the embedded PNG preview, resizes it, and writes it to the temp output\n6. Tumbler saves the result to `~/.cache/thumbnails/`\n7. The file manager displays the thumbnail\n\n## Troubleshooting\n\n**No thumbnails appear:**\n- Kill the file manager daemon fully: `pkill -9 thunar`\n- Clear the thumbnail cache: `rm -rf ~/.cache/thumbnails/`\n- Verify MIME type: `xdg-mime query filetype \u003cfile.scut6\u003e` should show `application/x-sure-cuts-alot`\n- Test the script manually: `scut-thumbnailer file.scut6 output.png 256`\n- Check tumblerd is running: `systemctl --user status tumblerd`\n\n**Error \"cannot load such file -- mini_magick\":**\n- Ignore — the script falls back to ImageMagick's `convert` command automatically\n\n**\"Image file contains no data\" in tumbler logs:**\n- Check `journalctl --user -u tumblerd` for the real error\n- Ensure `ruby` and `convert` are on PATH for the tumblerd process\n\n## License\n\nGNU General Public License v2.0 or later. See [COPYING](COPYING).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemactep%2Fscut-thumbnailer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemactep%2Fscut-thumbnailer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemactep%2Fscut-thumbnailer/lists"}