Big news today – my macOS scriptable app in on the App Store. It’s called SinterPixels.

The SinterPixels icon, an overlapping blue square and red parallelogram with the letters S and p in black, the S centered on the circle, the p in italic centered on the parallelogram

The app icon is itself made in SinterPixels, and as an introduction to what the app does, here’s the script which makes it:

to newSquare(doca, len, pos)

  tell application "SinterPixels"

    tell doca

      make new polygon with properties {radius:len / 1.414, position:pos, line width:0, fill color:white, rotation:45, vertex count:4}

    end tell

  end tell

end newSquare

 

to newCircle(doca, rad, pos)

  tell application "SinterPixels"

    tell doca

     set newC to make new circle with properties {radius:rad, position:pos, line width:0, fill color:white}

    end tell

  end tell

  return newC

end newCircle

 

to makeIconBackground()

my newSquare(iconDoc, 512, {256, 0})

my newSquare(iconDoc, 512, {-256, 0})

my newSquare(iconDoc, 512, {0, 256})

my newSquare(iconDoc, 512, {0, -256})

my newCircle(iconDoc, 256, {256, -256})

my newCircle(iconDoc, 256, {-256, -256})

my newCircle(iconDoc, 256, {256, 256})

my newCircle(iconDoc, 256, {-256, 256})

end makeIconBackground

 

tell application "SinterPixels"

  close every document without saving

  set iconDoc to make new document with properties {height:1024, width:1024}

  my makeIconBackground()

  tell iconDoc

    set pPoly to make new polygon with properties {position:{0, 0}, vertex:{{-216, -472}, {394, -472}, {512, 150}, {-98, 150}}, fill color:{1.0, 0.29, 0.29}, line width:0}

  end tell

  set sCirc to my newCircle(iconDoc, 380, {-130, 110})

  set fill color of sCirc to {0.31, 0.31, 0.93}

  set sCirc to my newCircle(iconDoc, 200, {220, -220})

  set fill color of sCirc to {1.0, 0.29, 0.29}

  tell iconDoc

    set sText to make new text shape with properties {position:{-124, 80}, fill color:black, line width:0, font:"Helvetica", bold:true, text content:"S", font size:542}

 

    set pText to make new text shape with properties {position:{140, -91}, fill color:black, line width:0, font:"Helvetica", bold:true, italic:true, text content:"p", font size:542}

  end tell

end tell