X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2Fxscreensaver.h;h=1ede883662a8c0ead0253750f9d4c2a2764559c9;hb=e4fa2ac140f7bc56571373a7b7eb585fa4500e38;hp=41b1d718f5fef7ac20002a8cf0ec52e17f4e4ddc;hpb=a94197e76a5dea5cb60542840809d6c20d0abbf3;p=xscreensaver diff --git a/driver/xscreensaver.h b/driver/xscreensaver.h index 41b1d718..1ede8836 100644 --- a/driver/xscreensaver.h +++ b/driver/xscreensaver.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1993-2002 Jamie Zawinski +/* xscreensaver, Copyright (c) 1993-2003 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -20,6 +20,10 @@ #include #include +#ifdef HAVE_SIGACTION +# include /* for sigset_t */ +#endif + #include "prefs.h" extern char *progname; @@ -62,6 +66,7 @@ struct saver_info { server extension info ======================================================================= */ + Bool xinerama_p; /* Whether Xinerama is in use. */ Bool using_xidle_extension; /* which extension is being used. */ Bool using_mit_saver_extension; /* Note that `p->use_*' is the *request*, */ Bool using_sgi_saver_extension; /* and `si->using_*' is the *reality*. */ @@ -184,8 +189,19 @@ struct saver_info { struct saver_screen_info { saver_info *global; - int number; - Screen *screen; + int number; /* The internal ordinal of this screen, + counting Xinerama rectangles as separate + screens. */ + int real_screen_number; /* The number of the underlying X screen on + which this rectangle lies. */ + Screen *screen; /* The X screen in question. */ + + int x, y, width, height; /* The size and position of this rectangle + on its underlying X screen. */ + + Bool real_screen_p; /* This will be true of exactly one ssi per + X screen. */ + Widget toplevel_shell; /* ======================================================================= @@ -374,7 +390,11 @@ extern void maybe_reload_init_file (saver_info *); ======================================================================= */ extern void handle_signals (saver_info *si); -extern void block_sigchld (void); +#ifdef HAVE_SIGACTION + extern sigset_t block_sigchld (void); +#else /* !HAVE_SIGACTION */ + extern int block_sigchld (void); +#endif /* !HAVE_SIGACTION */ extern void unblock_sigchld (void); extern void hack_environment (saver_info *si); extern void hack_subproc_environment (saver_screen_info *ssi); @@ -417,6 +437,7 @@ extern Bool window_exists_p (Display *dpy, Window window); extern char *timestring (void); extern Bool display_is_on_console_p (saver_info *si); extern Visual *get_best_gl_visual (saver_screen_info *ssi); +extern void check_for_leaks (const char *where); extern Atom XA_VROOT, XA_XSETROOT_ID, XA_ESETROOT_PMAP_ID, XA_XROOTPMAP_ID; extern Atom XA_SCREENSAVER, XA_SCREENSAVER_VERSION, XA_SCREENSAVER_ID;