The Amazing PasteUp of @EricShulman

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:

  • max includes 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_iframeN of the $:/temp/frame tiddler so it can be restored later on.

-e

1 Like