[Xfce4-commits] [apps/xfce4-screensaver] 01/01: Remove dead GSFade code
noreply at xfce.org
noreply at xfce.org
Fri Jun 7 05:14:43 CEST 2019
This is an automated email from the git hooks/post-receive script.
b l u e s a b r e p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository apps/xfce4-screensaver.
commit 7f6b7621c0a31daf9d429ec9fdfa723b49ef2657
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Thu Jun 6 23:14:34 2019 -0400
Remove dead GSFade code
---
.gitignore | 1 -
src/Makefile.am | 19 --
src/gs-fade.c | 829 -------------------------------------------------------
src/gs-fade.h | 73 -----
src/gs-manager.c | 69 +----
src/gs-monitor.c | 4 -
src/test-fade.c | 117 --------
7 files changed, 2 insertions(+), 1110 deletions(-)
diff --git a/.gitignore b/.gitignore
index 1ccc551..11264cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,7 +51,6 @@ savers/*.desktop.in
savers/floaters
savers/popsquares
savers/slideshow
-src/test-fade
src/test-passwd
src/test-watcher
src/test-window
diff --git a/src/Makefile.am b/src/Makefile.am
index 31068e3..9484217 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -47,7 +47,6 @@ libexec_PROGRAMS = \
$(NULL)
noinst_PROGRAMS = \
- test-fade \
test-passwd \
test-window \
$(NULL)
@@ -70,22 +69,6 @@ AUTH_SOURCES = \
gs-auth- at AUTH_SCHEME@.c \
$(NULL)
-test_fade_SOURCES = \
- test-fade.c \
- gs-fade.c \
- gs-fade.h \
- gs-debug.c \
- gs-debug.h \
- xfce-rr.c \
- xfce-rr.h \
- xfce-rr-private.h \
- $(NULL)
-
-test_fade_LDADD = \
- $(XFCE_SCREENSAVER_LIBS) \
- $(SAVER_LIBS) \
- $(NULL)
-
test_passwd_SOURCES = \
test-passwd.c \
$(AUTH_SOURCES) \
@@ -213,8 +196,6 @@ xfce4_screensaver_SOURCES = \
subprocs.h \
gs-grab-x11.c \
gs-grab.h \
- gs-fade.c \
- gs-fade.h \
xfce-rr.c \
xfce-rr.h \
xfce-rr-private.h \
diff --git a/src/gs-fade.c b/src/gs-fade.c
deleted file mode 100644
index 92d24af..0000000
--- a/src/gs-fade.c
+++ /dev/null
@@ -1,829 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * Copyright (C) 2004-2009 William Jon McCann <mccann at jhu.edu>
- * Copyright (C) 2009 Red Hat, Inc.
- * Copyright (C) 2018 Sean Davis <bluesabre at xfce.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * Authors: William Jon McCann <mccann at jhu.edu>
- *
- */
-
-#include <config.h>
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <time.h>
-
-#include <gdk/gdkx.h>
-#include <gtk/gtk.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-
-#include "gs-fade.h"
-#include "gs-debug.h"
-#include "xfce-rr.h"
-
-/* XFree86 4.x+ Gamma fading */
-#ifdef HAVE_XF86VMODE_GAMMA
-
-#include <X11/extensions/xf86vmode.h>
-
-#define XF86_MIN_GAMMA 0.1
-
-#endif /* HAVE_XF86VMODE_GAMMA */
-
-static void gs_fade_class_init (GSFadeClass *klass);
-static void gs_fade_init (GSFade *fade);
-static void gs_fade_finalize (GObject *object);
-
-struct GSGammaInfo {
- int size;
- unsigned short *r;
- unsigned short *g;
- unsigned short *b;
-};
-
-struct GSFadeScreenPrivate {
- int fade_type;
- int num_ramps;
- /* one per crtc in randr mode */
- struct GSGammaInfo *info;
- /* one per screen in theory */
- XfceRRScreen *rrscreen;
-#ifdef HAVE_XF86VMODE_GAMMA
- /* one per screen also */
- XF86VidModeGamma vmg;
-#endif /* HAVE_XF86VMODE_GAMMA */
- gboolean (*fade_setup) (GSFade *fade);
- gboolean (*fade_set_alpha_gamma) (GSFade *fade,
- gdouble alpha);
- void (*fade_finish) (GSFade *fade);
-};
-
-struct GSFadePrivate {
- guint enabled : 1;
- guint active : 1;
-
- guint timeout;
-
- guint step;
- guint num_steps;
- guint timer_id;
-
- gdouble alpha_per_iter;
- gdouble current_alpha;
-
- struct GSFadeScreenPrivate screen_priv;
-};
-
-enum {
- FADED,
- LAST_SIGNAL
-};
-
-enum {
- FADE_TYPE_NONE,
- FADE_TYPE_GAMMA_NUMBER,
- FADE_TYPE_GAMMA_RAMP,
- FADE_TYPE_XRANDR,
-};
-
-static guint signals[LAST_SIGNAL] = { 0, };
-
-G_DEFINE_TYPE_WITH_PRIVATE (GSFade, gs_fade, G_TYPE_OBJECT)
-
-static gpointer fade_object = NULL;
-
-#ifdef HAVE_XF86VMODE_GAMMA
-
-/* This is needed because the VidMode extension doesn't work
- on remote displays -- but if the remote display has the extension
- at all, XF86VidModeQueryExtension returns true, and then
- XF86VidModeQueryVersion dies with an X error.
-*/
-
-static gboolean error_handler_hit = FALSE;
-
-static int
-ignore_all_errors_ehandler (Display *dpy,
- XErrorEvent *error) {
- error_handler_hit = TRUE;
-
- return 0;
-}
-
-static Bool
-safe_XF86VidModeQueryVersion (Display *dpy,
- int *majP,
- int *minP) {
- Bool result;
- XErrorHandler old_handler;
-
- XSync (dpy, False);
- error_handler_hit = FALSE;
- old_handler = XSetErrorHandler (ignore_all_errors_ehandler);
-
- result = XF86VidModeQueryVersion (dpy, majP, minP);
-
- XSync (dpy, False);
- XSetErrorHandler (old_handler);
- XSync (dpy, False);
-
- return (error_handler_hit
- ? False
- : result);
-}
-
-static gboolean
-xf86_whack_gamma (int screen,
- struct GSFadeScreenPrivate *screen_priv,
- float ratio) {
- Bool status;
- struct GSGammaInfo *gamma_info;
-
- gamma_info = screen_priv->info;
-
- if (!gamma_info)
- return FALSE;
-
- if (ratio < 0) {
- ratio = 0;
- }
- if (ratio > 1) {
- ratio = 1;
- }
-
- if (gamma_info->size == 0) {
- /* we only have a gamma number, not a ramp. */
-
- XF86VidModeGamma g2;
-
- g2.red = screen_priv->vmg.red * ratio;
- g2.green = screen_priv->vmg.green * ratio;
- g2.blue = screen_priv->vmg.blue * ratio;
-
- if (g2.red < XF86_MIN_GAMMA) {
- g2.red = XF86_MIN_GAMMA;
- }
- if (g2.green < XF86_MIN_GAMMA) {
- g2.green = XF86_MIN_GAMMA;
- }
- if (g2.blue < XF86_MIN_GAMMA) {
- g2.blue = XF86_MIN_GAMMA;
- }
-
- status = XF86VidModeSetGamma (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), screen, &g2);
- } else {
-# ifdef HAVE_XF86VMODE_GAMMA_RAMP
- unsigned short *r, *g, *b;
- int i;
-
- r = g_new0 (unsigned short, gamma_info->size);
- g = g_new0 (unsigned short, gamma_info->size);
- b = g_new0 (unsigned short, gamma_info->size);
-
- for (i = 0; i < gamma_info->size; i++) {
- r[i] = gamma_info->r[i] * ratio;
- g[i] = gamma_info->g[i] * ratio;
- b[i] = gamma_info->b[i] * ratio;
- }
-
- status = XF86VidModeSetGammaRamp (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
- screen, gamma_info->size, r, g, b);
-
- g_free (r);
- g_free (g);
- g_free (b);
-
-# else /* !HAVE_XF86VMODE_GAMMA_RAMP */
- abort ();
-# endif /* !HAVE_XF86VMODE_GAMMA_RAMP */
- }
-
- gdk_display_flush (gdk_display_get_default());
-
- return status;
-}
-
-#endif /* HAVE_XF86VMODE_GAMMA */
-
-/* VidModeExtension version 2.0 or better is needed to do gamma.
- 2.0 added gamma values; 2.1 added gamma ramps.
-*/
-# define XF86_VIDMODE_GAMMA_MIN_MAJOR 2
-# define XF86_VIDMODE_GAMMA_MIN_MINOR 0
-# define XF86_VIDMODE_GAMMA_RAMP_MIN_MAJOR 2
-# define XF86_VIDMODE_GAMMA_RAMP_MIN_MINOR 1
-
-
-#ifdef HAVE_XF86VMODE_GAMMA
-static gboolean
-gamma_fade_setup (GSFade *fade) {
- gboolean res;
- struct GSFadeScreenPrivate *screen_priv;
-
- screen_priv = &fade->priv->screen_priv;
-
- if (screen_priv->info)
- return TRUE;
-
-# ifndef HAVE_XF86VMODE_GAMMA_RAMP
- if (FADE_TYPE_GAMMA_RAMP == screen_priv->fade_type) {
- /* server is newer than client! */
- screen_priv->fade_type = FADE_TYPE_GAMMA_NUMBER;
- }
-# endif
-
-# ifdef HAVE_XF86VMODE_GAMMA_RAMP
-
- screen_priv->info = g_new0(struct GSGammaInfo, 1);
- screen_priv->num_ramps = 1;
-
- if (FADE_TYPE_GAMMA_RAMP == screen_priv->fade_type) {
- /* have ramps */
-
- res = XF86VidModeGetGammaRampSize (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
- GDK_SCREEN_XNUMBER (gdk_screen_get_default ()),
- &screen_priv->info->size);
- if (!res || screen_priv->info->size <= 0) {
- screen_priv->fade_type = FADE_TYPE_GAMMA_NUMBER;
- goto test_number;
- }
-
- screen_priv->info->r = g_new0 (unsigned short, screen_priv->info->size);
- screen_priv->info->g = g_new0 (unsigned short, screen_priv->info->size);
- screen_priv->info->b = g_new0 (unsigned short, screen_priv->info->size);
-
- if (!(screen_priv->info->r && screen_priv->info->g && screen_priv->info->b)) {
- screen_priv->fade_type = FADE_TYPE_GAMMA_NUMBER;
- goto test_number;
- }
-
- res = XF86VidModeGetGammaRamp (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
- GDK_SCREEN_XNUMBER (gdk_screen_get_default ()),
- screen_priv->info->size,
- screen_priv->info->r,
- screen_priv->info->g,
- screen_priv->info->b);
- if (!res) {
- screen_priv->fade_type = FADE_TYPE_GAMMA_NUMBER;
- goto test_number;
- }
- gs_debug ("Initialized gamma ramp fade");
- }
-# endif /* HAVE_XF86VMODE_GAMMA_RAMP */
-
-test_number:
- if (FADE_TYPE_GAMMA_NUMBER == screen_priv->fade_type) {
- /* only have gamma parameter, not ramps. */
-
- res = XF86VidModeGetGamma (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
- GDK_SCREEN_XNUMBER (gdk_screen_get_default ()),
- &screen_priv->vmg);
- if (!res) {
- screen_priv->fade_type = FADE_TYPE_NONE;
- goto test_none;
- }
- gs_debug ("Initialized gamma fade: %f %f %f",
- screen_priv->vmg.red,
- screen_priv->vmg.green,
- screen_priv->vmg.blue);
- }
-
-test_none:
- if (FADE_TYPE_NONE == screen_priv->fade_type) {
- goto FAIL;
- }
-
- return TRUE;
-FAIL:
-
- return FALSE;
-}
-#endif /* HAVE_XF86VMODE_GAMMA */
-
-static void
-screen_fade_finish (GSFade *fade) {
- struct GSFadeScreenPrivate *screen_priv;
- int i;
- screen_priv = &fade->priv->screen_priv;
-
- if (!screen_priv->info)
- return;
-
- for (i = 0; i < screen_priv->num_ramps; i++) {
- if (screen_priv->info[i].r)
- g_free (screen_priv->info[i].r);
- if (screen_priv->info[i].g)
- g_free (screen_priv->info[i].g);
- if (screen_priv->info[i].b)
- g_free (screen_priv->info[i].b);
- }
-
- g_free (screen_priv->info);
- screen_priv->info = NULL;
- screen_priv->num_ramps = 0;
-}
-
-#ifdef HAVE_XF86VMODE_GAMMA
-static gboolean
-gamma_fade_set_alpha_gamma (GSFade *fade,
- gdouble alpha) {
- struct GSFadeScreenPrivate *screen_priv;
- int screen_idx = GDK_SCREEN_XNUMBER (gdk_screen_get_default ());
-
- screen_priv = &fade->priv->screen_priv;
- xf86_whack_gamma (screen_idx, screen_priv, alpha);
-
- return TRUE;
-}
-#endif /* HAVE_XF86VMODE_GAMMA */
-
-static void
-check_gamma_extension (GSFade *fade) {
- struct GSFadeScreenPrivate *screen_priv;
-#ifdef HAVE_XF86VMODE_GAMMA
- int event;
- int error;
- int major;
- int minor;
- gboolean res;
-#endif /* HAVE_XF86VMODE_GAMMA */
-
- screen_priv = &fade->priv->screen_priv;
-
-#ifdef HAVE_XF86VMODE_GAMMA
- res = XF86VidModeQueryExtension (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &event, &error);
- if (!res)
- goto fade_none;
-
- res = safe_XF86VidModeQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor);
- if (!res)
- goto fade_none;
-
- if (major < XF86_VIDMODE_GAMMA_MIN_MAJOR ||
- (major == XF86_VIDMODE_GAMMA_MIN_MAJOR &&
- minor < XF86_VIDMODE_GAMMA_MIN_MINOR))
- goto fade_none;
-
- screen_priv->fade_setup = gamma_fade_setup;
- screen_priv->fade_finish = screen_fade_finish;
- screen_priv->fade_set_alpha_gamma = gamma_fade_set_alpha_gamma;
-
- if (major < XF86_VIDMODE_GAMMA_RAMP_MIN_MAJOR ||
- (major == XF86_VIDMODE_GAMMA_RAMP_MIN_MAJOR &&
- minor < XF86_VIDMODE_GAMMA_RAMP_MIN_MINOR)) {
- screen_priv->fade_type = FADE_TYPE_GAMMA_NUMBER;
- return;
- }
-
- /* Copacetic */
- screen_priv->fade_type = FADE_TYPE_GAMMA_RAMP;
- return;
-fade_none:
-#endif
- screen_priv->fade_type = FADE_TYPE_NONE;
-}
-
-/* Xrandr support */
-
-static gboolean xrandr_fade_setup (GSFade *fade) {
- struct GSFadeScreenPrivate *screen_priv;
- XfceRRCrtc *crtc;
- XfceRRCrtc **crtcs;
- int crtc_count = 0;
- struct GSGammaInfo *info;
- gboolean res;
-
- screen_priv = &fade->priv->screen_priv;
-
- if (screen_priv->info)
- return TRUE;
-
- /* refresh the screen info */
- xfce_rr_screen_refresh (screen_priv->rrscreen, NULL);
-
- crtcs = xfce_rr_screen_list_crtcs (screen_priv->rrscreen);
- while (*crtcs) {
- crtc_count++;
- crtcs++;
- }
-
- screen_priv->info = g_new0 (struct GSGammaInfo, crtc_count);
- screen_priv->num_ramps = crtc_count;
-
- crtc_count = 0;
- crtcs = xfce_rr_screen_list_crtcs (screen_priv->rrscreen);
- while (*crtcs) {
- crtc = *crtcs;
-
- info = &screen_priv->info[crtc_count];
-
- /* if no mode ignore crtc */
- if (!xfce_rr_crtc_get_current_mode (crtc)) {
- info->size = 0;
- info->r = NULL;
- info->g = NULL;
- info->b = NULL;
- } else {
- res = xfce_rr_crtc_get_gamma (crtc, &info->size,
- &info->r, &info->g,
- &info->b);
- if (res == FALSE)
- goto fail;
- }
-
- crtcs++;
- crtc_count++;
- }
- return TRUE;
-fail:
- return FALSE;
-}
-
-static void xrandr_crtc_whack_gamma (XfceRRCrtc *crtc,
- struct GSGammaInfo *gamma_info,
- float ratio) {
- unsigned short *r, *g, *b;
- int i;
-
- if (gamma_info->size == 0)
- return;
-
- if (ratio < 0) {
- ratio = 0;
- }
- if (ratio > 1) {
- ratio = 1;
- }
-
- r = g_new0 (unsigned short, gamma_info->size);
- g = g_new0 (unsigned short, gamma_info->size);
- b = g_new0 (unsigned short, gamma_info->size);
-
- for (i = 0; i < gamma_info->size; i++) {
- r[i] = gamma_info->r[i] * ratio;
- g[i] = gamma_info->g[i] * ratio;
- b[i] = gamma_info->b[i] * ratio;
- }
-
- xfce_rr_crtc_set_gamma (crtc, gamma_info->size,
- r, g, b);
- g_free (r);
- g_free (g);
- g_free (b);
-}
-
-static gboolean xrandr_fade_set_alpha_gamma (GSFade *fade,
- gdouble alpha) {
- struct GSFadeScreenPrivate *screen_priv;
- XfceRRCrtc **crtcs;
- int i;
-
- screen_priv = &fade->priv->screen_priv;
-
- if (!screen_priv->info)
- return FALSE;
-
- crtcs = xfce_rr_screen_list_crtcs (screen_priv->rrscreen);
- i = 0;
-
- while (*crtcs) {
- struct GSGammaInfo *info;
- info = &screen_priv->info[i];
- xrandr_crtc_whack_gamma (*crtcs, info, alpha);
- i++;
- crtcs++;
- }
- return TRUE;
-}
-
-static void
-check_randr_extension (GSFade *fade) {
- GdkDisplay *display = gdk_display_get_default ();
- GdkScreen *screen = gdk_display_get_default_screen (display);
- struct GSFadeScreenPrivate *screen_priv;
-
- screen_priv = &fade->priv->screen_priv;
-
- screen_priv->rrscreen = xfce_rr_screen_new (screen,
- NULL);
- if (!screen_priv->rrscreen) {
- screen_priv->fade_type = FADE_TYPE_NONE;
- return;
- }
-
- screen_priv->fade_type = FADE_TYPE_XRANDR;
- screen_priv->fade_setup = xrandr_fade_setup;
- screen_priv->fade_finish = screen_fade_finish;
- screen_priv->fade_set_alpha_gamma = xrandr_fade_set_alpha_gamma;
-}
-
-static gboolean
-gs_fade_set_alpha (GSFade *fade,
- gdouble alpha) {
- gboolean ret = FALSE;
-
- switch (fade->priv->screen_priv.fade_type) {
- case FADE_TYPE_GAMMA_RAMP:
- case FADE_TYPE_GAMMA_NUMBER:
- case FADE_TYPE_XRANDR:
- ret = fade->priv->screen_priv.fade_set_alpha_gamma (fade, alpha);
- break;
- case FADE_TYPE_NONE:
- ret = FALSE;
- break;
- default:
- g_warning ("Unknown fade type");
- ret = FALSE;
- break;
- }
-
- return ret;
-}
-
-static gboolean
-gs_fade_out_iter (GSFade *fade) {
- gboolean ret;
-
- if (fade->priv->current_alpha < 0.01) {
- return FALSE;
- }
-
- fade->priv->current_alpha -= fade->priv->alpha_per_iter;
-
- ret = gs_fade_set_alpha (fade, fade->priv->current_alpha);
-
- return ret;
-}
-
-static gboolean
-gs_fade_stop (GSFade *fade) {
- if (fade->priv->timer_id > 0) {
- g_source_remove (fade->priv->timer_id);
- fade->priv->timer_id = 0;
- }
-
- fade->priv->step = 0;
- fade->priv->active = FALSE;
-
- return TRUE;
-}
-
-void
-gs_fade_finish (GSFade *fade) {
- g_return_if_fail (GS_IS_FADE (fade));
-
- if (!fade->priv->active) {
- return;
- }
-
- gs_fade_stop (fade);
-
- g_signal_emit (fade, signals[FADED], 0);
-
- fade->priv->active = FALSE;
-}
-
-static gboolean
-fade_out_timer (GSFade *fade) {
- gboolean res;
-
- res = gs_fade_out_iter (fade);
-
- /* if failed then fade is complete */
- if (!res) {
- gs_fade_finish (fade);
- return FALSE;
- }
-
- return TRUE;
-}
-
-static void
-gs_fade_set_timeout (GSFade *fade,
- guint timeout) {
- g_return_if_fail (GS_IS_FADE (fade));
-
- fade->priv->timeout = timeout;
-}
-
-static void
-gs_fade_start (GSFade *fade,
- guint timeout) {
- guint steps_per_sec = 60;
- guint msecs_per_step;
- gboolean active_fade, res;
-
- g_return_if_fail (GS_IS_FADE (fade));
-
- if (fade->priv->screen_priv.fade_type != FADE_TYPE_NONE) {
- res = fade->priv->screen_priv.fade_setup (fade);
- if (res == FALSE)
- return;
- }
-
- if (fade->priv->timer_id > 0) {
- gs_fade_stop (fade);
- }
-
- fade->priv->active = TRUE;
-
- gs_fade_set_timeout (fade, timeout);
-
- active_fade = FALSE;
- if (fade->priv->screen_priv.fade_type != FADE_TYPE_NONE)
- active_fade = TRUE;
-
- if (active_fade) {
- guint num_steps;
-
- num_steps = (fade->priv->timeout / 1000.0) * steps_per_sec;
- msecs_per_step = 1000 / steps_per_sec;
- fade->priv->alpha_per_iter = 1.0 / (gdouble)num_steps;
-
- fade->priv->timer_id = g_timeout_add (msecs_per_step, (GSourceFunc)fade_out_timer, fade);
- } else {
- gs_fade_finish (fade);
- }
-}
-
-typedef struct {
- GSFadeDoneFunc done_cb;
- gpointer data;
-} FadedCallbackData;
-
-static void
-gs_fade_async_callback (GSFade *fade,
- FadedCallbackData *cdata) {
- g_signal_handlers_disconnect_by_func (fade,
- gs_fade_async_callback,
- cdata);
-
- if (cdata->done_cb) {
- cdata->done_cb (fade, cdata->data);
- }
-
- g_free (cdata);
-}
-
-void
-gs_fade_async (GSFade *fade,
- guint timeout,
- GSFadeDoneFunc done_cb,
- gpointer data) {
- g_return_if_fail (GS_IS_FADE (fade));
-
- /* if fade is active then pause it */
- if (fade->priv->active) {
- gs_fade_stop (fade);
- }
-
- if (done_cb) {
- FadedCallbackData *cb_data;
-
- cb_data = g_new0 (FadedCallbackData, 1);
- cb_data->done_cb = done_cb;
- cb_data->data = data;
-
- g_signal_connect (fade, "faded",
- G_CALLBACK (gs_fade_async_callback),
- cb_data);
- }
-
- gs_fade_start (fade, timeout);
-}
-
-static void
-gs_fade_sync_callback (GSFade *fade,
- int *flag) {
- *flag = TRUE;
- g_signal_handlers_disconnect_by_func (fade,
- gs_fade_sync_callback,
- flag);
-}
-
-void
-gs_fade_sync (GSFade *fade,
- guint timeout) {
- int flag = FALSE;
-
- g_return_if_fail (GS_IS_FADE (fade));
-
- /* if fade is active then pause it */
- if (fade->priv->active) {
- gs_fade_stop (fade);
- }
-
- g_signal_connect (fade, "faded",
- G_CALLBACK (gs_fade_sync_callback),
- &flag);
-
- gs_fade_start (fade, timeout);
-
- while (!flag) {
- gtk_main_iteration ();
- }
-}
-
-void
-gs_fade_reset (GSFade *fade) {
- g_return_if_fail (GS_IS_FADE (fade));
-
- gs_debug ("Resetting fade");
-
- if (fade->priv->active) {
- gs_fade_stop (fade);
- }
-
- fade->priv->current_alpha = 1.0;
-
- gs_fade_set_alpha (fade, fade->priv->current_alpha);
-
- if (fade->priv->screen_priv.fade_type != FADE_TYPE_NONE)
- fade->priv->screen_priv.fade_finish (fade);
-}
-
-static void
-gs_fade_class_init (GSFadeClass *klass) {
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- object_class->finalize = gs_fade_finalize;
-
- signals[FADED] =
- g_signal_new ("faded",
- G_TYPE_FROM_CLASS (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GSFadeClass, faded),
- NULL,
- NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE,
- 0, G_TYPE_NONE);
-}
-
-static void
-gs_fade_init (GSFade *fade) {
- fade->priv = gs_fade_get_instance_private (fade);
-
- fade->priv->timeout = 1000;
- fade->priv->current_alpha = 1.0;
-
- check_randr_extension (fade);
- if (!fade->priv->screen_priv.fade_type)
- check_gamma_extension (fade);
- // gs_debug ("Fade type: %d", fade->priv->screen_priv.fade_type);
-}
-
-static void
-gs_fade_finalize (GObject *object) {
- GSFade *fade;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (GS_IS_FADE (object));
-
- fade = GS_FADE (object);
-
- g_return_if_fail (fade->priv != NULL);
-
- fade->priv->screen_priv.fade_finish(fade);
-
- if (fade->priv->screen_priv.rrscreen)
- g_object_unref (fade->priv->screen_priv.rrscreen);
- fade->priv->screen_priv.rrscreen = NULL;
-
- G_OBJECT_CLASS (gs_fade_parent_class)->finalize (object);
-}
-
-GSFade *
-gs_fade_new (void) {
- if (fade_object) {
- g_object_ref (fade_object);
- } else {
- fade_object = g_object_new (GS_TYPE_FADE, NULL);
- g_object_add_weak_pointer (fade_object,
- (gpointer *) &fade_object);
- }
-
- return GS_FADE (fade_object);
-}
diff --git a/src/gs-fade.h b/src/gs-fade.h
deleted file mode 100644
index 7a85a1b..0000000
--- a/src/gs-fade.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * Copyright (C) 2004-2005 William Jon McCann <mccann at jhu.edu>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * Authors: William Jon McCann <mccann at jhu.edu>
- *
- */
-
-#ifndef SRC_GS_FADE_H_
-#define SRC_GS_FADE_H_
-
-#include <glib.h>
-
-G_BEGIN_DECLS
-
-#define GS_TYPE_FADE (gs_fade_get_type ())
-#define GS_FADE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GS_TYPE_FADE, GSFade))
-#define GS_FADE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GS_TYPE_FADE, GSFadeClass))
-#define GS_IS_FADE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GS_TYPE_FADE))
-#define GS_IS_FADE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GS_TYPE_FADE))
-#define GS_FADE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GS_TYPE_FADE, GSFadeClass))
-
-
-typedef struct GSFadePrivate GSFadePrivate;
-
-typedef struct
-{
- GObject parent;
- GSFadePrivate *priv;
-} GSFade;
-
-typedef struct
-{
- GObjectClass parent_class;
-
- void (* faded) (GSFade *fade);
-} GSFadeClass;
-
-typedef void (* GSFadeDoneFunc) (GSFade *fade,
- gpointer data);
-
-
-GType gs_fade_get_type (void);
-
-GSFade * gs_fade_new (void);
-
-void gs_fade_async (GSFade *fade,
- guint timeout,
- GSFadeDoneFunc done_cb,
- gpointer data);
-void gs_fade_sync (GSFade *fade,
- guint timeout);
-
-void gs_fade_finish (GSFade *fade);
-void gs_fade_reset (GSFade *fade);
-
-G_END_DECLS
-
-#endif /* SRC_GS_FADE_H_ */
diff --git a/src/gs-manager.c b/src/gs-manager.c
index 3dbc647..e9ec4e1 100644
--- a/src/gs-manager.c
+++ b/src/gs-manager.c
@@ -33,7 +33,6 @@
#include "gs-debug.h"
#include "gs-grab.h"
-#include "gs-fade.h"
#include "gs-job.h"
#include "gs-manager.h"
#include "gs-prefs.h" /* for GSSaverMode */
@@ -76,7 +75,6 @@ struct GSManagerPrivate {
guint lock_active : 1;
guint saver_active : 1;
- guint fading : 1;
guint dialog_up : 1;
gint last_monitor_count;
@@ -88,8 +86,6 @@ struct GSManagerPrivate {
GSList *themes;
GSSaverMode saver_mode;
GSGrab *grab;
- GSFade *fade;
- guint unfade_idle_id;
guint deepsleep_idle_id;
gboolean deepsleep;
};
@@ -120,8 +116,6 @@ enum {
PROP_THROTTLED,
};
-#define FADE_TIMEOUT 1000
-
static guint signals[LAST_SIGNAL] = { 0, };
G_DEFINE_TYPE_WITH_PRIVATE (GSManager, gs_manager, G_TYPE_OBJECT)
@@ -994,7 +988,6 @@ static void
gs_manager_init (GSManager *manager) {
manager->priv = gs_manager_get_instance_private (manager);
- manager->priv->fade = gs_fade_new ();
manager->priv->grab = gs_grab_new ();
manager->priv->theme_manager = gs_theme_manager_new ();
@@ -1011,15 +1004,6 @@ remove_timers (GSManager *manager) {
remove_cycle_timer (manager);
}
-static void
-remove_unfade_idle (GSManager *manager) {
- if (manager->priv->unfade_idle_id > 0) {
- g_source_remove (manager->priv->unfade_idle_id);
- manager->priv->unfade_idle_id = 0;
- }
-}
-
-
static gboolean
window_deactivated_idle (GSManager *manager) {
g_return_val_if_fail (manager != NULL, FALSE);
@@ -1154,19 +1138,6 @@ window_grab_broken_cb (GSWindow *window,
}
}
-static gboolean
-unfade_idle (GSManager *manager) {
- gs_fade_reset (manager->priv->fade);
- manager->priv->unfade_idle_id = 0;
- return FALSE;
-}
-
-static void
-add_unfade_idle (GSManager *manager) {
- remove_unfade_idle (manager);
- manager->priv->unfade_idle_id = g_timeout_add (500, (GSourceFunc)unfade_idle, manager);
-}
-
static void
remove_deepsleep_idle (GSManager *manager) {
if (manager->priv->deepsleep_idle_id > 0) {
@@ -1255,8 +1226,6 @@ manager_show_window (GSManager *manager,
add_cycle_timer (manager, manager->priv->cycle_timeout);
}
- add_unfade_idle (manager);
-
/* FIXME: only emit signal once */
g_signal_emit (manager, signals[ACTIVATED], 0);
}
@@ -1460,7 +1429,7 @@ gs_manager_create_window_for_monitor (GSManager *manager,
manager->priv->windows = g_slist_append (manager->priv->windows, window);
- if (manager->priv->active && !manager->priv->fading) {
+ if (manager->priv->active) {
gtk_widget_show (GTK_WIDGET (window));
}
}
@@ -1643,7 +1612,6 @@ gs_manager_finalize (GObject *object) {
g_free (manager->priv->keyboard_command);
g_free (manager->priv->status_message);
- remove_unfade_idle (manager);
remove_deepsleep_idle (manager);
remove_timers(manager);
@@ -1658,7 +1626,6 @@ gs_manager_finalize (GObject *object) {
manager->priv->lock_enabled = FALSE;
manager->priv->lock_with_saver_enabled = FALSE;
- g_object_unref (manager->priv->fade);
g_object_unref (manager->priv->grab);
g_object_unref (manager->priv->theme_manager);
@@ -1744,17 +1711,8 @@ remove_job (GSJob *job) {
g_object_unref (job);
}
-static void
-fade_done_cb (GSFade *fade,
- GSManager *manager) {
- gs_debug ("Fade completed, showing windows");
- show_windows (manager->priv->windows);
- manager->priv->fading = FALSE;
-}
-
static gboolean
gs_manager_activate (GSManager *manager) {
- gboolean do_fade;
gboolean res;
g_return_val_if_fail (manager != NULL, FALSE);
@@ -1781,22 +1739,7 @@ gs_manager_activate (GSManager *manager) {
manager->priv->active = TRUE;
- /* fade to black and show windows */
- do_fade = FALSE;
- 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);
- }
+ show_windows (manager->priv->windows);
return TRUE;
}
@@ -1811,8 +1754,6 @@ gs_manager_deactivate (GSManager *manager) {
return FALSE;
}
- remove_unfade_idle (manager);
- gs_fade_reset (manager->priv->fade);
remove_timers (manager);
gs_grab_release (manager->priv->grab, TRUE);
@@ -1825,7 +1766,6 @@ gs_manager_deactivate (GSManager *manager) {
manager->priv->active = FALSE;
manager->priv->activate_time = 0;
manager->priv->dialog_up = FALSE;
- manager->priv->fading = FALSE;
gs_manager_set_lock_active (manager, FALSE);
@@ -1871,11 +1811,6 @@ gs_manager_request_unlock (GSManager *manager) {
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;
diff --git a/src/gs-monitor.c b/src/gs-monitor.c
index 385842a..5c8fc57 100644
--- a/src/gs-monitor.c
+++ b/src/gs-monitor.c
@@ -35,7 +35,6 @@
#include <gdk/gdkx.h>
#include "gs-debug.h"
-#include "gs-fade.h"
#include "gs-grab.h"
#include "gs-listener-dbus.h"
#include "gs-listener-x11.h"
@@ -53,7 +52,6 @@ struct GSMonitorPrivate {
GSListenerX11 *listener_x11;
GSManager* manager;
GSPrefs* prefs;
- GSFade* fade;
GSGrab* grab;
guint release_grab_id;
};
@@ -287,7 +285,6 @@ static void gs_monitor_init(GSMonitor* monitor) {
monitor->priv->listener_x11 = gs_listener_x11_new();
connect_listener_signals(monitor);
- monitor->priv->fade = gs_fade_new();
monitor->priv->grab = gs_grab_new();
monitor->priv->manager = gs_manager_new();
@@ -310,7 +307,6 @@ static void gs_monitor_finalize(GObject* object) {
disconnect_manager_signals(monitor);
disconnect_prefs_signals(monitor);
- g_object_unref(monitor->priv->fade);
g_object_unref(monitor->priv->grab);
g_object_unref(monitor->priv->listener);
g_object_unref(monitor->priv->listener_x11);
diff --git a/src/test-fade.c b/src/test-fade.c
deleted file mode 100644
index 0f76221..0000000
--- a/src/test-fade.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * Copyright (C) 2005 William Jon McCann <mccann at jhu.edu>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * Authors: William Jon McCann <mccann at jhu.edu>
- *
- */
-
-#include <config.h>
-
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <termios.h>
-#include <unistd.h>
-
-#include <gdk/gdkx.h>
-#include <gtk/gtk.h>
-
-#include <libxfce4util/libxfce4util.h>
-
-#ifdef HAVE_XF86VMODE_GAMMA
-#include <X11/extensions/xf86vmode.h>
-#endif
-
-#include "gs-fade.h"
-#include "gs-debug.h"
-
-#define XF86_VIDMODE_NAME "XFree86-VidModeExtension"
-
-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);
-}
-
-int
-main (int argc,
- char **argv) {
- GError *error = NULL;
- int op, event, err;
-
-#ifdef ENABLE_NLS
- bindtextdomain (GETTEXT_PACKAGE, XFCELOCALEDIR);
-# ifdef HAVE_BIND_TEXTDOMAIN_CODESET
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-# endif
- textdomain (GETTEXT_PACKAGE);
-#endif
-
- if (!gtk_init_with_args (&argc, &argv, NULL, NULL, NULL, &error)) {
- fprintf (stderr, "%s", error->message);
- g_error_free (error);
- exit (1);
- }
-
- if (!XQueryExtension (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), XF86_VIDMODE_NAME, &op, &event, &err)) {
- g_message ("no " XF86_VIDMODE_NAME " extension");
- } else {
-# ifdef HAVE_XF86VMODE_GAMMA
- int major;
- int minor;
-
- if (!XF86VidModeQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor)) {
- g_message ("unable to get " XF86_VIDMODE_NAME " version");
- } else {
- g_message (XF86_VIDMODE_NAME " version %d.%d", major, minor);
- }
-# else /* !HAVE_XF86VMODE_GAMMA */
- g_message ("no support for display's " XF86_VIDMODE_NAME " extension");
-# endif /* !HAVE_XF86VMODE_GAMMA */
- }
-
- gs_debug_init (TRUE, FALSE);
-
- test_fade ();
-
- gs_debug_shutdown ();
-
- return 0;
-}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list