Skip to content

Command interface

mhtvsSFrpHdE edited this page Oct 14, 2022 · 21 revisions

Command interface

Start from 2.2, you can type command to stdin to affect software behavior,
without have to restart or close.

Start from 2.5, the os native console replaced by a Qt window.
There is no runtime option to show os native console.
However, you can still compile with console and set start to tray to emulate early version behavior.
In this case, the stdin interface is available.
See Source\Define\define.h\CONSOLE_ENABLED for more details.

You can crash the program if a command is misused.

Basic - TrayMenu

All command name are case-sensitive. Also available in tray menu.

pause

Try to tell software pause prefetch, equivalent to set next prefetch interval to infinity.
If prefetch is running, the rest of thread still in thread pool will skip to run.

resume

This command must run after scan folder, or make sure no active scan folder is running.
Otherwise, two thread will end up to access same variable,
finally trigger a null or array out of bounds unhandled exception to crash the software.

Try to tell software resume prefetch, unfinished prefetch interval will not reserve.
For example, prefetch pause at interval timer 65/90 seconds,
after resume requested, the rest of 90-65=25 seconds will discard,
and start a new round of prefetch immediately.

traydc

"tray-double-click", show or hide console window, or called "minimize to tray".

exit

Destroy any running status and exit, should be same as click on close window button.

Basic - Advanced

These command are hard to use, have higher risk to crash the program,
so not provided in tray menu.

expiresc

Send pause command and wait to idle, delete scan cache, restart prefetch.

This command is designed to run on idle.
Even by coincidence, it's allow to run during prefetch,
but GUI will freeze until queued prefetch task complete.
There's a delay between "pause request" and "wait all done".

You can either type pause and wait prefetch enter Idle status before do expiresc
to prevent GUI hang. But just don't do it during prefetch instead of try fancy stuff.

Parameter

These command name are case-sensitive, parameter are not case-sensitive.
Command name and parameter often split by space.

run

Open third party exe.

Example:

run explorer Firefox.lnk

lang

Switch to another translate file.

Example:

lang en_US
lang zh_CN
Clone this wiki locally