After much searching, my probably laughable attempt consists of combining the answer to the question at https://tex.stackexchange.com/questions/433110/setting-page-attributes-of-every-page-in-a-generated-context-file with what I can see in the source at https://source.contextgarden.net/tex/context/base/mkiv/lpdf-mis.lua:

\appendtoks
  \startluacode
      local formatters = string.formatters

      local pdfverbose = lpdf.verbose
      local pdfarray = lpdf.array

      local factor  = number.dimenfactors.bp
      local f_value = formatters["\letterpercent.6N"]

      local function boxvalue(n)
          return pdfverbose(f_value(factor * n))
      end

      lpdf.addtopageattributes("TrimBox", pdfarray {
          boxvalue(30),
          boxvalue(30),
          boxvalue(180),
          boxvalue(267),})
  \stopluacode
\to \aftereverypage

This code throws no errors, but unfortunately it also has no effect. What am I doing wrong?

Jack

On Sat, 25 Apr 2020 at 22:37, Jack Steyn <steynjack@gmail.com> wrote:
Hi,

I am having trouble setting the PDF boxes to my desired dimensions. Suppose I have \setuppapersize[a][b]. I want CropBox = MediaBox = b. So far, so good: I can just use cropoffset=0mm in \setuplayout. But I want TrimBox = a. However, as far as I can see, I can't achieve this using trimoffset in \setuplayout unless (width of b) – (width of a) = (height of b) – (height of a), which does not hold in my case. So it looks like I need to find another way to set the TrimBox (and the BleedBox, which I want to be 3mm wider and taller than the TrimBox). Does anyone know how to do this?

Best,

Jack