XScreenSaver 5.33

XScreenSaver 5.33 out now. iOS version, too.

  • New hacks, Splitflap and Romanboy. There are some fun, physical-glitch behaviors in splitflap. Keep looking.

  • Better detection of user activity on modern (ha) GNOME systems.

  • Sonar now does asynchronous host name resolution.

  • Vastly improved Unicrud and Z̧"̘̖̫̱̖͉̬͈̥͔̳͎̝͜͡A"͍̹̮̺͓̤̺̺̖̤̥̖͍͎̙̫̫͙̜L͉̹̙͎̻̱̳̦͢͞Ǵ̶̷̛̠̠͕̯͖͈̟̝̮ͅǪ̩͔̪̲͍̹̩͕̕͠͝ͅ support.

  • Performance improvements on MacOS and iOS.

  • The Android port is coming along nicely. It's not quite to the point where it's time for me to post an .apk file yet, but it's getting there. If you have an Android development system, please give it a spin and let us know how it works for you. xscreensaver/android/README.

  • And, you know, other stuff.

Tags: , , , , , ,

12 Responses:

  1. Will Scullin says:

    That's doesn't match my recollection of how flippy signs sound.

  2. Gnome is still a thing?

    I can't tell whether to laugh or cry or drink.

  3. After updating to this version (installed everything, Mac OS X 10.10.4), changes made to the Display Text preferences text fields (text, URL, shell cmd) don't stick: I hit OK, but they're not applied, and when I open the prefs again, it's back to what I had set back when I configured that saver last. The five text options radio does stick. Tried Apple2, Split-Flap, Phosphor. Other prefs (colors, etc.) save just fine and are applied. Not sure it's this version or one of the previous ones; it's been a while since I changed the text settings.

    • Dave Odell says:

      What do you get if you try:
      $ plutil -convert json -r -o - ~/Library/Preferences/org.jwz.xscreensaver.updater.plist

      or possibly:
      $ plutil -convert json -r -o - ~/Library/Preferences/ByHost/org.jwz.xscreensaver.Phosphor.*.plist

      ~/Library/Preferences/org.jwz.xscreensaver.updater.plist should be fairly short. If it isn't, try deleting it, then try changing the options again.

      Failing that, you do have "Phosphor, version 5.33" (and not some other version) showing up in the options dialog, correct?

      /me crosses fingers

      • Yup, it's 5.33.
        Huh, interesting:
        $ plutil -convert json -r -o - ~/Library/Preferences/org.jwz.xscreensaver.updater.plist
        /Users/stb/Library/Preferences/org.jwz.xscreensaver.updater.plist: invalid object in plist for destination format

        I removed the updater and the screen saver's prefs, but it's still not working. Downloaded 5.32 and replaced Phosphor from that, same issue. Repair Permissions didn't change it either.

        • Dave Odell says:

          Maybe cfprefsd is caching and/or rewriting the bad data. What if you reboot, delete both .plists a second time, then try the saver options once again?

          (Closing System Preferences and doing sudo pkill cfprefsd might be faster than rebooting, but it also might cause your system to hang.)

          And if that still doesn't work...

          $ plutil -convert xml1 -o - ~/Library/Preferences/org.jwz.xscreensaver.updater.plist
          $ plutil -convert xml1 -o - ~/Library/Preferences/ByHost/org.jwz.xscreensaver.Phosphor.*.plist

          I think xml1 is supposed to handle data types that json can't.

          • Thanks for the help, here's some results:
            Killing cfprefsd made Phosphor 5.32 work correctly (changes to the text fields are persisted); Apple2 (still at 5.33) continues to be broken. cprefsd was started up automatically when I reopened System Preferences. For Apple2, the prefs file gets created, but only the text source choice gets saved.

            $ plutil -convert xml1 -o - ~/Library/Preferences/ByHost/org.jwz.xscreensaver.Phosphor.*.plist
            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
            <plist version="1.0">
            <dict>
            <key>NSWindow Frame XScreenSaverWindow0</key>
            <string>0 0 1867 1178 0 0 1920 1178 </string>
            <key>selectedSaverName</key>
            <string>Phosphor</string>
            <key>textLiteral</key>
            <string>asd</string>
            <key>textMode</key>
            <integer>1</integer>
            </dict>
            </plist>
            $ plutil -convert xml1 -o - ~/Library/Preferences/ByHost/org.jwz.xscreensaver.Apple2.*.plist
            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
            <plist version="1.0">
            <dict>
            <key>textMode</key>
            <string>literal</string>
            </dict>
            </plist>

            • Dave Odell says:

              Mysterious.

              I imported your .plist, and I tried playing with the options panel for Apple2 on my end, but when I change one of the text options and click OK, things work for me.

              - Is org.jwz.xscreensaver.updater.plist (almost or totally) empty, like it should be?
              - Do you have ~/Library/Preferences/org.jwz.xscreensaver.Apple2.plist? If so, what's in it?
              - Does $ defaults -currentHost read org.jwz.xscreensaver.Apple2 match up with what's in the .plist?

              I admit I am kind of grasping at straws here.

              Maybe you should just try setting the options via command line, see if that works. With 5.33 (and not 5.32), try one of the following pairs, according to taste:


              $ defaults -currentHost write org.jwz.xscreensaver.Apple2 textMode date
              (For "Computer name and time", there is no step 2.)

              $ defaults -currentHost write org.jwz.xscreensaver.Apple2 textMode literal
              $ defaults -currentHost write org.jwz.xscreensaver.Apple2 textLiteral "Your text here"

              $ defaults -currentHost write org.jwz.xscreensaver.Apple2 textMode file
              $ defaults -currentHost write org.jwz.xscreensaver.Apple2 textFile ~/your-file-here.txt

              $ defaults -currentHost write org.jwz.xscreensaver.Apple2 textMode url
              $ defaults -currentHost write org.jwz.xscreensaver.Apple2 textURL "https://www.your.url/here/"

              $ defaults -currentHost write org.jwz.xscreensaver.Apple2 textMode program
              $ defaults -currentHost write org.jwz.xscreensaver.Apple2 textProgram "your-program --here"

              And you can use $ defaults -currentHost read org.jwz.xscreensaver.Apple2 to just show your settings. You should probably use defaults instead of plutil for this, because .plists on disk may be several seconds behind what's cached in cfprefsd. defaults talks directly to cfprefsd.

  4. Soupdragon says:

    How're you wrangling the Android version Jamie? Can't imagine Javaification of xscreensaver's possible, but neither did I think it'd be possible to do it as native code. Either way, if must quite an itch if you're willing to scratch it..

    • jwz says:

      It's native code. Someone else did the hard part. See android/README.

      I still think Android is terrible. It's every bit what you'd expect, in every sad particular, when someone said "It's like an iPhone but it runs Linux!"