Copy link to clipboard
Copied
I am sure this is a challenge we all face at some period:
I have been downloading a lot of scripts lately, and my file structure is getting messy. I see that ID looks for scripts in two places:
C:\Users\owner\AppData\Roaming\Adobe\InDesign\Version 20.0-ME\en_IL\Scripts\
as well as:
C:\Program Files\Adobe\Adobe InDesign 2025\Scripts\Community\Scripts Panel
and maybe elsewhere?
I want to organize everything in one directory and then break that up into subdirectories.
So, where should everything be going?
And is there a third-party tool for organizing scripts more efficiently?
Thank you, and have a good day!
Susan Flamingo
edit: I would really also be able to add short notes to the script, see if a hotkey has successfully been assigned, and much more metadata
Also, i have some vision challenges and I would like to enlarge all the text in the script panel.
Copy link to clipboard
Copied
There is no 3rd party tool for organising. You can create folders inside these folders and they should be visible in the scripts panel. Another this is that you can keep your scripts in folders anywhere in your computer and paste the shourtcut to these folders inside the folder you mentioned above. What I do is create a folder called Scripts, inside I create subfolders for categorising the scripts and paste the shortcut to the Scripts folder into C:\Program Files\Adobe\Adobe InDesign 2025\Scripts\Community\Scripts Panel. Now if i add a new script file into any of the folders or a new folder it will be automatically visible in the scripts panel
-Manan
Copy link to clipboard
Copied
Hey @Manan Joshi
Thanks for the tip.
I didn't know we could put shortcuts/ aliases in the Scripts Panel folder. Just tried it on Mac and it worked well. That can indeed be quite interesting.
I'm starting using GitHub and I was a bit worried/ disappointed with the way I would have to synchronize the Script Panel Folder. With the use of aliases, it may become much easier and sustainable. Especially if I can script the making/ update of all the aliases.
Copy link to clipboard
Copied
@Fred.L I have 1000s of scripts and I can't have them all loaded so aliases didn't work well for me. Now I use a custom script that copies a hand-curated list of my scripts into the appropriate folders of the apps I use. My case is no doubt unusual, so I am just mentioning for an extra twist on the topic.
I also use hard links of my github scripts so that they can exist in multiple places—my local github repo, and also my normal scripting folder, for example, and of course my app-specific loaded folders. This means that if I find a bug in any of those scripts/library files, I just update one and it will update all of them at once.
- Mark
Copy link to clipboard
Copied
Hey @m1b
Hard links… that's something I didn't know existed… Thanks for the information.
Things are becoming even more interesting now.
If I understand what you're saying, tell me if i get it wrong.
- You have your GitHub repos somewhere on your disk
- You create a hard link of some any script and place these hard links into the Script Panel folder (manually or semi-automated via some script, Apple Shortcuts app. or else)
- You can either edit the scripts via ID/VS Code (or else) or via GitHub (then pull/push/ whatever)
- Both of the instances of the edited script will be updated.
If it is what I think it is, that looks like something I'll be happy to try ^^
Copy link to clipboard
Copied
> If I understand what you're saying ...
Yes! You understand.
One gotcha though. Be careful when you're using git for version control and you want to revert to a previous version of a hard-linked file: the normal revert will replace the hard-link with a new non-hard-linked file. Instead I do a copy/paste of the editor in VSCode and update the hard-linked file with the old contents that way. That's where things can get a bit complex. Otherwise it works great. I use an automator shortcut (a service that appears under the context menu on the Finder) to make the hard links and I always give them a gray finder label just to help keep track. I have another automater shortcut that reports how many hard links exist for the selected file. PM me if you want me to send you a copy of those services—I can't easily post them here because they are MacOS bundles.
Copy link to clipboard
Copied
Thanks for the extra pieces of information
I will definitely PM you. Thanks for the proposal. It'll save me some precious time ;).
I've got quite a few scripts I'd like to share and Github is certainly a place where I can easily update everything and avoid sharing hard copies of scripts that are to become obsolete over the time.
Copy link to clipboard
Copied
Hey ,
This is a very interesting topic, thanks for bringing it to the table. I'm looking forward to hearing how people deal with their own scripts. It's going to be interesting, possibly very inspiring ^^
I would say that the final choice should be something that fits your own workflow, the way you are using scripts. I've tried different ways myself and I've been using the following method for about 1 year, and haven't been across a better way so far. I'll try to describe my process. I believe it's more valuable than the outcome.
Statement:
There are 3 different main folders that ID scans for the Scripts Folder: From Community / Application and User folders
I usually delete the Application and Community scripts folders after installing a new version of ID (explaining why below)
How I'm using scripts and questions to ask yourself.
This is the question I asked myself first. How do I want to run my scripts? From there, it's easier to find a process to organise them. The answer was :
- I want to get to them fast. I don't want to waste my time looking for the right script in a long list. With more than a hundred scripts in the Scripts Panel, it would be cumbersome.
- Use folders? Well, it helps sorting them out, for sure. Creating subfolders like Tools/ Structure/ Objects etc. is useful. But opening/ closing the sub-folders doesn't help for getting to them fast
- Re-Naming them carefully. Yes, this seems straightforward. Why not implementing the folders aspect within the names then? That's a viable option
- A script runner? P.Kahrel did make a script that helps running scripts. I decided to make something similar and ended up with a script that checks folders’ content and adds the scripts in it. It's something I'm using now for special Routines but it's not quite viable for the rest of the scripts.
- Accessing the scripts via Quick Apply. Then I found out that the Quick Apply native ID function was there. With Cmd+Entry, you can access many things. By default, it's not for scripts. But it can. Going into the options of the panel, you can change everything and activate the Scripts access. From there, Cmd+Entry became a script launcher that finds the best match to your scripts’ names while typing the letters. No need to write everything. 2-3 characters are enough to see the script you're looking for. With practice, you see where similar naming can be either an added value or the opposite. Great, you now have to know how to name your scripts better.
- Main folders. Using Quick Apply brings the scripts from Application and Community folders. For me, it was inconvenient. I'm not using them so I decided to delete these folders. (Not entirely true. I did a backup and saved the Break thread text script, which is just fantastic.)
- Naming the scripts. From there, I decided to put all my scripts in the Script panel folder, with a minimum of sub-folders. Sub-folders can still be useful. I'm using them for dropping my JSON files (saves of scripts’ settings mostly), automation routines, table formatting scripts, and "the vault" where I'm testing scripts.
Scripts are methodically renamed along their scope of practice, adding a prefix to their original names.
I'm using the following prefixes.
| Obj. | = for scripts that need selected objects
| Stru. | = for scripts that deal with Structure elements
| Tex. | = for scripts that deal with texts
| To. | = for scripts that are general Tools
| Tab. | = for scripts that deal with tables
| F. | = for scripts that I've done myself and are very specific
| _ | = for scripts for miscellaneous scripts, scripts’ settings readers, or any script that I want at the top of the Scripts Panel folder.
The list goes on with more specific prefixes, but you get the point, I'm sure.
- Current use.
Having set up everything, I can now run my scripts without touching my mouse or even opening the Scripts panel. After a while, you'll know pretty well the names of your scripts. Even if you don't, you can still search for them with words, something you can't achieve with the Scripts panel. Only your eyes will help you there.
- Shortcuts. This is something not to forget. You can add a shortcut to your script (via the ID EDIT menu). I'm using about 5 shortcuts for scripts. I've set up some more but I'musually having trouble remembering them. I guess using a Stream Desk (Elgato) doesn't help on the matter…
Copy link to clipboard
Copied
Thank you for your attention and reply!
I see this will require a learning curve.
In the meantime, the best thing for me is using keyboard shortcuts. But there is one that stubbornly refuses to execute (the script works via the panel,) and when I apply the shortcut, it says "unassigned", weird.
I am amazed that nobody has developed a tool that would do everything i mentioned in OP.... sigh....
Copy link to clipboard
Copied
Hey,
There are a number of shortcuts that are protected and can't be used, for some reasons.
I also experienced that, sometimes, ID seems not to be able to use a Shortcut that you know has worked before (for me, it's CTRL+SHIFT+F - on a Mac). Rebooting ID or the computer usually helps recovering a good behaviour. I would advise you to try that.
Shortcuts demand a low level access. Adobe programmers blocked the access via Extendscript for security reasons. This is one of the reasons why nobody has created a custom implementation. This would require a plugin developped in C++.
Copy link to clipboard
Copied
In the meantime, the best thing for me is using keyboard shortcuts. But there is one that stubbornly refuses to execute (the script works via the panel,) and when I apply the shortcut, it says "unassigned", weird.
By @SuzzyFlamingo
Possibly it's the scope of the shortcut you defined? Make sure the product area is aet to Scripts and context to Default.
Copy link to clipboard
Copied
Yes, that helped. Context was set to "text" because I thought that was correct, as it acts on the selected text frame. But text and text frame are not the same...
Copy link to clipboard
Copied
@Fred.L regarding the Quick Apply panel: I do *exactly* that! It feels ironic that when a new version of Indesign is installed the Quick Apply panel filters out scripts and shows everything else, so I have to go through (with no documents open) and switch off everything and turn scripts on. So I *only* use quick apply for scripts. It suits me well.
P.S. in Illustrator I use Raycast to give similar functionality, which is awesome.
Copy link to clipboard
Copied
Quick Apply is really great.
Copy link to clipboard
Copied
Also, i have some vision challenges and I would like to enlarge all the text in the script panel.
By @SuzzyFlamingo
Preferences > User Interface Scaling (will enlarge text everywhere).
Find more inspiration, events, and resources on the new Adobe Community
Explore Now