screen-toolkit : full screen utility - #221
Conversation
The dependency list omits commands directly invoked by the plugin. These include the recording backends at screen-toolkit/service.luau:544, xdg-open at screen-toolkit/scripts/lens-upload.sh:14, the annotators at screen-toolkit/service.luau:465, hyprctl at screen-toolkit/service.luau:513, and pkill at screen-toolkit/service.luau:701. The gimp fallback at screen-toolkit/service.luau:471 is also absent from both the manifest and plugin README. Repository policy at README.md:53 requires external commands to appear in dependencies. The incomplete metadata also means the declared dependencies cannot provide any recording backend for a primary advertised feature.
recordStop calls finalizeRecord at screen-toolkit/service.luau:712 and screen-toolkit/service.luau:714, but the local finalizeRecord declaration does not enter scope until screen-toolkit/service.luau:736. Those references therefore resolve as a global rather than the later local function. Stopping a recording fails instead of saving when either record-copy-to-clipboard or record-skip-confirmation is enabled.
shareFile indexes SHARE_EXIT_KEYS at screen-toolkit/service.luau:799, before the local table is declared at screen-toolkit/service.luau:814. The reference resolves as a nil global, so failed uploads raise a callback error instead of displaying the intended translated failure message.
The documented recordSaveMp4 and recordSaveGif IPC events are not present in the handler table at screen-toolkit/service.luau:876. The implementation exposes only recordSave at screen-toolkit/service.luau:891, so both documented commands are ignored and cannot save a recording. |
Plugin
alexander/screen-toolkitplugin.toml)What it does
Screen Toolkit — a Wayland Swiss-army-knife for anything on your screen:
this a remade of ycf-anon legacy v4 screen-toolkit , sorry thought someone else will do it but I really needed it , it was my fav on v4
External dependencies
slurp, grim, hyprpicker, tesseract, imagemagick, zbar, curl, jq, ffmpeg, ffprobe, translate-shell, swappy/satty, hyprctl, gpu-screen-recorder, wl-screenrec/wf-recorder, pkill, bc. All shelled out via
service.luauand thescripts/helpers; per-tool rationale is in the README.Testing
Screenshots / Videos
Checklist
idafter the/inplugin.tomlexactly.plugin.toml,README.md,thumbnail.webp, andtranslations/en.json.README.mdfollows theREADME template, documents
every entry id and dependency, and includes exact panel IPC commands and launcher prefixes where applicable.
thumbnail.webpwith the thumbnail generator.versionfollows semver and is bumped in this PR;plugin_apiis the oldest API level this plugin requires.understand that language well enough to review and maintain it (no unreviewed machine/LLM translations).
catalog.toml; CI generates it.Code review attestation
Plugins run as trusted, unsandboxed Luau in the user's session. Confirm:
licensedeclared inplugin.toml.