- Not triggering an automatic update for this release pending further testing
- Added mouse and keyboard hook event subscriptions, these can be subscribed to via plug-ins or
scripts; this is still an experimental feature, use with caution
- See this post for further details:
https://forum.strokesplus.net/posts/m10429-Mouse---Keyboard-Event-Subscriptions- By default, events are asynchronous; this is the recommended approach unless you understand and
accept the potential consequences as they can cause S+ to become unstable if not done properly
- Sychronous binding allows you to examine the event and instruct S+ to consume the event
- Multiple subscriptions to synchronous events or poorly written code can cause poor user experience
when simply trying to use Windows as every event has to be passed to and processed by each
subscriber. Please exercise responsible judgement when choosing to enable synchronous hook events!
- Added enable mouse/keyboard hook event subscriptions to Options > Advanced, these options control
whether the events can be subscribed to via plug-ins or script.
- Note that enabling these options and using a plug-in or script, which you do not have the source
code to review or interpret, can allow someone to log all of your mouse and keyboard activity!
- If you have the options unchecked, NO script or plug-in can hook these events.
- Added logic in script engine reload to disconnect any ClearScript events stored via sp.StoreObject;
you will need to reconnect after OK/Apply or Reload...probably best to connect/store via Load script,
recommend testing against new __spEngineWrapper.Engine.Name object to only bind events in a single
engine, ideally use the last engine to avoid script/event contention
- Added __spEngineWrapper object to all script engines, which respresents the V8ScriptEngineWrapper
for the currently executing engine. See the autocomplete list in the script editor for method and
propert names. Note that the IsExecuting property does not report true for event bindings as these
happen outside of the normal script execution scope.
- The __spEngineWrapper.Engine property is a ClearScript V8ScriptEngine object
(
https://microsoft.github.io/ClearScript/Reference/html/T_Microsoft_ClearScript_V8_V8ScriptEngine.htm)
- Updated V8ScriptEngineWrapper.Execute to call Interrupt if already executing
- Added Space Resets Token to Options Text Expansion for use when Space is not a trigger, allowing
spaces to still reset the token for matching against text expansions. Note that Tab and Enter
already reset the token even if not selected as a trigger.
- Updated zh-CN translations
- Added language entries:
tabPreferencesEnableMouseHookSubscription
tabPreferencesEnableKeyboardHookSubscription
tabPreferencesTextExpansionSpaceResetsToken