DOpusRT runs in the Windows GUI Subsystem, is there a CUI (Console) Subsystem Version?

DOpusRT runs in the Windows GUI Subsystem and thus does not have stdin/stdout. With some chicanery and JScript a console can be created etc.

But it would be useful if it was a CUI subsystem app so that WScript.Shell could be used for stdin/stdout from the command line. That would aid scripting operations.

dopusrt /cmd JsCliCmd

As a CUI it can be smart enough to detect if its parent process is a GUI and CUI and keep a console hidden by being set to launch with minimized hidden console.

Did I miss something? I.e., Does DOpus already allow using something like DOpusRT from the command line and support stdout. With WSH scripts it becomes quite useful to be able to run operations from the command line.

David

What would you send to/from stdin/out? DOpusRT.exe doesn't read or write anything as it is, except command line arguments and text files, which would work the same whether the exe was flagged as GUI or CLI.

I wrote various JScript functions that invoked DOpus functionality on folders or directories to give me command line operations. It's slow to invoke in relative terms, but that is fine for many scenarios. Console I/O enables DOpus operations (including metadata tags, columns, selections etc) to be integrated into source-code control, nodejs, and various devops functionality including powershell.

But the lingua-franca of basic cli interop is stdin/stdout; which I assumed is what DOpusRT.exe really provided a gateway too.

This makes DOpus functionality able to be invoked or consumed in a CLI "stream" pattern by toolsets.

As a related aside, I expect to be adding a "viewer" window that will support direct WebView and Console windows in the "preview" panel. Actual renderer would be in a separate isolated process, same way Chrome-browser works.

But, if there is a better way to add a panel to the DOpus lister, I would love to hear suggestions. Perhaps the Utility or Metadata panel areas. Perhaps some band area?

One of my objectives is to allow "live" markdown viewing and editing, as well as (web-viewer-based) text/source-code editing of local files from within a Lister.

I already have all the scripting-engine, web-server, sccs service component as a single portable binary; including mountable file-systems (Dokan/Fuse).

It just feels very natural for me to be able to extend DOpus Lister to serve as a Navigation/Project model manager/ide-shell (so no need for things like VisualCode or Notepad++) for many DevOps and script-language project use-cases. DOpus already has so much of the rich elements needed for simply extending it appropriately; and I want it. Lol, which if popular, would expand the DOpus customer base.

It only uses command line arguments right now, but if you need something specific, let us know.

Opus exposing ActiveScripting or PowerShell objects for controlling Opus from outside of Opus is always possible as well, if there's a good case for it over what dopusrt.exe provides.

The viewer pane is the only place plugins can add a fully custom UI within the lister window (rather than separate dialogs) at the moment.

(Well, there's also the file display itself, if a shell namespace extension was written.)

I would experiment with the UI as a viewer plugin and see how you go. If it turns out to work well but would be better with a separate panel, we can re-evaluate things later and see if it makes sense to add a way to have a completely separate panel so the viewer isn't taken over.

The recent betas added a command to lock the viewer pane so it doesn't change when the selection changes, which will probably be of interest here.

Excellent. That last feature of locking is definitely something I would need to avoid hacking it up.

I was already playing with this library/shell-dev-tool SharpShell and this Markdown project.