xscreensaver: update to 5.44
4 files deleted
11 files modified
| | |
| | | include ../../../make-rules/shared-macros.mk |
| | | |
| | | COMPONENT_NAME= xscreensaver |
| | | COMPONENT_VERSION= 5.42 |
| | | COMPONENT_REVISION= 1 |
| | | COMPONENT_VERSION= 5.44 |
| | | COMPONENT_PROJECT_URL= https://www.jwz.org/xscreensaver/ |
| | | COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
| | | COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz |
| | | COMPONENT_ARCHIVE_HASH= \ |
| | | sha256:441daa033b214bfdd82b1991fbf7dc9360466bff542ce0f6002d0071a4d5cbe1 |
| | | sha256:73d8089cfc7d7363b5dac99b5b01dffb3429d0a855e6af16ce9a4b7777017b95 |
| | | COMPONENT_ARCHIVE_URL= https://www.jwz.org/xscreensaver/$(COMPONENT_ARCHIVE) |
| | | COMPONENT_FMRI= desktop/xscreensaver |
| | | |
| | |
| | | # |
| | | |
| | | # |
| | | # Copyright 2018 <contributor> |
| | | # Copyright 2020 <contributor> |
| | | # |
| | | |
| | | set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) |
| | |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/dangerball.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/decayscreen.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/deco.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/deepstars.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/deluxe.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/demon.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/discoball.xml |
| | |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/epicycle.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/eruption.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/esper.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/etruscanvenus.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/euler2d.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/fadeplot.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/fiberlamp.xml |
| | |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/geodesic.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/geodesicgears.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gflux.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gibson.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/glblur.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/glcells.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gleidescope.xml |
| | |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gltext.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/goop.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/grav.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gravitywell.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/greynetic.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/halftone.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/halo.xml |
| | |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/rubik.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/rubikblocks.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/sballs.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/scooter.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/shadebobs.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/sierpinski.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/sierpinski3d.xml |
| | |
| | | file path=usr/lib/xscreensaver/hacks/dangerball |
| | | file path=usr/lib/xscreensaver/hacks/decayscreen |
| | | file path=usr/lib/xscreensaver/hacks/deco |
| | | file path=usr/lib/xscreensaver/hacks/deepstars |
| | | file path=usr/lib/xscreensaver/hacks/deluxe |
| | | file path=usr/lib/xscreensaver/hacks/demon |
| | | file path=usr/lib/xscreensaver/hacks/discoball |
| | |
| | | file path=usr/lib/xscreensaver/hacks/epicycle |
| | | file path=usr/lib/xscreensaver/hacks/eruption |
| | | file path=usr/lib/xscreensaver/hacks/esper |
| | | file path=usr/lib/xscreensaver/hacks/etruscanvenus |
| | | file path=usr/lib/xscreensaver/hacks/euler2d |
| | | file path=usr/lib/xscreensaver/hacks/fadeplot |
| | | file path=usr/lib/xscreensaver/hacks/fiberlamp |
| | |
| | | file path=usr/lib/xscreensaver/hacks/geodesic |
| | | file path=usr/lib/xscreensaver/hacks/geodesicgears |
| | | file path=usr/lib/xscreensaver/hacks/gflux |
| | | file path=usr/lib/xscreensaver/hacks/gibson |
| | | file path=usr/lib/xscreensaver/hacks/glblur |
| | | file path=usr/lib/xscreensaver/hacks/glcells |
| | | file path=usr/lib/xscreensaver/hacks/gleidescope |
| | |
| | | file path=usr/lib/xscreensaver/hacks/gltext |
| | | file path=usr/lib/xscreensaver/hacks/goop |
| | | file path=usr/lib/xscreensaver/hacks/grav |
| | | file path=usr/lib/xscreensaver/hacks/gravitywell |
| | | file path=usr/lib/xscreensaver/hacks/greynetic |
| | | file path=usr/lib/xscreensaver/hacks/halftone |
| | | file path=usr/lib/xscreensaver/hacks/halo |
| | |
| | | file path=usr/lib/xscreensaver/hacks/rubik |
| | | file path=usr/lib/xscreensaver/hacks/rubikblocks |
| | | file path=usr/lib/xscreensaver/hacks/sballs |
| | | file path=usr/lib/xscreensaver/hacks/scooter |
| | | file path=usr/lib/xscreensaver/hacks/shadebobs |
| | | file path=usr/lib/xscreensaver/hacks/sierpinski |
| | | file path=usr/lib/xscreensaver/hacks/sierpinski3d |
| | |
| | | file path=usr/share/man/man1/xscreensaver-getimage-file.1 |
| | | file path=usr/share/man/man1/xscreensaver-getimage-video.1 |
| | | file path=usr/share/man/man1/xscreensaver-getimage.1 |
| | | file path=usr/share/man/man1/xscreensaver-systemd.1 |
| | | file path=usr/share/man/man1/xscreensaver-text.1 |
| | | file path=usr/share/man/man1/xscreensaver.1 |
| | | file path=usr/share/man/man6/abstractile.6 |
| | |
| | | file path=usr/share/man/man6/dangerball.6 |
| | | file path=usr/share/man/man6/decayscreen.6 |
| | | file path=usr/share/man/man6/deco.6 |
| | | file path=usr/share/man/man6/deepstars.6 |
| | | file path=usr/share/man/man6/deluxe.6 |
| | | file path=usr/share/man/man6/demon.6 |
| | | file path=usr/share/man/man6/discoball.6 |
| | |
| | | file path=usr/share/man/man6/epicycle.6 |
| | | file path=usr/share/man/man6/eruption.6 |
| | | file path=usr/share/man/man6/esper.6 |
| | | file path=usr/share/man/man6/etruscanvenus.6 |
| | | file path=usr/share/man/man6/euler2d.6 |
| | | file path=usr/share/man/man6/extrusion.6 |
| | | file path=usr/share/man/man6/fadeplot.6 |
| | |
| | | file path=usr/share/man/man6/geodesic.6 |
| | | file path=usr/share/man/man6/geodesicgears.6 |
| | | file path=usr/share/man/man6/gflux.6 |
| | | file path=usr/share/man/man6/gibson.6 |
| | | file path=usr/share/man/man6/glblur.6 |
| | | file path=usr/share/man/man6/glcells.6 |
| | | file path=usr/share/man/man6/gleidescope.6 |
| | |
| | | file path=usr/share/man/man6/gltext.6 |
| | | file path=usr/share/man/man6/goop.6 |
| | | file path=usr/share/man/man6/grav.6 |
| | | file path=usr/share/man/man6/gravitywell.6 |
| | | file path=usr/share/man/man6/greynetic.6 |
| | | file path=usr/share/man/man6/halftone.6 |
| | | file path=usr/share/man/man6/halo.6 |
| | |
| | | file path=usr/share/man/man6/rubik.6 |
| | | file path=usr/share/man/man6/rubikblocks.6 |
| | | file path=usr/share/man/man6/sballs.6 |
| | | file path=usr/share/man/man6/scooter.6 |
| | | file path=usr/share/man/man6/shadebobs.6 |
| | | file path=usr/share/man/man6/sierpinski.6 |
| | | file path=usr/share/man/man6/sierpinski3d.6 |
| | |
| | | 6526791 xscreensaver and Xorg need to change timeouts for MOU4 |
| | | 6652454 xscreensaver does not invoke after IDLE time expires from a Sun Ray DTU |
| | | --- |
| | | --- driver/XScreenSaver.ad.in.~1~ 2015-06-25 21:58:53.000000000 +0300 |
| | | +++ driver/XScreenSaver.ad.in 2015-08-21 14:14:24.384543641 +0300 |
| | | --- driver/XScreenSaver.ad.in.~1~ 2020-03-21 02:52:58.000000000 +0000 |
| | | +++ driver/XScreenSaver.ad.in 2020-05-01 19:25:30.376129621 +0000 |
| | | @@ -28,41 +28,41 @@ |
| | | |
| | | ! /* (xrdb prevention kludge: whole file) |
| | |
| | | +*splash: False |
| | | *splashDuration: 0:00:05 |
| | | *visualID: default |
| | | *captureStderr: True |
| | | *installColormap: True |
| | | *ignoreUninstalledPrograms: False |
| | | *authWarningSlack: 20 |
| | | |
| | |
| | | +*textProgram: date |
| | | *textURL: https://en.wikipedia.org/w/index.php?title=Special:NewPages&feed=rss |
| | | |
| | | *overlayTextForeground: #FFFF00 |
| | | @@ -76,7 +76,7 @@ |
| | | ! When a saver writes an error message to stdout/stderr, it can be printed |
| | | @@ -80,7 +80,7 @@ |
| | | *procInterrupts: True |
| | | |
| | | ! Turning this on makes pointerHysteresis not work. |
| | |
| | | |
| | | ! Set this to True if you are experiencing longstanding XFree86 bug #421 |
| | | ! (xscreensaver not covering the whole screen) |
| | | @@ -162,23 +162,23 @@ |
| | | @@ -347,23 +347,23 @@ |
| | | @GL_KLUDGE@ GL: superquadrics -root \n\ |
| | | attraction -root \n\ |
| | | blitspin -root \n\ |
| | |
| | | deco -root \n\ |
| | | drift -root \n\ |
| | | - fadeplot -root \n\ |
| | | @@ -187,13 +187,13 @@ |
| | | @@ -372,13 +372,13 @@ |
| | | grav -root \n\ |
| | | ifs -root \n\ |
| | | @GL_KLUDGE@ GL: jigsaw -root \n\ |
| | |
| | | penrose -root \n\ |
| | | @GL_KLUDGE@ GL: pipes -root \n\ |
| | | rd-bomb -root \n\ |
| | | @@ -208,7 +208,7 @@ |
| | | @@ -393,7 +393,7 @@ |
| | | xjack -root \n\ |
| | | xlyap -root \n\ |
| | | @GL_KLUDGE@ GL: atlantis -root \n\ |
| | |
| | | @GL_KLUDGE@ GL: bubble3d -root \n\ |
| | | @GL_KLUDGE@ GL: cage -root \n\ |
| | | - crystal -root \n\ |
| | | @@ -221,7 +221,7 @@ |
| | | @@ -406,7 +406,7 @@ |
| | | interference -root \n\ |
| | | kumppa -root \n\ |
| | | @GL_KLUDGE@ GL: lament -root \n\ |
| | |
| | | @GL_KLUDGE@ GL: sonar -root \n\ |
| | | @GL_KLUDGE@ GL: stairs -root \n\ |
| | | truchet -root \n\ |
| | | @@ -229,9 +229,9 @@ |
| | | @@ -414,9 +414,9 @@ |
| | | blaster -root \n\ |
| | | bumps -root \n\ |
| | | ccurve -root \n\ |
| | |
| | | @GLE_KLUDGE@ GL: extrusion -root \n\ |
| | | - loop -root \n\ |
| | | penetrate -root \n\ |
| | | @@ -245,7 +245,7 @@ |
| | | @@ -430,7 +430,7 @@ |
| | | squiral -root \n\ |
| | | wander -root \n\ |
| | | - webcollage -root \n\ |
| | |
| | | xmatrix -root \n\ |
| | | @GL_KLUDGE@ GL: gflux -root \n\ |
| | | - nerverot -root \n\ |
| | | @@ -260,14 +260,14 @@ |
| | | @GL_KLUDGE@ GL: menger -root \n\ |
| | | @@ -446,14 +446,14 @@ |
| | | @GL_KLUDGE@ GL: molecule -root \n\ |
| | | rotzoomer -root \n\ |
| | | scooter -root \n\ |
| | | - speedmine -root \n\ |
| | | +- speedmine -root \n\ |
| | | @GL_KLUDGE@ GL: starwars -root \n\ |
| | |
| | | @GL_KLUDGE@ GL: boxed -root \n\ |
| | | @GL_KLUDGE@ GL: cubenetic -root \n\ |
| | | @GL_KLUDGE@ GL: endgame -root \n\ |
| | | @@ -296,12 +296,11 @@ |
| | | @@ -482,12 +482,11 @@ |
| | | @GL_KLUDGE@ GL: cubestorm -root \n\ |
| | | eruption -root \n\ |
| | | @GL_KLUDGE@ GL: flipflop -root \n\ |
| | |
| | | @GL_KLUDGE@ GL: hypertorus -root \n\ |
| | | - GL: jigglypuff -root \n\ |
| | | metaballs -root \n\ |
| | | @@ -321,7 +320,6 @@ |
| | | @@ -507,7 +506,6 @@ |
| | | intermomentary -root \n\ |
| | | memscroller -root \n\ |
| | | @GL_KLUDGE@ GL: noof -root \n\ |
| | |
| | | @GL_KLUDGE@ GL: pinion -root \n\ |
| | | @GL_KLUDGE@ GL: polyhedra -root \n\ |
| | | - GL: providence -root \n\ |
| | | @@ -467,7 +465,6 @@ |
| | | @@ -624,7 +622,6 @@ |
| | | *hacks.flipscreen3d.name: FlipScreen3D |
| | | *hacks.fliptext.name: FlipText |
| | | *hacks.fluidballs.name: FluidBalls |
| | |
| | | |
| | | - Find helper programs even though they are not in $PATH |
| | | |
| | | - Show author names when reading RSS feeds from sites like blogs.sun.com |
| | | |
| | | - Show Solaris package names in demo app when hacks are not installed |
| | | |
| | | - Use gnome-help to display man pages nicely, without requiring internet |
| | |
| | | <property name="use_underline">False</property> |
| | | <property name="use_markup">False</property> |
| | | <property name="justify">GTK_JUSTIFY_CENTER</property> |
| | | diff --git a/driver/xscreensaver-text b/driver/xscreensaver-text |
| | | index 8199829..921d5c7 100755 |
| | | --- driver/xscreensaver-text |
| | | +++ driver/xscreensaver-text |
| | | @@ -569,12 +569,15 @@ sub reformat_rss($) { |
| | | $i++; |
| | | |
| | | my ($title, $body1, $body2, $body3); |
| | | + my $author; |
| | | |
| | | $title = $3 if (m@<((TITLE) [^<>\s]*)[^<>]*>\s*(.*?)\s*</\1>@xsi); |
| | | $body1 = $3 if (m@<((DESCRIPTION) [^<>\s]*)[^<>]*>\s*(.*?)\s*</\1>@xsi); |
| | | $body2 = $3 if (m@<((CONTENT) [^<>\s]*)[^<>]*>\s*(.*?)\s*</\1>@xsi); |
| | | $body3 = $3 if (m@<((SUMMARY) [^<>\s]*)[^<>]*>\s*(.*?)\s*</\1>@xsi); |
| | | |
| | | + $author = $3 if (m@<((DC:CREATOR) [^<>\s]*)[^<>]*>\s*(.*?)\s*</\1>@xsi); |
| | | + |
| | | # If there are both <description> and <content> or <content:encoded>, |
| | | # use whichever one contains more text. |
| | | # |
| | | @@ -598,10 +601,11 @@ sub reformat_rss($) { |
| | | |
| | | $title = rss_field_to_html ($title || ''); |
| | | $body1 = rss_field_to_html ($body1 || ''); |
| | | + $author = rss_field_to_html ($author || ''); |
| | | |
| | | $title = '' if ($body1 eq $title); # Identical in Twitter's atom feed. |
| | | |
| | | - $out .= reformat_html ("$title<P>$body1", $wiki_p ? 'wiki' : 'rss'); |
| | | + $out .= reformat_html ("$title<BR>$author<P>$body1", $wiki_p ? 'wiki' : 'rss'); |
| | | $out .= "\n"; |
| | | } |
| | | |
| | | --- driver/xscreensaver.man 2018-04-10 21:26:46.000000000 +0000 |
| | | +++ driver/xscreensaver.man 2018-06-04 08:22:25.429087341 +0000 |
| | | @@ -97,9 +97,8 @@ xscreensaver-command -restart |
| | |
| | | xscreensaver-text.man \ |
| | | --- /dev/null |
| | | +++ driver/atoms.c |
| | | @@ -0,0 +1,114 @@ |
| | | @@ -0,0 +1,115 @@ |
| | | +/* xscreensaver, Copyright (c) 1991-2010 Jamie Zawinski <jwz@jwz.org> |
| | | + * |
| | | + * Permission to use, copy, modify, distribute, and sell this software and its |
| | |
| | | +/* Atoms to send commands to remote daemon */ |
| | | +Atom XA_ACTIVATE, XA_BLANK, XA_CYCLE, XA_DEACTIVATE, XA_DEMO, |
| | | + XA_EXIT, XA_LOCK, XA_NEXT, XA_PREFS, XA_PREV, XA_RESTART, |
| | | + XA_SELECT, XA_THROTTLE, XA_UNTHROTTLE, XA_NET_WM_USER_TIME; |
| | | + XA_SELECT, XA_SUSPEND, XA_THROTTLE, XA_UNTHROTTLE, XA_NET_WM_USER_TIME; |
| | | + |
| | | +static const struct atom_request remote_control_atom_list[] = |
| | | +{ |
| | |
| | | + { &XA_PREV, "PREV" }, |
| | | + { &XA_RESTART, "RESTART" }, |
| | | + { &XA_SELECT, "SELECT" }, |
| | | + { &XA_SUSPEND, "SUSPEND" }, |
| | | + { &XA_THROTTLE, "THROTTLE" }, |
| | | + { &XA_UNTHROTTLE, "UNTHROTTLE" }, |
| | | + { &XA_NET_WM_USER_TIME, "_NET_WM_USER_TIME" }, |
| | |
| | | +/* Atoms to send commands to remote daemon */ |
| | | +extern Atom XA_ACTIVATE, XA_BLANK, XA_CYCLE, XA_DEACTIVATE, XA_DEMO, |
| | | + XA_EXIT, XA_LOCK, XA_NEXT, XA_PREFS, XA_PREV, XA_RESTART, |
| | | + XA_SELECT, XA_THROTTLE, XA_UNTHROTTLE, XA_NET_WM_USER_TIME; |
| | | + XA_SELECT, XA_SUSPEND, XA_THROTTLE, XA_UNTHROTTLE, XA_NET_WM_USER_TIME; |
| | | + |
| | | +#endif /* _XSCREENSAVER_ATOMS_H_ */ |
| | | diff --git driver/demo-Gtk.c driver/demo-Gtk.c |
| | | --- driver/demo-Gtk.c |
| | | +++ driver/demo-Gtk.c |
| | | @@ -118,6 +118,7 @@ |
| | | --- driver/demo-Gtk.c.~3~ 2020-05-01 19:54:00.818785589 +0000 |
| | | +++ driver/demo-Gtk.c 2020-05-01 19:55:06.937194585 +0000 |
| | | @@ -117,6 +117,7 @@ |
| | | #include "resources.h" /* for parse_time() */ |
| | | #include "visual.h" /* for has_writable_cells() */ |
| | | #include "remote.h" /* for xscreensaver_command() */ |
| | |
| | | #include "usleep.h" |
| | | |
| | | #include "logo-50.xpm" |
| | | @@ -252,12 +253,6 @@ typedef struct { |
| | | @@ -246,13 +247,6 @@ |
| | | a closure object of our own down into the various widget callbacks. */ |
| | | static state *global_state_kludge; |
| | | |
| | | -Atom XA_VROOT; |
| | | -Atom XA_SCREENSAVER, XA_SCREENSAVER_RESPONSE, XA_SCREENSAVER_VERSION; |
| | | -Atom XA_SCREENSAVER_ID, XA_SCREENSAVER_STATUS, XA_SELECT, XA_DEMO; |
| | | -Atom XA_ACTIVATE, XA_BLANK, XA_LOCK, XA_RESTART, XA_EXIT; |
| | | -Atom XA_ACTIVATE, XA_SUSPEND, XA_BLANK, XA_LOCK, XA_RESTART, XA_EXIT; |
| | | -Atom XA_NEXT, XA_PREV; |
| | | - |
| | | - |
| | | static void populate_demo_window (state *, int list_elt); |
| | | static void populate_prefs_page (state *); |
| | | static void populate_popup_window (state *); |
| | | @@ -5050,20 +5045,11 @@ main (int argc, char **argv) |
| | | @@ -5069,22 +5063,11 @@ |
| | | |
| | | /* Intern the atoms that xscreensaver_command() needs. |
| | | */ |
| | |
| | | - XA_SELECT = XInternAtom (dpy, "SELECT", False); |
| | | - XA_DEMO = XInternAtom (dpy, "DEMO", False); |
| | | - XA_ACTIVATE = XInternAtom (dpy, "ACTIVATE", False); |
| | | - XA_SUSPEND = XInternAtom (dpy, "SUSPEND", False); |
| | | - XA_BLANK = XInternAtom (dpy, "BLANK", False); |
| | | - XA_LOCK = XInternAtom (dpy, "LOCK", False); |
| | | - XA_NEXT = XInternAtom (dpy, "NEXT", False); |
| | | - XA_PREV = XInternAtom (dpy, "PREV", False); |
| | | - XA_EXIT = XInternAtom (dpy, "EXIT", False); |
| | | - XA_RESTART = XInternAtom (dpy, "RESTART", False); |
| | | - |
| | | + { |
| | | + const struct atom_request *atom_lists[2] = { NULL, NULL }; |
| | | + atom_lists[0] = remote_control_atoms; |
| | | + request_atoms (dpy, atom_lists); |
| | | + } |
| | | |
| | | |
| | | /* Create the window and all its widgets. |
| | | */ |
| | | diff --git driver/demo-Xm.c driver/demo-Xm.c |
| | | --- driver/demo-Xm.c |
| | | +++ driver/demo-Xm.c |
| | | --- driver/demo-Xm.c.~1~ 2019-06-04 01:52:44.000000000 +0000 |
| | | +++ driver/demo-Xm.c 2020-05-01 19:53:00.167687999 +0000 |
| | | @@ -82,6 +82,7 @@ |
| | | #include "resources.h" /* for parse_time() */ |
| | | #include "visual.h" /* for has_writable_cells() */ |
| | |
| | | #include "usleep.h" |
| | | |
| | | #include <stdio.h> |
| | | @@ -110,12 +111,6 @@ extern const char *visual_menu[]; |
| | | @@ -110,12 +111,6 @@ |
| | | |
| | | static char *short_version = 0; |
| | | |
| | | -Atom XA_VROOT; |
| | | -Atom XA_SCREENSAVER, XA_SCREENSAVER_RESPONSE, XA_SCREENSAVER_VERSION; |
| | | -Atom XA_SCREENSAVER_ID, XA_SCREENSAVER_STATUS, XA_SELECT, XA_DEMO; |
| | | -Atom XA_ACTIVATE, XA_BLANK, XA_LOCK, XA_RESTART, XA_EXIT; |
| | | -Atom XA_ACTIVATE, XA_SUSPEND, XA_BLANK, XA_LOCK, XA_RESTART, XA_EXIT; |
| | | - |
| | | - |
| | | static void populate_demo_window (Widget toplevel, |
| | | int which, prefs_pair *pair); |
| | | static void populate_prefs_page (Widget top, prefs_pair *pair); |
| | | @@ -1791,19 +1786,11 @@ main (int argc, char **argv) |
| | | @@ -1791,20 +1786,11 @@ |
| | | |
| | | /* Intern the atoms that xscreensaver_command() needs. |
| | | */ |
| | |
| | | - XA_SELECT = XInternAtom (dpy, "SELECT", False); |
| | | - XA_DEMO = XInternAtom (dpy, "DEMO", False); |
| | | - XA_ACTIVATE = XInternAtom (dpy, "ACTIVATE", False); |
| | | - XA_SUSPEND = XInternAtom (dpy, "SUSPEND", False); |
| | | - XA_BLANK = XInternAtom (dpy, "BLANK", False); |
| | | - XA_LOCK = XInternAtom (dpy, "LOCK", False); |
| | | - XA_EXIT = XInternAtom (dpy, "EXIT", False); |
| | |
| | | #undef ABS |
| | | #define ABS(x)((x)<0?-(x):(x)) |
| | | diff --git driver/remote.c driver/remote.c |
| | | --- driver/remote.c |
| | | +++ driver/remote.c |
| | | @@ -34,15 +34,13 @@ |
| | | --- driver/remote.c.~1~ 2020-05-01 19:59:02.063077824 +0000 |
| | | +++ driver/remote.c 2020-05-01 20:00:35.059773302 +0000 |
| | | @@ -34,17 +34,13 @@ |
| | | #include <X11/Xos.h> |
| | | |
| | | #include "remote.h" |
| | |
| | | -extern Atom XA_SCREENSAVER, XA_SCREENSAVER_VERSION, XA_SCREENSAVER_RESPONSE; |
| | | -extern Atom XA_SCREENSAVER_ID, XA_SCREENSAVER_STATUS, XA_EXIT; |
| | | -extern Atom XA_VROOT, XA_SELECT, XA_DEMO, XA_BLANK, XA_LOCK; |
| | | |
| | | -extern Atom XA_ACTIVATE, XA_SUSPEND, XA_NEXT, XA_PREV, XA_EXIT; |
| | | - |
| | | |
| | | static XErrorHandler old_handler = 0; |
| | | static Bool got_badwindow = False; |
| | | diff --git driver/windows.c driver/windows.c |
| | | --- driver/windows.c |
| | | +++ driver/windows.c |
| | |
| | | |
| | | extern saver_info *global_si_kludge; /* I hate C so much... */ |
| | | |
| | | --- driver/xscreensaver-command.c |
| | | +++ driver/xscreensaver-command.c |
| | | --- driver/xscreensaver-command.c.~1~ 2019-06-04 01:01:59.000000000 +0000 |
| | | +++ driver/xscreensaver-command.c 2020-05-01 20:18:20.899693388 +0000 |
| | | @@ -40,6 +40,7 @@ |
| | | typedef long PROP32; |
| | | |
| | |
| | | #include "version.h" |
| | | |
| | | #ifdef _VROOT_H_ |
| | | @@ -48,13 +49,6 @@ ERROR! you must not include vroot.h in this file |
| | | @@ -48,13 +49,6 @@ |
| | | |
| | | char *progname; |
| | | |
| | | -Atom XA_VROOT; |
| | | -Atom XA_SCREENSAVER, XA_SCREENSAVER_VERSION, XA_SCREENSAVER_RESPONSE; |
| | | -Atom XA_SCREENSAVER_ID, XA_SCREENSAVER_STATUS, XA_SELECT, XA_DEMO, XA_EXIT; |
| | | -Atom XA_BLANK, XA_LOCK; |
| | | -static Atom XA_ACTIVATE, XA_DEACTIVATE, XA_CYCLE, XA_NEXT, XA_PREV; |
| | | -Atom XA_BLANK, XA_LOCK, XA_ACTIVATE, XA_SUSPEND, XA_NEXT, XA_PREV; |
| | | -static Atom XA_DEACTIVATE, XA_CYCLE; |
| | | -static Atom XA_RESTART, XA_PREFS, XA_THROTTLE, XA_UNTHROTTLE; |
| | | - |
| | | static char *screensaver_version; |
| | | # ifdef __GNUC__ |
| | | __extension__ /* don't warn about "string length is greater than the |
| | | @@ -285,28 +279,11 @@ main (int argc, char **argv) |
| | | @@ -298,29 +292,11 @@ |
| | | exit (1); |
| | | } |
| | | |
| | |
| | | - XA_SCREENSAVER_RESPONSE = XInternAtom (dpy, "_SCREENSAVER_RESPONSE", False); |
| | | - XA_ACTIVATE = XInternAtom (dpy, "ACTIVATE", False); |
| | | - XA_DEACTIVATE = XInternAtom (dpy, "DEACTIVATE", False); |
| | | - XA_SUSPEND = XInternAtom (dpy, "SUSPEND", False); |
| | | - XA_RESTART = XInternAtom (dpy, "RESTART", False); |
| | | - XA_CYCLE = XInternAtom (dpy, "CYCLE", False); |
| | | - XA_NEXT = XInternAtom (dpy, "NEXT", False); |
| | |
| | | if (cmd == &XA_WATCH) |
| | | { |
| | | diff --git driver/xscreensaver.c driver/xscreensaver.c |
| | | --- driver/xscreensaver.c |
| | | +++ driver/xscreensaver.c |
| | | --- driver/xscreensaver.c.~1~ 2020-03-19 23:38:00.000000000 +0000 |
| | | +++ driver/xscreensaver.c 2020-05-01 19:36:16.064832824 +0000 |
| | | @@ -232,6 +232,7 @@ |
| | | #include "visual.h" |
| | | #include "usleep.h" |
| | |
| | | |
| | | |
| | | -static Atom XA_SCREENSAVER_RESPONSE; |
| | | -static Atom XA_ACTIVATE, XA_DEACTIVATE, XA_CYCLE, XA_NEXT, XA_PREV; |
| | | -static Atom XA_ACTIVATE, XA_DEACTIVATE, XA_SUSPEND, XA_CYCLE, XA_NEXT, XA_PREV; |
| | | -static Atom XA_RESTART, XA_SELECT; |
| | | -static Atom XA_THROTTLE, XA_UNTHROTTLE; |
| | | -Atom XA_DEMO, XA_PREFS, XA_EXIT, XA_LOCK, XA_BLANK; |
| | |
| | | |
| | | static XrmOptionDescRec options [] = { |
| | | |
| | | @@ -657,31 +652,20 @@ |
| | | @@ -673,32 +668,20 @@ |
| | | |
| | | db = si->prefs.db; /* resources.c needs this */ |
| | | |
| | |
| | | - XA_NET_WM_USER_TIME = XInternAtom (si->dpy, "_NET_WM_USER_TIME", False); |
| | | - XA_ACTIVATE = XInternAtom (si->dpy, "ACTIVATE", False); |
| | | - XA_DEACTIVATE = XInternAtom (si->dpy, "DEACTIVATE", False); |
| | | - XA_SUSPEND = XInternAtom (si->dpy, "SUSPEND", False); |
| | | - XA_RESTART = XInternAtom (si->dpy, "RESTART", False); |
| | | - XA_CYCLE = XInternAtom (si->dpy, "CYCLE", False); |
| | | - XA_NEXT = XInternAtom (si->dpy, "NEXT", False); |
| | |
| | | echo "" |
| | | AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work. |
| | | diff --git driver/Makefile.in driver/Makefile.in |
| | | --- driver/Makefile.in |
| | | +++ driver/Makefile.in |
| | | @@ -29,6 +29,7 @@ GTK_APPDIR = $(GTK_DATADIR)/applications |
| | | --- driver/Makefile.in.~4~ 2020-05-01 20:36:46.111597541 +0000 |
| | | +++ driver/Makefile.in 2020-05-01 20:39:01.782966094 +0000 |
| | | @@ -29,6 +29,7 @@ |
| | | GTK_ICONDIR = $(GTK_DATADIR)/pixmaps |
| | | GTK_GLADEDIR = $(prefix)/lib/xscreensaver/config |
| | | HACK_CONF_DIR = @HACK_CONF_DIR@ |
| | |
| | | |
| | | CC = @CC@ |
| | | OBJCC = @OBJCC@ |
| | | @@ -42,6 +43,7 @@ SUBP_DEFS = $(DEFS) -DHACK_PATH='"@HACKDIR@"' \ |
| | | @@ -42,6 +43,7 @@ |
| | | GTK_DEFS = $(DEFS) -DDEFAULT_ICONDIR='"$(GTK_GLADEDIR)"' \ |
| | | -DBINDIR='"$(bindir)"' |
| | | CONF_DEFS = -DHACK_CONFIGURATION_PATH='"$(HACK_CONF_DIR)"' |
| | |
| | | |
| | | LIBS = @LIBS@ |
| | | INTL_LIBS = @INTLLIBS@ |
| | | @@ -100,6 +102,8 @@ GTK_SRCS = demo-Gtk.c demo-Gtk-conf.c \ |
| | | demo-Gtk-widgets.c demo-Gtk-support.c |
| | | GTK_EXTRA_OBJS = demo-Gtk-widgets.o demo-Gtk-support.o |
| | | @@ -98,6 +100,8 @@ |
| | | |
| | | GTK_SRCS = demo-Gtk.c demo-Gtk-conf.c |
| | | GTK_OBJS = demo-Gtk.o demo-Gtk-conf.o @GTK_EXTRA_OBJS@ |
| | | +GTK_LOCK_SRCS = lock-Gtk.c atoms.c remote.c |
| | | +GTK_LOCK_OBJS = lock-Gtk.o atoms.o remote.o |
| | | |
| | | PWENT_SRCS = passwd-pwent.c |
| | | PWENT_OBJS = passwd-pwent.o |
| | | @@ -219,8 +223,8 @@ GETIMG_LIBS = $(LIBS) $(X_LIBS) $(XPM_LIBS) $(JPEG_LIBS) \ |
| | | @@ -223,8 +227,8 @@ |
| | | $(X_PRE_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS) |
| | | |
| | | EXES = xscreensaver xscreensaver-command xscreensaver-demo \ |
| | | - xscreensaver-getimage @EXES_OSX@ |
| | | - xscreensaver-getimage @EXES_OSX@ @EXES_SYSTEMD@ |
| | | -EXES2 = @ALL_DEMO_PROGRAMS@ |
| | | + xscreensaver-getimage @EXES_OSX@ @LOCK_PROGRAM@ |
| | | + xscreensaver-getimage @EXES_OSX@ @EXES_SYSTEMD@ @LOCK_PROGRAM@ |
| | | +EXES2 = @ALL_DEMO_PROGRAMS@ @ALL_LOCK_PROGRAMS@ |
| | | EXES_OSX = pdf2jpeg |
| | | EXES_SYSTEMD = xscreensaver-systemd |
| | | |
| | | SCRIPTS_1 = xscreensaver-getimage-file xscreensaver-getimage-video \ |
| | | @@ -250,7 +254,7 @@ VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \ |
| | | @@ -255,7 +259,7 @@ |
| | | vms-getpwnam.c vms-pwd.h vms-hpwd.c vms-validate.c \ |
| | | vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt |
| | | |
| | | -TARFILES = $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) \ |
| | | +TARFILES = $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) $(GTK_LOCK_SRCS) \ |
| | | -TARFILES = $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) $(SYSTEMD_SRCS) \ |
| | | +TARFILES = $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) $(GTK_LOCK_SRCS) $(SYSTEMD_SRCS) \ |
| | | $(MOTIF_SRCS) $(GTK_SRCS) $(PWENT_SRCS) $(PWHELPER_SRCS) \ |
| | | $(KERBEROS_SRCS) $(PAM_SRCS) $(LOCK_SRCS_1) $(DEMO_SRCS_1) \ |
| | | $(CMD_SRCS) $(GETIMG_SRCS_1) $(PDF2JPEG_SRCS) $(HDRS) \ |
| | | @@ -263,7 +267,7 @@ all: $(EXES) $(EXES2) |
| | | @@ -268,7 +272,7 @@ |
| | | tests: $(TEST_EXES) |
| | | |
| | | install: install-program install-ad install-scripts \ |
| | |
| | | uninstall: uninstall-program uninstall-ad \ |
| | | uninstall-gnome uninstall-man uninstall-xml |
| | | |
| | | @@ -275,6 +279,9 @@ install-program: $(EXES) |
| | | @@ -280,6 +284,9 @@ |
| | | @if [ ! -d $(install_prefix)$(bindir) ]; then \ |
| | | $(INSTALL_DIRS) $(install_prefix)$(bindir) ; \ |
| | | fi |
| | |
| | | @inst="$(INSTALL_PROGRAM)" ; \ |
| | | if [ @NEED_SETUID@ = yes ]; then \ |
| | | me=`PATH="$$PATH:/usr/ucb" whoami` ; \ |
| | | @@ -303,6 +310,12 @@ install-program: $(EXES) |
| | | @@ -308,6 +315,12 @@ |
| | | echo $(INSTALL_PROGRAM) $$exe $(install_prefix)$(bindir)/$$exe ; \ |
| | | $(INSTALL_PROGRAM) $$exe $(install_prefix)$(bindir)/$$exe ; \ |
| | | done |
| | |
| | | |
| | | install-ad: XScreenSaver.ad |
| | | @if [ ! -d $(install_prefix)$(AD_DIR) ]; then \ |
| | | @@ -738,7 +751,7 @@ $(SAVER_UTIL_OBJS): |
| | | @@ -755,7 +768,7 @@ |
| | | |
| | | # How we build object files in this directory. |
| | | .c.o: |
| | |
| | | |
| | | .m.o: |
| | | $(OBJCC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $< |
| | | @@ -764,6 +777,16 @@ demo-Gtk-conf.o: demo-Gtk-conf.c |
| | | @@ -781,6 +794,16 @@ |
| | | $(CC) -c $(INCLUDES) $(CONF_DEFS) $(GTK_DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \ |
| | | $(srcdir)/demo-Gtk-conf.c |
| | | |
| | |
| | | |
| | | # How we build the default app-defaults file into the program. |
| | | # |
| | | @@ -778,7 +801,8 @@ XScreenSaver_Xm_ad.h: XScreenSaver-Xm.ad |
| | | @@ -795,7 +818,8 @@ |
| | | # The executables linked in this directory. |
| | | # |
| | | xscreensaver: $(SAVER_OBJS) |
| | |
| | | |
| | | xscreensaver-command: $(CMD_OBJS) |
| | | $(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS) |
| | | @@ -794,6 +818,15 @@ xscreensaver-demo: @PREFERRED_DEMO_PROGRAM@ |
| | | @@ -811,6 +835,15 @@ |
| | | cp -p @PREFERRED_DEMO_PROGRAM@@EXEEXT@ $@@EXEEXT@ ; \ |
| | | fi |
| | | |
| | |
| | | xscreensaver-demo-Xm: $(DEMO_OBJS) $(MOTIF_OBJS) |
| | | $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(MOTIF_OBJS) $(LIBS) $(X_LIBS) \ |
| | | $(MOTIF_LIBS) $(INTL_LIBS) $(X_PRE_LIBS) -lXt -lX11 \ |
| | | @@ -817,7 +850,7 @@ pdf2jpeg: $(PDF2JPEG_OBJS) |
| | | |
| | | @@ -836,7 +869,7 @@ |
| | | $(CC) $(LDFLAGS) -o $@ $(SYSTEMD_OBJS) $(SYSTEMD_LIBS) -lm |
| | | |
| | | TEST_PASSWD_OBJS = test-passwd.o $(LOCK_OBJS_1) $(PASSWD_OBJS) \ |
| | | - subprocs.o setuid.o splash.o prefs.o mlstring.o exec.o \ |
| | |
| | | $(SAVER_UTIL_OBJS) |
| | | test-passwd.o: XScreenSaver_ad.h |
| | | |
| | | @@ -907,8 +940,14 @@ dpms.o: $(srcdir)/types.h |
| | | @@ -921,8 +954,14 @@ |
| | | dpms.o: $(srcdir)/xscreensaver.h |
| | | exec.o: ../config.h |
| | | exec.o: $(srcdir)/exec.h |
| | |
| | | lock.o: $(srcdir)/mlstring.h |
| | | lock.o: $(srcdir)/prefs.h |
| | | lock.o: $(srcdir)/types.h |
| | | @@ -917,6 +956,8 @@ lock.o: $(srcdir)/xscreensaver.h |
| | | mlstring.o: $(srcdir)/mlstring.h |
| | | @@ -936,6 +975,8 @@ |
| | | passwd-kerberos.o: ../config.h |
| | | passwd.o: $(srcdir)/auth.h |
| | | passwd.o: ../config.h |
| | | +passwd.o: $(srcdir)/dialog-data.h |
| | |
| | | passwd.o: $(srcdir)/prefs.h |
| | | passwd.o: $(srcdir)/types.h |
| | | passwd.o: $(srcdir)/xscreensaver.h |
| | | @@ -984,6 +1025,8 @@ test-vp.o: ../config.h |
| | | test-xdpms.o: ../config.h |
| | | test-xinerama.o: ../config.h |
| | | @@ -1010,6 +1051,8 @@ |
| | | test-yarandom.o: ../config.h |
| | | test-yarandom.o: $(UTILS_SRC)/yarandom.h |
| | | timers.o: ../config.h |
| | | +timers.o: $(srcdir)/dialog-data.h |
| | | +timers.o: $(srcdir)/mlstring.h |
| | | timers.o: $(srcdir)/prefs.h |
| | | timers.o: $(srcdir)/types.h |
| | | timers.o: $(srcdir)/xscreensaver.h |
| | | @@ -1011,6 +1054,8 @@ xscreensaver-getimage.o: $(UTILS_SRC)/yarandom.h |
| | | @@ -1037,6 +1080,8 @@ |
| | | xscreensaver.o: XScreenSaver_ad.h |
| | | xscreensaver.o: $(srcdir)/auth.h |
| | | xscreensaver.o: ../config.h |
| | |
| | | xscreensaver.o: $(srcdir)/prefs.h |
| | | xscreensaver.o: $(srcdir)/types.h |
| | | xscreensaver.o: $(UTILS_SRC)/resources.h |
| | | diff --git driver/auth.h driver/auth.h |
| | | --- driver/auth.h |
| | | +++ driver/auth.h |
| | | @@ -51,4 +51,8 @@ xss_authenticate(saver_info *si, Bool verbose_p); |
| | |
| | | +} |
| | | +#endif /* HAVE_GTK2 */ |
| | | diff --git driver/lock.c driver/lock.c |
| | | --- driver/lock.c |
| | | +++ driver/lock.c |
| | | --- driver/lock.c.~1~ 2020-03-19 03:47:07.000000000 +0000 |
| | | +++ driver/lock.c 2020-05-01 20:30:06.625437576 +0000 |
| | | @@ -21,8 +21,13 @@ |
| | | #include <X11/Intrinsic.h> |
| | | #include <X11/cursorfont.h> |
| | |
| | | #include "xscreensaver.h" |
| | | #include "resources.h" |
| | | #include "mlstring.h" |
| | | @@ -83,125 +83,630 @@ vms_passwd_valid_p(char *pw, Bool verbos |
| | | @@ -83,125 +88,630 @@ |
| | | |
| | | typedef struct info_dialog_data info_dialog_data; |
| | | |
| | |
| | | pw = (passwd_dialog_data *) calloc (1, sizeof(*pw)); |
| | | if (!pw) |
| | | return -1; |
| | | @@ -211,17 +721,21 @@ new_passwd_window (saver_info *si) |
| | | @@ -210,17 +720,21 @@ |
| | | */ |
| | | pw->login_button_p = (si->prefs.new_login_command && |
| | | *si->prefs.new_login_command); |
| | |
| | | pw->heading_label = get_string_resource (si->dpy, "passwd.heading.label", |
| | | "Dialog.Label.Label"); |
| | | pw->body_label = get_string_resource (si->dpy, "passwd.body.label", |
| | | @@ -376,6 +890,7 @@ new_passwd_window (saver_info *si) |
| | | @@ -355,6 +869,7 @@ |
| | | if (pw->shadow_width == 0) pw->shadow_width = 4; |
| | | if (pw->thermo_width == 0) pw->thermo_width = pw->shadow_width; |
| | | |
| | |
| | | |
| | | /* We need to remember the mouse position and restore it afterward, or |
| | | sometimes (perhaps only with Xinerama?) the mouse gets warped to |
| | | @@ -442,12 +957,16 @@ make_passwd_window (saver_info *si, |
| | | @@ -421,12 +936,16 @@ |
| | | const char *prompt, |
| | | Bool echo) |
| | | { |
| | |
| | | saver_screen_info *ssi = &si->screens [mouse_screen (si)]; |
| | | |
| | | cleanup_passwd_window (si); |
| | | @@ -455,7 +974,12 @@ make_passwd_window (saver_info *si, |
| | | @@ -434,7 +953,12 @@ |
| | | if (! ssi) /* WTF? Trying to prompt while no screens connected? */ |
| | | return -1; |
| | | |
| | |
| | | if (new_passwd_window (si) < 0) |
| | | return -1; |
| | | |
| | | @@ -470,6 +994,29 @@ make_passwd_window (saver_info *si, |
| | | @@ -449,6 +973,29 @@ |
| | | blurb(), pw->prompt_screen->number, |
| | | info_msg ? info_msg : ""); |
| | | |
| | |
| | | screen = pw->prompt_screen->screen; |
| | | cmap = DefaultColormapOfScreen (screen); |
| | | |
| | | @@ -716,11 +1263,13 @@ make_passwd_window (saver_info *si, |
| | | @@ -700,11 +1247,13 @@ |
| | | if (cmap) |
| | | XInstallColormap (si->dpy, cmap); |
| | | draw_passwd_window (si); |
| | |
| | | static void |
| | | draw_passwd_window (saver_info *si) |
| | | { |
| | | @@ -1066,17 +1615,48 @@ draw_button(Display *dpy, |
| | | @@ -1051,17 +1600,48 @@ |
| | | draw_shaded_rectangle(dpy, dialog, x, y, width, height, |
| | | shadow_width, shadow_light, shadow_dark); |
| | | } |
| | |
| | | gcv.foreground = pw->passwd_foreground; |
| | | gcv.font = pw->passwd_font->fid; |
| | | gc1 = XCreateGC (si->dpy, si->passwd_dialog, GCForeground|GCFont, &gcv); |
| | | @@ -1221,6 +1801,7 @@ update_passwd_window (saver_info *si, const char *printed_passwd, float ratio) |
| | | @@ -1207,6 +1787,7 @@ |
| | | XFreeGC (si->dpy, gc1); |
| | | XFreeGC (si->dpy, gc2); |
| | | XSync (si->dpy, False); |
| | |
| | | } |
| | | |
| | | |
| | | @@ -1252,6 +1833,9 @@ cleanup_passwd_window (saver_info *si) |
| | | @@ -1238,6 +1819,9 @@ |
| | | { |
| | | passwd_dialog_data *pw; |
| | | |
| | |
| | | if (!(pw = si->pw_data)) |
| | | return; |
| | | |
| | | @@ -1269,7 +1853,13 @@ cleanup_passwd_window (saver_info *si) |
| | | @@ -1255,7 +1839,13 @@ |
| | | |
| | | memset (pw->typed_passwd, 0, sizeof(pw->typed_passwd)); |
| | | memset (pw->typed_passwd_char_size, 0, sizeof(pw->typed_passwd_char_size)); |
| | |
| | | |
| | | if (pw->timer) |
| | | { |
| | | @@ -1292,8 +1882,10 @@ destroy_passwd_window (saver_info *si) |
| | | @@ -1278,8 +1868,10 @@ |
| | | passwd_dialog_data *pw = si->pw_data; |
| | | saver_screen_info *ssi = pw->prompt_screen; |
| | | Colormap cmap = DefaultColormapOfScreen (ssi->screen); |
| | |
| | | XEvent event; |
| | | |
| | | cleanup_passwd_window (si); |
| | | @@ -1309,6 +1901,81 @@ destroy_passwd_window (saver_info *si) |
| | | @@ -1295,6 +1887,81 @@ |
| | | si->cached_passwd = NULL; |
| | | } |
| | | |
| | |
| | | move_mouse_grab (si, RootWindowOfScreen (ssi->screen), |
| | | ssi->cursor, ssi->number); |
| | | |
| | | @@ -1343,7 +2010,14 @@ destroy_passwd_window (saver_info *si) |
| | | @@ -1329,7 +1996,14 @@ |
| | | fprintf (stderr, "%s: %d: destroying password dialog.\n", |
| | | blurb(), pw->prompt_screen->number); |
| | | |
| | |
| | | si->passwd_dialog = 0; |
| | | } |
| | | |
| | | @@ -1354,6 +2028,7 @@ destroy_passwd_window (saver_info *si) |
| | | @@ -1340,6 +2014,7 @@ |
| | | pw->save_under = 0; |
| | | } |
| | | |
| | |
| | | if (pw->heading_label) free (pw->heading_label); |
| | | if (pw->body_label) free (pw->body_label); |
| | | if (pw->user_label) free (pw->user_label); |
| | | @@ -1404,6 +2079,7 @@ destroy_passwd_window (saver_info *si) |
| | | @@ -1390,6 +2065,7 @@ |
| | | pw->logo_pixels = 0; |
| | | pw->logo_npixels = 0; |
| | | } |
| | |
| | | |
| | | if (pw->save_under) |
| | | XFreePixmap (si->dpy, pw->save_under); |
| | | @@ -1411,9 +2087,12 @@ destroy_passwd_window (saver_info *si) |
| | | @@ -1397,9 +2073,12 @@ |
| | | if (cmap) |
| | | XInstallColormap (si->dpy, cmap); |
| | | |
| | |
| | | free (pw); |
| | | si->pw_data = 0; |
| | | +#endif |
| | | } |
| | | |
| | | |
| | | @@ -1426,6 +2105,49 @@ ignore_all_errors_ehandler (Display *dpy, XErrorEvent *error) |
| | | return 0; |
| | | si->unlock_dismiss_time = time((time_t *) 0); |
| | | } |
| | | @@ -1418,6 +2097,49 @@ |
| | | |
| | | #endif /* HAVE_XF86MISCSETGRABKEYSSTATE || HAVE_XF86VMODE */ |
| | | |
| | | +#ifdef HAVE_XSCREENSAVER_LOCK |
| | | +/* Catch errors from XRestackWindows, since there's an inherent race |
| | |
| | | |
| | | #ifdef HAVE_XHPDISABLERESET |
| | | /* This function enables and disables the C-Sh-Reset hot-key, which |
| | | @@ -1627,6 +2349,17 @@ passwd_animate_timer (XtPointer closure, XtIntervalId *id) |
| | | @@ -1619,6 +2341,17 @@ |
| | | |
| | | if (!pw) return; |
| | | |
| | |
| | | pw->ratio -= (1.0 / ((double) si->prefs.passwd_timeout / (double) tick)); |
| | | if (pw->ratio < 0) |
| | | { |
| | | @@ -1646,6 +2379,7 @@ passwd_animate_timer (XtPointer closure, XtIntervalId *id) |
| | | @@ -1638,6 +2371,7 @@ |
| | | idle_timer ((XtPointer) si, 0); |
| | | } |
| | | |
| | |
| | | |
| | | static XComposeStatus *compose_status; |
| | | |
| | | @@ -1723,6 +2457,7 @@ finished_typing_passwd (saver_info *si, passwd_dialog_data *pw) |
| | | @@ -1715,6 +2449,7 @@ |
| | | update_passwd_window (si, "", pw->ratio); |
| | | } |
| | | } |
| | |
| | | |
| | | static void |
| | | handle_passwd_key (saver_info *si, XKeyEvent *event) |
| | | @@ -1730,7 +2465,8 @@ handle_passwd_key (saver_info *si, XKeyEvent *event) |
| | | @@ -1722,7 +2457,8 @@ |
| | | passwd_dialog_data *pw = si->pw_data; |
| | | unsigned char decoded [MAX_BYTES_PER_CHAR * 10]; /* leave some slack */ |
| | | KeySym keysym = 0; |
| | |
| | | /* XLookupString may return more than one character via XRebindKeysym; |
| | | and on some systems it returns multi-byte UTF-8 characters (contrary |
| | | to its documentation, which says it returns only Latin1.) |
| | | @@ -1764,11 +2500,40 @@ handle_passwd_key (saver_info *si, XKeyEvent *event) |
| | | @@ -1756,11 +2492,40 @@ |
| | | |
| | | decoded[decoded_size] = 0; |
| | | pw->passwd_changed_p = True; |
| | |
| | | if (decoded_size == 1) /* Handle single-char commands */ |
| | | { |
| | | switch (*decoded) |
| | | @@ -1858,6 +2623,7 @@ handle_passwd_key (saver_info *si, XKeyEvent *event) |
| | | @@ -1850,6 +2615,7 @@ |
| | | { |
| | | update_passwd_window (si, "", pw->ratio); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | @@ -1880,7 +2646,9 @@ passwd_event_loop (saver_info *si) |
| | | |
| | | @@ -1873,7 +2639,9 @@ |
| | | passwd_animate_timer ((XtPointer) si, 0); |
| | | reset_watchdog_timer (si, False); /* Disable watchdog while dialog up */ |
| | | |
| | | - while (si->unlock_state == ul_read) |
| | | + si->pw_data->got_passwd = FALSE; |
| | |
| | | { |
| | | XtAppNextEvent (si->app, &event.x_event); |
| | | |
| | | @@ -1921,12 +2689,17 @@ passwd_event_loop (saver_info *si) |
| | | @@ -1914,12 +2682,17 @@ |
| | | |
| | | if (event.x_event.xany.window == si->passwd_dialog && |
| | | event.x_event.xany.type == Expose) |
| | |
| | | else if (event.x_event.xany.type == ButtonPress || |
| | | event.x_event.xany.type == ButtonRelease) |
| | | { |
| | | @@ -1935,6 +2708,82 @@ passwd_event_loop (saver_info *si) |
| | | @@ -1928,6 +2701,82 @@ |
| | | if (si->pw_data->login_button_p) |
| | | handle_login_button (si, &event.x_event); |
| | | } |
| | |
| | | else |
| | | XtDispatchEvent (&event.x_event); |
| | | } |
| | | @@ -1960,8 +2809,13 @@ passwd_event_loop (saver_info *si) |
| | | @@ -1953,8 +2802,13 @@ |
| | | |
| | | if (msg) |
| | | { |
| | |
| | | XSync (si->dpy, False); |
| | | |
| | | /* Swallow all pending KeyPress/KeyRelease events. */ |
| | | @@ -1977,6 +2831,10 @@ passwd_event_loop (saver_info *si) |
| | | @@ -1972,6 +2826,10 @@ |
| | | static void |
| | | handle_typeahead (saver_info *si) |
| | | { |
| | |
| | | passwd_dialog_data *pw = si->pw_data; |
| | | int i; |
| | | if (!si->unlock_typeahead) |
| | | @@ -2004,6 +2862,7 @@ handle_typeahead (saver_info *si) |
| | | @@ -1999,6 +2857,7 @@ |
| | | |
| | | free (si->unlock_typeahead); |
| | | si->unlock_typeahead = 0; |
| | |
| | | } |
| | | |
| | | |
| | | @@ -2109,9 +2968,11 @@ gui_auth_conv(int num_msg, |
| | | @@ -2104,9 +2963,11 @@ |
| | | free(prompt_trimmed); |
| | | } |
| | | |
| | |
| | | |
| | | si->unlock_state = ul_read; |
| | | |
| | | @@ -2121,7 +2982,14 @@ gui_auth_conv(int num_msg, |
| | | @@ -2116,7 +2977,14 @@ |
| | | if (si->unlock_state == ul_cancel) |
| | | goto fail; |
| | | |
| | |
| | | |
| | | /* Cache the first response to a PROMPT_NOECHO to save prompting for |
| | | * each auth mechanism. */ |
| | | @@ -2129,8 +2997,10 @@ gui_auth_conv(int num_msg, |
| | | @@ -2124,8 +2992,10 @@ |
| | | auth_msgs[i].type == AUTH_MSGTYPE_PROMPT_NOECHO) |
| | | si->cached_passwd = strdup(responses[i].response); |
| | | |
| | |
| | | } |
| | | |
| | | *resp = responses; |
| | | @@ -2138,9 +3008,11 @@ gui_auth_conv(int num_msg, |
| | | @@ -2133,9 +3003,11 @@ |
| | | return (si->unlock_state == ul_finished) ? 0 : -1; |
| | | |
| | | fail: |
| | |
| | | |
| | | if (responses) |
| | | { |
| | | @@ -2196,11 +3068,14 @@ auth_finished_cb (saver_info *si) |
| | | @@ -2196,11 +3068,14 @@ |
| | | if (XPending (si->dpy)) |
| | | { |
| | | XNextEvent (si->dpy, &event); |
| | |
| | | |
| | | if (uid_errno == 0 && gid_errno == 0 && sgs_errno == 0) |
| | | diff --git driver/subprocs.c driver/subprocs.c |
| | | --- driver/subprocs.c |
| | | +++ driver/subprocs.c |
| | | @@ -243,7 +243,11 @@ show_job_list (void) |
| | | --- driver/subprocs.c.~2~ 2020-05-01 20:20:35.357686319 +0000 |
| | | +++ driver/subprocs.c 2020-05-01 20:35:45.252532023 +0000 |
| | | @@ -252,7 +252,11 @@ |
| | | |
| | | static void clean_job_list (void); |
| | | |
| | |
| | | make_job (pid_t pid, int screen, const char *cmd) |
| | | { |
| | | struct screenhack_job *job = (struct screenhack_job *) malloc (sizeof(*job)); |
| | | @@ -407,7 +411,11 @@ unblock_sigchld (void) |
| | | block_sigchld_handler--; |
| | | } |
| | | |
| | | +#ifdef HAVE_XSCREENSAVER_LOCK |
| | | +int |
| | | +#else |
| | | static int |
| | | +#endif |
| | | kill_job (saver_info *si, pid_t pid, int signal) |
| | | { |
| | | saver_preferences *p = &si->prefs; |
| | | @@ -590,9 +598,14 @@ describe_dead_child (saver_info *si, pid_t kid, int wait_status) |
| | | @@ -628,9 +632,14 @@ |
| | | mention them) if we've just killed the subprocess. But mention them |
| | | if they happen on their own. |
| | | */ |
| | |
| | | { |
| | | /* Don't call fprintf() from signal handlers, as it might malloc. |
| | | fprintf (stderr, |
| | | @@ -632,8 +645,12 @@ describe_dead_child (saver_info *si, pid_t kid, int wait_status) |
| | | @@ -670,8 +679,12 @@ |
| | | else if (WIFSIGNALED (wait_status)) |
| | | { |
| | | if (p->verbose_p || |
| | |
| | | WTERMSIG (wait_status) != SIGTERM) |
| | | { |
| | | /* Don't call fprintf() from signal handlers, as it might malloc. |
| | | @@ -701,12 +718,20 @@ describe_dead_child (saver_info *si, pid_t kid, int wait_status) |
| | | /* Clear out the pid so that screenhack_running_p() knows it's dead. |
| | | */ |
| | | if (!job || job->status == job_dead) |
| | | + { |
| | | for (i = 0; i < si->nscreens; i++) |
| | | { |
| | | saver_screen_info *ssi = &si->screens[i]; |
| | | @@ -746,6 +759,12 @@ |
| | | if (kid == ssi->pid) |
| | | ssi->pid = 0; |
| | | } |
| | | +#ifdef HAVE_XSCREENSAVER_LOCK |
| | | + if (kid == si->passwd_pid) |
| | | + { |
| | | + si->passwd_pid = 0; |
| | | + } |
| | | + { |
| | | + si->passwd_pid = 0; |
| | | + } |
| | | +#endif |
| | | + } |
| | | } |
| | | |
| | | #else /* VMS */ |
| | | diff --git driver/timers.c driver/timers.c |
| | | --- driver/timers.c |
| | | +++ driver/timers.c |
| | | @@ -48,6 +48,8 @@ |
| | | # ifdef HAVE_LIBSYSTEMD |
| | | if (kid == si->systemd_pid) |
| | | si->systemd_pid = 0; |
| | | --- driver/timers.c.~2~ 2020-05-01 20:20:35.397711212 +0000 |
| | | +++ driver/timers.c 2020-05-01 20:23:54.997791766 +0000 |
| | | @@ -49,6 +49,8 @@ |
| | | |
| | | #include "xscreensaver.h" |
| | | #include "atoms.h" |
| | |
| | | |
| | | #undef ABS |
| | | #define ABS(x)((x)<0?-(x):(x)) |
| | | @@ -60,6 +62,11 @@ static Bool proc_interrupts_activity_p (saver_info *si); |
| | | @@ -62,6 +64,11 @@ |
| | | #endif /* HAVE_PROC_INTERRUPTS */ |
| | | |
| | | static void check_for_clock_skew (saver_info *si); |
| | |
| | | |
| | | |
| | | void |
| | | @@ -255,7 +262,11 @@ cycle_timer (XtPointer closure, XtIntervalId *id) |
| | | @@ -259,7 +266,11 @@ |
| | | crash. So, restart the thing once an hour. */ |
| | | how_long = 1000 * 60 * 60; |
| | | |
| | |
| | | { |
| | | if (p->verbose_p) |
| | | fprintf (stderr, "%s: dialog box up; delaying hack change.\n", |
| | | @@ -308,7 +319,28 @@ activate_lock_timer (XtPointer closure, XtIntervalId *id) |
| | | @@ -318,7 +329,27 @@ |
| | | screen was locked, instead of duplicating the blank time. */ |
| | | si->blank_time = time ((time_t *) 0); |
| | | |
| | | if (p->verbose_p) |
| | | fprintf (stderr, "%s: timed out; activating lock.\n", blurb()); |
| | | - set_locked_p (si, True); |
| | | + |
| | | + if (si->locked_p) |
| | | + { |
| | | + if (p->verbose_p) |
| | |
| | | } |
| | | |
| | | |
| | | @@ -587,14 +619,30 @@ dispatch_event (saver_info *si, XEvent *event) |
| | | @@ -639,14 +670,30 @@ |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | event = *e; |
| | | |
| | | @@ -607,10 +655,12 @@ swallow_unlock_typeahead_events (saver_info *si, XEvent *e) |
| | | @@ -659,10 +706,12 @@ |
| | | if (size != 1) continue; |
| | | switch (*s) |
| | | { |
| | |
| | | case '\012': case '\015': /* Enter */ |
| | | case '\033': /* ESC */ |
| | | i = 0; |
| | | @@ -620,7 +670,17 @@ swallow_unlock_typeahead_events (saver_info *si, XEvent *e) |
| | | @@ -672,7 +721,17 @@ |
| | | break; /* ignore space at beginning of line */ |
| | | /* else, fall through */ |
| | | default: |
| | |
| | | break; |
| | | } |
| | | } |
| | | @@ -628,6 +688,7 @@ swallow_unlock_typeahead_events (saver_info *si, XEvent *e) |
| | | @@ -680,6 +739,7 @@ |
| | | } while (i < sizeof(buf)-1 && |
| | | XCheckMaskEvent (si->dpy, KeyPressMask, &event)); |
| | | |
| | |
| | | buf[i] = 0; |
| | | |
| | | if (si->unlock_typeahead) |
| | | @@ -642,6 +703,7 @@ swallow_unlock_typeahead_events (saver_info *si, XEvent *e) |
| | | @@ -694,6 +754,7 @@ |
| | | si->unlock_typeahead = 0; |
| | | |
| | | memset (buf, 0, sizeof(buf)); |
| | |
| | | } |
| | | |
| | | |
| | | @@ -824,6 +886,7 @@ sleep_until_idle (saver_info *si, Bool until_idle_p) |
| | | @@ -877,6 +938,7 @@ |
| | | if (handle_clientmessage (si, &event.x_event, until_idle_p)) |
| | | { |
| | | why = "ClientMessage"; |
| | |
| | | goto DONE; |
| | | } |
| | | break; |
| | | @@ -838,6 +901,47 @@ sleep_until_idle (saver_info *si, Bool until_idle_p) |
| | | @@ -891,6 +953,47 @@ |
| | | } |
| | | break; |
| | | |
| | |
| | | case KeyPress: |
| | | case ButtonPress: |
| | | /* Ignore release events so that hitting ESC at the password dialog |
| | | @@ -1457,7 +1561,11 @@ watchdog_timer (XtPointer closure, XtIntervalId *id) |
| | | @@ -1649,7 +1752,11 @@ |
| | | { |
| | | Bool running_p = screenhack_running_p (si); |
| | | |
| | |
| | | { |
| | | if (si->prefs.debug_p) |
| | | fprintf (stderr, "%s: dialog box is up: not raising screen.\n", |
| | | diff --git driver/types.h driver/types.h |
| | | --- driver/types.h |
| | | +++ driver/types.h |
| | | @@ -275,12 +275,29 @@ |
| | | int unlock_failures; /* Counts failed login attempts while the |
| | | screen is locked. */ |
| | | --- driver/types.h.~1~ 2020-05-01 20:20:35.458573937 +0000 |
| | | +++ driver/types.h 2020-05-01 20:27:06.092435373 +0000 |
| | | @@ -277,11 +277,29 @@ |
| | | time_t unlock_failure_time; /* Time of first failed login attempt. */ |
| | | time_t unlock_dismiss_time; /* Time lock dialog most recently dismissed. */ |
| | | |
| | | +#ifdef HAVE_XSCREENSAVER_LOCK |
| | | + Window *raise_wins; /* List of windows to raise above the */ |
| | | + int num_raise_wins; /* virtual root/hack display, such as */ |
| | | + int max_raise_wins; /* accessibility helpers */ |
| | | |
| | | + |
| | | + Window *override_wins; /* Windows we had to unset the */ |
| | | + int num_override_wins; /* override_redirect attribute on and */ |
| | | + int max_override_wins; /* need to restore it on after unlock. */ |
| | |
| | | 1 files changed, 110 insertions(+), 14 deletions(-) |
| | | |
| | | diff --git hacks/barcode.c hacks/barcode.c |
| | | --- hacks/barcode.c |
| | | +++ hacks/barcode.c |
| | | @@ -102,44 +102,67 @@ static const char *words[] = |
| | | "addiction", |
| | | --- hacks/barcode.c.~1~ 2019-08-22 06:11:07.000000000 +0000 |
| | | +++ hacks/barcode.c 2020-05-01 21:01:47.670887982 +0000 |
| | | @@ -104,49 +104,71 @@ |
| | | "affluenza", |
| | | "alertness", |
| | | "Algeria", |
| | | + "Amber Road", |
| | | "antifa", |
| | | "anxiety", |
| | | "aorta", |
| | | "argyle socks", |
| | |
| | | + "automagic", |
| | | "axis of evil", |
| | | "bamboo", |
| | | + "banana slug", |
| | | "banana slug", |
| | | "bangle", |
| | | "bankruptcy", |
| | | "baptism", |
| | |
| | | "booty", |
| | | "bread", |
| | | + "brickify", |
| | | "brogrammers", |
| | | + "browncoat", |
| | | "bubba", |
| | | "burrito", |
| | |
| | | "children", |
| | | + "chime", |
| | | "chocolate", |
| | | + "chupacabra", |
| | | "chupacabra", |
| | | + "cinnabar", |
| | | + "Clear View", |
| | | + "chupacabra", |
| | | "CLONE", |
| | | - "cock", |
| | | + "Colorado", |
| | | + "Complete.", |
| | | + "Complete", |
| | | "congress", |
| | | "constriction", |
| | | "contrition", |
| | | "cop", |
| | |
| | | "Death", |
| | | "decepticon", |
| | | "deception", |
| | | @@ -148,22 +171,31 @@ static const char *words[] = |
| | | @@ -155,6 +177,7 @@ |
| | | "decoy", |
| | | "defenestration", |
| | | "democracy", |
| | |
| | | "dependency", |
| | | "despair", |
| | | "desperation", |
| | | "disease", |
| | | "disease", |
| | | @@ -163,14 +186,22 @@ |
| | | "doberman", |
| | | + "dot com", |
| | | "DOOM", |
| | | - "dreams", |
| | | "dot com", |
| | | + "DREAM", |
| | | "dreams", |
| | | "drugs", |
| | |
| | | "excommunication", |
| | | "fat", |
| | | "fatherland", |
| | | @@ -171,18 +203,28 @@ static const char *words[] = |
| | | @@ -178,19 +209,30 @@ |
| | | "fear", |
| | | "fever", |
| | | "filth", |
| | |
| | | "flatulence", |
| | | "fluff", |
| | | "fnord", |
| | | + "FOX", |
| | | + "frak", |
| | | + "FOX", |
| | | "followers", |
| | | "frak", |
| | | "freedom", |
| | | "fruit", |
| | | - "fruit", |
| | | + "fugu", |
| | | "futility", |
| | | + "galaxy", |
| | |
| | | "halibut", |
| | | "handmaid", |
| | | "happiness", |
| | | @@ -193,23 +235,31 @@ static const char *words[] = |
| | | @@ -201,12 +243,15 @@ |
| | | "heroin", |
| | | "heroine", |
| | | "hope", |
| | |
| | | "icepick", |
| | | "identity", |
| | | "ignorance", |
| | | + "illumonati", |
| | | "illuminati", |
| | | "importance", |
| | | + "Indiana", |
| | | "individuality", |
| | | "inkling", |
| | | "insurrection", |
| | | "influence", |
| | | "influencers", |
| | | @@ -216,12 +261,16 @@ |
| | | "intoxicant", |
| | | "ire", |
| | | "irritant", |
| | |
| | | "lathe", |
| | | "lattice", |
| | | "lawyer", |
| | | @@ -218,32 +268,49 @@ static const char *words[] = |
| | | @@ -231,11 +280,18 @@ |
| | | "lobbyist", |
| | | "love", |
| | | "lozenge", |
| | |
| | | + "McGill", |
| | | + "Menlo Park", |
| | | + "mercurial", |
| | | "measles", |
| | | "merit", |
| | | "merkin", |
| | | "mescaline", |
| | | @@ -244,21 +300,31 @@ |
| | | "milk", |
| | | "mischief", |
| | | "mistrust", |
| | |
| | | "passenger", |
| | | "passion", |
| | | "Passover", |
| | | @@ -253,19 +320,21 @@ static const char *words[] = |
| | | @@ -268,19 +334,21 @@ |
| | | "petticoat", |
| | | "pharmacist", |
| | | "PhD", |
| | |
| | | "quagmire", |
| | | "quarantine", |
| | | "quartz", |
| | | @@ -274,13 +343,18 @@ static const char *words[] = |
| | | "rage", |
| | | @@ -290,13 +358,20 @@ |
| | | "readout", |
| | | "reality", |
| | | - "rectum", |
| | | "rectum", |
| | | + "register", |
| | | "reject", |
| | | "rejection", |
| | |
| | | "revolution", |
| | | "roadrunner", |
| | | + "rock", |
| | | "rootkit", |
| | | "rule", |
| | | + "Saint Petersburg", |
| | | + "sagebrush", |
| | | + "Santa Clara", |
| | | + "Santa Cruz", |
| | | "savor", |
| | | "scab", |
| | | "scalar", |
| | | @@ -289,43 +363,61 @@ static const char *words[] = |
| | | @@ -305,40 +380,56 @@ |
| | | "security", |
| | | "sediment", |
| | | "self worth", |
| | | + "shiny", |
| | | "shadow profile", |
| | | "sickness", |
| | | + "sierra", |
| | | "silicone", |
| | |
| | | "terrorist", |
| | | + "Tesla", |
| | | "the impossible", |
| | | "the panopticon", |
| | | + "the possimpible", |
| | | "the unknown", |
| | | + "thumper", |
| | | + "tiger", |
| | | + "tonic", |
| | | "toast", |
| | | + "tonic", |
| | | + "Tonopah", |
| | | "topography", |
| | | "truism", |
| | | + "truthiness", |
| | | "truthiness", |
| | | + "Tsinghua", |
| | | "turgid", |
| | | + "uisce", |
| | | + "unbreakable", |
| | | "twits", |
| | | "underbrush", |
| | | "underling", |
| | | "unguent", |
| | | @@ -346,6 +437,7 @@ |
| | | "unusual", |
| | | "uplink", |
| | | "urge", |
| | | + "Utah", |
| | | "vaccines", |
| | | "valor", |
| | | "variance", |
| | | "vaudeville", |
| | | @@ -333,8 +425,7 @@ static const char *words[] = |
| | | "vegetarian", |
| | | @@ -355,8 +447,7 @@ |
| | | "venom", |
| | | "verifiability", |
| | | "very fine people", |
| | | - "viagra", |
| | | - "vibrator", |
| | | + "vermillion", |
| | | "victim", |
| | | "vignette", |
| | | "villainy", |
| | | @@ -344,25 +435,30 @@ static const char *words[] = |
| | | @@ -366,24 +457,30 @@ |
| | | "warehouse", |
| | | "waste", |
| | | "waveform", |
| | |
| | | + "Winchester", |
| | | "words", |
| | | "worm", |
| | | "worship", |
| | | "worship", |
| | | - "Xanax", |
| | | + "Wyoming", |
| | |
| | | "zebra", |
| | | "zest", |
| | | - "zinc" |
| | | + "zinc", |
| | | + "zettabyte", |
| | | + "zinc", |
| | | + "Zulu" |
| | | }; |
| | | |
| | | #define WORD_COUNT (sizeof(words) / sizeof(char *)) |
| | | |
| | |
| | | diff --git driver/lock.c driver/lock.c |
| | | --- driver/lock.c |
| | | +++ driver/lock.c |
| | | @@ -918,6 +918,7 @@ new_passwd_window (saver_info *si) |
| | | @@ -897,6 +897,7 @@ |
| | | blurb(), pw->prompt_screen->number); |
| | | } |
| | | |
| | |
| | | /* Before mapping the window, save a pixmap of the current screen. |
| | | When we lower the window, we restore these bits. This works, |
| | | because the running screenhack has already been sent SIGSTOP, so |
| | | @@ -939,6 +940,7 @@ new_passwd_window (saver_info *si) |
| | | @@ -918,6 +919,7 @@ |
| | | 0, 0); |
| | | XFreeGC (si->dpy, gc); |
| | | } |
| | |
| | | |
| | | si->pw_data = pw; |
| | | return 0; |
| | | @@ -3102,8 +3104,6 @@ unlock_p (saver_info *si) |
| | | @@ -3109,8 +3111,6 @@ |
| | | return False; |
| | | } |
| | | |
| | | - raise_window (si, True, True, True); |
| | | - |
| | | xss_authenticate(si, p->verbose_p); |
| | | |
| | | return (si->unlock_state == ul_success); |
| | | /* If your cat is sitting on the return key, don't thrash the window. |
| | | Only one failed/cancelled unlock per 2 seconds. |
| | | */ |
| | | diff --git driver/xscreensaver.c driver/xscreensaver.c |
| | | --- driver/xscreensaver.c |
| | | +++ driver/xscreensaver.c |
| | |
| | | file path=usr/share/man/man1/xscreensaver-getimage-file.1 |
| | | file path=usr/share/man/man1/xscreensaver-getimage-video.1 |
| | | file path=usr/share/man/man1/xscreensaver-getimage.1 |
| | | #file path=usr/share/man/man1/xscreensaver-systemd.1 |
| | | file path=usr/share/man/man1/xscreensaver-text.1 |
| | | file path=usr/share/man/man1/xscreensaver.1 |
| | | file path=usr/share/pixmaps/xscreensaver.xpm |
| | |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/rocks.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/rorschach.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/rotzoomer.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/scooter.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/shadebobs.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/sierpinski.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/slidescreen.xml |
| | |
| | | file path=usr/lib/xscreensaver/hacks/rocks |
| | | file path=usr/lib/xscreensaver/hacks/rorschach |
| | | file path=usr/lib/xscreensaver/hacks/rotzoomer |
| | | file path=usr/lib/xscreensaver/hacks/scooter |
| | | file path=usr/lib/xscreensaver/hacks/shadebobs |
| | | file path=usr/lib/xscreensaver/hacks/sierpinski |
| | | file path=usr/lib/xscreensaver/hacks/slidescreen |
| | |
| | | file path=usr/share/man/man6/rocks.6 |
| | | file path=usr/share/man/man6/rorschach.6 |
| | | file path=usr/share/man/man6/rotzoomer.6 |
| | | file path=usr/share/man/man6/scooter.6 |
| | | file path=usr/share/man/man6/shadebobs.6 |
| | | file path=usr/share/man/man6/sierpinski.6 |
| | | file path=usr/share/man/man6/slidescreen.6 |
| | |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/cubetwist.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/cubicgrid.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/dangerball.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/deepstars.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/discoball.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/dymaxionmap.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/endgame.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/energystream.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/engine.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/etruscanvenus.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/flipflop.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/flipscreen3d.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/fliptext.xml |
| | |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gears.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/geodesicgears.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gflux.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gibson.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/glblur.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/glcells.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gleidescope.xml |
| | |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/glslideshow.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/glsnake.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gltext.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/gravitywell.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/handsy.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/hexstrut.xml |
| | | file path=usr/lib/xscreensaver/config/control-center-2.0/hydrostat.xml |
| | |
| | | file path=usr/lib/xscreensaver/hacks/cubetwist |
| | | file path=usr/lib/xscreensaver/hacks/cubicgrid |
| | | file path=usr/lib/xscreensaver/hacks/dangerball |
| | | file path=usr/lib/xscreensaver/hacks/deepstars |
| | | file path=usr/lib/xscreensaver/hacks/discoball |
| | | file path=usr/lib/xscreensaver/hacks/dymaxionmap |
| | | file path=usr/lib/xscreensaver/hacks/endgame |
| | | file path=usr/lib/xscreensaver/hacks/energystream |
| | | file path=usr/lib/xscreensaver/hacks/engine |
| | | file path=usr/lib/xscreensaver/hacks/etruscanvenus |
| | | file path=usr/lib/xscreensaver/hacks/flipflop |
| | | file path=usr/lib/xscreensaver/hacks/flipscreen3d |
| | | file path=usr/lib/xscreensaver/hacks/fliptext |
| | |
| | | file path=usr/lib/xscreensaver/hacks/gears |
| | | file path=usr/lib/xscreensaver/hacks/geodesicgears |
| | | file path=usr/lib/xscreensaver/hacks/gflux |
| | | file path=usr/lib/xscreensaver/hacks/gibson |
| | | file path=usr/lib/xscreensaver/hacks/glblur |
| | | file path=usr/lib/xscreensaver/hacks/glcells |
| | | file path=usr/lib/xscreensaver/hacks/gleidescope |
| | |
| | | file path=usr/lib/xscreensaver/hacks/glslideshow |
| | | file path=usr/lib/xscreensaver/hacks/glsnake |
| | | file path=usr/lib/xscreensaver/hacks/gltext |
| | | file path=usr/lib/xscreensaver/hacks/gravitywell |
| | | file path=usr/lib/xscreensaver/hacks/handsy |
| | | file path=usr/lib/xscreensaver/hacks/hexstrut |
| | | file path=usr/lib/xscreensaver/hacks/hydrostat |
| | |
| | | file path=usr/share/man/man6/cubestorm.6 |
| | | file path=usr/share/man/man6/cubicgrid.6 |
| | | file path=usr/share/man/man6/dangerball.6 |
| | | file path=usr/share/man/man6/deepstars.6 |
| | | file path=usr/share/man/man6/discoball.6 |
| | | file path=usr/share/man/man6/dymaxionmap.6 |
| | | file path=usr/share/man/man6/endgame.6 |
| | | file path=usr/share/man/man6/energystream.6 |
| | | file path=usr/share/man/man6/engine.6 |
| | | file path=usr/share/man/man6/etruscanvenus.6 |
| | | file path=usr/share/man/man6/flipflop.6 |
| | | file path=usr/share/man/man6/flipscreen3d.6 |
| | | file path=usr/share/man/man6/fliptext.6 |
| | |
| | | file path=usr/share/man/man6/gears.6 |
| | | file path=usr/share/man/man6/geodesicgears.6 |
| | | file path=usr/share/man/man6/gflux.6 |
| | | file path=usr/share/man/man6/gibson.6 |
| | | file path=usr/share/man/man6/glblur.6 |
| | | file path=usr/share/man/man6/glcells.6 |
| | | file path=usr/share/man/man6/gleidescope.6 |
| | |
| | | file path=usr/share/man/man6/glslideshow.6 |
| | | file path=usr/share/man/man6/glsnake.6 |
| | | file path=usr/share/man/man6/gltext.6 |
| | | file path=usr/share/man/man6/gravitywell.6 |
| | | file path=usr/share/man/man6/handsy.6 |
| | | file path=usr/share/man/man6/hexstrut.6 |
| | | file path=usr/share/man/man6/hydrostat.6 |