X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=driver%2Fxscreensaver.h;h=db2f87841352ebb914628f8760c945a81a8cddd0;hp=6dba82a64bf5fa951d655efbf95150bf216c698b;hb=481b95e2617b69e6fd4444432747d7e1e0c3dc85;hpb=f3e0240915ed9f9b3a61781f5c7002d587563fe0 diff --git a/driver/xscreensaver.h b/driver/xscreensaver.h index 6dba82a6..db2f8784 100644 --- a/driver/xscreensaver.h +++ b/driver/xscreensaver.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1993-1997 Jamie Zawinski +/* xscreensaver, Copyright (c) 1993-1998 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 @@ -37,10 +37,11 @@ typedef struct saver_screen_info saver_screen_info; command line, the resource database, or entered through a dialog box. */ struct saver_preferences { - Bool verbose_p; - Bool lock_p; /* whether to lock as well as save */ + Bool verbose_p; /* whether to print out lots of status info */ + Bool timestamp_p; /* whether to mark messages with a timestamp */ + Bool debug_p; /* pay no mind to the man behind the curtain */ - Bool debug_p; + Bool lock_p; /* whether to lock as well as save */ Bool fade_p; /* whether to fade to black */ Bool unfade_p; /* whether to fade from black */ int fade_seconds; /* how long that should take */ @@ -112,6 +113,8 @@ struct saver_info { ======================================================================= */ Bool screen_blanked_p; /* Whether the saver is currently active. */ + Window mouse_grab_window; /* Window holding our mouse grab */ + Window keyboard_grab_window; /* Window holding our keyboard grab */ /* ======================================================================= @@ -124,7 +127,6 @@ struct saver_info { Bool dbox_up_p; /* Whether the demo-mode or passwd dialogs are currently visible */ - /* ======================================================================= demoing ======================================================================= */ @@ -134,6 +136,15 @@ struct saver_info { dialog box, which should be run next. */ + /* ======================================================================= + asking questions + ======================================================================= */ + + Bool question_up_p; /* Whether the question dialog is currently + visible. */ + Widget question_dialog; /* The question dialog, if any. */ + + /* ======================================================================= timers ======================================================================= */ @@ -185,6 +196,9 @@ struct saver_screen_info { destroy and recreate it on different visuals. */ Colormap cmap; /* The colormap that goes with the window. */ + Bool install_cmap_p; /* whether we should use our own colormap. + This can be overridden on a per-hack basis. + */ Visual *current_visual; /* The visual of the window. */ Visual *default_visual; /* visual to use when none other specified */ int current_depth; /* How deep the visual (and the window) are. */ @@ -245,7 +259,7 @@ struct saver_screen_info { extern void restore_real_vroot (saver_info *si); extern void disable_builtin_screensaver (saver_info *si, Bool turn_off_p); -extern void ensure_no_screensaver_running (Display *, Screen *); +extern Bool ensure_no_screensaver_running (Display *, Screen *); #ifdef HAVE_MIT_SAVER_EXTENSION extern Bool query_mit_saver_extension (saver_info *); @@ -254,6 +268,10 @@ extern Bool query_mit_saver_extension (saver_info *); extern Bool query_sgi_saver_extension (saver_info *); #endif +/* Display Power Management System (DPMS) interface. */ +extern Bool monitor_powered_on_p (saver_info *si); +extern void monitor_power_on (saver_info *si); + /* ======================================================================= blanking @@ -265,8 +283,8 @@ extern void raise_window (saver_info *si, Bool dont_clear); extern void blank_screen (saver_info *si); extern void unblank_screen (saver_info *si); -extern void grab_keyboard_and_mouse (Display *, Window, Cursor); -extern void ungrab_keyboard_and_mouse (Display *dpy); +extern void grab_keyboard_and_mouse (saver_info *si, Window, Cursor); +extern void ungrab_keyboard_and_mouse (saver_info *si); /* ======================================================================= locking @@ -296,6 +314,11 @@ extern void format_into_label (Widget label, const char *arg); extern void steal_focus_and_colormap (Widget dialog); #endif +#ifdef HAVE_MOTIF +extern void disable_motif_drag_and_drop(Widget w); +#endif + + /* ======================================================================= timers ======================================================================= */ @@ -317,6 +340,7 @@ extern Bool handle_clientmessage (saver_info *, XEvent *, Bool); subprocs ======================================================================= */ +extern void hack_environment (saver_info *si); extern void init_sigchld (void); extern void spawn_screenhack (saver_info *si, Bool first_time_p); extern void kill_screenhack (saver_info *si); @@ -352,6 +376,7 @@ extern void clear_stderr (saver_screen_info *ssi); misc ======================================================================= */ +extern const char *blurb (void); extern void save_argv (int argc, char **argv); extern void saver_exit (saver_info *si, int status); extern void restart_process (saver_info *si); @@ -362,7 +387,7 @@ extern Bool window_exists_p (Display *dpy, Window window); extern char *timestring (void); extern Atom XA_VROOT, XA_XSETROOT_ID; -extern Atom XA_SCREENSAVER_VERSION, XA_SCREENSAVER_ID; +extern Atom XA_SCREENSAVER, XA_SCREENSAVER_VERSION, XA_SCREENSAVER_ID; extern Atom XA_SCREENSAVER_TIME; #endif /* __XSCREENSAVER_H__ */