patches/control-center-03-compiz-integration.diff
author yippi
Mon, 27 Sep 2010 21:07:51 +0000
changeset 20108 51df67ca9307
parent 17569 c00759bc4834
child 20370 f2c879959270
permissions -rw-r--r--
I had these modules listed as being owned by me, but they are really owned by wangke, correcting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
     1
diff -Nrup -x '*.orig' -x '*.rej' -x '*.*~' gnome-control-center-2.28.0/capplets/appearance/Makefile.am ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/Makefile.am
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
     2
--- gnome-control-center-2.28.0/capplets/appearance/Makefile.am	2009-07-16 16:33:13.000000000 +0200
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
     3
+++ ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/Makefile.am	2009-10-16 09:52:28.248513437 +0200
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     4
@@ -9,6 +9,8 @@ gnome_appearance_properties_SOURCES = \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     5
 	appearance.h \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     6
 	appearance-desktop.c \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     7
 	appearance-desktop.h \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     8
+	appearance-effects.c\
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     9
+	appearance-effects.h\
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    10
 	appearance-font.c \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    11
 	appearance-font.h \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    12
 	appearance-main.c \
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
    13
diff -Nrup -x '*.orig' -x '*.rej' -x '*.*~' gnome-control-center-2.28.0/capplets/appearance/appearance-effects.c ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/appearance-effects.c
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
    14
--- gnome-control-center-2.28.0/capplets/appearance/appearance-effects.c	1970-01-01 01:00:00.000000000 +0100
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
    15
+++ ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/appearance-effects.c	2009-10-16 09:52:50.817685824 +0200
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
    16
