-
Notifications
You must be signed in to change notification settings - Fork 61
/
README
1812 lines (1610 loc) · 80.3 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
XScreenSaver
a collection of
free screen savers
for X11, macOS,
iOS and Android
By Jamie Zawinski
and many others
https://www.jwz.org/xscreensaver/
===============================================================================
This is the XScreenSaver source code distribution. It is strongly recommended
that you install a binary release rather than trying to compile it yourself.
Executables are available for almost all platforms, including macOS, iOS, and
Android. See the XScreenSaver web site for details.
===============================================================================
To compile for a Unix system with X11:
===============================================================================
./configure --help
./configure --prefix=/usr
make
sudo make install
make clean
xscreensaver &
xscreensaver-settings
There are many compilation dependencies. The configure script will tell
you what is missing. At the least, you will need development versions of
these libraries. Append "-dev" or "-devel" to most of these:
perl pkg-config gettext intltool libx11 libxext libxi libxt libxft
libxinerama libxrandr libxxf86vm libgl libglu libgle libgtk-3-0
libgdk-pixbuf2.0 libjpeg libxml2 libpam libsystemd elogind
BSD systems might need gmake instead of make.
===============================================================================
To compile for macOS or iOS:
===============================================================================
See OSX/README. Use the included Xcode project.
===============================================================================
To compile for Android:
===============================================================================
See android/README.
===============================================================================
Interested in writing a new screen saver?
===============================================================================
See the README.hacking file.
===============================================================================
Version History
===============================================================================
6.09 * New hacks,`kallisti' and `highvoltage'.
* Formal-wear for `headroom'.
6.08 * macOS: Worked around a macOS 14.0 bug where savers would continue
running invisibly in the background after un-blanking.
* macOS: Upgraded Sparkle (the "Check for Updates" library) for
macOS 14.0 compatibility.
6.07 * New hacks, `droste', `skulloop', `papercube' and `cubocteversion'.
* `xscreensaver-settings' was sometimes turning off the DPMS checkbox.
* Log pid of caller of `deactivate' command, to give a hint about who
is preventing the screen from blanking.
* recanim uses libffmpeg.
* Updates to `sphereeversion'.
* Added some new map sources to `mapscroller'.
* macOS: Worked around a macOS 13.4 bug where multi-head systems would
fail to launch savers on some or all screens.
* Minimum compiler target is now ISO C99 instead of ANSI C89.
Didn't want to rush into it.
* macOS, Android: Better looking thunbmail images.
* Various other minor bug fixes.
6.06 * New hack, `hextrail'.
* `marbling' works again.
* Adjusted some of the very old hacks, which were written when pixels
were larger, to be more visible on today's higher rez displays.
* X11: More robust desktop image grabbing.
* X11: Various improvements to `xscreensaver-settings'.
* X11: Silence new new Perl warnings from `xscreensaver-getimage-file'.
* X11: Supports "Lock" messages from systemd, e.g. when logind.conf
has "HandleLidSwitch=lock" instead of "suspend".
6.05 * X11: Cope with dumb DPMS settings that existed pre-startup.
* X11: Silence new Perl warnings from `xscreensaver-getimage-file'.
* X11: Fix `sonar' pthreads crash on recent Pi systems.
* X11: Removed dependence on `gdk-pixbuf-xlib-2.0'.
* X11: GTK 3 is now required.
* macOS: Fixed the "Run savers on screens" preference in Random mode
on multi-screen M1 systems.
* Retired `thornbird', which is redundant with `discrete'.
6.04 * New hacks, `nakagin' and `chompytower'.
* Settings dialog shows diagnostics for bad image folders and feeds.
* URLs for `imageDirectory' can now point at archive.org collections.
* Sliders for various "Speed" preferences are easier to use.
* X11: Settings dialog shows saver description below embedded preview.
* X11: Better behavior when zero monitors are attached.
* X11: Improvements to inhibiting blanking while videos are playing:
No longer necessary to hack GNOME and KDE to get them to not usurp
the org.freedesktop.ScreenSaver endpoint.
* X11: `unicrud' displays character names.
* Updated `webcollage'.
6.03 * New hack, `squirtorus'.
* New hack, `mapscroller' (X11 and macOS only).
* `sphereeversion' now has corrugation-mode, and can evert the Earth.
* `glplanet' is higher resolution, and displays time zones.
* `glslideshow' displays relative pathnames again.
* iOS: Apple broke drag-to-rotate again. Fixed.
* macOS: fixed spurious error message in auto-update installer.
* X11: fixed `sonar' failing to ping on some Linux systems.
* X11: Touch-screens work.
* X11: Hold down Backspace to clear the whole password field.
6.02 * New hacks, `marbling' and `binaryhorizon'.
* `atlantis' behaviors are more random and lifelike.
* `headroom' is now Mask Headroom.
* X11: `fontglide' skips fonts that can't display ASCII.
* X11: Use asterisks in the password dialog if the system fonts don't
have bullets in them.
* X11: "Disable Screen Saver" was behaving like "Blank Screen Only".
* Android: These hacks work now: `antinspect', `barcode',
`energystream', `fliptext', `fontglide', `glsnake', `raverhoop',
`starwars', `unicrud'.
6.01 * X11: Properly disable the server's built-in screen saver.
* X11: The passwdTimeout option was being ignored.
* X11: The display of the unlock thermometer was weird.
* X11: Fixed password entry on old-school multi-screen setups (:0.1).
* X11: Worked around a KDE 5 compositor bug that caused the desktop
to momentarily become visible when cycling.
* X11: Fixed possible high CPU usage in `xscreensaver-systemd'.
* X11: Fixed some spurious warnings in `xscreensaver-text'.
* X11: Warn when Wayland is in use, since it makes both screen saving
and locking impossible.
6.00 * X11: Major refactor of the `xscreensaver' daemon for improved
security, dividing it into three programs: `xscreensaver',
`xscreensaver-gfx' and `xscreensaver-auth'.
* X11: Dropped support for systems older than X11R7 (2009).
* X11: Renamed `xscreensaver-demo' to `xscreensaver-settings'.
* X11: Unlock dialog has user-selectable color schemes.
* X11: Everything uses XFreeType for fonts now.
* X11: Install a few custom fonts needed by some savers.
* X11: Fading works on systems without gamma (e.g. Raspberry Pi).
* X11: Use EGL instead of GLX when available.
* X11: `xscreensaver-systemd' now detects when a video player has
inhibited screen blanking and then exits without uninhibiting.
* Improved GLSL and GLES3 support: Phong shading in `etruscanvenus',
`hypertorus', `klein', `projectiveplane',`romanboy' and
`sphereeversion'.
* Updates to `cubicgrid'.
* macOS: Added a `Random XScreenSaver' screen saver, which implements
cycle mode, among other things.
* iOS: Also added cycle mode.
5.45 * New hacks, `covid19', `headroom', `sphereeversion' and `beats'.
* Shader updates to `hypertorus'.
* No more image-loading pause in `glslideshow'.
* BSOD supports GNOME.
* Image loaders support SVG.
* macOS: Fixed text loading on 10.15.
* X11: `xscreensaver-systemd' now allows video players to request that
the screen not blank.
* X11: -log implies -verbose -no-capture-stderr.
* X11: Glade -> GtkBuilder.
* Android: These hacks work now: `carousel', `juggler3d', `molecule',
`photopile', `polyominoes'.
* Various bug fixes.
5.44.1 * macOS: fixed some signing problems in the DMG.
5.44 * New hacks, `gibson', `etruscanvenus' and `scooter'.
* BSOD supports Tivo and Nintendo.
* New color options in `romanboy', `projectiveplane', `hypertorus'
and `klein'.
* macOS: Fixed "Use random screen saver" on macOS 10.15.
* iOS: Supports dark mode.
* iOS: Fixed image loading on iOS 13.
* iOS: 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', `rd-bomb'.
* X11: Always use $HOME/.xscreensaver, not getpwuid's directory.
* Various bug fixes.
5.43 * New hacks, `GravityWell', `DeepStars'.
* GLPlanet now supports the Mercator projection.
* Bouncing Cow has mathematically ideal cows (spherical, frictionless).
* Foggy toasters.
* Unknown Pleasures can now use an image file as a clip mask.
* Updated `webcollage' for recent changes.
* macOS: Fixed BSOD fonts on UWQHD+ displays.
* X11: Added some sample unlock dialog color schemes to the .ad file.
* X11: On systemd systems, closing your laptop lid might actually lock
your screen now, maybe.
* X11: 'sonar' can ping without being setuid by using setcap.
5.42 * macOS: Fixed Sparkle auto-updater.
5.41 * X11: Those new font-loading fallback heuristics work again. Oops.
* iOS, Android: Plugged many memory leaks at exit.
* New hack, `handsy'.
* Fixed `noof' from displaying minimalistically.
* Rewrote `unknownpleasures' to be faster, and a true waterfall graph.
* BSOD Solaris improved. DVD added.
* Linux: If the xscreensaver daemon is setuid, then we can implore the
kernel's out-of-memory killer to pretty please not unlock the screen.
* macOS: Upgraded Sparkle (the "Check for Updates" library).
* macOS: Screen saver settings work again on 10.14.
5.40 * New hacks, `filmleader', `vfeedback'.
* New hack, `glitchpeg' (X11 and macOS only).
* GLPlanet blends between day and night maps at the dusk terminator.
* DymaxionMap can display arbitrary map images, and animate sunlight
across the flattened globe.
* Tessellimage can draw either Delaunay or Voronoi tilings.
* XAnalogTV includes test cards.
* Android: These hacks work now: `blitspin', `bumps', `cityflow',
`endgame', `esper', `flipscreen3d', `gleidescope', `glslideshow',
`jigglypuff', `queens', `tessellimage', `xanalogtv', `xmatrix',
`zoom'.
5.39 * New hacks, `razzledazzle', `peepers', `crumbler' and `maze3d'.
* More heuristics for using RSS feeds as image sources.
* Android: Image loading works.
* Built-in image assets are now PNG instead of XPM or XBM.
* X11: Better font-loading fallback heuristics on systems with a
terrible selection of installed fonts.
* macOS: Retina display-related bug fixes.
5.38 * New hack, `esper'.
* macOS: Support for Retina displays.
* X11: `webcollage' now works with ImageMagick instead of with
pbmtools if `webcollage-helper' is not installed.
* `bsod' now accepts Dunning-Krugerrands.
* Android: These hacks work now: `anemone', `anemotaxis', `atlantis',
`bouboule', `celtic', `compass', `crackberg', `epicycle',
`fuzzyflakes', `goop', `kumppa' `munch', `pacman', `polyominoes',
`slip'.
* Android: Thick lines work better for: `anemone', `anemotaxis',
`celtic', `compass', `deluxe', `epicycle', `fuzzyflakes', `pacman'.
* Android: Assorted performance improvements, especially for `kumppa'
and `slip'.
* Android TV: Daydreams work.
* iOS: Tweaks for iPhone X.
* Lots of xlockmore-derived hacks now have animated erase routines.
* `crystal' works properly on non-X11 systems.
* `m6502' now includes `texture.asm'.
* X11: Try harder to find sensible fonts for the password dialog.
5.37 * New hack, `vigilance'.
* Added Mac Software Update and VMware to `bsod'.
* macOS: Grabbing the desktop works again.
* macOS: Pinch to zoom.
* Android: Both Daydreams and Live Wallpapers are implemented.
* Updated `webcollage' for recent changes.
* Various bug fixes.
5.36 * New hacks, `discoball', `cubetwist', `cubestack', `splodesic'
and `hexstrut'.
* macOS: loading image files works in `dymaxionmap', `glplanet',
`lavalite', `pulsar', `gleidescope' and `extrusion'.
* Several new programs in `m6502'.
* `rotzoomer -mode circle'.
* Better titles in `photopile'.
5.35 * New hacks, `dymaxionmap', `unicrud', `energystream', `raverhoop'
and `hydrostat'.
* Added Windows 10 to `bsod'.
* X11: ignore WM_USER_TIME property changes with days-old timestamps.
Thanks, KDE.
* macOS, iOS: Better fonts in `bsod' and `memscroller'.
* macOS 10.8 or later and iOS 6.0 or later are now required, since
Xcode 6 can no longer build executables that work on older OSes.
* Many, many Android improvements.
* iOS: Fixed rotation to work with the new iOS 8+ API.
* X11: `pong' is now playable.
5.34 * Fixed a crash when hot-swapping monitors while locked.
* Fixed some incorrect output from `xscreensaver-command -watch'.
* Various macOS and iOS performance improvements.
5.33 * New hacks, `splitflap' and `romanboy'.
* Better detection of user activity on modern GNOME systems.
* Sonar now does asynchronous host name resolution.
* Improved Unicode support.
* Updated `webcollage' for recent changes.
* Various minor fixes.
5.32 * Fixed some X11 compilation problems.
* Fixed display size and shake gestures on iOS.
* macOS/iOS Performance improvements.
5.31 * New hacks, `geodesicgears', `binaryring' and `cityflow'.
* UTF-8 text support (instead of only Latin1) and antialiased text
on X11 with Xft (instead of only on macOS/iOS) in `fontglide',
`noseguy', `fliptext', `starwars', and `winduprobot'.
The other text-displaying hacks (`apple2', `phosphor', `xmatrix',
and `gltext') also now accept UTF-8 input, though they convert it
to Latin1 or ASCII.
* `glplanet' now has both day and night maps, and a sharp terminator.
* Fixed `webcollage' on macOS.
* Fixed a transparency glitch in `winduprobot'.
* `lockward' works on iOS.
* Text and image loading work on macOS 10.10.
* Rotation works properly on iOS 8.
* Added a search field on iOS.
* Preliminary, unfinished support for Android.
5.30 * New hack, `winduprobot'.
* Many improvements to `lament', including Leviathan.
* Fixed the normals in `flyingtoasters': shading is correct now.
* Implemented TEXTURE_GEN in GLES: flying toast is now toasted on iOS.
* Make cel-shading sort-of work in `skytentacles' on iOS.
* Fixed dragging-to-rotate on rotated iOS devices, I think.
* Dragging has inertia now.
* Most hacks respond to mouse-clicks, double-taps and swipes as
meaning "do something different now".
* Reworked OpenGL fonts.
* The macOS auto-update installer wasn't working. This time for sure?
* Various minor fixes.
5.29 * Downgraded to Xcode 5.0.2 to make it possible to build savers
that will still run on 10.6 and 10.7. Sigh.
* Updated `webcollage' for recent changes.
5.28 * Fixed some compilation problems and intermittent crashes.
* Turned off the macOS 10.6 enable_gc hack. It didn't work.
5.27 * New hacks, `tessellimage' and `projectiveplane'.
* Added support for pthreads, because Dave Odell is a madman.
* Updated `webcollage' for recent changes.
* Minor iOS tweaks to the `analogtv' hacks.
* X11: Don't assume Suspend = 0 implies "No DPMS".
* Minor updates to `boxed' and `klein'.
* Fixed possible crash in `apple2', `noseguy', `xmatrix', `shadebobs'.
* Fixed possible crash in macOS preferences.
* macOS Performance improvements.
* Plugged some leaks.
5.26 * More auto-updater tweaks.
5.25 * Try harder to bypass Quarantine and Gatekeeper in macOS installer.
* Some files were missing from the tarball.
5.24 * Added "Automatically check for updates" option on macOS.
* Updated feed-loading for recent Flickr changes.
* Updated `webcollage' for recent Google changes.
* Added Instagram and Bing as `webcollage' image sources.
* Updated to latest autoconf.
* Bug fixes.
5.23 * New hack, `geodesic'.
* iOS and macOS: huge XCopyArea performance improvements.
* More heuristics for using RSS feeds as image sources.
* Improved Wikipedia parser.
* Updated `webcollage' for recent Flickr changes.
* Added Android to `bsod'.
* macOS: Added a real installer.
* iOS and macOS: fixed a font-metrics bug.
* iOS: Fixed aspect ratio bug in non-rotating apps when launched in
landscape mode.
* Made `quasicrystal' work on weak graphics cards.
* iOS: fixed `ifs'.
* Better compression on icons, plists and XML files: smaller
distribution and installation footprint.
* Reverted that DEACTIVATE change. Bad idea.
* `Phosphor' now supports amber as well as green.
5.22 * New hacks, `kaleidocycle', `quasicrystal', `unknownpleasures' and
`hexadrop'.
* Performance improvements for `interference'.
* Fixed possible crashes in `apple2', `maze', `pacman', `polyominoes',
`fireworkx', `engine'.
* Fix for `bumps' in 64 bit.
* Fixed preferences crash on old iOS 5 devices.
* Fixed "Shake to Randomize"; display name of saver.
* Fixed weirdness with "Frame Rate" sliders on iOS.
* Fixed rotation problems with `pacman', `decayscreen'.
* Better dragging in `fluidballs'.
* Ignore rotation in hacks that don't benefit from it.
* Ignore DEACTIVATE messages when locked, instead of popping up the
password dialog box.
5.21 * Changed default text source from Twitter to Wikipedia, since Twitter
now requires a login to get any feeds.
* New version of `fireworkx'.
* Minor fixes to `distort', `fontglide', `xmatrix'.
* New macOS crash in `bsod'.
* New mode in `lcdscrub'.
5.20 * Support for iPhone 5 screen size.
* Fixed modifier key handing in Apple2.app and Phosphor.app on macOS.
* Various minor bug fixes.
5.19 * macOS 10.8.0 compatibility.
* iOS performance improvements.
5.18 * iOS responds to shake gestures to randomize.
* iOS can load images from your Photo Library.
* iOS has clickable Wikipedia links in Settings panels.
* Made `pipes' be ridiculously less efficient, but spin.
* Added better mouse control to `rubik', `cube21', `crackberg', and
`julia'.
* Cosmetic improvements to `queens' and `endgame'.
* `sonar' can now ping local subnet on DHCP.
* Most savers now resize/rotate properly.
* Various fixes.
5.17 * More iOS tweaks.
* Fixed some compilation problems.
* Enlarged the texture image for `lament'.
5.16 * Ported to iPhone and iPad.
* XInput devices now also ignore small mouse motions.
* Loading images via RSS feeds is much improved.
* Various minor fixes.
5.15 * New hacks, `hilbert', `companioncube' and `tronbit'.
* Image-manipulating hacks can now load from RSS or Atom feeds:
`imageDirectory' may contain a URL.
* Updated `webcollage' for recent search engine changes.
* `phosphor' and `apple2' can now be run as standalone terminal
emulator applications on macOS.
* `photopile' sped up.
* New molecule in `molecule'.
* "Upgraded" to XCode 4.0, which means that macOS 10.4 PPC builds are
impossible, and Intel is now required.
* Turned on LC_CTYPE on Linux; maybe Japanese password entry works
now?
5.14 * Fixed crash in Blank Only Mode when DPMS disabled.
* Added "Quick Power-off in Blank Only Mode" option.
* BSOD GLaDOS.
5.13 * Optionally enabled full-scene OpenGL antialiasing. Set the resource
`*multiSample' to true if doing so doesn't kill performance with
your video hardware.
* New version of `glhanoi'.
* Image-loading hacks that display the file name now also display the
sub-directory (xscreensaver-getimage now returns relative paths
under imageDirectory).
* Passwords that contain UTF-8 non-Latin1 chars are now typeable.
* Numerous minor stability fixes.
5.12 * Big speed improvement on macOS for heavy XCopyArea users (`xmatrix',
`moire2', `phosphor', etc.)
* Plugged a bad macOS-only Pixmap leak.
* Kludged around the macOS pty bug that caused text to be truncated in
phosphor, starwars, apple2, etc.
* New molecule in `molecule'.
* `glhanoi' now supports an arbitrary number of poles.
* Turned on "New Login" button by default.
* Added support for XInput-style alternate input devices.
5.11 * New versions of `photopile', `strange'.
* Worked around macOS 10.6 garbage collector bug that caused the
screen saver process to become enormous.
* Fixed flicker in `pipes', `cubestorm', and `noof'.
* Fixed EXIF rotation on macOS 10.6.
* Fixed desktop-grabbing when screen locked on macOS.
* Minor fixes to `circuit', `polyhedra', `tangram', `gears', `pinion',
`substrate', `xanalogtv'.
* Fixed some leaks in `xanalogtv' and `apple2'.
* Better seeding of the RNG.
5.10 * Fixed some crashes and color problems on macOS 10.6.
* Retired `hypercube' and `hyperball', which are redundant with
`polytopes'.
5.09 * Ported to macOS 10.6, including various 64-bit fixes.
* New hack, `rubikblocks'.
* Fixed another potential RANDR crash.
* Use correct proxy server on macOS.
* `molecule' now correctly displays PDB 3.2 files.
* Updates to `mirrorblob', `glhanoi', and `sonar'.
* Rewritten version of `klein' hack.
* New hack, `surfaces', incorporating objects from old `klein' hack,
plus new ones.
* Merged `juggle' and `juggler3d' hacks.
* Fixed compilation under gcc 4.4.0 (strict aliasing).
* Fixed intermittent failure in `xscreensaver-command'.
5.08 * New hack, `photopile'.
* Rewrote `sonar' and `jigsaw' as OpenGL programs.
* Minor tweaks to `maze', `m6502', `hypnowheel', and `timetunnel'.
* Savers that load images now obey EXIF rotation tags.
* Arrgh, more RANDR noise! Fixes this time for rotated screens, and
for systems where RANDR lies and says the screen size is 0x0.
* When the password dialog has timed out or been cancelled, don't pop
it right back up a second time.
* Password timeouts/cancels don't count as "failed logins".
* Retired some of the older, less interesting savers: say goodbye to
`bubbles', `critical', `flag', `forest', `glforestfire', `lmorph',
`laser', `lightning', `lisa', `lissie', `rotor', `sphere', `spiral',
`t3d', `vines', `whirlygig', and `worm'.
* Merged `munch' and `mismunch'.
* Updated `webcollage' to use twitpic.com as well.
5.07 * Xinerama/RANDR tweaks for old-style multi-screen.
* Added bumpy skin and cel shading to `skytentacles'.
* `flipflop' can load images onto the tiles.
* Fixed the bouncing ball in `stairs'.
* Added the missing Utah Teapotahedron to `polyhedra'.
* `blitspin' works with color images on macOS now.
* Added transparency to `stonerview'.
* Improved layout of the preferences dialogs: they should all now be
usable even on ridiculously tiny laptop screens.
* macOS preferences text fields now prevent you from entering numbers
that are out of range.
* Added "Reset to Defaults" button on X11.
* Added relevant Wikipedia links to many of the screen saver
descriptions.
* All hacks support the `-fps' option, not just GL ones.
* The `-fps' option now shows CPU load.
5.06 * Xinerama/RANDR fixes: this time for sure. It should now work to
add/remove monitors or resize screens at any time.
* New hack, `skytentacles'.
* New version of `gleidescope'.
* Added the `-log' option to the xscreensaver daemon, since a truly
shocking number of Linux users seem to have no idea how to redirect
output to a file.
* Added `-duration' arg to most image-loading hacks, so that they pick
a new image every few minutes.
* Added an ATM crash to `bsod'.
5.05 * New hacks, `cubicgrid', `hypnowheel', and `lcdscrub' (which isn't
really a screen saver).
* Updates to `m6502' and `gears'.
* Fixed double-buffering problems in `cubestorm' and `noof'.
* Better handling of horizontal scroll wheels.
* Attempt to work around latest Xinerama braindamage: if the server
reports overlapping screens, use the largest non-overlapping
rectangles available.
* Don't warning about receipt of bogus ClientMessages, since Gnome's
just never going to stop sending those.
* Worked around macOS 10.5 perl bug that caused the text-displaying
hacks to fail on some systems.
* Hopefully fixed font-related System Preferences crashes in macOS
savers.
* The recent PAM changes broke the "Caps Lock" warning in the password
dialog, the failed login warnings, and syslogging. Fixed all that.
5.04 * Fixed a possible crash in the unlock dialog (more fallout from the
recent PAM changes...)
* New hacks, `moebiusgears', `abstractile', and `lockward'.
* Rewrote `gears' to use better (involute) gear models, and to be more
random.
* Minor updates to `cwaves', `voronoi', `deco', `glcells', `rd-bomb',
`fireworkx' and `webcollage'.
* `pong' can now display the current time as the score.
* `xmatrix -mode pipe' works better.
* Minor tweaks for compilation on macOS 10.5.0.
5.03 * New hacks, `cwaves', `glcells', `m6502', and `voronoi'.
* Minor fixes to `bsod'.
* Fixed possible crash with PAM USB-dongle auth.
* Updated `webcollage' to track recent Google Images and Flickr
changes.
5.02 * Reworked PAM code to support fingerprint readers, etc.
* Ported `webcollage' to macOS.
* Added macOS 10.2 and 10.3 kernel panics to `bsod'.
* Fixed a Xinerama crash when changing the screen count.
* New blobbier `mirrorblob'.
* Minor updates to `lisa', `bsod', `ifs', `hypertorus', `polytopes',
`circuit', `endgame', `crackberg', `flipflop', `flipscreen3d',
`fliptext', and `carousel'.
* Enabled multi-threaded OpenGL on macOS.
5.01 * Backed out recent locale-related changes, since they broke far more
things than they fixed.
* Fail gracefully with ridiculously small window sizes.
* `xflame' and `flag' ignore bitmap option on macOS.
* `speedmine' prefs work on macOS.
* Better explosions in `boxed'.
* More dynamic motion in `sproingies'.
* More options in `flipflop'.
* Minor updates to `topblock'.
* Various other minor fixes.
5.00 * Ported to macOS! (10.4.0 or newer)
* API change: instead of providing a single screenhack() function that
does not return, screen savers using the screenhack.h framework must
now provide "init" and "draw one frame" functions instead. All
bundled savers have been updated; third-party patches will need
work.
* All image-loading happens asynchronously.
* xscreensaver-getimage-file caches the contents of the image
directory for a few hours, so consecutive runs won't have to re-list
the whole directory tree.
* New hacks, `topblock' and `glschool'.
* Removed `xteevee' (superceded by `xanalogtv').
* Added variable-sized puzzle pieces to `jigsaw'.
* Changes to the defaults and command-line options of many hacks to
make the .xml files more consistent.
* Reap zombies in `glslideshow' and `carousel'.
* `sonar' works without setuid on macOS (dgram icmp).
* `xmatrix -mode pipe' displays the text of a subprocess.
* `endgame' has higher resolution chess-piece models.
* `webcollage' takes a -directory option to get images from a local
directory.
* The RPM spec file no longer auto-restarts xscreensaver when a new
version is installed. Restart it manually.
4.24 * New versions of `cube21', `glsnake', `celtic'.
* Backed out a DPMS-related patch that cause desktop flickering with
some X servers.
* Fixed startup crash in getgroups() when running setuid.
* Default to not displaying stderr on the saver window.
* Fixed bad free() in "Documentation" button.
* Don't try to run hacks that aren't installed.
* Minor fixes to various XML config files and man pages.
4.23 * New hacks, `glhanoi', `cube21', `timetunnel', `juggler3d', and
`celtic'.
* New versions of `tangram', `webcollage', `hypertorus', `polytopes',
and `ripples'.
* `sonar' is now quiet about unresolvable hosts.
* Minor corrections to BASIC code in `apple2'.
* xscreensaver-demo now provides an RPM clue when none of the hacks
seem to be installed.
* Don't install `ant' by default, since there is some Java tool of
that name, which was causing confusion. And also it's boring.
* Made screen grabbing work again on macOS 10.4.2.
* No longer prints bogus warnings about ClientMessages intended for
the window manager.
* Ignore unprintable characters in passwd entry field.
* Fixed yet another cross-host-display image-loading endian problem.
* `xscreensaver-command -watch' and `-time' now work on 64-bit
machines.
4.22 * Fixed a bug in the new mouse-motion code that caused the screen to
never blank on multi-head non-Xinerama systems. Oops.
* New hacks, `interaggregate', `antmaze', `tangram', and `crackberg'.
* Minor tweaks to `fiberlamp', `ifs', `slidescreen', `zoom', `sonar',
`fireworkx', `whirlwindwarp', `bubble3d', and `rd-bomb'.
* Added motion blur to `blinkbox'.
* `bsod' now includes Longhorn's "RSOD", and OS/2.
* Fixed `-wireframe' usage in most hacks and man pages.
4.21 * New hack: `fliptext'.
* Changed default configure installation directories: /usr/bin/ for
xscreensaver, etc.; /usr/libexec/xscreensaver/ for hacks;
/usr/share/xscreensaver/config/ for xml files.
* All the text-manipulating screen savers can have their text source
configured via `xscreensaver-demo' now.
* xscreensaver.spec now builds three RPMs: base (no hacks); extras (2d
hacks); and gl-extras.
* Added `-program' and `-front' option to `gltext'.
* Added `-shells' to `molecule'.
* Fixed text-alpha glitch in `carousel'.
* New `pacman': the ghosts can be killed now.
* Fixed a bug in screen-grabbing GL hacks where images would be tiled
instead of scaled on machines that can't do large textures.
* `webcollage' can hit Flickr now.
* New (rewritten) implementation of `ifs'.
* The unlock dialog can be made to have a "New Login" button that will
run `gdmflexiserver'. Experimental!
* Fixed non-ASCII display bug in `starwars'.
* Configure finds a default for imageDirectory.
* `xscreensaver-command -lock' now works even if in "screensaver
disabled" mode.
* If a bad password is typed while CapsLock is on, the unlock dialog
says "CapsLock?" instead of "Sorry".
* Mouse motion only counts as activity if the mouse moved more than 10
pixels (so the screen won't unblank every time you bump your desk.)
* New mode option "random-same": if you have multiple monitors, this
will run the *same* randomly chosen hack on each screen, instead of
different ones on each.
4.20 * New hacks, `fiberlamp', `boing', `boxfit', and `carousel'.
* Rewrote `glslideshow' again: should be faster now.
* Sped up loading of images in GL programs.
* `starwars' uses texture-mapped fonts now.
* New `bsod' modes: tru64, hppa, and nvidia.
* Updates to `webcollage', `juggle', `pinion', `fireworkx', `sonar',
`extrusion', `substrate', and `pong'.
4.19 * New hacks, `substrate', `intermomentary', `fireworkx', and `pinion'.
* New version of `flow'.
* Made /proc/interrupts work again on Linux 2.6.
* Made `analogtv' not hog the CPU.
* Made analogtv-based hacks work properly on PPC/ARM.
* Fixed a bad memory leak in `piecewise'.
* Minor updates to `sonar', `molecule', `glmatrix', `galaxy', and
`webcollage'.
* Removed support for GTK 1.x (everyone uses 2.x now.)
4.18 * Oops, pay no attention to the man behind the curtain.
4.17 * New hacks, `anemotaxis' and `memscroller'.
* Fixed a bad bug that caused `vidwhacker' to never die.
* Fixed normals and lighting in `polyhedra'.
* Don't reuse the window when changing hacks (to work around bugs in
some GL implementations.)
* Made `xscreensaver-getimage-file' skip thumbnail-sized images.
* Fixed endian problem in `barcode' on non-x86.
* Updates to `webcollage', `apple2', `fuzzyflakes', `atunnel', and
`pacman'.
* Timing tweaks to `bubble3d', `bouncingcow', `engine', `gltext',
`lavalite', `molecule', `spotlight', `sballs', `boxed', `blinkbox',
and `circuit'.
* Configure updates for Fedora core 2 / xorg 6.7.0.
* Compile without warnings under gcc 3.3.3.
* I give up: don't blank or lock the screen if we can't get a keyboard
grab. In that case, both choices are bad.
4.16 * New hacks, `polyhedra', `fuzzyflakes', `antinspect', and
`providence'.
* Minor updates to `webcollage', `bsod', `endgame', `antspotlight',
`xmatrix', and `glmatrix'.
* Added support for the RANDR (Resize and Rotate) extension to detect
when the size of the desktop has been changed while xscreensaver is
already running.
* Possibly-futile attempt to work around "rdesktop" focus/grab idiocy.
* Made `xscreensaver-getimage -file' still work even if imageDirectory
is unset.
* Convert Latin1 to ASCII in `starwars' and `phosphor' (since the GLUT
font only has ASCII glyphs.)
* Fixed randomization in `noof'.
* Added "GetViewPortIsFullOfLies" preference to work around
longstanding XFree86 bug #421.
* Made `sonar' subnet pinging work properly on bigendian machines
(e.g., PPC.)
4.15 * New hacks, `wormhole', `mismunch', `noof', and `pacman'.
* `phosphor' and `apple2' include vt100 emulators now: this means you
can do "phosphor -program top", or can use either program as an
xterm replacement: "apple2 -text -fast -program 'xemacs -nw'".
* `analogtv' (and related) fill the screen better.
* The '-gradient' option works in `atlantis' now.
* Minor updates to `blinkbox', `queens', `endgame', `glmatrix',
`mirrorblob', `blocktube', and `molecule'.
* Integrated SuSE's "external passwd helper" support.
* Marginally better /tmp handling in various programs.
* Updated config defaults for xplanet 1.0.3.
* Portability fixes.
4.14 * New hacks, `fontglide', `apple2', `xanalogtv', `pong',
`gleidescope', `mirrorblob', and `blinkbox'.
* New version of `glsnake' (with many more models.)
* Another Windows crash in `bsod'; also HVX/GCOS6/TPS6.
* New version of `endgame'.
* Screen grabbing works on macOS.
* Various minor fixes.
4.13 * On Xinerama systems, xscreensaver now runs one hack on each monitor
(just like in "real" multi-head mode) instead of running one hack
stretching across all the screens. Note that for this to work with
any 3rd party screensavers, they must update their "vroot.h" file.
* `webcollage' and `vidwhacker' display images using
`xscreensaver-getimage' now.
* Added `ljlatest' script for use with `starwars' and `phosphor'.
4.12 * New GL hacks, `flipflop', `antspotlight', and `polytopes'.
* Added VMS to `bsod'.
* Compile without warnings in `gcc -pedantic'.
* Updates to `webcollage' and `queens'.
* Fixed a bug that could cause PAM to hang.
4.11 * New hacks, `hypertorus', `cubestorm', `glknots', `blocktube', and
`glmatrix'.
* Updates to `cloudlife', `engine', `xmatrix', and `sonar'.
* Rewrote `glslideshow': it should work on somewhat wimpier video
cards now.
* Various portability tweaks.
4.10 * New hacks, `cloudlife' and `klein'.
* Added Apple ][+, HPUX, and OS/390 sessions to `bsod'.
* Added some Matrix Reloaded text to `xmatrix'.
* Updates to `webcollage', `eruption', `jigglypuff', `metaballs', and
`endgame'.
* Completely ignore the `memoryLimit' setting now, since it was still
causing people GL grief.
* Various minor fixes.
4.09 * New hacks, `flyingtoasters', `bouncingcow', `jigglypuff', and
`glslideshow'.
* More models in `engine'.
* Rewrote `xscreensaver-getimage' to remove reliance on external image
loaders (xv, chbg, xloadimage, etc.) and to reduce flicker when
loading files.
* Made `gflux' and `flipscreen3d' be mouse-spinnable.
4.08 * New hacks, `atunnels' and `piecewise'.
* Physics improvement in `fluidballs'.
* Various fixes for XDarwin systems (X11 on macOS.)
* Added -clock option to `barcode'.
* Minor fixes to `endgame', `flurry', `flipscreen3d', and `gflux'.
4.07 * New hacks, `flurry', `metaballs', `eruption', `popsquares', and
`barcode'.
* Minor updates to `maze' for high density mazes.
* Added double buffering to `fluidballs' and `whirlygig'.
* Bug fixes for running xscreensaver to a remote XFree86 display
(which nobody would ever do...)
* Updated `webcollage' (faster Alta Vista searching.)
* Updated `glplanet' so the sun sets in the west.
* Updated `sproingies' with smooth, unsegmented surfaces.
* Fixed Perl version-sensitivity in `xscreensaver-getimage-file'.
* Fixed GTK2 scrolling bug in `xscreensaver-demo'.
4.06 * New hack, `glblur' (disabled by default, since it requires fast
OpenGL texture support.)
* New hack, `halftone'.
* Updates to `endgame', `queens', `bumps', `glplanet', `engine', and
`circuit'.
* New version of `menger' that uses far fewer polygons.
* Fixed minor bug in `critical' that could cause some bogus X servers
to crash.
* Better labels in `molecule': the labels now appear to be attached to
the atoms, instead of floating in front of the whole scene.
* Fixed bug that could rarely cause GL hacks to fail to double-buffer
(causing intermittent flickering.)
* Fixed a relative-URL-parsing bug in `webcollage'.
* Fixed a bug that (sometimes) caused the window manager close box to
kill `xscreensaver-demo' with a crash instead of a graceful exit.
* Updated xscreensaver.pam to the Red Hat 7.3 way.
* More Gnome2-related configure crap.
* Updated to latest `config.guess' and `config.sub'.
* Fixed occasional core dump in `distort'.
* Added a Linux fsck failure and kernel panic to `bsod'.
* Added macOS kernel panic to `bsod'.
* Fixed a bug in `bsod' (all bsod bugs are ironic.)
* Fixed a bug that caused `xscreensaver-gl-helper' to print a nonsense
visual ID with some versions of `printf': this could cause GL
programs to display incorrectly (e.g., flickery.)
4.05 * More `configure' tweaks to try and get things working on systems
that both Gtk 1.x and 2.x installed.
* New hack, `endgame'.
* Minor updates to `gltext'.
4.04 * Support for GTK 2.x / GNOME 2.x.
* The `configure' script will now use `pkg-config' if you have it, in
preference to `gtk-config', etc.
* New hacks, `lavalite', `queens', and `anemone'.
* Minor updates to `spheremonics', `gltext', `xmatrix'.
* You can use the mouse to manually spin most of the GL hacks now
(when they are displaying in a window.)
* Fixed a bug in `webcollage' (due to recent Alta Vista url changes)
that was causing it to try and load incorrect image URLs.
* Made `xscreensaver-getimage' use gdk_pixbuf if it is available: this
means that those hacks that load images will no longer rely on `xv',
`xloadimage', etc. This will close a race condition that could
sometimes cause your desktop background to be changed; and also
makes it possible for those programs to operate on image files when
running in windowed mode.
* `webcollage' can now be used in conjunction with `driftnet' to
display images snooped from your local ethernet instead of obtained
from search engines.
* Added man pages for all the hacks that didn't have them.
4.03 * New hack, `spheremonics'.
* Minor updates to `webcollage', `cage', `moebius', `morph3d',
`boxed', `circuit', and `helix'.
* `pulsar' and `extrusion' can now load texture JPEGs.
* `rubik' now does non-square cubes.
* `fluidballs' now does various sizes of balls.
* `menger' and `sierpinski3d' now also show polygon counts in -fps
mode.
* `molecule' displays real subscripts in the formulae.
* GTK internationalization/localization support.
* Better detection of the various versions of libxml.
* Upgraded to autoconf 2.53 (from 2.13.)
4.02 * Plugged a few minor leaks in `xscreensaver' and `xscreensaver-demo'.
* New hacks, `cubenetic' and `fluidballs'.
* Sped up `pipes'.
* Fixed sphere projection error in `glplanet'; installed a better
image of earth.
* Added Win2K and MacOS 1 crashes to `bsod'.
* Put back previous (better) version of `forest' that was
accidentially downgraded in the last release.
* New version of `bumps'.
* Made FPS computation in GL hacks more efficient: it will influence
the results less, thus resulting in higher (but more accurate)
reported frame rates.
4.01 * New hacks: `twang', `glsnake', `boxed', `sballs', and
`glforestfire'.
* New hacks `apollonian', `euler2d', `juggle', `polyominoes' and
`thornbird', from xlockmore.
* Merged recent xlockmore changes into `ant', `braid', `demon',
`discrete', `drift', `fadeplot', `forest', `grav', `hopalong',
`ifs', `laser', `lightning', `lisa', `lissie', `loop', `mountain',
`penrose', `rotor', `sierpinski', `slip', `sphere', `spiral',
`strange', and `vines'.
* Fixed the `gltext' bug that sometimes caused horizontal lines to
vanish again. This time for sure.
* Sped up `webcollage' by adding a C helper program to replace the PPM
pipeline. It also pastes images semi-transparently now.
* Added support for the gdk_pixbuf library: if this lib is available,
then `blitspin', `xflame', and `flag' can load GIF, JPEG, and PNG
images in addition to XPM and XBM.
* Fixed a rare race condition where the desktop-grabbing hacks could
sometimes leave the screen wedged, if the user moved the mouse
exactly when they were grabbing the screen image (it would un-wedge
the next time the saver timed out or was activated.)
* Fixed incorrect colors in the screen-grabbing GL hacks (`gflux' and
`flipscreen3d'.)
* Made SIGHUP restart the daemon process (though using
`xscreensaver-command -restart' is still the preferred way.)
* Tweaks to `xspirograph'.
* Minor configure and portability tweaks.
4.00 * Redesigned `xscreensaver-demo' GUI: it now includes small-preview
and per-hack configuration dialogs.
* Added three new modes of operation: `One Screen Saver', `Blank
Screen', and `Don't Blank' (in addition to the historical `Random
Screen Saver').
* Configure now defaults to installing the hacks in
<prefix>/lib/xscreensaver/ instead of <prefix>/bin/. (Most distros
already did it this way.)
* New GL hacks, `menger', `engine', `flipscreen3d'.
* Made `sierpinski3d' be more colorful.
* New versions of `xmatrix' and `nerverot'.
* Fixed a bug in `starwars' that made the font be drawn with thin
lines in -root mode.
* Fixed a bad colormap bug in `crystal' that could make *subsequent*
hacks malfunction!
* Made `gflux' able to grab screen images (`-mode grab').
* Updated `webcollage' for recent search engine changes.
* Removed most command-line options to `xscreensaver': just edit the
~/.xscreensaver file instead.
* Improved behavior on multi-screen and Xinerama systems: the mouse
now stays on the screen where the user left it, and the password and
splash dialogs always appear on the screen that has the mouse.
* Made the splash dialog use more Gtk-like colors; made it have only
two buttons, "Settings" and "Help".
* Made `sonar' understand `.ssh/known_hosts2' format files, and be
better about stripping out illegal addresses.
3.34 * Turned `memoryLimit' off by default, sigh. Apparently some versions
of the GL libraries (appear to) allocate hundreds of megs for every
GL program, so `memoryLimit' was causing GL programs to malfunction
or crash on those systems.
* Improved fading on TrueColor XFree86 4.1.x systems.
* New GL hack, `circuit'.
* Added `fuzz' mode to `decayscreen'.
* New version of `whirlygig'.
* Added links to `xplanet' and `sphereEversion'.
* Fixed rare race condition that could make `sonar' hang.
* Fixed potential crash in `speedmine'.
* Made `xscreensaver-demo' not crash when imageDirectory was set to a
non-existent directory.
* Made `xscreensaver-getimage-video' invoke XawTV's `streamer' program
better.
* Made `phosphor' and `starwars' deal with CR, LF, or CRLF line
endings.
* Changes for Cygwin compilation environments.
* Made `sonar' compile on systems that can't ping.
* Configure changes for HPUX 10.20.
* Made PAM code work on Red Had 4.2 systems.
* Made `xscreensaver-command -deactivate' work when the saver is not
active: what that does is reset the idle timer, as if keyboard input
had been detected. This was added for the benefit of people writing
DVD-playing software: they can now prevent the screensaver from
kicking in by sending a -deactivate message once a minute while the
movie is playing and not paused.
* Various minor portability tweaks.
3.33 * New hacks, `speedmine' and `whirlygig'.
* Sped up `pyro', made the explosions look a bit better.
* Added better stars to `glplanet' and `starwars'.
* Many internal changes to `webcollage'.
* Some new options to `attraction'.
* Minor fix to `noseguy' to avoid un-erased pixels.
* Rewrote the screen-eraser effects so that they complete in the same
amount of time regardless of how slow your X server is (some of them
were glacial on servers with slow blitting.)
* Fixed a potential free memory reference that could sometimes cause a
crash at startup.
* Possibly fixed a problem that could cause the daemon to crash with