diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt index c014cffa8..1fcfed773 100644 --- a/docs/CHANGES.txt +++ b/docs/CHANGES.txt @@ -9,7 +9,7 @@ http://www.tuxpaint.org/ $Id$ -2008.February.22 (0.9.19) +2008.February.24 (0.9.19) * New Localizations: ------------------ * Australian English @@ -75,6 +75,11 @@ $Id$ * System-Related Improvements: ---------------------------- + * Added "--allowscreensaver" option, which prevents Tux Paint from disabling + the screensaver or monitor power management while running. + (Requires SDL 1.2.12; can also be done by setting the + SDL_VIDEO_ALLOW_SCREENSAVER environment variable to '1' before running Tux Paint.) + * Removed unfinished, unused record and playback code. * Added authorization code to permit Fontconfig files to be installed diff --git a/docs/OPTIONS.txt b/docs/OPTIONS.txt index fad302c2f..1bcf5841b 100644 --- a/docs/OPTIONS.txt +++ b/docs/OPTIONS.txt @@ -9,7 +9,7 @@ bill@newbreedsoftware.com http://www.tuxpaint.org/ - February 17, 2008 + February 24, 2008 -------------------------------------------------------------------------- @@ -105,6 +105,15 @@ Windows Users screen's current resolution (overriding any "windowsize" option), as set by the operating system. + allowscreensaver=yes + + By default, Tux Paint prevents your system's screensaver from + starting up. You can override this by using the + "allowscreensaver" option. Note: This requires version 1.2.12 or + higher of the SDL library. (You can also do this by setting the + "SDL_VIDEO_ALLOW_SCREENSAVER" environment variable on your + system to "1".) + nosound=yes Disable sound effects. (Note: Pressing [Alt] + [S] cannot be used to reenable sounds if they were disabled using this @@ -671,6 +680,7 @@ Windows Users --WIDTHxHEIGHT --orient=portrait --native + --allowscreensaver --startblank --nosound --noquit @@ -712,6 +722,7 @@ Windows Users --windowed --800x600 --orient=landscape + --disablescreensaver --startlast --sound --quit diff --git a/docs/html/OPTIONS.html b/docs/html/OPTIONS.html index 456557a81..442bb821f 100644 --- a/docs/html/OPTIONS.html +++ b/docs/html/OPTIONS.html @@ -23,7 +23,7 @@ New Breed Software

http://www.tuxpaint.org/

-

February 17, 2008

+

February 24, 2008

@@ -145,6 +145,15 @@ New Breed Software

"windowsize" option), as set by the operating system. +
allowscreensaver=yes
+
+

By default, Tux Paint prevents your system's screensaver + from starting up. You can override this by using the "allowscreensaver" + option. Note: This requires version 1.2.12 or higher of the SDL library. + (You can also do this by setting the "SDL_VIDEO_ALLOW_SCREENSAVER" + environment variable on your system to "1".) +

+
nosound=yes
Disable sound effects. (Note: Pressing [Alt] + [S] @@ -1040,6 +1049,7 @@ New Breed Software

--WIDTHxHEIGHT
--orient=portrait
--native
+ --allowscreensaver
--startblank
--nosound
--noquit
@@ -1084,6 +1094,7 @@ New Breed Software

--windowed
--800x600
--orient=landscape
+ --disablescreensaver
--startlast
--sound
--quit
diff --git a/src/tuxpaint.c b/src/tuxpaint.c index 229e221a8..28a47bd93 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA (See COPYING.txt) - June 14, 2002 - February 18, 2008 + June 14, 2002 - February 24, 2008 $Id$ */ @@ -842,7 +842,7 @@ static void update_canvas(int x1, int y1, int x2, int y2) /* Globals: */ -static int fullscreen, native_screensize, disable_quit, simple_shapes, +static int disable_screensaver, fullscreen, native_screensize, disable_quit, simple_shapes, disable_print, print_delay, only_uppercase, promptless_save, grab_input, wheely, keymouse, mouse_x, mouse_y, mousekey_up, mousekey_down, mousekey_left, mousekey_right, @@ -4935,6 +4935,7 @@ static void show_usage(FILE * f, char *prg) "\n" " %s [--windowed | --fullscreen]\n" " %s [--WIDTHxHEIGHT | --native]\n" + " %s [--disablescreensaver | --allowscreensaver ]\n" " %s [--orient=landscape | --orient=portrait]\n" " %s [--startblank | --startlast]\n" " %s [--sound | --nosound]\n" @@ -4975,7 +4976,7 @@ static void show_usage(FILE * f, char *prg) "\n", prg, prg, blank, blank, blank, blank, - blank, blank, blank, + blank, blank, blank, blank, blank, blank, blank, blank, blank, blank, blank, blank, blank, @@ -6075,6 +6076,7 @@ static void setup(int argc, char *argv[]) #else fullscreen = 0; #endif + disable_screensaver = 0; native_screensize = 0; rotate_orientation = 0; noshortcuts = 0; @@ -6265,6 +6267,14 @@ static void setup(int argc, char *argv[]) { fullscreen = 0; } + else if (strcmp(argv[i], "--disablescreensaver") == 0) + { + disable_screensaver = 1; + } + else if (strcmp(argv[i], "--allowscreensaver") == 0) + { + disable_screensaver = 0; + } else if (strcmp(argv[i], "--startblank") == 0 || strcmp(argv[i], "-b") == 0) { start_blank = 1; @@ -6720,6 +6730,17 @@ static void setup(int argc, char *argv[]) putenv((char *) "SDL_VIDEO_X11_WMCLASS=TuxPaint.TuxPaint"); #endif + if (disable_screensaver == 0) + { + putenv((char *) "SDL_VIDEO_ALLOW_SCREENSAVER=1"); + if (SDL_MAJOR_VERSION < 1 || + (SDL_MAJOR_VERSION >= 1 && SDL_MINOR_VERSION < 2) || + (SDL_MAJOR_VERSION >= 1 && SDL_MINOR_VERSION >= 2 && SDL_PATCHLEVEL < 12)) + { + fprintf(stderr, "Note: 'allowscreensaver' requires SDL 1.2.12 or higher\n"); + } + } + /* Test for lockfile, if we're using one: */ if (ok_to_use_lockfile) @@ -15443,6 +15464,15 @@ static void parse_options(FILE * fi) fullscreen = 1; native_screensize = 1; } + else if (strcmp(str, "disablescreensaver=yes") == 0) + { + disable_screensaver = 1; + } + else if (strcmp(str, "disablescreensaver=no") == 0 || + strcmp(str, "allowscreensaver=yes") == 0) + { + disable_screensaver = 0; + } else if (strcmp(str, "native=yes") == 0) { native_screensize = 1;