@@ -0,0 +1,1234 @@
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    17
+/*
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    18
+ * Copyright (C) 2007 Canonical
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    19
+ * Written by Michael Vogt <[email protected]>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    20
+ * and Mirco Müller <[email protected]>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    21
+ * All Rights Reserved
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    22
+ *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    23
+ * Based on desktop-effects.c:
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    24
+ *   Desktop Effects. A preference panel for compiz.
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    25
+ *   Copyright (C) 2006   Red Hat, Inc.
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    26
+ * Author: Soren Sandmann ([email protected]) *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    27
+ *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    28
+ * This program is free software; you can redistribute it and/or modify
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    29
+ * it under the terms of the GNU General Public License as published by
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    30
+ * the Free Software Foundation; either version 2 of the License, or
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    31
+ * (at your option) any later version.
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    32
+ *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    33
+ * This program is distributed in the hope that it will be useful,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    34
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    35
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    36
+ * GNU General Public License for more details.
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    37
+ *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    38
+ * You should have received a copy of the GNU General Public License along
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    39
+ * with this program; if not, write to the Free Software Foundation, Inc.,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    40
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    41
+ */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    42
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    43
+#include <glib.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    44
+#include <glib/gstdio.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    45
+#include <glib/gi18n.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    46
+#include <X11/Xlib.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    47
+#include <X11/Xatom.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    48
+#include <gdk/gdkx.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    49
+#include <X11/extensions/Xcomposite.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    50
+#include <math.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    51
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    52
+#include "appearance.h"
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    53
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    54
+#include "gconf-property-editor.h"
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    55
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    56
+typedef enum {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    57
+	COMPIZ,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    58
+	METACITY
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    59
+} WindowManager;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    60
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    61
+#define WINDOW_MANAGER_KEY "/desktop/gnome/session/required_components/windowmanager"
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    62
+#define COMPIZ_BIN	   "compiz"
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    63
+#define METACITY_BIN	   "metacity"
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    64
+#define REVERT_COUNT	   40
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    65
+#define SECONDS_WE_WILL_WAIT_FOR_COMPIZ_TO_START 8
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    66
+#define PLUGIN_LIST_KEY	   "/apps/compiz/general/allscreens/options/active_plugins"
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    67
+#define NUM_WORKSPACES	   "/apps/metacity/general/num_workspaces"
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    68
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    69
+/* helper structure to pass pager data around */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    70
+typedef struct _TraversalChunk {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    71
+	GConfClient *client;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    72
+	GArray	    *numRowsArray;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    73
+	gint	    rows;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    74
+} TraversalChunk;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    75
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    76
+/* possible effects level */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    77
+enum {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    78
+	NO_EFFECTS, 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    79
+	NORMAL_EFFECTS, 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    80
+	EXTRA_EFFECTS, 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    81
+	CUSTOM_EFFECTS
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    82
+};
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    83
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    84
+/* radio-button names in glade-file */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    85
+static const char *effect_choices[] =  {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    86
+	"no_effects_button",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    87
+	"normal_effects_button", 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    88
+	"extra_effects_button",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    89
+	"custom_effects_button"
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    90
+};
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    91
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    92
+/* plugin-set for extra-effects level */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    93
+static const gchar* extra_effects[] = {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    94
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    95
+"dbus",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    96
+"move",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    97
+"place",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    98
+"png",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    99
+"regex",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   100
+"resize",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   101
+"svg",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   102
+"water",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   103
+"imgjpeg",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   104
+"mousepoll",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   105
+"resizeinfo",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   106
+"session",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   107
+"text",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   108
+"thumbnail",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   109
+"workarounds",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   110
+"firepaint",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   111
+"shelf",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   112
+"decoration",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   113
+"wobbly",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   114
+"animation",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   115
+"shift",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   116
+"fade",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   117
+"group",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   118
+"cube",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   119
+"rotate",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   120
+"scale",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   121
+"3d",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   122
+"cubeaddon",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   123
+"scalefilter",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   124
+"expo",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   125
+"ezoom",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   126
+NULL
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   127
+};
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   128
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   129
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   130
+check_compiz (void)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   131
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   132
+	return g_file_test ("/usr/bin/compiz", G_FILE_TEST_IS_EXECUTABLE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   133
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   134
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   135
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   136
+check_ccsm (void)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   137
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   138
+	return g_file_test ("/usr/bin/ccsm", G_FILE_TEST_IS_EXECUTABLE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   139
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   140
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   141
+run_ccsm (GtkButton *widget,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   142
+	  gpointer  data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   143
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   144
+	g_spawn_command_line_async ("/usr/bin/ccsm", NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   145
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   146
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   147
+check_compiz_configure (void)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   148
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   149
+	return g_file_test ("/usr/lib/compiz/compiz-configure", G_FILE_TEST_IS_EXECUTABLE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   150
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   151
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   152
+run_compiz_configure (GtkButton *widget,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   153
+		      gpointer  data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   154
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   155
+	g_spawn_command_line_async ("/usr/lib/compiz/compiz-configure", NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   156
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   157
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   158
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   159
+static GSList *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   160
+get_plugins (AppearanceData *app,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   161
+	     GError	    **err)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   162
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   163
+	return gconf_client_get_list (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   164
+				      PLUGIN_LIST_KEY,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   165
+				      GCONF_VALUE_STRING,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   166
+				      err);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   167
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   168
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   169
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   170
+contains_string (GSList	     *plugins,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   171
+		 const gchar *needle)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   172
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   173
+	GSList *slist;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   174
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   175
+	for (slist = plugins; slist != NULL; slist = slist->next)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   176
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   177
+		const char *s = slist->data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   178
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   179
+		if (s && strcmp (s, needle) == 0)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   180
+			return TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   181
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   182
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   183
+	return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   184
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   185
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   186
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   187
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   188
+show_info (const char *text)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   189
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   190
+	GtkWidget *dialog;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   191
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   192
+	dialog = gtk_message_dialog_new (NULL,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   193
+					 GTK_DIALOG_MODAL,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   194
+					 GTK_MESSAGE_INFO,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   195
+					 GTK_BUTTONS_OK,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   196
+					 text);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   197
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   198
+	gtk_dialog_run (GTK_DIALOG (dialog));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   199
+	gtk_widget_destroy (dialog);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   200
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   201
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   202
+static gchar*
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   203
+get_string_value (GConfClient* client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   204
+		  const gchar* key)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   205
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   206
+	gchar  *value = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   207
+	GError *error = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   208
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   209
+	g_assert (client != NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   210
+	g_assert (key    != NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   211
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   212
+	value = gconf_client_get_string (client, key, &error);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   213
+	if (error)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   214
+		return NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   215
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   216
+	return value;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   217
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   218
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   219
+static gint
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   220
+get_int_value (GConfClient* client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   221
+	       const gchar* key)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   222
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   223
+	gint	value = 0;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   224
+	GError*	error = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   225
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   226
+	g_assert (client != NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   227
+	g_assert (key    != NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   228
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   229
+	value = gconf_client_get_int (client, key, &error);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   230
+	if (error)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   231
+		return 0;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   232
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   233
+	return value;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   234
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   235
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   236
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   237
+check_for_wnck_entry (gpointer data,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   238
+		      gpointer user_data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   239
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   240
+	gchar		*appletId	= (gchar*) data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   241
+	TraversalChunk	*chunk		= (TraversalChunk*) user_data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   242
+	GString		*propertyPath	= NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   243
+	gchar		*value		= NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   244
+	gint		rows		= 0;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   245
+	gint		position	= 0;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   246
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   247
+	/* get bonobo-id of applet */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   248
+	propertyPath = g_string_new ("/apps/panel/applets/");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   249
+	propertyPath = g_string_append (propertyPath, appletId);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   250
+	propertyPath = g_string_append (propertyPath, "/bonobo_iid");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   251
+	value = get_string_value (chunk->client, propertyPath->str);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   252
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   253
+	/* just exit if no bonobo-id was found */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   254
+	if (!value)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   255
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   256
+		g_string_free (propertyPath, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   257
+		return;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   258
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   259
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   260
+	/* test if it is actually a switcher */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   261
+	if (!g_ascii_strncasecmp (value,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   262
+				  "OAFIID:GNOME_WorkspaceSwitcherApplet",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   263
+				  36))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   264
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   265
+		/* assemble new gconf-path for num_rows gconf-key */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   266
+		g_string_free (propertyPath, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   267
+		propertyPath = g_string_new ("/apps/panel/applets/");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   268
+		propertyPath = g_string_append (propertyPath, appletId);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   269
+		propertyPath = g_string_append (propertyPath, "/position");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   270
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   271
+		/* get the value of position */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   272
+		position = get_int_value (chunk->client, propertyPath->str);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   273
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   274
+		if (position > 1)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   275
+		{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   276
+			/* assemble new gconf-path for num_rows gconf-key */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   277
+			g_string_free (propertyPath, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   278
+			propertyPath = g_string_new ("/apps/panel/applets/");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   279
+			propertyPath = g_string_append (propertyPath, appletId);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   280
+			propertyPath = g_string_append (propertyPath,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   281
+							"/prefs/num_rows");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   282
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   283
+			/* get the value of rows */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   284
+			rows = get_int_value (chunk->client, propertyPath->str);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   285
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   286
+			if (!chunk->numRowsArray)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   287
+				chunk->numRowsArray = g_array_new (TRUE,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   288
+								   TRUE,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   289
+								   sizeof (gint));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   290
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   291
+			g_array_append_val (chunk->numRowsArray, rows);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   292
+		}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   293
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   294
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   295
+	g_string_free (propertyPath, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   296
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   297
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   298
+gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   299
+set_int_value (GConfClient *client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   300
+               const gchar *key,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   301
+               gint        value)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   302
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   303
+	gboolean result = FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   304
+	GError   *error = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   305
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   306
+	g_assert (client != NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   307
+	g_assert (key    != NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   308
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   309
+	result = gconf_client_set_int (client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   310
+				       key,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   311
+				       value,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   312
+				       &error);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   313
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   314
+	if (error)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   315
+		return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   316
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   317
+	return result;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   318
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   319
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   320
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   321
+set_wnck_entry (gpointer data,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   322
+                gpointer user_data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   323
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   324
+	gchar		*appletId	= (gchar*) data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   325
+	TraversalChunk	*chunk		= (TraversalChunk*) user_data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   326
+	GString		*propertyPath	= NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   327
+	gchar		*value		= NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   328
+	gint		position	= 0;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   329
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   330
+	/* get bonobo-id of applet */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   331
+	propertyPath = g_string_new ("/apps/panel/applets/");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   332
+	propertyPath = g_string_append (propertyPath, appletId);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   333
+	propertyPath = g_string_append (propertyPath, "/bonobo_iid");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   334
+	value = get_string_value (chunk->client, propertyPath->str);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   335
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   336
+	/* just exit if no bonobo-id was found */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   337
+	if (!value)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   338
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   339
+		g_string_free (propertyPath, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   340
+		return;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   341
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   342
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   343
+	/* test if it is actually a switcher */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   344
+	if (!g_ascii_strncasecmp (value,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   345
+				  "OAFIID:GNOME_WorkspaceSwitcherApplet",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   346
+				  36))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   347
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   348
+		/* assemble new gconf-path for applets position gconf-key */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   349
+		g_string_free (propertyPath, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   350
+		propertyPath = g_string_new ("/apps/panel/applets/");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   351
+		propertyPath = g_string_append (propertyPath, appletId);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   352
+		propertyPath = g_string_append (propertyPath, "/position");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   353
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   354
+		/* get the value of position */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   355
+		position = get_int_value (chunk->client, propertyPath->str);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   356
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   357
+		/* not the best way to test, if this applet is really active */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   358
+		if (position > 1)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   359
+		{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   360
+			/* assemble new gconf-path for num_rows gconf-key */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   361
+			g_string_free (propertyPath, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   362
+			propertyPath = g_string_new ("/apps/panel/applets/");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   363
+			propertyPath = g_string_append (propertyPath, appletId);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   364
+			propertyPath = g_string_append (propertyPath,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   365
+							"/prefs/num_rows");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   366
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   367
+			/* set the value of rows */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   368
+			set_int_value (chunk->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   369
+				       propertyPath->str,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   370
+				       chunk->rows);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   371
+		}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   372
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   373
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   374
+	/* cleanup */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   375
+	g_string_free (propertyPath, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   376
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   377
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   378
+static gint
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   379
+get_pager_num_rows (GConfClient *client)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   380
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   381
+	GSList         *idList = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   382
+	TraversalChunk *chunk  = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   383
+	gint           rows    = 0;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   384
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   385
+	/* get ids of all used applets */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   386
+	idList = gconf_client_get_list (client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   387
+					"/apps/panel/general/applet_id_list",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   388
+					GCONF_VALUE_STRING,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   389
+					NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   390
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   391
+	if (!idList)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   392
+		return 1;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   393
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   394
+	/* create and initialize helper-structure */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   395
+	chunk = g_new0 (TraversalChunk, 1);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   396
+	if (!chunk)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   397
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   398
+		g_slist_free (idList);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   399
+		return 1;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   400
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   401
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   402
+	chunk->client = client;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   403
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   404
+	/* search list of applets for wnck-applet */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   405
+	g_slist_foreach (idList,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   406
+			 check_for_wnck_entry,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   407
+			 (gpointer) chunk);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   408
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   409
+	if (chunk->numRowsArray == NULL)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   410
+		rows = 1;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   411
+	else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   412
+		rows = g_array_index (chunk->numRowsArray, gint, 0);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   413
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   414
+	/* clean up */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   415
+	g_slist_free (idList);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   416
+	g_array_free (chunk->numRowsArray, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   417
+	g_free (chunk);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   418
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   419
+	return rows;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   420
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   421
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   422
+/* sets the number of rows of the first pager-applet found */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   423
+void static
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   424
+set_pager_num_rows (GConfClient *client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   425
+                    gint        rows)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   426
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   427
+	GSList         *idList = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   428
+	TraversalChunk *chunk  = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   429
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   430
+	/* get ids of all used applets */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   431
+	idList = gconf_client_get_list (client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   432
+					"/apps/panel/general/applet_id_list",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   433
+					GCONF_VALUE_STRING,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   434
+					NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   435
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   436
+	/* if nothing is found at least return 1 to avoid a div. by 0 later */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   437
+	if (!idList)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   438
+		return;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   439
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   440
+	/* create and initialize helper-structure */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   441
+	chunk = g_new0 (TraversalChunk, 1);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   442
+	if (!chunk)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   443
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   444
+		g_slist_free (idList);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   445
+		return;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   446
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   447
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   448
+	chunk->client = client;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   449
+	chunk->rows = rows;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   450
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   451
+	/* search list of applets for wnck-applet */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   452
+	g_slist_foreach (idList,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   453
+			 set_wnck_entry,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   454
+			 (gpointer) chunk);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   455
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   456
+	/* clean up */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   457
+	g_slist_free (idList);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   458
+	g_array_free (chunk->numRowsArray, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   459
+	g_free (chunk);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   460
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   461
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   462
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   463
+apply_settings (AppearanceData	*app,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   464
+		gboolean	effects_enabled)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   465
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   466
+	const char *str = effects_enabled? COMPIZ_BIN : METACITY_BIN;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   467
+	char	   *session_file;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   468
+	gint	   vsize;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   469
+	gint	   hsize;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   470
+	gint	   workspaces;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   471
+	gint	   rows;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   472
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   473
+	gconf_client_set_string (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   474
+				 WINDOW_MANAGER_KEY,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   475
+				 str,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   476
+				 NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   477
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   478
+	session_file = g_build_filename (g_get_home_dir (),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   479
+					 ".gnome2",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   480
+					 "session",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   481
+					 NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   482
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   483
+	g_unlink (session_file);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   484
+	g_free (session_file);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   485
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   486
+	/* here the whole logic for mapping any N:M workspace-layout from
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   487
+	 * metacity to compiz or vice versa is handled, currently only
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   488
+	 * implemented for one-screen setups */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   489
+	if (effects_enabled)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   490
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   491
+		workspaces = get_int_value (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   492
+				            "/apps/metacity/general/num_workspaces");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   493
+		rows = get_pager_num_rows (app->client);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   494
+		set_int_value (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   495
+			       "/apps/compiz/general/screen0/options/vsize",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   496
+			       rows);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   497
+		set_int_value (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   498
+			       "/apps/compiz/general/screen0/options/hsize",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   499
+			       (gint) ceilf ((gfloat) workspaces / (gfloat) rows));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   500
+		set_pager_num_rows (app->client, 1);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   501
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   502
+	else if (app->compiz_was_running)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   503
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   504
+		vsize = get_int_value (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   505
+				       "/apps/compiz/general/screen0/options/vsize");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   506
+		hsize = get_int_value (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   507
+				       "/apps/compiz/general/screen0/options/hsize");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   508
+		set_int_value (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   509
+			       "/apps/metacity/general/num_workspaces",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   510
+			       vsize * hsize);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   511
+		set_pager_num_rows (app->client, vsize);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   512
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   513
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   514
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   515
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   516
+set_busy (GtkWidget *widget,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   517
+	  gboolean  busy)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   518
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   519
+	GdkCursor *cursor;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   520
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   521
+	if (busy)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   522
+		cursor = gdk_cursor_new (GDK_WATCH);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   523
+	else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   524
+		cursor = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   525
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   526
+	gdk_window_set_cursor (widget->window, cursor);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   527
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   528
+	if (cursor)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   529
+		gdk_cursor_unref (cursor);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   530
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   531
+	gdk_flush ();
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   532
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   533
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   534
+/* get_wm_window() and current_window_manager() are essentially cutted and
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   535
+ * pasted from gnome-wm.c from gnome-control-center. */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   536
+static Window
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   537
+get_wm_window (void)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   538
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   539
+	Window	*xwindow;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   540
+	Atom	type;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   541
+	gint	format;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   542
+	gulong	nitems;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   543
+	gulong	bytes_after;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   544
+	Window	result;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   545
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   546
+	XGetWindowProperty (GDK_DISPLAY (),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   547
+			    GDK_ROOT_WINDOW (),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   548
+			    XInternAtom (GDK_DISPLAY (),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   549
+			    		 "_NET_SUPPORTING_WM_CHECK",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   550
+			    		 False),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   551
+			    0,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   552
+			    G_MAXLONG,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   553
+			    False,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   554
+			    XA_WINDOW,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   555
+			    &type,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   556
+			    &format,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   557
+			    &nitems,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   558
+			    &bytes_after,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   559
+			    (guchar **) &xwindow);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   560
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   561
+	if (type != XA_WINDOW)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   562
+		return None;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   563
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   564
+	gdk_error_trap_push ();
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   565
+	XSelectInput (GDK_DISPLAY (),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   566
+		      *xwindow,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   567
+		      StructureNotifyMask | PropertyChangeMask);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   568
+	XSync (GDK_DISPLAY (), False);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   569
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   570
+	if (gdk_error_trap_pop ())
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   571
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   572
+		XFree (xwindow);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   573
+		return None;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   574
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   575
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   576
+	result = *xwindow;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   577
+	XFree (xwindow);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   578
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   579
+	return result;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   580
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   581
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   582
+static char*
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   583
+get_current_window_manager (void)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   584
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   585
+	Atom	utf8_string;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   586
+	Atom	atom;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   587
+	Atom	type;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   588
+	int	result;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   589
+	char	*retval;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   590
+	int	format;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   591
+	gulong	nitems;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   592
+	gulong	bytes_after;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   593
+	gchar	*val;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   594
+	Window	wm_window = get_wm_window ();
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   595
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   596
+	utf8_string = XInternAtom (GDK_DISPLAY (), "UTF8_STRING", False);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   597
+	atom = XInternAtom (GDK_DISPLAY (), "_NET_WM_NAME", False);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   598
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   599
+	gdk_error_trap_push ();
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   600
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   601
+	result = XGetWindowProperty (GDK_DISPLAY (),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   602
+				     wm_window,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   603
+				     atom,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   604
+				     0,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   605
+				     G_MAXLONG,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   606
+				     False,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   607
+				     utf8_string,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   608
+				     &type,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   609
+				     &format,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   610
+				     &nitems,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   611
+				     &bytes_after,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   612
+				     (guchar **)&val);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   613
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   614
+	if (gdk_error_trap_pop () || result != Success)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   615
+		return NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   616
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   617
+	if (type != utf8_string || format != 8 || nitems == 0)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   618
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   619
+		if (val)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   620
+			XFree (val);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   621
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   622
+		return NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   623
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   624
+    
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   625
+	if (!g_utf8_validate (val, nitems, NULL))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   626
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   627
+		XFree (val);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   628
+		return NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   629
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   630
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   631
+	retval = g_strndup (val, nitems);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   632
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   633
+	XFree (val);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   634
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   635
+	return retval;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   636
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   637
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   638
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   639
+compiz_started (void)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   640
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   641
+	gboolean result;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   642
+	char	 *wm = get_current_window_manager ();
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   643
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   644
+	result = wm && strcmp (wm, "compiz") == 0;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   645
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   646
+	g_free (wm);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   647
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   648
+	return result;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   649
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   650
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   651
+typedef struct TimedDialogInfo {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   652
+	AppearanceData	*app;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   653
+	GTimer		*timer;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   654
+	GtkWidget	*button;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   655
+} TimedDialogInfo;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   656
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   657
+static WindowManager
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   658
+current_configured_wm (AppearanceData *app,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   659
+		       GError	      **err)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   660
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   661
+	GError *tmp = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   662
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   663
+	const char *str = gconf_client_get_string (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   664
+						   WINDOW_MANAGER_KEY,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   665
+						   &tmp);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   666
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   667
+	if (tmp)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   668
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   669
+		g_propagate_error (err, tmp);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   670
+		return METACITY;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   671
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   672
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   673
+	if (str && strcmp (str, COMPIZ_BIN) == 0)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   674
+		return COMPIZ;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   675
+	else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   676
+		return METACITY;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   677
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   678
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   679
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   680
+show_error (const GError *err)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   681
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   682
+	GtkWidget *dialog;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   683
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   684
+	if (!err)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   685
+		return;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   686
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   687
+	dialog = gtk_message_dialog_new (NULL,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   688
+					 GTK_DIALOG_DESTROY_WITH_PARENT,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   689
+					 GTK_MESSAGE_WARNING,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   690
+					 GTK_BUTTONS_OK,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   691
+					 err->message);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   692
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   693
+	gtk_window_set_title (GTK_WINDOW (dialog), "");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   694
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   695
+	gtk_dialog_run (GTK_DIALOG (dialog));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   696
+	gtk_widget_destroy (dialog);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   697
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   698
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   699
+struct TimeoutData {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   700
+	int	  time;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   701
+	GtkLabel  *label;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   702
+	GtkDialog *dialog;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   703
+	gboolean  timed_out;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   704
+};
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   705
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   706
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   707
+free_at_idle (gpointer data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   708
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   709
+	g_free (data);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   710
+	return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   711
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   712
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   713
+static char*
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   714
+idle_free (char *str)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   715
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   716
+	g_idle_add (free_at_idle, str);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   717
+	return str;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   718
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   719
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   720
+static char *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   721
+timeout_string (int time)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   722
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   723
+	/* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   724
+	char *str = g_strdup_printf (ngettext ("Testing the new settings. If you don't respond in %d second the previous settings will be restored.", "Testing the new settings. If you don't respond in %d seconds the previous settings will be restored.", time), time);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   725
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   726
+	return idle_free (str);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   727
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   728
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   729
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   730
+save_timeout_callback (gpointer data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   731
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   732
+	struct TimeoutData *timeData = data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   733
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   734
+	timeData->time--;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   735
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   736
+	if (timeData->time == 0)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   737
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   738
+		gtk_dialog_response (timeData->dialog, GTK_RESPONSE_NO);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   739
+		timeData->timed_out = TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   740
+		return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   741
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   742
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   743
+	gtk_label_set_text (timeData->label, timeout_string (timeData->time));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   744
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   745
+	return TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   746
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   747
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   748
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   749
+run_timed_dialog (AppearanceData *app)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   750
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   751
+	GtkWidget	   *dialog;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   752
+	GtkWidget	   *hbox;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   753
+	GtkWidget	   *vbox;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   754
+	GtkWidget	   *label;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   755
+	GtkWidget	   *label_sec;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   756
+	GtkWidget	   *image;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   757
+	int		   res;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   758
+	struct TimeoutData timeout_data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   759
+	guint		   timeout;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   760
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   761
+	dialog = gtk_dialog_new ();
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   762
+	gtk_window_set_transient_for (GTK_WINDOW (dialog),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   763
+				      GTK_WINDOW (app->dialog));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   764
+	gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   765
+	gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   766
+	gtk_container_set_border_width (GTK_CONTAINER (dialog), 12);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   767
+	gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   768
+	/* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   769
+	gtk_window_set_title (GTK_WINDOW (dialog), _("Keep Settings"));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   770
+	gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER_ALWAYS);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   771
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   772
+	label = gtk_label_new (NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   773
+	gtk_label_set_markup (GTK_LABEL (label),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   774
+			      idle_free (g_strdup_printf ("<b>%s</b>",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   775
+							  /* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   776
+							  _("Do you want to keep these settings?"))));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   777
+	image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   778
+					  GTK_ICON_SIZE_DIALOG);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   779
+	gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   780
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   781
+	gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   782
+	gtk_label_set_selectable (GTK_LABEL (label), TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   783
+	gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   784
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   785
+	label_sec = gtk_label_new (timeout_string (REVERT_COUNT));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   786
+	gtk_label_set_line_wrap (GTK_LABEL (label_sec), TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   787
+	gtk_label_set_selectable (GTK_LABEL (label_sec), TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   788
+	gtk_misc_set_alignment (GTK_MISC (label_sec), 0.0, 0.5);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   789
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   790
+	hbox = gtk_hbox_new (FALSE, 6);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   791
+	vbox = gtk_vbox_new (FALSE, 6);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   792
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   793
+	gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   794
+	gtk_box_pack_start (GTK_BOX (vbox), label_sec, TRUE, TRUE, 0);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   795
+	gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   796
+	gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   797
+	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   798
+			    hbox,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   799
+			    FALSE,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   800
+			    FALSE,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   801
+			    0);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   802
+	gtk_dialog_add_buttons (GTK_DIALOG (dialog),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   803
+				/* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   804
+				_("Use _previous settings"),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   805
+				GTK_RESPONSE_NO,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   806
+				/* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   807
+				_("_Keep settings"),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   808
+				GTK_RESPONSE_YES,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   809
+				NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   810
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   811
+	gtk_widget_show_all (hbox);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   812
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   813
+	timeout_data.time = REVERT_COUNT;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   814
+	timeout_data.label = GTK_LABEL (label_sec);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   815
+	timeout_data.dialog = GTK_DIALOG (dialog);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   816
+	timeout_data.timed_out = FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   817
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   818
+	timeout = g_timeout_add (1000, save_timeout_callback, &timeout_data);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   819
+	res = gtk_dialog_run (GTK_DIALOG (dialog));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   820
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   821
+	if (!timeout_data.timed_out)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   822
+		g_source_remove (timeout);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   823
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   824
+	gtk_widget_destroy (dialog);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   825
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   826
+	return (res == GTK_RESPONSE_YES);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   827
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   828
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   829
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   830
+show_dialog_timeout (gpointer data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   831
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   832
+	TimedDialogInfo	*info = data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   833
+	gboolean	has_compiz;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   834
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   835
+	gtk_window_present (GTK_WINDOW (info->app->dialog));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   836
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   837
+	has_compiz = compiz_started ();
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   838
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   839
+	if (has_compiz ||
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   840
+	    g_timer_elapsed (info->timer,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   841
+	    		     NULL) > SECONDS_WE_WILL_WAIT_FOR_COMPIZ_TO_START)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   842
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   843
+		if (has_compiz)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   844
+		{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   845
+			set_busy (info->app->dialog, FALSE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   846
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   847
+			if (run_timed_dialog (info->app))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   848
+				apply_settings (info->app,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   849
+						info->app->desktop_effects_level >= 1);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   850
+			else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   851
+				gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (info->button),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   852
+							      TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   853
+		}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   854
+		else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   855
+		{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   856
+			GtkWidget *dialog;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   857
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   858
+			gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (info->button),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   859
+						      TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   860
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   861
+			set_busy (info->app->dialog, FALSE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   862
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   863
+			dialog = gtk_message_dialog_new ((GtkWindow*) info->app->dialog,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   864
+							 GTK_DIALOG_DESTROY_WITH_PARENT,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   865
+							 GTK_MESSAGE_WARNING,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   866
+							 GTK_BUTTONS_OK,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   867
+							 /* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   868
+							 _("Desktop effects could not be enabled"));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   869
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   870
+			gtk_window_set_title (GTK_WINDOW (dialog), "");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   871
+			gtk_dialog_run (GTK_DIALOG (dialog));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   872
+			gtk_widget_destroy (dialog);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   873
+		}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   874
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   875
+		gtk_widget_set_sensitive (info->app->dialog, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   876
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   877
+		g_timer_destroy (info->timer);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   878
+		g_free (info);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   879
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   880
+		return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   881
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   882
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   883
+	return TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   884
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   885
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   886
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   887
+start_compiz (AppearanceData *app,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   888
+	      GError **err)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   889
+{
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
   890
+	if (!g_spawn_command_line_async ("compiz", err))
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   891
+		return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   892
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   893
+	app->compiz_running = TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   894
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   895
+	return TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   896
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   897
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   898
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   899
+start_metacity (AppearanceData *app, GError **err)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   900
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   901
+	if (!g_spawn_command_line_async ("metacity --replace", err))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   902
+		return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   903
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   904
+	app->compiz_running = FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   905
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   906
+	return TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   907
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   908
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   909
+static gboolean 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   910
+has_texture_from_pixmap ()
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   911
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   912
+#ifdef HAVE_GL && HAVE_GL_GLX_H
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   913
+#include <GL/gl.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   914
+#include <GL/glx.h>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   915
+	const char  *glxServerExtensions = glXQueryServerString (GDK_DISPLAY (), 0, GLX_EXTENSIONS);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   916
+	if (glxServerExtensions == NULL || !strstr (glxServerExtensions, "GLX_EXT_texture_from_pixmap"))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   917
+	  return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   918
+	return TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   919
+#else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   920
+	return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   921
+#endif
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   922
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   923
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   924
+	
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   925
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   926
+has_composite ()
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   927
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   928
+	int dummy1;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   929
+	int dummy2;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   930
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   931
+	if (XCompositeQueryExtension (GDK_DISPLAY (), &dummy1, &dummy2))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   932
+		return TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   933
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   934
+	return FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   935
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   936
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   937
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   938
+show_alert (const char *text)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   939
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   940
+	GtkWidget *dialog;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   941
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   942
+	dialog = gtk_message_dialog_new (NULL,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   943
+					 GTK_DIALOG_MODAL,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   944
+					 GTK_MESSAGE_ERROR,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   945
+					 GTK_BUTTONS_OK,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   946
+					 text);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   947
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   948
+	gtk_dialog_run (GTK_DIALOG (dialog));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   949
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   950
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   951
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   952
+are_effects_enabled (AppearanceData* app,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   953
+		     const gchar**   effects_list)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   954
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   955
+	int	 i;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   956
+	gboolean res = TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   957
+	GError	 *tmp = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   958
+	GSList	 *plugins;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   959
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   960
+	plugins = get_plugins (app, &tmp);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   961
+	for (i = 0; effects_list[i] != NULL; i++)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   962
+		res &= contains_string (plugins, effects_list[i]);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   963
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   964
+	return res;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   965
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   966
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   967
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   968
+reset_plugins (AppearanceData *app)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   969
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   970
+	GError *error = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   971
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   972
+	return gconf_client_unset (app->client, PLUGIN_LIST_KEY, &error);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   973
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   974
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   975
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   976
+are_normal_effects_enabled (AppearanceData *app)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   977
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   978
+   gboolean res = TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   979
+   GError *err = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   980
+   GSList *plugins, *default_plugins;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   981
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   982
+   default_plugins = gconf_value_get_list ( gconf_client_get_default_from_schema (app->client,  PLUGIN_LIST_KEY, &err));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   983
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   984
+   err = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   985
+   plugins = get_plugins (app, &err);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   986
+   for(;default_plugins; default_plugins = g_slist_next(default_plugins))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   987
+      res &= contains_string(plugins, gconf_value_get_string(default_plugins->data));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   988
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   989
+   return res;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   990
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   991
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   992
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   993
+are_extra_effects_enabled (AppearanceData *app)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   994
+{
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
   995
+   return are_effects_enabled (app, extra_effects);
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   996
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   997
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   998
+static gint
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   999
+get_effects_level (AppearanceData *data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1000
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1001
+	if (data->compiz_running)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1002
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1003
+	        if (are_extra_effects_enabled (data))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1004
+		        return EXTRA_EFFECTS;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1005
+		else if (are_normal_effects_enabled (data))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1006
+			return NORMAL_EFFECTS;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1007
+		else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1008
+			return CUSTOM_EFFECTS;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1009
+        }
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1010
+        else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1011
+		return NO_EFFECTS;       
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1012
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1013
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1014
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1015
+enable_normal_effects (AppearanceData* app)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1016
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1017
+   return reset_plugins (app);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1018
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1019
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1020
+static gboolean
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1021
+enable_extra_effects (AppearanceData* app)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1022
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1023
+	GError	*err = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1024
+	GSList	*plugins = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1025
+	int	i;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1026
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1027
+	reset_plugins (app);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1028
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1029
+	for (i = 0; extra_effects[i] != NULL; i++)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1030
+		plugins = g_slist_append (plugins,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1031
+					  (gchar*) extra_effects[i]);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1032
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1033
+	err = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1034
+	gconf_client_set_list (app->client,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1035
+			       PLUGIN_LIST_KEY,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1036
+			       GCONF_VALUE_STRING,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1037
+			       plugins,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1038
+			       &err);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1039
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1040
+	return TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1041
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1042
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1043
+static void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1044
+on_effects_toggle (GtkWidget *widget,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1045
+		   gpointer  user_data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1046
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1047
+	AppearanceData	*appdata = user_data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1048
+	GtkWidget	*previously_selected_button;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1049
+	static gint	old_effects_level;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1050
+	static gboolean	do_init = TRUE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1051
+	gint		i;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1052
+	GError		*err = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1053
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1054
+	if (do_init == TRUE)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1055
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1056
+		old_effects_level = get_effects_level (appdata);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1057
+		do_init = FALSE;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1058
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1059
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1060
+	if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1061
+		return;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1062
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1063
+	previously_selected_button = appearance_capplet_get_widget(appdata,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1064
+							   effect_choices [old_effects_level]);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1065
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1066
+	/* Look for the button which has been selected */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1067
+	for (i = 0; i < G_N_ELEMENTS (effect_choices); i++) 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1068
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1069
+		if (widget == appearance_capplet_get_widget(appdata,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1070
+						   effect_choices [i]))
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1071
+			break;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1072
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1073
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1074
+	appdata->desktop_effects_level = i;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1075
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1076
+	if (appdata->desktop_effects_level >= 1)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1077
+	{		
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1078
+		if (!has_composite ())
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1079
+		{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1080
+			show_alert ("The Composite extension is not available");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1081
+			return;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1082
+		}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1083
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1084
+		if (old_effects_level == 0)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1085
+			start_compiz (appdata, &err);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1086
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1087
+		if (appdata->desktop_effects_level == NORMAL_EFFECTS)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1088
+		        enable_normal_effects (appdata);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1089
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1090
+		if (appdata->desktop_effects_level == EXTRA_EFFECTS)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1091
+		        enable_extra_effects (appdata);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1092
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1093
+	else 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1094
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1095
+		apply_settings (appdata, FALSE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1096
+		start_metacity (appdata, &err);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1097
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1098
+	
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1099
+	if (err)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1100
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1101
+		show_error (err);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1102
+		
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1103
+		g_signal_handlers_block_by_func (widget,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1104
+						 (gpointer)on_effects_toggle,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1105
+						 appdata);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1106
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (appearance_capplet_get_widget(appdata,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1107
+										       effect_choices [old_effects_level])),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1108
+										       TRUE);		
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1109
+		g_signal_handlers_unblock_by_func (widget,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1110
+						   (gpointer)on_effects_toggle,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1111
+						   appdata);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1112
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1113
+	else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1114
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1115
+		if (appdata->desktop_effects_level >= 1 &&
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1116
+		    old_effects_level == 0)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1117
+		{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1118
+			TimedDialogInfo *info = g_new0 (TimedDialogInfo, 1);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1119
+			
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1120
+			info->app = appdata;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1121
+			info->button = previously_selected_button;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1122
+			info->timer = g_timer_new ();
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1123
+			
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1124
+			set_busy (info->app->dialog, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1125
+			gtk_widget_set_sensitive (appdata->dialog, FALSE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1126
+			
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1127
+			g_timeout_add (250, show_dialog_timeout, info);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1128
+		}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1129
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1130
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1131
+	old_effects_level = i;  
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1132
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1133
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1134
+void
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1135
+effects_init (AppearanceData *data)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1136
+{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1137
+	GError	      *error = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1138
+	GtkWidget     *level_effects_button = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1139
+	GtkWidget     *hbox_custom_effects = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1140
+	WindowManager wm = METACITY;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1141
+	gint	      i;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1142
+	const char *str = get_current_window_manager ();
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1143
+	if (str && strcmp (str, "compiz") == 0)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1144
+		wm = COMPIZ;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1145
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1146
+	data->compiz_running = (wm == COMPIZ);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1147
+	data->compiz_was_running = (wm == COMPIZ);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1148
+	data->dialog = appearance_capplet_get_widget(data, "appearance_window");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1149
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1150
+	data->desktop_effects_level = get_effects_level (data);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1151
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1152
+	if (!has_composite () || !has_texture_from_pixmap () || !check_compiz ())
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1153
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1154
+	  GtkWidget *vbox = appearance_capplet_get_widget(data, "effects_vbox");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1155
+	  GList *children = gtk_container_get_children (GTK_CONTAINER (vbox));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1156
+	  GtkWidget *label = gtk_label_new (NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1157
+	  GtkWidget *hbox = gtk_hbox_new (FALSE, 0);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1158
+	  GtkWidget *image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1159
+	  /* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1160
+	  GString *message = g_string_new (_("<b>Visual effects cannot be enabled</b>\n\nDetails :\n"));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1161
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1162
+	  gtk_container_add (GTK_CONTAINER (vbox), hbox);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1163
+	  gtk_container_add (GTK_CONTAINER (hbox), image);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1164
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1165
+	  while (children)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1166
+	  {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1167
+	      GtkWidget *child = (GtkWidget*) children->data;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1168
+	      gtk_container_remove (GTK_CONTAINER (vbox), child);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1169
+	      children = children->next;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1170
+	  }
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1171
+	  if (!has_composite ())
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1172
+	    /* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1173
+	    g_string_append (message, _("\nComposite extension is not enabled"));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1174
+	  
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1175
+	  if (!has_texture_from_pixmap ())
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1176
+	  {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1177
+	    #ifndef HAVE_GL && HAVE_GL_GLX_H
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1178
+	    /* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1179
+	    g_string_append (message, _("\nThis application was compiled without the OpenGL extension"));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1180
+	    #else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1181
+	    /* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1182
+	    g_string_append (message, _("\nThe OpenGL extension TextureFromPixmap is not enabled"));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1183
+	    #endif
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1184
+	  }
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1185
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1186
+	  if (!check_compiz ())
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1187
+	    /* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1188
+	    g_string_append (message, _("\nCompiz is not installed on the system"));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1189
+	      
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1190
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1191
+	  gtk_label_set_markup (GTK_LABEL (label), message->str);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1192
+	  gtk_container_add (GTK_CONTAINER (hbox), label);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1193
+	  gtk_widget_show (label);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1194
+	  g_string_free (message, TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1195
+	  if (check_compiz_configure () && check_compiz ())
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1196
+	    {
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1197
+	      /* SUN_BRANDING */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1198
+	      GtkWidget* button = gtk_button_new_with_label (_("Check if visual effects can be enabled"));
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1199
+	      GtkWidget* align = gtk_alignment_new (0.5, 0.5, 0, 0);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1200
+	      g_signal_connect (button,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1201
+				  "clicked",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1202
+				  G_CALLBACK (run_compiz_configure),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1203
+				  NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1204
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1205
+	      gtk_container_add (GTK_CONTAINER (align), button);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1206
+	      gtk_container_add (GTK_CONTAINER (vbox), align);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1207
+	      gtk_box_set_child_packing (GTK_BOX (vbox),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1208
+					 button,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1209
+					 FALSE,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1210
+					 FALSE,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1211
+					 0,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1212
+					 GTK_PACK_END);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1213
+	      gtk_widget_show (button);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1214
+	    }
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1215
+	  return;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1216
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1217
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1218
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1219
+	for (i = 0; i < G_N_ELEMENTS (effect_choices); i++) 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1220
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1221
+		level_effects_button = appearance_capplet_get_widget(data,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1222
+							     effect_choices[i]);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1223
+		if (i == data->desktop_effects_level)
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1224
+			gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (level_effects_button),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1225
+						      TRUE);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1226
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1227
+		g_signal_connect (level_effects_button,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1228
+				  "toggled",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1229
+				  G_CALLBACK (on_effects_toggle),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1230
+				  data);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1231
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1232
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1233
+	hbox_custom_effects = appearance_capplet_get_widget(data,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1234
+						    "hbox_custom_effects");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1235
+	if (check_ccsm ())
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1236
+	{
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1237
+		GtkWidget *button = NULL;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1238
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1239
+		gtk_widget_show (hbox_custom_effects);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1240
+		button = appearance_capplet_get_widget(data,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1241
+					       "custom_effects_edit_button");
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1242
+		g_signal_connect (button,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1243
+				  "clicked",
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1244
+				  G_CALLBACK (run_ccsm),
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1245
+				  NULL);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1246
+	}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1247
+	else
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1248
+		gtk_widget_hide (hbox_custom_effects);
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1249
+}
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1250
+
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1251
diff -Nrup -x '*.orig' -x '*.rej' -x '*.*~' gnome-control-center-2.28.0/capplets/appearance/appearance-effects.h ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/appearance-effects.h
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1252
--- gnome-control-center-2.28.0/capplets/appearance/appearance-effects.h	1970-01-01 01:00:00.000000000 +0100
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1253
+++ ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/appearance-effects.h	2009-10-16 09:52:28.249534159 +0200
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1254
@@ -0,0 +1,21 @@
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1255
+/*
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1256
+ * Copyright (C) 2007 Canonical
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1257
+ * Written by Michael Vogt <[email protected]>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1258
+ * All Rights Reserved
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1259
+ *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1260
+ * This program is free software; you can redistribute it and/or modify
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1261
+ * it under the terms of the GNU General Public License as published by
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1262
+ * the Free Software Foundation; either version 2 of the License, or
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1263
+ * (at your option) any later version.
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1264
+ *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1265
+ * This program is distributed in the hope that it will be useful,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1266
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1267
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1268
+ * GNU General Public License for more details.
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1269
+ *
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1270
+ * You should have received a copy of the GNU General Public License along
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1271
+ * with this program; if not, write to the Free Software Foundation, Inc.,
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1272
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1273
+ */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1274
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1275
+void effects_init (AppearanceData *data);
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1276
diff -Nrup -x '*.orig' -x '*.rej' -x '*.*~' gnome-control-center-2.28.0/capplets/appearance/appearance.h ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/appearance.h
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1277
--- gnome-control-center-2.28.0/capplets/appearance/appearance.h	2009-09-07 13:19:06.000000000 +0200
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1278
+++ ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/appearance.h	2009-10-16 09:52:28.250095799 +0200
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1279
@@ -75,6 +75,12 @@ typedef struct
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1280
   gchar *revert_windowtitle_font;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1281
   gchar *revert_monospace_font;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1282
 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1283
+  /* effects */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1284
+  gboolean compiz_running;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1285
+  gboolean compiz_was_running;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1286
+  gint desktop_effects_level;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1287
+  GtkWidget *dialog;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1288
+
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1289
   /* style */
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1290
   GdkPixbuf *gtk_theme_icon;
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1291
   GdkPixbuf *window_theme_icon;
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1292
diff -Nrup -x '*.orig' -x '*.rej' -x '*.*~' gnome-control-center-2.28.0/capplets/appearance/data/Makefile.am ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/data/Makefile.am
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1293
--- gnome-control-center-2.28.0/capplets/appearance/data/Makefile.am	2009-09-07 13:19:06.000000000 +0200
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1294
+++ ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/data/Makefile.am	2009-10-16 09:52:28.250288191 +0200
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1295
@@ -15,7 +15,11 @@ dist_pixmap_DATA = \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1296
         mouse-cursor-normal.png \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1297
         mouse-cursor-normal-large.png \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1298
         mouse-cursor-white.png \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1299
-        mouse-cursor-white-large.png
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1300
+        mouse-cursor-white-large.png \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1301
+	visual-effects_custom.svg \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1302
+	visual-effects_extra.svg  \
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1303
+	visual-effects_none.svg	\
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1304
+	visual-effects_normal.svg
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1305
 
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1306
 cursorfontdir   = $(datadir)/gnome/cursor-fonts
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1307
 dist_cursorfont_DATA = \
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1308
diff -Nrup -x '*.orig' -x '*.rej' -x '*.*~' gnome-control-center-2.28.0/capplets/appearance/data/appearance.ui ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/data/appearance.ui
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1309
--- gnome-control-center-2.28.0/capplets/appearance/data/appearance.ui	2009-09-21 12:44:55.000000000 +0200
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1310
+++ ../SUNWgnome-desktop-prefs-2.28.0.fix/gnome-control-center-2.28.0/capplets/appearance/data/appearance.ui	2009-10-16 09:52:28.252549269 +0200
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1311
@@ -1913,6 +1913,272 @@
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1312
                 <property name="tab_fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1313
               </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1314
             </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1315
+            <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1316
+              <object class="GtkVBox" id="effects_vbox">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1317
+                <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1318
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1319
+                <property name="border_width">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1320
+                <property name="spacing">18</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1321
+                <property name="homogeneous">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1322
+                <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1323
+                  <object class="GtkRadioButton" id="no_effects_button">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1324
+                    <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1325
+                    <property name="can_focus">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1326
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1327
+                    <property name="active">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1328
+                    <property name="draw_indicator">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1329
+                    <accelerator key="n" modifiers="" signal="activate"/>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1330
+                    <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1331
+                      <object class="GtkHBox" id="hbox_no_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1332
+                        <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1333
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1334
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1335
+                          <object class="GtkImage" id="image_no_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1336
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1337
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1338
+                            <property name="xpad">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1339
+                            <property name="pixbuf">/usr/share/gnome-control-center/pixmaps/visual-effects_none.svg</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1340
+                            <property name="icon_size">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1341
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1342
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1343
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1344
+                          <object class="GtkLabel" id="label_desc_no_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1345
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1346
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1347
+                            <property name="xpad">6</property>
17166
d9ca42cc6edb 2009-12-11 Harry Fu <[email protected]>
funix
parents: 16787
diff changeset
  1348
+                            <property name="label" translatable="yes" comments="SUN_BRANDING">&lt;b&gt;_None:&lt;/b&gt; Provides a simple desktop environment without any effects.</property>
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1349
+                            <property name="use_markup">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1350
+                            <property name="use_underline">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1351
+                            <property name="wrap">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1352
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1353
+                          <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1354
+                            <property name="position">1</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1355
+                          </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1356
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1357
+                      </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1358
+                    </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1359
+                  </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1360
+                  <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1361
+                    <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1362
+                    <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1363
+                    <property name="padding">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1364
+                  </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1365
+                </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1366
+                <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1367
+                  <object class="GtkRadioButton" id="normal_effects_button">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1368
+                    <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1369
+                    <property name="can_focus">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1370
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1371
+                    <property name="active">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1372
+                    <property name="draw_indicator">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1373
+                    <property name="group">no_effects_button</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1374
+                    <accelerator key="o" modifiers="" signal="activate"/>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1375
+                    <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1376
+                      <object class="GtkHBox" id="hbox_normal_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1377
+                        <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1378
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1379
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1380
+                          <object class="GtkImage" id="image_normal_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1381
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1382
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1383
+                            <property name="xpad">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1384
+                            <property name="pixbuf">/usr/share/gnome-control-center/pixmaps/visual-effects_normal.svg</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1385
+                            <property name="icon_size">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1386
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1387
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1388
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1389
+                          <object class="GtkLabel" id="label_desc_normal_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1390
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1391
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1392
+                            <property name="xpad">6</property>
17166
d9ca42cc6edb 2009-12-11 Harry Fu <[email protected]>
funix
parents: 16787
diff changeset
  1393
+                            <property name="label" translatable="yes" comments="SUN_BRANDING">&lt;b&gt;N_ormal:&lt;/b&gt; Provides improved usability and good balance between attractiveness and moderate performance-requirements.</property>
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1394
+                            <property name="use_markup">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1395
+                            <property name="use_underline">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1396
+                            <property name="wrap">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1397
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1398
+                          <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1399
+                            <property name="position">1</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1400
+                          </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1401
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1402
+                      </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1403
+                    </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1404
+                  </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1405
+                  <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1406
+                    <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1407
+                    <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1408
+                    <property name="padding">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1409
+                    <property name="position">1</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1410
+                  </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1411
+                </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1412
+                <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1413
+                  <object class="GtkRadioButton" id="extra_effects_button">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1414
+                    <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1415
+                    <property name="can_focus">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1416
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1417
+                    <property name="active">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1418
+                    <property name="draw_indicator">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1419
+                    <property name="group">no_effects_button</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1420
+                    <accelerator key="x" modifiers="" signal="activate"/>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1421
+                    <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1422
+                      <object class="GtkHBox" id="hbox_extra_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1423
+                        <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1424
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1425
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1426
+                          <object class="GtkImage" id="image_extra_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1427
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1428
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1429
+                            <property name="xpad">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1430
+                            <property name="pixbuf">/usr/share/gnome-control-center/pixmaps/visual-effects_extra.svg</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1431
+                            <property name="icon_size">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1432
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1433
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1434
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1435
+                          <object class="GtkLabel" id="label_desc_extra_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1436
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1437
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1438
+                            <property name="xpad">6</property>
17166
d9ca42cc6edb 2009-12-11 Harry Fu <[email protected]>
funix
parents: 16787
diff changeset
  1439
+                            <property name="label" translatable="yes" comments="SUN_BRANDING">&lt;b&gt;E_xtra:&lt;/b&gt; Provides more aesthetically pleasing set of effects. Requires faster graphics-card.</property>
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1440
+                            <property name="use_markup">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1441
+                            <property name="use_underline">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1442
+                            <property name="wrap">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1443
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1444
+                          <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1445
+                            <property name="position">1</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1446
+                          </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1447
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1448
+                      </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1449
+                    </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1450
+                  </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1451
+                  <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1452
+                    <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1453
+                    <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1454
+                    <property name="padding">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1455
+                    <property name="position">2</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1456
+                  </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1457
+                </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1458
+                <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1459
+                  <object class="GtkHBox" id="hbox_custom_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1460
+                    <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1461
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1462
+                    <property name="no_show_all">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1463
+                    <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1464
+                      <object class="GtkRadioButton" id="custom_effects_button">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1465
+                        <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1466
+                        <property name="can_focus">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1467
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1468
+                        <property name="active">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1469
+                        <property name="draw_indicator">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1470
+                        <property name="group">no_effects_button</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1471
+                        <accelerator key="u" modifiers="" signal="activate"/>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1472
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1473
+                          <object class="GtkHBox" id="hbox_custom_effects_2">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1474
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1475
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1476
+                            <property name="spacing">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1477
+                            <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1478
+                              <object class="GtkImage" id="image_custom_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1479
+                                <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1480
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1481
+                                <property name="xpad">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1482
+                                <property name="pixbuf">/usr/share/gnome-control-center/pixmaps/visual-effects_custom.svg</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1483
+                                <property name="icon_size">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1484
+                              </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1485
+                              <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1486
+                                <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1487
+                                <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1488
+                              </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1489
+                            </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1490
+                            <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1491
+                              <object class="GtkLabel" id="label_desc_custom_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1492
+                                <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1493
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
17166
d9ca42cc6edb 2009-12-11 Harry Fu <[email protected]>
funix
parents: 16787
diff changeset
  1494
+                                <property name="label" translatable="yes" comments="SUN_BRANDING">&lt;b&gt;C_ustom:&lt;/b&gt; Uses custom set of effects.</property>
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1495
+                                <property name="use_markup">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1496
+                                <property name="use_underline">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1497
+                                <property name="wrap">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1498
+                              </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1499
+                              <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1500
+                                <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1501
+                                <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1502
+                                <property name="position">1</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1503
+                              </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1504
+                            </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1505
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1506
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1507
+                      </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1508
+                      <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1509
+                        <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1510
+                        <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1511
+                      </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1512
+                    </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1513
+                    <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1514
+                      <object class="GtkVBox" id="vbox_custom_effects">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1515
+                        <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1516
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1517
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1518
+                          <object class="GtkLabel" id="label_dummy_1">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1519
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1520
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1521
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1522
+                          <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1523
+                            <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1524
+                            <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1525
+                          </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1526
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1527
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1528
+                          <object class="GtkButton" id="custom_effects_edit_button">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1529
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1530
+                            <property name="can_focus">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1531
+                            <property name="receives_default">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1532
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1533
+                            <property name="label" translatable="yes">gtk-preferences</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1534
+                            <property name="use_stock">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1535
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1536
+                          <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1537
+                            <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1538
+                            <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1539
+                            <property name="position">1</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1540
+                          </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1541
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1542
+                        <child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1543
+                          <object class="GtkLabel" id="label_dummy_2">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1544
+                            <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1545
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1546
+                          </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1547
+                          <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1548
+                            <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1549
+                            <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1550
+                            <property name="position">2</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1551
+                          </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1552
+                        </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1553
+                      </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1554
+                      <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1555
+                        <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1556
+                        <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1557
+                        <property name="padding">6</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1558
+                        <property name="position">1</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1559
+                      </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1560
+                    </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1561
+                  </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1562
+                  <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1563
+                    <property name="expand">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1564
+                    <property name="fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1565
+                    <property name="position">3</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1566
+                  </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1567
+                </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1568
+              </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1569
+            </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1570
+            <child type="tab">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1571
+              <object class="GtkLabel" id="effects_label">
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1572
+                <property name="visible">True</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1573
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
17166
d9ca42cc6edb 2009-12-11 Harry Fu <[email protected]>
funix
parents: 16787
diff changeset
  1574
+                <property name="label" translatable="yes" comments="SUN_BRANDING">Visual Effects</property>
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1575
+              </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1576
+              <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1577
+                <property name="position">4</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1578
+                <property name="tab_fill">False</property>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1579
+              </packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1580
+            </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1581
           </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1582
           <packing>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1583
             <property name="position">1</property>
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1584
@@ -1964,6 +2230,11 @@
16725
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1585
       </object>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1586
     </child>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1587
     <action-widgets>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1588
+      <action-widget response="0">no_effects_button</action-widget>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1589
+      <action-widget response="0">normal_effects_button</action-widget>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1590
+      <action-widget response="0">extra_effects_button</action-widget>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1591
+      <action-widget response="0">custom_effects_button</action-widget>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1592
+      <action-widget response="0">custom_effects_edit_button</action-widget>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1593
       <action-widget response="-11">help_button</action-widget>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1594
       <action-widget response="-7">close_button</action-widget>
01a791498f0a 2009-10-12 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
  1595
     </action-widgets>
17569
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1596
diff -ruN gnome-control-center-2.29.6.orig/configure.ac gnome-control-center-2.29.6/configure.ac
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1597
--- gnome-control-center-2.29.6.orig/configure.ac	2010-02-02 20:43:08.328661566 +0000
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1598
+++ gnome-control-center-2.29.6/configure.ac	2010-02-02 20:43:37.866991531 +0000
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1599
@@ -174,6 +174,22 @@
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1600
 GNOMECC_LIBS="$GNOMECC_LIBS $x_libs"
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1601
 
17569
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1602
 dnl
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1603
+dnl Check for OpenGL support
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1604
+dnl
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1605
+have_gl=0
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1606
+have_libgl=0
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1607
+AC_CHECK_HEADERS(GL/glx.h)
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1608
+if test $ac_cv_header_GL_glx_h = yes ; then
17569
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1609
+       AC_CHECK_FUNC(glXQueryExtension,[have_gl=1],AC_CHECK_LIB(GL,glXQueryExtension,[have_gl=1;have_libgl=1]))
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1610
+fi
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1611
+if test $have_gl = 1 ; then
17569
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1612
+       AC_DEFINE(HAVE_GL,1,[Whether we have GL and glX.])
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1613
+fi
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1614
+if test $have_libgl = 1 ; then
17569
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1615
+       LIBS="-lGL $LIBS"
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1616
+fi
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1617
+
17569
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1618
+dnl
16787
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1619
 dnl Check for XCursor support.  If it exists, then we compile the
23e6133cb5d0 2009-10-16 Erwann Chenede - <[email protected]>
erwannc
parents: 16725
diff changeset
  1620
 dnl mouse capplet with support for it turned on
17569
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1621
 dnl
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1622
diff -ruN gnome-control-center-2.29.6.orig/capplets/appearance/appearance-main.c gnome-control-center-2.29.6/capplets/appearance/appearance-main.c
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1623
--- gnome-control-center-2.29.6.orig/capplets/appearance/appearance-main.c	2010-02-02 20:45:20.834726490 +0000
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1624
+++ gnome-control-center-2.29.6/capplets/appearance/appearance-main.c	2010-02-02 20:46:36.657848187 +0000
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1625
@@ -164,6 +164,7 @@
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1626
   desktop_init (data, (const gchar **) wallpaper_files);
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1627
   g_strfreev (wallpaper_files);
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1628
   font_init (data);
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1629
+  effects_init (data);
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1630
 
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1631
   /* prepare the main window */
c00759bc4834 0-02-23 Christian Kelly <[email protected]>
chrisk
parents: 17166
diff changeset
  1632
   w = appearance_capplet_get_widget (data, "appearance_window");