Losing currently opened listers if opening a new folder without dopus running

Definitions
let's call this lister layout A = Suppose, I have a lister opened with a bunch of folders open in different tabs.
default lister = one I've setup with some basic folders.
update default lister is disabled.

Scenario 1
now when A is open and i shut the computer down.
when i restart the computer, and open dopus manually by double clicking it's icon, then A opens correctly (the expected and desired behavior)
or if i exit dopus manually by using tray icon and launch via dopus icon, then A opens correctly.

Scenario 2
However if i do not have dopus open manually and open another folder by double clicking it, then I lose A, and dopus opens default lister. I've found no way to get back to layout A other than be recreating it.

Questions
How can i have scenario 2 behave like scenario 1?
Alternatively where does dopus save information about current layout when closed? so that recovery of that information is possible even when i accidentally get in scenario 2.

Settings


image

The normal thing to do would be to set Opus to run when Windows starts, so the folders remembered when you shut down are re-created when you start up.

If you launch Opus in a way that tells it to open a particular folder or layout, that will override any other windows it was going to open.

There is also the option Preferences / Launching Opus / Explorer Replacement / Open all Default Lister tabs when opening a new window, which lets you double-click a folder to open it in a window that also contains any tabs which are part of your Default Lister. But that won't help unless you also update the default lister at shutdown, which you may not want to do.

You could have a script which runs at shutdown and saves a named layout, so that you can open that layout later however you wish.

If the listers you had open on shutdown are really important and hard to re-create, there is a way to access them up to the next time you shutdown Opus. Look in /dopuslocaldata/State Data and you should see openlisters.oll which is an automatically saved layout. If you copy that file to /dopusdata/Layouts you can then load it via the usual layouts menus/commands.

Note that it will have Close all existing Listers when loading this layout set by default, so you may wish to override that if you want to keep other windows open when opening the layout (either by editing the layout via Preferences / Layouts and Styles, or by changing the command which opens it to overrule the setting).

1 Like

Thank you for the detailed and clear response! Will use your ideas to try and avoid this mistake.

I like chromes implementation of history of tabs, as that is something that i've used often to recover accidentally closed windows or tabs. I don't know if something like that is feasible. Probably overkill for most practical purposes. Though I can imagine it as a Tab Log in the output panel, as we already have a files log, undo log ...etc.

This worked really well today !!:grinning: to recover from an accidental open. So look for openlisters.oll in the state data folder to recover old lister.

How would this script work? I didn't find any trigger for exit scripts when searching the preferences panel.

https://www.gpsoft.com.au/help/opus12/index.html#!Documents/Scripting/OnShutdown.htm

I tried creating a button to open the openlisters but it doesn't work. Do layouts have to be in the preferences directory?

Prefs LAYOUT="/dopuslocaldata\state data\openlisters"

Yes:

I got it to work using the following button

<?xml version="1.0"?>
<button backcol="none" display="both" separate="yes" textcol="none">
	<label>Last Open Lister</label>
	<icon1>#togglelayout_vert</icon1>
	<function type="normal">
		<instruction>Copy &quot;/dopuslocaldata\state data\openlisters.oll&quot; TO=&quot;/dopusdata\Layouts\&quot; WHENEXISTS=keepnewer</instruction>
		<instruction>Prefs LAYOUT=&quot;openlisters&quot;</instruction>
	</function>
</button>