Perhaps you can write some custom wikitext scripting that modifies the corresponding field in the /layout tiddler.
For example, let’s assume that all the iframes are on the default layer (i.e., no “z” values). Their /layout fields would be something like:
iframe1: 1,1,2,2
iframe2: 1,3,2,4
iframe3: 1,5,2,6
iframe4: 3,1,4,2
iframe5: 3,3,4,6
To “maximize” or “restore” a particular iframe, you could write something like this:
<$let max="1,1,4,6,2">
<$tiddler tiddler="$:/temp/frame">
<$select field=thisframe>
<option>iframe1</option>
<option>iframe2</option>
<option>iframe3</option>
<option>iframe4</option>
<option>iframe5</option>
</$select>
<$let save={{{ [[saved_]addsuffix{!!thisframe}] }}}>
<$button>maximize {{!!thisframe}}
<$action-setfield $field=<<save>> $value={{{ [[MyLayout/Layout]get{!!thisframe}] }}}/>
<$action-setfield $tiddler="MyLayout/Layout" $field={{!!thisframe}} $value=<<max>>/>
</$button>
<$button>restore {{!!thisframe}}
<$action-setfield $tiddler="MyLayout/Layout" $field={{!!thisframe}} $value={{{ [<currentTiddler>get<save>] }}}/>
</$button>
</$let>
</$tiddler>
</$let>
Notes:
maxincludes a “Z” value of 2. This ensures that the maximized iframe will be drawn on top of all the other iframes.- The previous layout for iframeN is stored in
saved_iframeNof the$:/temp/frametiddler so it can be restored later on.
-e