Commit Graph
4 Commits
Author SHA1 Message Date
dotCooCoo cc2ec8f292 Scripts: a script chosen from File › Scripts reads its #include files and runs $.evalFile
File › Scripts ran an installed script as source text, so the run had no
file: an #include line ended it with "script file read refused", and
$.evalFile was refused too. The menu now checks the script as before and
runs it with script.run {path}, as docs/mcp.md describes, so its
included files and the files $.evalFile runs are read beside it.
2026-11-11 00:00:52 -08:00
dotCooCoo d7a89d3243 Scripts: the read after a script left the folder asks for a frame when it ends
When File › Scripts runs a listed script that is no longer in the Scripts folder, the folder is read again on a thread. That read now has the window's context, so it asks for a frame when it ends and an idle window takes in the new listing (and the macOS menu bar follows it) without waiting for the next input event.
2026-11-10 19:24:35 -08:00
dotCooCoo f78d715fee Scripts: a Scripts folder read asked for during another starts when that one ends
A File menu opening or a failed ui.runInstalledScript while a read of the
Scripts folder was under way was dropped, so a script added after that
read passed the folder stayed unlisted until the next window activation
or File menu opening. The request is now kept and the next frame starts
the read once the running one is taken in.
2026-11-10 18:23:33 -08:00
dotCooCoo 52efba54aa Scripts: File › Scripts lists the Scripts folder, subfolders as submenus
File › Scripts now lists the .js and .jsx files of the Scripts folder next
to the preferences, each named after its file without the extension, with
each subfolder as a submenu, above Check Script… and Other Script…. The
help page describes this listing:
https://helpx.adobe.com/illustrator/desktop/automate-visualize-data/automate-actions/install-and-run-scripts.html

Choosing a listed script runs it through script.run without the warning
Other Script… shows. script.listInstalled returns the same listing, and
ui.runInstalledScript {path} runs one entry.

VectorCraft's own rules: the folder is read off the UI thread when the
app starts, when its window becomes active and when the File menu of the
window's menu bar opens; only names are read; links, junctions, hidden
and system entries are left out and checked again before a run; one read
stops at 2,048 entries, 512 scripts, 128 subfolders, 4 levels or 250 ms
and the menu then notes that some scripts were not listed. Under an
automation read root, script.listInstalled and ui.menu.list leave out a
folder outside the root.

#1183 (LloydNicholson) also proposed a Scripts menu listing a folder.
2026-11-10 17:46:36 -08:00