The Amazing PasteUp of @EricShulman

Brilliant!

This helps, also, illustrate that once you have a grid (the set of 3 = D L S) fully designed you can clone it.

I’ve found that when you have a layout you want to use again it is easy and quick to clone it and get to results without having to do much new.

A comment
TT

I’ll definitely add …

24,6 | Polyvision 1927 (4:1 = 1.33333:1 X 3)

:slightly_smiling_face:, TT

I thought about it.

Maybe those 3 (only) should also have Landscape format on the default options list too?

I just say that because they are in common usage.

Best, TT

List of page size presets has been updated:

34,44|US letter (portrait)
44,34|US letter (landscape)
34,56|US legal (portrait)
56,34|US legal (landscape)
42,60|A4 (portrait)
60,42|A4 (landscape)
20,20|square (1:1)
30,20|photo (3:2)
32,18|wide (16:9)

-e

2 Likes

Page size presets $select widget has been enhanced:

In addition to listing preset page sizes, it now also includes an “edit list…” item (at the bottom of the list). When you select this item, instead of setting the layout width and height values, it navigates to $:/config/TiddlyTools/PasteUp/Sizes and opens it for editing.

enjoy,
-e

1 Like

Update to TiddlyTools/PasteUp and $:/config/TiddlyTools/PasteUp/Sizes:

The “Settings” page size preset $select list shows the full text of each line from the $:/config/TiddlyTools/PasteUp/Sizes tiddler, and the format used to specify the width and height have changed so that it is now clear what width and height values are used for each preset.

34 x 44 = US letter (portrait)
44 x 34 = US letter (landscape)
34 x 56 = US legal (portrait)
56 x 34 = US legal (landscape)
42 x 60 = A4 (portrait)
60 x 42 = A4 (landscape)
20 x 20 = square (1:1)
30 x 20 = photo (3:2)
32 x 18 = wide (16:9)

enjoy,
-e

2 Likes

I was doing some experiments on using the grid for full screen Tiddlers.
Looking good!

Here is a screenshot of 6 iframes of stuff on my computer.
The underlying grid is only 6 columns by 4 rows.

Later I’ll figure out how to change, at will, the sizing of each item.

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

TiddlyTools/PasteUp bug fix (gasp!!!) for drag-and-drop handling:

  • drag-and-drop to add field from field table to grid was ignored when field value was blank.
  • drag-and-drop to move field in grid was ignored when field value was blank.

Note that adding/moving of fields with “blank” values was already correctly handled by directly editing the field’s layout values in the field table.

-e

2 Likes

Brilliant! Thankyou!

I got that working and am trying extend it.

I’ll report back when I’m finished.

TT

Your code was great. I was able to build a controller that can set 5 different “Field Coordinates”. Looks like this …

Bacause of the complexity of tracking up to five changes I decided to …

  • only have REVERT LAST change (based on your code)
  • and offer RESTORE ALL. Which simply overwrites /Layout with a previously saved backup to restore the starting point.

What do you think? Okay?

Of course now I have to figure out how to individually set Z-INDEX for fields because my layout above can end up with, for example, two overlapping fields with identical Z-Index of 2—with unpredictable results.

Anyway. It’s going well. I could not have got here without your help!
Thanks, TT

A footnote … in order to help my brain on Layout …

Screenshot 2025-10-03 20.37.12

I made this …

I think some of us need time to grasp the grid :slightly_smiling_face:

TT

/layout fields are stored as T,L,B,R,Z,P (top, left, bottom, right, layer, page)

If layer or page is blank (or less than 1), it is omitted. Thus,

T,L,B,R = bottom layer, first page
T,L,B,R,Z = layer Z, first page
T,L,B,R,,P = bottom layer, page P
T,L,B,R,Z,P = layer Z, page P

-e

I haven’t had time yet to use or understand Pages

Does it mean, for instance, “Page 2”, follows the Layout of “Page 1”.

Unclear, TT

“pages” lets you define multiple layout grids in a single PasteUp tiddler. All pages in the same PasteUp tiddler use the same grid size and background settings and share the same /layout and /styles tiddlers, but they are each drawn separately, one after another.

The intended use-case is to permit the creation of multi-page printed output. When printed, each page is automatically output on a separate physical page.

-e

If I made a paste up with only Page 1 could I add a Page 2 later?

Just wondering, TT

Sure. Just go to the “Settings” popup and change the number of pages. It doesn’t alter the existing “Page 1” layout. It just add more grids for the additional pages. You can then move items from Page1 to any of the additional pages.

However… let’s suppose you set pages=3, and move some items from page1 to page 3. Then, later on, you set pages=2. The items on page3 are automatically shown on page 2 (the last page that is now available). Note that the page number assigned to those items remains “page 3” (unless, of course, you then move those items now shown on page 2, which updates the assigned page number).

-e

PAGES IN PASTEUP …

I get it! Looks good, easily updated …

2nd page gives the same grid and background.
And easy paste-in.

TT

The one Tool I’d really like is a NUDGER (one STEPPER)… a separate tool that could …

  1. Select a pasteup
  2. Select a field in that pasteup
  3. Move that field ONE cell U,D,L,R
  4. Stretch/Shrink the field D or R ONE cell
  5. Apply a Z layout level

My image of a control is this …

TT

TiddlyTools/PasteUp/View has been updated:

  • When a PasteUp tiddler is unlocked (enabed for editing), a new “toggle toolkit” button appears next to the “lock/unlock” button.

  • When you click this button, a toolkit for making quick adjustments to the current PasteUp tiddler’s /layout appears on the left side of the layout grid.

    • Select a field from the drop-list at the top of the toolkit. Note that as you hover over the toolkit panel, the selected field will show a dotted border in the layout grid (and in the field table, if it is visible)
    • Below the drop-list, the selected field’s current (top,left)-(bottom,right) [widthXheight] layout information is shown.
    • This status line also shows a “delete field” button which will completely remove the selected field from the PasteUp (after confirmation, of course!)
    • Below the status line are “-1” and “+1” buttons for adjusting the selected field’s width, height, and layer layout values. Note that the field’s width and height values cannot become less than 1 x 1, regardless of how many times you click the “-1” buttons. Similarly, the field’s layer value cannot become less than 0.
    • Below the width, height and layer buttons are a cluster of four “move” buttons with directional chevron icons. A click on one of these buttons will shift the position of the selected field by one grid square in the corresponding direction.
  • Currently, I have not included controls for adjusting a field’s page layout value. I also have not included “bring to front/send to back” buttons for adjusting a field’s layer value. Both of these are possible, but I didn’t want to over-complicate the toolkit interface with too many “bells and whistles”.

  • @TiddlyTitch: in your mockup, you show a “grid” button and a “tools” section. Can you elaborate on what these would do?

enjoy,
-e