NAME

XScreenSaver - X11 Screen Saver extension client library

SYNOPSIS

#include


typedef struct {
    Window window;                /* screen saver window */
    int state;                    /* ScreenSaver{Off,On,Disabled} */
    int kind;                     /* ScreenSaver{Blanked,Internal,External} */
    unsigned long til_or_since;   /* milliseconds */
    unsigned long idle;           /* milliseconds */
    unsigned long event_mask;     /* events */
} XScreenSaverInfo;

typedef struct { int type; /* of event */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if this came frome a SendEvent request */ Display *display; /* Display the event was read from */ Window window; /* screen saver window */ Window root; /* root window of event screen */ int state; /* ScreenSaver{Off,On,Cycle} */ int kind; /* ScreenSaver{Blanked,Internal,External} */ Bool forced; /* extents of new region */ Time time; /* event timestamp */
} XScreenSaverNotifyEvent; Bool XScreenSaverQueryExtension(Display *_d_p_y, int *_e_v_e_n_t___b_a_s_e_p, int *_e_r_r_o_r___b_a_s_e_p); Status XScreenSaverQueryVersion(Display *_d_p_y, int *_m_a_j_o_r___v_e_r_s_i_o_n_p, int *_m_i_n_o_r___v_e_r_s_i_o_n_p); XScreenSaverInfo *XScreenSaverAllocInfo(void); Status XScreenSaverQueryInfo(Display *_d_p_y, Drawable _d_r_a_w_a_b_l_e, XScreenSaverInfo *_s_a_v_e_r___i_n_f_o); void XScreenSaverSelectInput(Display *_d_p_y, Drawable _d_r_a_w_a_b_l_e, unsigned long _m_a_s_k_)_; _v_o_i_d _X_S_c_r_e_e_n_S_a_v_e_r_S_e_t_A_t_t_r_i_b_u_t_e_s_(_D_i_s_p_l_a_y _*_d_p_y_, _D_r_a_w_a_b_l_e _d_r_a_w_a_b_l_e_, _i_n_t _x_, _i_n_t _y_, _u_n_s_i_g_n_e_d _i_n_t _w_i_d_t_h_, _u_n_s_i_g_n_e_d _i_n_t _h_e_i_g_h_t_, _u_n_s_i_g_n_e_d _i_n_t _b_o_r_d_e_r___w_i_d_t_h_, _i_n_t _d_e_p_t_h_, _u_n_s_i_g_n_e_d _i_n_t _c_l_a_s_s_, _V_i_s_u_a_l _*_v_i_s_u_a_l_, _u_n_s_i_g_n_e_d _l_o_n_g _v_a_l_u_e_m_a_s_k_, _X_S_e_t_W_i_n_d_o_w_A_t_t_r_i_b_u_t_e_s _*_a_t_t_r_i_b_u_t_e_s_)_; _v_o_i_d _X_S_c_r_e_e_n_S_a_v_e_r_U_n_s_e_t_A_t_t_r_i_b_u_t_e_s_(_D_i_s_p_l_a_y _*_d_p_y_, _D_r_a_w_a_b_l_e _d_r_a_w_a_b_l_e_)_; _v_o_i_d _X_S_c_r_e_e_n_S_a_v_e_r_S_a_v_e_r_R_e_g_i_s_t_e_r_(_D_i_s_p_l_a_y _*_d_p_y_, _i_n_t _s_c_r_e_e_n_, _X_I_D _x_i_d_, _A_t_o_m _t_y_p_e_)_; _S_t_a_t_u_s _X_S_c_r_e_e_n_S_a_v_e_r_U_n_r_e_g_i_s_t_e_r_(_D_i_s_p_l_a_y _*_d_p_y_, _i_n_t _s_c_r_e_e_n_)_; _S_t_a_t_u_s _X_S_c_r_e_e_n_S_a_v_e_r_G_e_t_R_e_g_i_s_t_e_r_e_d_(_D_i_s_p_l_a_y _*_d_p_y_, _i_n_t _s_c_r_e_e_n_, _X_I_D _*_x_i_d_, _A_t_o_m _*_t_y_p_e_)_; _v_o_i_d _X_S_c_r_e_e_n_S_a_v_e_r_S_u_s_p_e_n_d_(_D_i_s_p_l_a_y _*_d_p_y_, _B_o_o_l _s_u_s_p_e_n_d_)_; _<_p_> _<_h_3 _i_d_=_"_D_E_S_C_R_I_P_T_I_O_N_"_> _D_E_S_C_R_I_P_T_I_O_N _<_/_h_3_> _T_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m _p_r_o_v_i_d_e_s _s_u_p_p_o_r_t _f_o_r _c_h_a_n_g_i_n_g _t_h_e _i_m_a_g_e _o_n _a _d_i_s_p_l_a_y _s_c_r_e_e_n _a_f_t_e_r _a _u_s_e_r_-_s_e_t_t_a_b_l_e _p_e_r_i_o_d _o_f _i_n_a_c_t_i_v_i_t_y _t_o _a_v_o_i_d _b_u_r_n_i_n_g _t_h_e _c_a_t_h_o_d_e _r_a_y _t_u_b_e _p_h_o_s_p_h_o_r_s_. _H_o_w_e_v_e_r_, _n_o _i_n_t_e_r_f_a_c_e_s _a_r_e _p_r_o_v_i_d_e_d _f_o_r _t_h_e _u_s_e_r _t_o _c_o_n_t_r_o_l _t_h_e _i_m_a_g_e _t_h_a_t _i_s _d_r_a_w_n_. _T_h_i_s _e_x_t_e_n_s_i_o_n _a_l_l_o_w_s _a_n _e_x_t_e_r_n_a_l _`_`_s_c_r_e_e_n _s_a_v_e_r_'_' _c_l_i_e_n_t _t_o _d_e_t_e_c_t _w_h_e_n _t_h_e _a_l_t_e_r_n_a_t_e _i_m_a_g_e _i_s _t_o _b_e _d_i_s_p_l_a_y_e_d _a_n_d _t_o _p_r_o_v_i_d_e _t_h_e _g_r_a_p_h_i_c_s_. _<_p_> _C_u_r_r_e_n_t _X _s_e_r_v_e_r _i_m_p_l_e_m_e_n_t_a_t_i_o_n_s _t_y_p_i_c_a_l_l_y _p_r_o_v_i_d_e _a_t _l_e_a_s_t _o_n_e _f_o_r_m _o_f _`_`_s_c_r_e_e_n _s_a_v_e_r_'_' _i_m_a_g_e_. _H_i_s_t_o_r_i_c_a_l_l_y_, _t_h_i_s _h_a_s _b_e_e_n _a _c_o_p_y _o_f _t_h_e _X _l_o_g_o _d_r_a_w_n _a_g_a_i_n_s_t _t_h_e _r_o_o_t _b_a_c_k_g_r_o_u_n_d _p_a_t_t_e_r_n_. _H_o_w_e_v_e_r_, _m_a_n_y _u_s_e_r_s _h_a_v_e _a_s_k_e_d _f_o_r _t_h_e _m_e_c_h_a_n_i_s_m _t_o _a_l_l_o_w _t_h_e_m _t_o _w_r_i_t_e _s_c_r_e_e_n _s_a_v_e_r _p_r_o_g_r_a_m_s _t_h_a_t _p_r_o_v_i_d_e _c_a_p_a_b_i_l_i_t_i_e_s _s_i_m_i_l_a_r _t_o _t_h_o_s_e _p_r_o_v_i_d_e_d _b_y _o_t_h_e_r _w_i_n_d_o_w _s_y_s_t_e_m_s_. _I_n _p_a_r_t_i_c_u_l_a_r_, _s_u_c_h _u_s_e_r_s _o_f_t_e_n _w_i_s_h _t_o _b_e _a_b_l_e _t_o _d_i_s_p_l_a_y _c_o_r_p_o_r_a_t_e _l_o_g_o_s_, _i_n_s_t_r_u_c_t_i_o_n_s _o_n _h_o_w _t_o _r_e_a_c_t_i_v_a_t_e _t_h_e _s_c_r_e_e_n_, _a_n_d _a_u_t_o_m_a_t_i_c _s_c_r_e_e_n_-_l_o_c_k_i_n_g _u_t_i_l_i_t_i_e_s_. _T_h_i_s _e_x_t_e_n_s_i_o_n _p_r_o_v_i_d_e_s _a _m_e_a_n_s _f_o_r _w_r_i_t_i_n_g _s_u_c_h _c_l_i_e_n_t_s_. _<_h_4 _i_d_=_"_A_s_s_u_m_p_t_i_o_n_s_"_> _A_s_s_u_m_p_t_i_o_n_s _<_/_h_4_> _T_h_i_s _e_x_t_e_n_s_i_o_n _e_x_p_o_r_t_s _t_h_e _n_o_t_i_o_n _o_f _a _s_p_e_c_i_a_l _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w _t_h_a_t _i_s _m_a_p_p_e_d _a_b_o_v_e _a_l_l _o_t_h_e_r _w_i_n_d_o_w_s _o_n _a _d_i_s_p_l_a_y_. _T_h_i_s _w_i_n_d_o_w _h_a_s _t_h_e _o_v_e_r_r_i_d_e_-_r_e_d_i_r_e_c_t _a_t_t_r_i_b_u_t_e _s_e_t _s_o _t_h_a_t _i_t _i_s _n_o_t _s_u_b_j_e_c_t _t_o _m_a_n_i_p_u_l_a_t_i_o_n _b_y _t_h_e _w_i_n_d_o_w _m_a_n_a_g_e_r_. _F_u_r_t_h_e_r_m_o_r_e_, _t_h_e _X _i_d_e_n_t_i_f_i_e_r _f_o_r _t_h_e _w_i_n_d_o_w _i_s _n_e_v_e_r _r_e_t_u_r_n_e_d _b_y QQuueerryyTTrreeee _r_e_q_u_e_s_t_s _o_n _t_h_e _r_o_o_t _w_i_n_d_o_w_, _s_o _i_t _i_s _t_y_p_i_c_a_l_l_y _n_o_t _v_i_s_i_b_l_e _t_o _o_t_h_e_r _c_l_i_e_n_t_s_. _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_Q_u_e_r_y_E_x_t_e_n_s_i_o_n_<_/_b_> _r_e_t_u_r_n_s _<_b_>_T_r_u_e_<_/_b_> _i_f _t_h_e _<_i_>_X_S_c_r_e_e_n_S_a_v_e_r_<_/_i_> _e_x_t_e_n_s_i_o_n _i_s _a_v_a_i_l_a_b_l_e _o_n _t_h_e _g_i_v_e_n _d_i_s_p_l_a_y_. _A _c_l_i_e_n_t _m_u_s_t _c_a_l_l _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_Q_u_e_r_y_E_x_t_e_n_s_i_o_n_<_/_b_> _b_e_f_o_r_e _c_a_l_l_i_n_g _a_n_y _o_t_h_e_r _X_S_c_r_e_e_n_S_a_v_e_r _f_u_n_c_t_i_o_n _i_n _o_r_d_e_r _t_o _n_e_g_o_t_i_a_t_e _a _c_o_m_p_a_t_i_b_l_e _p_r_o_t_o_c_o_l _v_e_r_s_i_o_n_; _o_t_h_e_r_w_i_s_e _t_h_e _c_l_i_e_n_t _w_i_l_l _g_e_t _u_n_d_e_f_i_n_e_d _b_e_h_a_v_i_o_r _(_X_S_c_r_e_e_n_S_a_v_e_r _m_a_y _o_r _m_a_y _n_o_t _w_o_r_k_)_. _<_p_> _I_f _t_h_e _e_x_t_e_n_s_i_o_n _i_s _s_u_p_p_o_r_t_e_d_, _t_h_e _e_v_e_n_t _n_u_m_b_e_r _f_o_r _<_i_>_S_c_r_e_e_n_S_a_v_e_r_N_o_t_i_f_y_<_/_i_> _e_v_e_n_t_s _i_s _r_e_t_u_r_n_e_d _i_n _t_h_e _v_a_l_u_e _p_o_i_n_t_e_d _t_o _b_y _e_v_e_n_t___b_a_s_e_. _S_i_n_c_e _n_o _a_d_d_i_t_i_o_n_a_l _e_r_r_o_r_s _a_r_e _d_e_f_i_n_e_d _b_y _t_h_i_s _e_x_t_e_n_s_i_o_n_, _t_h_e _r_e_s_u_l_t_s _o_f _e_r_r_o_r___b_a_s_e _a_r_e _n_o_t _d_e_f_i_n_e_d_. _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_Q_u_e_r_y_V_e_r_s_i_o_n_<_/_b_> _r_e_t_u_r_n_s _<_b_>_T_r_u_e_<_/_b_> _i_f _t_h_e _r_e_q_u_e_s_t _s_u_c_c_e_e_d_e_d_; _t_h_e _v_a_l_u_e_s _o_f _t_h_e _m_a_j_o_r _a_n_d _m_i_n_o_r _p_r_o_t_o_c_o_l _v_e_r_s_i_o_n_s _s_u_p_p_o_r_t_e_d _b_y _t_h_e _s_e_r_v_e_r _a_r_e _r_e_t_u_r_n_e_d _i_n _<_i_>_m_a_j_o_r___v_e_r_s_i_o_n_p_<_/_i_> _a_n_d _<_i_>_m_i_n_o_r___v_e_r_s_i_o_n_p _._<_/_i_> _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_A_l_l_o_c_I_n_f_o_<_/_b_> _a_l_l_o_c_a_t_e_s _a_n_d _r_e_t_u_r_n_s _a_n XXSSccrreeeennSSaavveerrIInnffoo _s_t_r_u_c_t_u_r_e _f_o_r _u_s_e _i_n _c_a_l_l_s _t_o XXSSccrreeeennSSaavveerrQQuueerryyIInnffoo_. _A_l_l _f_i_e_l_d_s _i_n _t_h_e _s_t_r_u_c_t_u_r_e _a_r_e _i_n_i_t_i_a_l_i_z_e_d _t_o _z_e_r_o_. _I_f _i_n_s_u_f_f_i_c_i_e_n_t _m_e_m_o_r_y _i_s _a_v_a_i_l_a_b_l_e_, _N_U_L_L _i_s _r_e_t_u_r_n_e_d_. _T_h_e _r_e_s_u_l_t_s _o_f _t_h_i_s _r_o_u_t_i_n_e _c_a_n _b_e _r_e_l_e_a_s_e_d _u_s_i_n_g _X_F_r_e_e_. _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_Q_u_e_r_y_I_n_f_o_<_/_b_> _r_e_t_u_r_n_s _i_n_f_o_r_m_a_t_i_o_n _a_b_o_u_t _t_h_e _c_u_r_r_e_n_t _s_t_a_t_e _o_f _t_h_e _s_c_r_e_e_n _s_e_r_v_e_r _i_n _s_a_v_e_r___i_n_f_o _a_n_d _a _n_o_n_-_z_e_r_o _v_a_l_u_e _i_s _r_e_t_u_r_n_e_d_. _I_f _t_h_e _e_x_t_e_n_s_i_o_n _i_s _n_o_t _s_u_p_p_o_r_t_e_d_, _s_a_v_e_r___i_n_f_o _i_s _n_o_t _c_h_a_n_g_e_d _a_n_d _0 _i_s _r_e_t_u_r_n_e_d_. _<_p_> _T_h_e _s_t_a_t_e _f_i_e_l_d _s_p_e_c_i_f_i_e_s _w_h_e_t_h_e_r _o_r _n_o_t _t_h_e _s_c_r_e_e_n _s_a_v_e_r _i_s _c_u_r_r_e_n_t_l_y _a_c_t_i_v_e _a_n_d _h_o_w _t_h_e _t_i_l_-_o_r_-_s_i_n_c_e _v_a_l_u_e _s_h_o_u_l_d _b_e _i_n_t_e_r_p_r_e_t_e_d_: _<_d_l _c_o_m_p_a_c_t_> _<_d_t_> _<_i_>_O_f_f_<_/_i_> _<_d_d_> _T_h_e _s_c_r_e_e_n _i_s _n_o_t _c_u_r_r_e_n_t_l_y _b_e_i_n_g _s_a_v_e_d_; _t_i_l_-_o_r_-_s_i_n_c_e _s_p_e_c_i_f_i_e_s _t_h_e _n_u_m_b_e_r _o_f _m_i_l_l_i_s_e_c_o_n_d_s _u_n_t_i_l _t_h_e _s_c_r_e_e_n _s_a_v_e_r _i_s _e_x_p_e_c_t_e_d _t_o _a_c_t_i_v_a_t_e_. _<_d_t_> _<_i_>_O_n_<_/_i_> _<_d_d_> _T_h_e _s_c_r_e_e_n _i_s _c_u_r_r_e_n_t_l_y _b_e_i_n_g _s_a_v_e_d_; _t_i_l_-_o_r_-_s_i_n_c_e _s_p_e_c_i_f_i_e_s _t_h_e _n_u_m_b_e_r _o_f _m_i_l_l_i_s_e_c_o_n_d_s _s_i_n_c_e _t_h_e _s_c_r_e_e_n _s_a_v_e_r _a_c_t_i_v_a_t_e_d_. _<_d_t_> _<_i_>_D_i_s_a_b_l_e_d_<_/_i_> _<_d_d_> _T_h_e _s_c_r_e_e_n _s_a_v_e_r _i_s _c_u_r_r_e_n_t_l_y _d_i_s_a_b_l_e_d_; _t_i_l_-_o_r_-_s_i_n_c_e _i_s _z_e_r_o_. _<_/_d_l_> _<_p_> _T_h_e _k_i_n_d _f_i_e_l_d _s_p_e_c_i_f_i_e_s _t_h_e _m_e_c_h_a_n_i_s_m _t_h_a_t _e_i_t_h_e_r _i_s _c_u_r_r_e_n_t_l_y _b_e_i_n_g _u_s_e_d _o_r _w_o_u_l_d _h_a_v_e _b_e_e_n _w_e_r_e _t_h_e _s_c_r_e_e_n _b_e_i_n_g _s_a_v_e_d_: _<_d_l _c_o_m_p_a_c_t_> _<_d_t_> _<_i_>_B_l_a_n_k_e_d_<_/_i_> _<_d_d_> _T_h_e _v_i_d_e_o _s_i_g_n_a_l _t_o _t_h_e _d_i_s_p_l_a_y _m_o_n_i_t_o_r _w_a_s _d_i_s_a_b_l_e_d_. _<_d_t_> _<_i_>_I_n_t_e_r_n_a_l_<_/_i_> _<_d_d_> _A _s_e_r_v_e_r_-_d_e_p_e_n_d_e_n_t_, _b_u_i_l_t_-_i_n _s_c_r_e_e_n _s_a_v_e_r _i_m_a_g_e _w_a_s _d_i_s_p_l_a_y_e_d_; _e_i_t_h_e_r _n_o _c_l_i_e_n_t _h_a_d _s_e_t _t_h_e _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w _a_t_t_r_i_b_u_t_e_s _o_r _a _d_i_f_f_e_r_e_n_t _c_l_i_e_n_t _h_a_d _t_h_e _s_e_r_v_e_r _g_r_a_b_b_e_d _w_h_e_n _t_h_e _s_c_r_e_e_n _s_a_v_e_r _a_c_t_i_v_a_t_e_d_. _<_d_t_> _<_i_>_E_x_t_e_r_n_a_l_<_/_i_> _<_d_d_> _T_h_e _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w _w_a_s _m_a_p_p_e_d _w_i_t_h _a_t_t_r_i_b_u_t_e_s _s_e_t _b_y _a _c_l_i_e_n_t _u_s_i_n_g _t_h_e SSccrreeeennSSaavveerrSSeettAAttttrriibbuutteess _r_e_q_u_e_s_t_. _<_/_d_l_> _<_p_> _T_h_e _i_d_l_e _f_i_e_l_d _s_p_e_c_i_f_i_e_s _t_h_e _n_u_m_b_e_r _o_f _m_i_l_l_i_s_e_c_o_n_d_s _s_i_n_c_e _t_h_e _l_a_s_t _i_n_p_u_t _w_a_s _r_e_c_e_i_v_e_d _f_r_o_m _t_h_e _u_s_e_r _o_n _a_n_y _o_f _t_h_e _i_n_p_u_t _d_e_v_i_c_e_s_. _<_b_r_> _T_h_e _e_v_e_n_t_-_m_a_s_k _f_i_e_l_d _s_p_e_c_i_f_i_e_s _w_h_i_c_h_, _i_f _a_n_y_, _s_c_r_e_e_n _s_a_v_e_r _e_v_e_n_t_s _t_h_i_s _c_l_i_e_n_t _h_a_s _r_e_q_u_e_s_t_e_d _u_s_i_n_g SSccrreeeennSSaavveerrSSeelleeccttIInnppuutt_. _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_S_e_l_e_c_t_I_n_p_u_t_<_/_b_> _a_s_k_s _t_h_a_t _e_v_e_n_t_s _r_e_l_a_t_e_d _t_o _t_h_e _s_c_r_e_e_n _s_a_v_e_r _b_e _g_e_n_e_r_a_t_e_d _f_o_r _t_h_i_s _c_l_i_e_n_t_. _I_f _n_o _b_i_t_s _a_r_e _s_e_t _i_n _e_v_e_n_t_-_m_a_s_k_, _t_h_e_n _n_o _e_v_e_n_t_s _w_i_l_l _b_e _g_e_n_e_r_a_t_e_d_. _O_t_h_e_r_w_i_s_e_, _a_n_y _c_o_m_b_i_n_a_t_i_o_n _o_f _t_h_e _f_o_l_l_o_w_i_n_g _b_i_t_s _m_a_y _b_e _s_e_t_: _<_d_l _c_o_m_p_a_c_t_> _<_d_t_> _<_b_>_S_c_r_e_e_n_S_a_v_e_r_N_o_t_i_f_y_<_/_b_> _<_d_d_> _I_f _t_h_i_s _b_i_t _i_s _s_e_t_, SSccrreeeennSSaavveerrNNoottiiffyy _e_v_e_n_t_s _a_r_e _g_e_n_e_r_a_t_e_d _w_h_e_n_e_v_e_r _t_h_e _s_c_r_e_e_n _s_a_v_e_r _i_s _a_c_t_i_v_a_t_e_d _o_r _d_e_a_c_t_i_v_a_t_e_d_. _<_d_t_> _<_b_>_S_c_r_e_e_n_S_a_v_e_r_C_y_c_l_e_<_/_b_> _<_d_d_> _I_f _t_h_i_s _b_i_t _i_s _s_e_t_, SSccrreeeennSSaavveerrNNoottiiffyy _e_v_e_n_t_s _a_r_e _g_e_n_e_r_a_t_e_d _w_h_e_n_e_v_e_r _t_h_e _s_c_r_e_e_n _s_a_v_e_r _c_y_c_l_e _i_n_t_e_r_v_a_l _p_a_s_s_e_s_. _<_/_d_l_> _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_S_e_t_A_t_t_r_i_b_u_t_e_s_<_/_b_> _s_e_t_s _t_h_e _a_t_t_r_i_b_u_t_e_s _t_o _b_e _u_s_e_d _t_h_e _n_e_x_t _t_i_m_e _t_h_e _e_x_t_e_r_n_a_l _s_c_r_e_e_n _s_a_v_e_r _i_s _a_c_t_i_v_a_t_e_d_. _I_f _a_n_o_t_h_e_r _c_l_i_e_n_t _c_u_r_r_e_n_t_l_y _h_a_s _t_h_e _a_t_t_r_i_b_u_t_e_s _s_e_t_, _a _B_a_d_A_c_c_e_s_s _e_r_r_o_r _i_s _g_e_n_e_r_a_t_e_d _a_n_d _t_h_e _r_e_q_u_e_s_t _i_s _i_g_n_o_r_e_d_. _<_b_r_> _O_t_h_e_r_w_i_s_e_, _t_h_e _s_p_e_c_i_f_i_e_d _w_i_n_d_o_w _a_t_t_r_i_b_u_t_e_s _a_r_e _c_h_e_c_k_e_d _a_s _i_f _t_h_e_y _w_e_r_e _u_s_e_d _i_n _a _c_o_r_e CCrreeaatteeWWiinnddooww _r_e_q_u_e_s_t _w_h_o_s_e _p_a_r_e_n_t _i_s _t_h_e _r_o_o_t_. _T_h_e _o_v_e_r_r_i_d_e_-_r_e_d_i_r_e_c_t _f_i_e_l_d _i_s _i_g_n_o_r_e_d _a_s _i_t _i_s _i_m_p_l_i_c_i_t_l_y _s_e_t _t_o _T_r_u_e_. _I_f _t_h_e _w_i_n_d_o_w _a_t_t_r_i_b_u_t_e_s _r_e_s_u_l_t _i_n _a_n _e_r_r_o_r _a_c_c_o_r_d_i_n_g _t_o _t_h_e _r_u_l_e_s _f_o_r CCrreeaatteeWWiinnddooww_, _t_h_e _r_e_q_u_e_s_t _i_s _i_g_n_o_r_e_d_. _<_b_r_> _O_t_h_e_r_w_i_s_e_, _t_h_e _a_t_t_r_i_b_u_t_e_s _a_r_e _s_t_o_r_e_d _a_n_d _w_i_l_l _t_a_k_e _e_f_f_e_c_t _o_n _t_h_e _n_e_x_t _a_c_t_i_v_a_t_i_o_n _t_h_a_t _o_c_c_u_r_s _w_h_e_n _t_h_e _s_e_r_v_e_r _i_s _n_o_t _g_r_a_b_b_e_d _b_y _a_n_o_t_h_e_r _c_l_i_e_n_t_. _A_n_y _r_e_s_o_u_r_c_e_s _s_p_e_c_i_f_i_e_d _f_o_r _t_h_e _b_a_c_k_g_r_o_u_n_d_-_p_i_x_m_a_p _o_r _c_u_r_s_o_r _a_t_t_r_i_b_u_t_e_s _m_a_y _b_e _f_r_e_e_d _i_m_m_e_d_i_a_t_e_l_y_. _T_h_e _s_e_r_v_e_r _i_s _f_r_e_e _t_o _c_o_p_y _t_h_e _b_a_c_k_g_r_o_u_n_d_-_p_i_x_m_a_p _o_r _c_u_r_s_o_r _r_e_s_o_u_r_c_e_s _o_r _t_o _u_s_e _t_h_e_m _i_n _p_l_a_c_e_; _t_h_e_r_e_f_o_r_e_, _t_h_e _e_f_f_e_c_t _o_f _c_h_a_n_g_i_n_g _t_h_e _c_o_n_t_e_n_t_s _o_f _t_h_o_s_e _r_e_s_o_u_r_c_e_s _i_s _u_n_d_e_f_i_n_e_d_. _I_f _t_h_e _s_p_e_c_i_f_i_e_d _c_o_l_o_r_m_a_p _n_o _l_o_n_g_e_r _e_x_i_s_t_s _w_h_e_n _t_h_e _s_c_r_e_e_n _s_a_v_e_r _a_c_t_i_v_a_t_e_s_, _t_h_e _p_a_r_e_n_t_'_s _c_o_l_o_r_m_a_p _i_s _u_s_e_d _i_n_s_t_e_a_d_. _I_f _n_o _e_r_r_o_r_s _a_r_e _g_e_n_e_r_a_t_e_d _b_y _t_h_i_s _r_e_q_u_e_s_t_, _a_n_y _p_r_e_v_i_o_u_s _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w _a_t_t_r_i_b_u_t_e_s _s_e_t _b_y _t_h_i_s _c_l_i_e_n_t _a_r_e _r_e_l_e_a_s_e_d_. _<_b_r_> _W_h_e_n _t_h_e _s_c_r_e_e_n _s_a_v_e_r _n_e_x_t _a_c_t_i_v_a_t_e_s _a_n_d _t_h_e _s_e_r_v_e_r _i_s _n_o_t _g_r_a_b_b_e_d _b_y _a_n_o_t_h_e_r _c_l_i_e_n_t_, _t_h_e _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w _i_s _c_r_e_a_t_e_d_, _i_f _n_e_c_e_s_s_a_r_y_, _a_n_d _s_e_t _t_o _t_h_e _s_p_e_c_i_f_i_e_d _a_t_t_r_i_b_u_t_e_s _a_n_d _e_v_e_n_t_s _a_r_e _g_e_n_e_r_a_t_e_d _a_s _u_s_u_a_l_. _T_h_e _c_o_l_o_r_m_a_p _a_s_s_o_c_i_a_t_e_d _w_i_t_h _t_h_e _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w _i_s _i_n_s_t_a_l_l_e_d_. _F_i_n_a_l_l_y_, _t_h_e _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w _i_s _m_a_p_p_e_d_. _<_b_r_> _T_h_e _w_i_n_d_o_w _r_e_m_a_i_n_s _m_a_p_p_e_d _a_n_d _a_t _t_h_e _t_o_p _o_f _t_h_e _s_t_a_c_k_i_n_g _o_r_d_e_r _u_n_t_i_l _t_h_e _s_c_r_e_e_n _s_a_v_e_r _i_s _d_e_a_c_t_i_v_a_t_e_d _i_n _r_e_s_p_o_n_s_e _t_o _a_c_t_i_v_i_t_y _o_n _a_n_y _o_f _t_h_e _u_s_e_r _i_n_p_u_t _d_e_v_i_c_e_s_, _a FFoorrcceeSSccrreeeennSSaavveerr _r_e_q_u_e_s_t _w_i_t_h _a _v_a_l_u_e _o_f _R_e_s_e_t_, _o_r _a_n_y _r_e_q_u_e_s_t _t_h_a_t _w_o_u_l_d _c_a_u_s_e _t_h_e _w_i_n_d_o_w _t_o _b_e _u_n_m_a_p_p_e_d_. _<_b_r_> _I_f _t_h_e _s_c_r_e_e_n _s_a_v_e_r _a_c_t_i_v_a_t_e_s _w_h_i_l_e _t_h_e _s_e_r_v_e_r _i_s _g_r_a_b_b_e_d _b_y _a_n_o_t_h_e_r _c_l_i_e_n_t_, _t_h_e _i_n_t_e_r_n_a_l _s_a_v_e_r _m_e_c_h_a_n_i_s_m _i_s _u_s_e_d_. _T_h_e FFoorrcceeSSccrreeeennSSaavveerr _r_e_q_u_e_s_t _m_a_y _b_e _u_s_e_d _w_i_t_h _a _v_a_l_u_e _o_f _A_c_t_i_v_e _t_o _d_e_a_c_t_i_v_a_t_e _t_h_e _i_n_t_e_r_n_a_l _s_a_v_e_r _a_n_d _a_c_t_i_v_a_t_e _t_h_e _e_x_t_e_r_n_a_l _s_a_v_e_r_. _<_b_r_> _I_f _t_h_e _s_c_r_e_e_n _s_a_v_e_r _c_l_i_e_n_t_'_s _c_o_n_n_e_c_t_i_o_n _t_o _t_h_e _s_e_r_v_e_r _i_s _b_r_o_k_e_n _w_h_i_l_e _t_h_e _s_c_r_e_e_n _s_a_v_e_r _i_s _a_c_t_i_v_a_t_e_d _a_n_d _t_h_e _c_l_i_e_n_t_'_s _c_l_o_s_e _d_o_w_n _m_o_d_e _h_a_s _n_o_t _b_e_e_n _R_e_t_a_i_n_P_e_r_m_a_n_e_n_t _o_r _R_e_t_a_i_n_T_e_m_p_o_r_a_r_y_, _t_h_e _c_u_r_r_e_n_t _s_c_r_e_e_n _s_a_v_e_r _i_s _d_e_a_c_t_i_v_a_t_e_d _a_n_d _t_h_e _i_n_t_e_r_n_a_l _s_c_r_e_e_n _s_a_v_e_r _i_s _i_m_m_e_d_i_a_t_e_l_y _a_c_t_i_v_a_t_e_d_. _<_b_r_> _W_h_e_n _t_h_e _s_c_r_e_e_n _s_a_v_e_r _d_e_a_c_t_i_v_a_t_e_s_, _t_h_e _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w_'_s _c_o_l_o_r_m_a_p _i_s _u_n_i_n_s_t_a_l_l_e_d _a_n_d _t_h_e _w_i_n_d_o_w _i_s _u_n_m_a_p_p_e_d _(_e_x_c_e_p_t _a_s _d_e_s_c_r_i_b_e_d _b_e_l_o_w_)_. _T_h_e _s_c_r_e_e_n _s_a_v_e_r _X_I_D _i_s _d_i_s_a_s_s_o_c_i_a_t_e_d _w_i_t_h _t_h_e _w_i_n_d_o_w _a_n_d _t_h_e _s_e_r_v_e_r _m_a_y_, _b_u_t _i_s _n_o_t _r_e_q_u_i_r_e_d _t_o_, _d_e_s_t_r_o_y _t_h_e _w_i_n_d_o_w _a_l_o_n_g _w_i_t_h _a_n_y _c_h_i_l_d_r_e_n_. _<_b_r_> _W_h_e_n _t_h_e _s_c_r_e_e_n _s_a_v_e_r _i_s _b_e_i_n_g _d_e_a_c_t_i_v_a_t_e_d _a_n_d _t_h_e_n _i_m_m_e_d_i_a_t_e_l_y _r_e_a_c_t_i_v_a_t_e_d _(_s_u_c_h _a_s _w_h_e_n _s_w_i_t_c_h_i_n_g _s_c_r_e_e_n _s_a_v_e_r_s_)_, _t_h_e _s_e_r_v_e_r _m_a_y _l_e_a_v_e _t_h_e _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w _m_a_p_p_e_d _(_t_y_p_i_c_a_l_l_y _t_o _a_v_o_i_d _g_e_n_e_r_a_t_i_n_g _e_x_p_o_s_u_r_e_s_)_. _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_U_n_s_e_t_A_t_t_r_i_b_u_t_e_s_<_/_b_> _i_n_s_t_r_u_c_t_s _t_h_e _s_e_r_v_e_r _t_o _d_i_s_c_a_r_d _a_n_y _p_r_e_v_i_o_u_s _s_c_r_e_e_n _s_a_v_e_r _w_i_n_d_o_w _a_t_t_r_i_b_u_t_e_s _s_e_t _b_y _t_h_i_s _c_l_i_e_n_t_. _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_R_e_g_i_s_t_e_r_<_/_b_> _s_t_o_r_e_s _t_h_e _g_i_v_e_n _X_I_D _i_n _t_h_e __SSCCRREEEENN__SSAAVVEERR__IIDD _p_r_o_p_e_r_t_y _(_o_f _t_h_e _g_i_v_e_n _t_y_p_e_) _o_n _t_h_e _r_o_o_t _w_i_n_d_o_w _o_f _t_h_e _s_p_e_c_i_f_i_e_d _s_c_r_e_e_n_. _I_t _r_e_t_u_r_n_s _z_e_r_o _i_f _a_n _e_r_r_o_r _i_s _e_n_c_o_u_n_t_e_r_e_d _a_n_d _t_h_e _p_r_o_p_e_r_t_y _i_s _n_o_t _c_h_a_n_g_e_d_, _o_t_h_e_r_w_i_s_e _i_t _r_e_t_u_r_n_s _n_o_n_-_z_e_r_o_. _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_U_n_r_e_g_i_s_t_e_r_<_/_b_> _r_e_m_o_v_e_s _a_n_y __SSCCRREEEENN__SSAAVVEERR__IIDD _f_r_o_m _t_h_e _r_o_o_t _w_i_n_d_o_w _o_f _t_h_e _s_p_e_c_i_f_i_e_d _s_c_r_e_e_n_. _I_t _r_e_t_u_r_n_s _z_e_r_o _i_f _a_n _e_r_r_o_r _i_s _e_n_c_o_u_n_t_e_r_e_d _a_n_d _t_h_e _p_r_o_p_e_r_t_y _i_s _c_h_a_n_g_e_d_, _o_t_h_e_r_w_i_s_e _i_t _r_e_t_u_r_n_s _n_o_n_-_z_e_r_o_. _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_G_e_t_R_e_g_i_s_t_e_r_e_d_<_/_b_> _r_e_t_u_r_n_s _t_h_e _X_I_D _a_n_d _t_y_p_e _s_t_o_r_e_d _i_n _t_h_e __SSCCRREEEENN__SSAAVVEERR__IIDD _p_r_o_p_e_r_t_y _o_n _t_h_e _r_o_o_t _w_i_n_d_o_w _o_f _t_h_e _s_p_e_c_i_f_i_e_d _s_c_r_e_e_n_. _I_t _r_e_t_u_r_n_s _z_e_r_o _i_f _a_n _e_r_r_o_r _i_s _e_n_c_o_u_n_t_e_r_e_d _o_r _i_f _t_h_e _p_r_o_p_e_r_t_y _d_o_e_s _n_o_t _e_x_i_s_t _o_r _i_s _n_o_t _o_f _t_h_e _c_o_r_r_e_c_t _f_o_r_m_a_t_; _o_t_h_e_r_w_i_s_e _i_t _r_e_t_u_r_n_s _n_o_n_-_z_e_r_o_. _<_p_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_S_u_s_p_e_n_d_<_/_b_> _t_e_m_p_o_r_a_r_i_l_y _s_u_s_p_e_n_d_s _t_h_e _s_c_r_e_e_n_s_a_v_e_r _a_n_d _D_P_M_S _t_i_m_e_r _i_f _s_u_s_p_e_n_d _i_s _'_T_r_u_e_'_, _a_n_d _r_e_s_t_a_r_t_s _t_h_e _t_i_m_e_r _i_f _s_u_s_p_e_n_d _i_s _'_F_a_l_s_e_'_. _<_b_r_> _T_h_i_s _f_u_n_c_t_i_o_n _s_h_o_u_l_d _b_e _u_s_e_d _b_y _a_p_p_l_i_c_a_t_i_o_n_s _t_h_a_t _d_o_n_'_t _w_a_n_t _t_h_e _s_c_r_e_e_n_s_a_v_e_r _o_r _D_P_M_S _t_o _b_e_c_o_m_e _a_c_t_i_v_a_t_e_d _w_h_i_l_e _t_h_e_y_'_r_e _f_o_r _e_x_a_m_p_l_e _i_n _t_h_e _p_r_o_c_e_s_s _o_f _p_l_a_y_i_n_g _a _m_e_d_i_a _s_e_q_u_e_n_c_e_, _o_r _a_r_e _o_t_h_e_r_w_i_s_e _c_o_n_t_i_n_u_o_u_s_l_y _p_r_e_s_e_n_t_i_n_g _v_i_s_u_a_l _i_n_f_o_r_m_a_t_i_o_n _t_o _t_h_e _u_s_e_r _w_h_i_l_e _i_n _a _n_o_n_-_i_n_t_e_r_a_c_t_i_v_e _s_t_a_t_e_. _T_h_i_s _f_u_n_c_t_i_o_n _i_s _n_o_t _i_n_t_e_n_d_e_d _t_o _b_e _c_a_l_l_e_d _b_y _a_n _e_x_t_e_r_n_a_l _s_c_r_e_e_n_s_a_v_e_r _a_p_p_l_i_c_a_t_i_o_n_. _<_b_r_> _I_f XXSSccrreeeennSSaavveerrSSuussppeenndd _i_s _c_a_l_l_e_d _m_u_l_t_i_p_l_e _t_i_m_e_s _w_i_t_h _s_u_s_p_e_n_d _s_e_t _t_o _'_T_r_u_e_'_, _i_t _m_u_s_t _b_e _c_a_l_l_e_d _a_n _e_q_u_a_l _n_u_m_b_e_r _o_f _t_i_m_e_s _w_i_t_h _s_u_s_p_e_n_d _s_e_t _t_o _'_F_a_l_s_e_' _i_n _o_r_d_e_r _f_o_r _t_h_e _s_c_r_e_e_n_s_a_v_e_r _t_i_m_e_r _t_o _b_e _r_e_s_t_a_r_t_e_d_. _T_h_i_s _r_e_q_u_e_s_t _h_a_s _n_o _a_f_f_e_c_t _i_f _a _c_l_i_e_n_t _t_r_i_e_s _t_o _r_e_s_u_m_e _t_h_e _s_c_r_e_e_n_s_a_v_e_r _w_i_t_h_o_u_t _f_i_r_s_t _h_a_v_i_n_g _s_u_s_p_e_n_d_e_d _i_t_. XXSSccrreeeennSSaavveerrSSuussppeenndd _c_a_n _t_h_u_s _n_o_t _b_e _u_s_e_d _b_y _o_n_e _c_l_i_e_n_t _t_o _r_e_s_u_m_e _t_h_e _s_c_r_e_e_n_s_a_v_e_r _i_f _i_t_'_s _b_e_e_n _s_u_s_p_e_n_d_e_d _b_y _a_n_o_t_h_e_r _c_l_i_e_n_t_. _<_b_r_> _I_f _a _c_l_i_e_n_t _t_h_a_t _h_a_s _s_u_s_p_e_n_d_e_d _t_h_e _s_c_r_e_e_n_s_a_v_e_r _b_e_c_o_m_e_s _d_i_s_c_o_n_n_e_c_t_e_d _f_r_o_m _t_h_e _X _s_e_r_v_e_r_, _t_h_e _s_c_r_e_e_n_s_a_v_e_r _t_i_m_e_r _w_i_l_l _a_u_t_o_m_a_t_i_c_a_l_l_y _b_e _r_e_s_t_a_r_t_e_d_, _u_n_l_e_s_s _i_t_'_s _s_t_i_l_l _s_u_s_p_e_n_d_e_d _b_y _a_n_o_t_h_e_r _c_l_i_e_n_t_. _S_u_s_p_e_n_d_i_n_g _t_h_e _s_c_r_e_e_n_s_a_v_e_r _t_i_m_e_r _d_o_e_s_n_'_t _p_r_e_v_e_n_t _t_h_e _s_c_r_e_e_n_s_a_v_e_r _f_r_o_m _b_e_i_n_g _f_o_r_c_e_a_b_l_y _a_c_t_i_v_a_t_e_d _w_i_t_h _t_h_e FFoorrcceeSSccrreeeennSSaavveerr _r_e_q_u_e_s_t_, _o_r _a _D_P_M_S _m_o_d_e _f_r_o_m _b_e_i_n_g _s_e_t _w_i_t_h _t_h_e DDPPMMSSFFoorrcceeLLeevveell _r_e_q_u_e_s_t_. _<_b_r_> XXSSccrreeeennSSaavveerrSSuussppeenndd _a_l_s_o _d_o_e_s_n_'_t _d_e_a_c_t_i_v_a_t_e _t_h_e _s_c_r_e_e_n_s_a_v_e_r _o_r _D_P_M_S _i_f _e_i_t_h_e_r _i_s _a_c_t_i_v_e _a_t _t_h_e _t_i_m_e _t_h_e _r_e_q_u_e_s_t _t_o _s_u_s_p_e_n_d _t_h_e_m _i_s _r_e_c_e_i_v_e_d _b_y _t_h_e _X _s_e_r_v_e_r_. _B_u_t _o_n_c_e _t_h_e_y_'_v_e _b_e_e_n _d_e_a_c_t_i_v_a_t_e_d_, _t_h_e_y _w_o_n_'_t _a_u_t_o_m_a_t_i_c_a_l_l_y _b_e _a_c_t_i_v_a_t_e_d _a_g_a_i_n_, _u_n_t_i_l _t_h_e _c_l_i_e_n_t _h_a_s _c_a_n_c_e_l_e_d _t_h_e _s_u_s_p_e_n_s_i_o_n_. _<_h_3 _i_d_=_"_E_R_R_O_R_S_"_> _E_R_R_O_R_S _<_/_h_3_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_S_e_l_e_c_t_I_n_p_u_t_,_<_/_b_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_Q_u_e_r_y_I_n_f_o_,_<_/_b_> _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_S_e_t_A_t_t_r_i_b_u_t_e_s_<_/_b_> _a_n_d _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_U_n_s_e_t_A_t_t_r_i_b_u_t_e_s_<_/_b_> _w_i_l_l _g_e_n_e_r_a_t_e _a _<_i_>_B_a_d_D_r_a_w_a_b_l_e_<_/_i_> _e_r_r_o_r _i_f _d_r_a_w_a_b_l_e _i_s _n_o_t _a _v_a_l_i_d _d_r_a_w_a_b_l_e _i_d_e_n_t_i_f_i_e_r_. _I_f _a_n_y _u_n_d_e_f_i_n_e_d _b_i_t_s _a_r_e _s_e_t _i_n _e_v_e_n_t_-_m_a_s_k_, _a _B_a_d_V_a_l_u_e _e_r_r_o_r _i_s _g_e_n_e_r_a_t_e_d _b_y _<_b_>_X_S_c_r_e_e_n_S_a_v_e_r_S_e_l_e_c_t_I_n_p_u_t _._<_/_b_> _<_p_> _<_h_3 _i_d_=_"_A_V_A_I_L_A_B_I_L_I_T_Y_"_> _A_V_A_I_L_A_B_I_L_I_T_Y _<_/_h_3_> XXSSccrreeeennSSaavveerrSSuussppeenndd _i_s _a_v_a_i_l_a_b_l_e _i_n _v_e_r_s_i_o_n _1_._1 _a_n_d _l_a_t_e_r _v_e_r_s_i_o_n_s _o_f _t_h_e _X _S_c_r_e_e_n _S_a_v_e_r _E_x_t_e_n_s_i_o_n_. _V_e_r_s_i_o_n _1_._1 _w_a_s _f_i_r_s_t _r_e_l_e_a_s_e_d _w_i_t_h _X_1_1_R_7_._1_. _<_p_> _<_h_3 _i_d_=_"_S_E_E _A_L_S_O_"_> _S_E_E _A_L_S_O _<_/_h_3_> _X_(_7_) _<_h_3 _i_d_=_"_A_U_T_H_O_R_S_"_> _A_U_T_H_O_R_S _<_/_h_3_> _J_i_m _F_u_l_t_o_n _a_n_d _K_e_i_t_h _P_a_c_k_a_r_d_. _<_h_3 _i_d_=_"_S_T_A_B_I_L_I_T_Y_"_> _S_T_A_B_I_L_I_T_Y _<_/_h_3_> _T_h_i_s _A_P_I _i_s _c_o_n_s_i_d_e_r_e_d _a_s _e_x_p_e_r_i_m_e_n_t_a_l_. _T_h_e _X_s_s _l_i_b_r_a_r_y _m_a_j_o_r _r_e_v_i_s_i_o_n _m_a_y _b_e _i_n_c_r_e_m_e_n_t_e_d _w_h_e_n_e_v_e_r _i_n_c_o_m_p_a_t_i_b_l_e _c_h_a_n_g_e_s _a_r_e _d_o_n_e _t_o _t_h_e _A_P_I _w_i_t_h_o_u_t _n_o_t_i_c_e_. _U_s_e _w_i_t_h _c_a_r_e_. _<_/_b_o_d_y_> _<_/_h_t_m_l_>