static gboolean gs_manager_deactivate (GSManager *manager) { g_return_val_if_fail (manager != NULL, FALSE); g_return_val_if_fail (GS_IS_MANAGER (manager), FALSE); if (! manager->priv->active) { gs_debug ("Trying to deactivate a screensaver that is not active"); return FALSE; } remove_unfade_idle (manager); gs_fade_reset (manager->priv->fade); remove_timers (manager); gs_grab_release (manager->priv->grab); manager_stop_jobs (manager); gs_manager_destroy_windows (manager); /* reset state */ manager->priv->active = FALSE; manager->priv->activate_time = 0; manager->priv->lock_active = FALSE; manager->priv->dialog_up = FALSE; manager->priv->fading = FALSE; return TRUE; }
static void test_fade (void) { GSFade *fade; int reps = 2; int delay = 2; fade = gs_fade_new (); while (reps-- > 0) { g_print ("fading out..."); gs_fade_sync (fade, 1000); g_print ("done.\n"); g_print ("fading in..."); gs_fade_reset (fade); g_print ("done.\n"); if (delay) { sleep (delay); } } g_object_unref (fade); }
static gboolean unfade_idle (GSManager *manager) { gs_debug ("resetting fade"); gs_fade_reset (manager->priv->fade); manager->priv->unfade_idle_id = 0; return FALSE; }