gboolean
gs_manager_request_unlock (GSManager *manager)
{
        GSWindow *window;

        g_return_val_if_fail (manager != NULL, FALSE);
        g_return_val_if_fail (GS_IS_MANAGER (manager), FALSE);

        if (! manager->priv->active) {
                gs_debug ("Request unlock but manager is not active");
                return FALSE;
        }

        if (manager->priv->dialog_up) {
                gs_debug ("Request unlock but dialog is already up");
                return FALSE;
        }

        /*if (manager->priv->fading) {
                gs_debug ("Request unlock so finishing fade");
                gs_fade_finish (manager->priv->fade);
        }*/

        if (manager->priv->windows == NULL) {
                gs_debug ("We don't have any windows!");
                return FALSE;
        }

        /* Find the GSWindow that contains the pointer */
        window = find_window_at_pointer (manager);
        gs_window_request_unlock (window);

        return TRUE;
}
static gboolean
window_activity_cb (GSWindow  *window,
                    gpointer   data)
{
        gs_window_request_unlock (window);

        return TRUE;
}