Currently there is no great way to extend Opus main UI: namely, the columns in the most commonly used file list.
You have a relatively rich set of APIs with JScript, which is
- − slow,
- − outdated, and
- − rather limited as a language (poor std that can't be easily extended by tapping into the huge JS module infrastructure)
Or you have the new kid on the v13 block — Evaluator — which is
- ++ more performant,
- ± has access to a lot of the same Opus data as JScript (but not all!),
- − but is an even more unergonomic language to work with both due to the language limitations as well as lacking facilities available to JScript (some are listed here )
Then you can do Windows-wide shell extensions (with ), but:
- − fatal flaw: there is no Opus integration, so you can't, e.g., get the folder size info that Opus has already received from Everything, get user config from Opus that user defines in a familiar interface, and just add your custom transformation based on those configs, and pass it back in a format Opus expects to get for a given column
- − it's more complicated (the only real option seems to be XP-era deprecated APIs, though still supported by Opus, so I guess not a big deal)
So I'd like to ask for a set of APIs where instead of calling the embedded scripting engine you'd be able to make a call to a native compiled function in some DLL, which would be able to
- request the same Opus data Jscript can get, and
- send back to Opus an agreed-upon type of results (say, 5 numbers for 5 columns so you could do share some common calculations, or a single text value).
This way you could use whatever rich general-purpose programming language with all the tooling/modules/other infrastructure available to it, and not suffer many of the performance and other limitations listed above