XScreenSaver 5.44 Hacks the Planet

XScreenSaver 5.44 is out now, including iOS and Android.

  • New hacks, New hacks, Gibson, EtruscanVenus and Scooter.
  • BSOD supports Tivo and Nintendo.
  • New color options in RomanBoy, ProjectivePlane, Hypertorus and Klein.
  • "Use random screen saver" works again on macOS 10.15.
  • iOS supports dark mode.
  • Image loading works again on iOS 13.
  • Fixed rotation on iOS 13 (Apple incompatibly breaks rotation every two years as a matter of policy).
  • Performance tweaks for Eruption, Fireworkx, Halftone, Halo, Moire2 and RD-Bomb.
  • Various bug fixes.

It was recently the 25th anniversary of Hackers, you know.

Sadly, if you install the DMG on macOS, it no longer includes WebCollage or the stand-alone terminal-program versions of Apple2 or Phosphor. This is because I couldn't figure out how to sign them in a way that would allow "stapler" to function (it's losing its damned mind because an .app bundle has an executable command-line helper program inside it), so, fuck it, I guess they're gone.

Apple and code signing: every day, worse in every way.


Update: I think I figured out the latest pointless codesign firedrill. I pushed out a DMG (only) of 5.44.1. Let me know if it works.

Tags: , , , , , ,

16 Responses:

  1. Nate says:

    I'd like to help with stapler (co-worker wrote it). Can you email me the notary request UUID of your upload and the error you get from stapler?

    Taking a random guess, it sounds like you may have dropped the CLI tool into the bundle after codesign or modified it. This invalidates the bundle signature. Stapler uses the signature hash to look up a ticket so if you're getting a "ticket not found error", that could be the cause.

    The solution is to put the CLI tool into the bundle, codesign the bundle (which will cover the CLI tool), then zip up and notarize the whole thing. Tickets are hierarchical so a ticket for your top-level installer (dmg, pkg, or zip of an app bundle) includes hashes for everything within it.

  2. Joss says:

    It could also be that the CLI helper is in ./Contents/Resources, which is not a regular code execution subdirectory. This means that if you code-sign the bundle in one swoop, the helpers will not be **signed as code**, as they would e.g. in ./Contents/Library or ./Contents/Frameworks etc. Instead they will only be registered in the bundle's code resources, and that might cause problems down the road. So solutions could be to sign (and notarize?) the helpers first, while leaving them where they are, and then do the main bundle itself… or (better) just find a proper macOS-approved code location for them in the bundle.

    • jwz says:

      Phosphor.app contains Phosphor.saver inside Resources, and that didn't work no matter how I signed or didn't sign the internal thing.. In the last release, it worked to sign the .saver first then sign the .app again. This release, none of the obvious permutations worked. Webcollage is different: it contains a non-bundle stand-alone executable "webcollage-helper", which you cannot sign.

      So, yeah, "Maybe you should figure out where Apple wants you to put shit and how they want you to sign it" is super helpful advice that I did not think of.

  3. Steve says:

    In High Sierra, 5.44 crashes System Preferences the first time any saver is manually chosen. Reverting to 5.43 it works fine.

  4. dzm says:

    You had me at '"Use random screen saver" works again on macOS 10.15.'

    • dzm says:

      I'd swear I remember, years ago, you (jwz) posted something about running the hacks in a window. I can't find it now, though, and the Interwebs aren't being at all helpful. I'm wondering if that was from the dark days when I ran Linux as my desktop OS ("THIS will be the year of Linux on the desktop for sure!").

      Am I misremembering? Or is there a way to run the hacks in a windowed mode?

      Thanks!

      • jwz says:

        Under X11 if you run them directly with no arguments they open in a window. (That works on Mac X11 as well). On "real" macOS, if you build from Xcode there's a "SaverTester" app, but I don't ship that in the DMG. I think there are some 3rd party apps out there (or used to be) that let you run savers in a window, which is basically all that SaverTester does.

        • dzm says:

          Good to know I'm not misremembering then. Maybe doing a build from XCode will be tonight's side project.

          Or maybe installing Linux in a VirtualBox or something.

  5. margaret says:

    You (and the guy that delivers booze to my door) are doing god's work. Thank you.

  6. NT says:

    "Phantom Freak"? That would have been Phreak on any BBS I remember.

Leave a Reply

Your email address will not be published. But if you provide a fake email address, I will likely assume that you are a troll, and not publish your comment.

You may use these HTML tags and attributes: <a href="" title=""> <b> <blockquote cite=""> <code> <em> <i> <s> <strike> <strong> <img src="" width="" height="" style=""> <iframe src="" class=""> <video src="" class="" controls="" loop="" muted="" autoplay="" playsinline=""> <div class=""> <blink> <tt> <u>, or *italics*.