// Autosave-Layout-AfterFolderChange // (c) 2022 Ken // This is a script for Directory Opus. // See https://www.gpsoft.com.au/DScripts/redirect.asp?page=scripts for development information. // Called by Directory Opus to initialize the script function OnInit(initData) { initData.name = "Autosave-Layout-AfterFolderChange"; initData.version = "1.1"; initData.copyright = "(c) 2022 Ken"; // initData.url = "https://resource.dopus.com/c/buttons-scripts/16"; initData.desc = "Autosave layout after the folder change, save the second layout after the folder has changed 20 times"; initData.default_enable = true; initData.min_version = "12.0"; } // Called after a new folder is read in a tab function OnAfterFolderChange(afterFolderChangeData) { var cmd = DOpus.Create().Command; if (Script.vars.Exists('folderChangeCount')) { if (Script.vars.Get('folderChangeCount') == 20) { cmd.RunCommand('Prefs LAYOUTNAME="Autosaved-Layout2" LAYOUTSAVE'); Script.vars.Set('folderChangeCount') = 0; } else { cmd.RunCommand('Prefs LAYOUTNAME="Autosaved-Layout" LAYOUTSAVE'); var folderChangeCount = Script.vars.Get('folderChangeCount'); Script.vars.Set('folderChangeCount') = folderChangeCount+1; } } else { cmd.RunCommand('Prefs LAYOUTNAME="Autosaved-Layout" LAYOUTSAVE'); Script.vars.Set('folderChangeCount') = 1; } }