System Notifications
#appActivated: undefined Called when the main application window is activated.
#appDeactivated: undefined Called when the main application window is deactivated.
#postSystemStartup: undefined Sent when the software goes live.
#selectionLocked: undefined Sent when selection lock is triggered.
#selectionUnlocked: undefined Sent when selection unlock is triggered.
#systemPreNew: integer Sent just before 3ds Max is reset.
Calling callbacks.notificationParam() within the callback function will return an integer value corresponding to the option selected in the New Scene dialog:
1 - New All
2 - Keep Objects
3 - Keep Objects and Hierarchy
#systemPostNew: undefined Sent just after 3ds Max is reset.
#systemPreReset: undefined Sent before 3ds Max is reset.
#systemPostReset: undefined Sent after 3ds Max is reset.
#systemPreDirChange: undefined System path has changed - Catalogs dir modified from the Configure Path dialog.
#systemPostDirChange: undefined System path has changed - Catalogs dir modified from the Configure Path dialog.
#preSystemShutdown: undefined Sent just before the software enters the shutdown process.
#postSystemShutdown: undefined Sent just before the software finishes the shutdown process.
Some operations involving the Scripting Listener and the 3ds Max UI will not be available when this callback is run because they have been shut down already. Non-UI related operations like writing to a file would be performed correctly though.
#systemShutdownCheck: undefined Sent when potentially starting to shut 3ds Max down, before checking for things that can cancel the shutdown, such as scene dirty or ExitMAXCallback callback object returning false. Available in 3ds Max 2020.1 and higher.
#systemShutdownCheckFailed: undefined Sent if system shutdown was cancelled. Available in 3ds Max 2020.1 and higher.
#systemShutdownCheckPassed: undefined Sent if system shutdown was not cancelled. and system shutdown is about to start. Available in 3ds Max 2020.1 and higher.
#welcomeScreenDone: undefined Sent once initial welcome screen is done (either it did not show or it has been closed).
#preAppThemeChange: undefined Sent before the application theme is changed.
#postAppThemeChange: undefined Sent after the application theme is changed.
#postLoadingMenus: undefined Called after a menu file has been loaded and the menu bar updated.
Clients registered for this notification could add their own menu or menu item to the currently loaded set of menus.
#preLoadingCuiToolbars: string Sent before the main application menu bar is saved.
Calling callbacks.notificationParam() returns the loading path, or empty if loading the default toolbars.
#postLoadingCuiToolbars: string Sent after the main application menu bar is saved.
Calling callbacks.notificationParam() returns the loading path, or empty if loading the default toolbars.
#preSavingCuiToolbars: string Sent before a toolbar configuration is saved.
Calling callbacks.notificationParam() returns the saving path, or empty if saving the default toolbars.
#postSavingCuiToolbars: string Sent after a toolbar configuration is saved.
Calling callbacks.notificationParam() returns the saving path, or empty if saving the default toolbars.
#preSavingMenus: string Sent before the main application menu bar is saved.
Calling callbacks.notificationParam() returns the saving path.
#postSavingMenus: string Sent after the main application menu bar is saved.
Calling callbacks.notificationParam() returns the saving path.
#postSceneReset: undefined Sent just after deleting all refs in existing scene.
This notification is sent after wiping the existing scene. Examples of when this occurs is immediately before loading in the new scene from a file, and when doing a file new
#preSceneStateRestore: string Sent before a Scene State is restored.
Calling callbacks.notificationParam() returns the Scene State name.
#postSceneStateRestore: string Sent after a Scene State is restored.
Calling callbacks.notificationParam() returns the Scene State name.
#preSceneStateSave: string Sent before a scene state is saved.
Calling callbacks.notificationParam() returns the Scene State name.
#postSceneStateSave: string Sent after a scene state is saved.
Calling callbacks.notificationParam() returns the Scene State name.
#preWorkspaceChange: undefined Sent before a CUI workspace is about to change.
Calling callbacks.notificationParam() returns the workspace name.
#postWorkspaceChange: string Sent after a CUI workspace has changed.
Calling callbacks.notificationParam() returns the workspace name.
#preWorkspaceCollectionChange: undefined Sent before the collection of system workspaces is about to change.
#postWorkspaceCollectionChange: undefined Sent after the collection of system workspaces has changed.
#preStartupScriptLoad: undefinedSent immediately before the startup scripts are executed. Available in 3ds Max 2019.2 Update and higher.
#preProjectFolderChange: undefinedSent at beginning of project folder change, before any folders are changed. Available in 3ds Max 2019 and higher.
#postProjectFolderChange: undefinedSent at end of project folder change, after all folders are changed. Available in 3ds Max 2019 and higher.
