static gboolean gs_manager_activate (GSManager *manager) { gboolean res; 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 activate manager when already active"); return FALSE; } res = gs_grab_grab_root (manager->priv->grab, FALSE); if (! res) { return FALSE; } if (manager->priv->windows == NULL) { gs_manager_create_windows (GS_MANAGER (manager)); } manager->priv->active = TRUE; show_windows (manager->priv->windows); if (manager->priv->visible && !manager->priv->blank && !manager->priv->closed) { gs_manager_timed_switch (manager); } gs_manager_stop_lock (manager); return TRUE; }
static void gs_manager_finalize (GObject *object) { GSManager *manager; g_return_if_fail (object != NULL); g_return_if_fail (GS_IS_MANAGER (object)); manager = GS_MANAGER (object); g_return_if_fail (manager->priv != NULL); gs_grab_release (manager->priv->grab); gs_manager_destroy_windows (manager); manager->priv->active = FALSE; gs_manager_stop_switch (manager); gs_manager_stop_lock (manager); g_object_unref (manager->priv->grab); G_OBJECT_CLASS (gs_manager_parent_class)->finalize (object); }
GSManager * gs_manager_new (void) { GObject *manager; manager = g_object_new (GS_TYPE_MANAGER, NULL); return GS_MANAGER (manager); }
static gboolean gs_manager_activate (GSManager *manager) { gboolean do_fade; gboolean res; 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 activate manager when already active"); return FALSE; } res = gs_grab_grab_root (manager->priv->grab, FALSE); if (! res) { return FALSE; } if (manager->priv->windows == NULL) { gs_manager_create_windows (GS_MANAGER (manager)); } manager->priv->jobs = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, (GDestroyNotify)remove_job); manager->priv->active = TRUE; /* fade to black and show windows */ do_fade = TRUE; if (do_fade) { manager->priv->fading = TRUE; gs_debug ("fading out"); gs_fade_async (manager->priv->fade, FADE_TIMEOUT, (GSFadeDoneFunc)fade_done_cb, manager); while (manager->priv->fading) { gtk_main_iteration (); } } else { show_windows (manager->priv->windows); } return TRUE; }
static void gs_manager_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GSManager *self; self = GS_MANAGER (object); switch (prop_id) { case PROP_THROTTLED: g_value_set_boolean (value, self->priv->throttled); break; case PROP_LOCK_ENABLED: g_value_set_boolean (value, self->priv->lock_enabled); break; case PROP_LOCK_TIMEOUT: g_value_set_long (value, self->priv->lock_timeout); break; case PROP_LOGOUT_ENABLED: g_value_set_boolean (value, self->priv->logout_enabled); break; case PROP_KEYBOARD_ENABLED: g_value_set_boolean (value, self->priv->keyboard_enabled); break; case PROP_USER_SWITCH_ENABLED: g_value_set_boolean (value, self->priv->user_switch_enabled); break; case PROP_LOGOUT_TIMEOUT: g_value_set_long (value, self->priv->logout_timeout); break; case PROP_LOGOUT_COMMAND: g_value_set_string (value, self->priv->logout_command); break; case PROP_KEYBOARD_COMMAND: g_value_set_string (value, self->priv->keyboard_command); break; case PROP_STATUS_MESSAGE: g_value_set_string (value, self->priv->status_message); break; case PROP_CYCLE_TIMEOUT: g_value_set_long (value, self->priv->cycle_timeout); break; case PROP_ACTIVE: g_value_set_boolean (value, self->priv->active); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static gboolean gs_manager_activate (GSManager *manager) { //gboolean do_fade; gboolean res; 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 activate manager when already active"); return FALSE; } res = gs_grab_grab_root (manager->priv->grab, FALSE); if (! res) { return FALSE; } if (manager->priv->windows == NULL) { gs_manager_create_windows (GS_MANAGER (manager)); } manager->priv->active = TRUE; /* fade to black and show windows */ //do_fade = TRUE; /*if (do_fade) { manager->priv->fading = TRUE; gs_debug ("fading out"); gs_fade_async (manager->priv->fade, FADE_TIMEOUT, (GSFadeDoneFunc)fade_done_cb, manager); while (manager->priv->fading) { gtk_main_iteration (); } } else { */ show_windows (manager->priv->windows); //} return TRUE; }
static void gs_manager_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GSManager *self; self = GS_MANAGER (object); switch (prop_id) { case PROP_ACTIVE: g_value_set_boolean (value, self->priv->active); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void gs_manager_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GSManager *self; self = GS_MANAGER (object); switch (prop_id) { case PROP_LOCK_ENABLED: gs_manager_set_lock_enabled (self, g_value_get_boolean (value)); break; case PROP_LOCK_TIMEOUT: gs_manager_set_lock_timeout (self, g_value_get_long (value)); break; case PROP_LOGOUT_ENABLED: gs_manager_set_logout_enabled (self, g_value_get_boolean (value)); break; case PROP_KEYBOARD_ENABLED: gs_manager_set_keyboard_enabled (self, g_value_get_boolean (value)); break; case PROP_USER_SWITCH_ENABLED: gs_manager_set_user_switch_enabled (self, g_value_get_boolean (value)); break; case PROP_LOGOUT_TIMEOUT: gs_manager_set_logout_timeout (self, g_value_get_long (value)); break; case PROP_LOGOUT_COMMAND: gs_manager_set_logout_command (self, g_value_get_string (value)); break; case PROP_KEYBOARD_COMMAND: gs_manager_set_keyboard_command (self, g_value_get_string (value)); break; case PROP_STATUS_MESSAGE: gs_manager_set_status_message (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void gs_manager_finalize (GObject *object) { GSManager *manager; g_return_if_fail (object != NULL); g_return_if_fail (GS_IS_MANAGER (object)); manager = GS_MANAGER (object); g_return_if_fail (manager->priv != NULL); if (manager->priv->bg != NULL) { g_object_unref (manager->priv->bg); } free_themes (manager); g_free (manager->priv->logout_command); g_free (manager->priv->keyboard_command); g_free (manager->priv->status_message); remove_unfade_idle (manager); remove_timers (manager); gs_grab_release (manager->priv->grab); manager_stop_jobs (manager); gs_manager_destroy_windows (manager); manager->priv->active = FALSE; manager->priv->activate_time = 0; manager->priv->lock_enabled = FALSE; g_object_unref (manager->priv->fade); g_object_unref (manager->priv->grab); g_object_unref (manager->priv->theme_manager); G_OBJECT_CLASS (gs_manager_parent_class)->finalize (object); }