System Notifications

#appActivated: undefined 

Called when the main application window is activated.

Note: Note this message is called every time the main window is activated. Use with caution. If the intention is to do something on system startup, consider #postSystemStartup instead.
#appDeactivated: undefined 

Called when the main application window is deactivated.

Note: Note this message is called every time the main window is activated. Use with caution. If the intention is to do something on system startup, consider #preSystemShutdown instead.
#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: undefined

Sent immediately before the startup scripts are executed. Available in 3ds Max 2019.2 Update and higher.

#preProjectFolderChange: undefined

Sent at beginning of project folder change, before any folders are changed. Available in 3ds Max 2019 and higher.

#postProjectFolderChange: undefined

Sent at end of project folder change, after all folders are changed. Available in 3ds Max 2019 and higher.