patches/metacity-04-trusted-extensions.diff
author Jon Tibble <meths@btinternet.com>
Sat, 06 Oct 2012 16:11:50 +0100
branchs11express-2010-11
changeset 22109 db10202d5f6d
parent 17507 ec8d2aa8fa24
permissions -rw-r--r--
Added tag oi_151a_prestable7 for changeset 25dee50cecca
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
     1
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/config.h.in metacity-2.27.1/config.h.in
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
     2
--- ../metacity-2.27.1/config.h.in	2009-09-14 09:05:19.285881365 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
     3
+++ metacity-2.27.1/config.h.in	2009-09-14 09:05:34.514577863 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
     4
@@ -81,12 +81,18 @@
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
     5
 /* Define to 1 if you have the <sys/stat.h> header file. */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
     6
 #undef HAVE_SYS_STAT_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
     7
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
     8
+/* Define to 1 if you have the <sys/tsol/label_macro.h> header file. */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
     9
+#undef HAVE_SYS_TSOL_LABEL_MACRO_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    10
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    11
 /* Define to 1 if you have the <sys/types.h> header file. */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    12
 #undef HAVE_SYS_TYPES_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    13
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    14
 /* Define to 1 if you have the <unistd.h> header file. */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    15
 #undef HAVE_UNISTD_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    16
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    17
+/* Define to 1 if you have the <X11/extensions/Xtsol.h> header file. */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    18
+#undef HAVE_X11_EXTENSIONS_XTSOL_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    19
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    20
 /* Define to 1 if you have the <X11/SM/SMlib.h> header file. */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    21
 #undef HAVE_X11_SM_SMLIB_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    22
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    23
@@ -109,6 +115,9 @@
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    24
    */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    25
 #undef LT_OBJDIR
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    26
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    27
+/* Building with XTSOL support */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    28
+#undef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    29
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    30
 /* Name of package */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    31
 #undef PACKAGE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    32
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    33
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/configure.in metacity-2.27.1/configure.in
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    34
--- ../metacity-2.27.1/configure.in	2009-09-14 09:05:19.285951596 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    35
+++ metacity-2.27.1/configure.in	2009-09-14 09:05:34.515020873 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    36
@@ -358,6 +358,20 @@ fi
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    37
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    38
 CPPFLAGS="$metacity_save_cppflags"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    39
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    40
+### tsol ans Xtsol libraries
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    41
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    42
+found_xtsol=no
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    43
+case "$host" in
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    44
+    *-*-solaris*)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    45
+        AC_CHECK_HEADERS(X11/extensions/Xtsol.h sys/tsol/label_macro.h,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    46
+			 AC_DEFINE(HAVE_XTSOL, ,[Building with XTSOL support]) found_xtsol=yes,)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    47
+        ;;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    48
+    *)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    49
+        ;;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    50
+esac
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    51
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    52
+AM_CONDITIONAL(XTSOL_DEFINED, test x$found_xtsol = xyes)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    53
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    54
 SHAPE_LIBS=
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    55
 found_shape=no
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    56
 AC_CHECK_LIB(Xext, XShapeQueryExtension,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    57
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/Makefile.am metacity-2.27.1/src/Makefile.am
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    58
--- ../metacity-2.27.1/src/Makefile.am	2009-09-14 09:05:19.280592011 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    59
+++ metacity-2.27.1/src/Makefile.am	2009-09-14 09:05:34.515423979 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    60
@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libmetacity-private.la
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    61
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    62
 SUBDIRS=wm-tester tools themes
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    63
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    64
-INCLUDES=-I$(srcdir)/include -DMETACITY_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMETACITY_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMETACITY_PKGDATADIR=\"$(pkgdatadir)\" -DMETACITY_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"metacity\" -DSN_API_NOT_YET_FROZEN=1 @METACITY_CFLAGS@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    65
+INCLUDES=-I$(srcdir)/include -DMETACITY_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMETACITY_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMETACITY_PKGDATADIR=\"$(pkgdatadir)\" -DMETACITY_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"metacity\" -DSN_API_NOT_YET_FROZEN=1 @METACITY_CFLAGS@ -DBUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    66
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    67
 metacity_SOURCES= 				\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    68
 	core/async-getprop.c			\
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    69
@@ -96,12 +96,15 @@ metacity_SOURCES= 				\
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    70
 	ui/theme.h				\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    71
 	ui/themewidget.c			\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    72
 	ui/themewidget.h			\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    73
+ 	core/trusted.c				\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    74
+ 	core/trusted.h				\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    75
+ 	core/trusted-pics.h			\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    76
 	ui/ui.c					\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    77
 	include/all-keybindings.h
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    78
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    79
 # by setting libmetacity_private_la_CFLAGS, the files shared with
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    80
 # metacity proper will be compiled with different names.
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    81
-libmetacity_private_la_CFLAGS =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    82
+libmetacity_private_la_CFLAGS = -UBUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    83
 libmetacity_private_la_SOURCES=			\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    84
 	core/boxes.c				\
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    85
 	include/boxes.h				\
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    86
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/atomnames.h metacity-2.27.1/src/core/atomnames.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    87
--- ../metacity-2.27.1/src/core/atomnames.h	2009-09-14 09:05:19.279817709 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    88
+++ metacity-2.27.1/src/core/atomnames.h	2009-09-14 09:05:34.515752412 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    89
@@ -156,6 +156,9 @@ item(_NET_WM_ACTION_ABOVE)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    90
 item(_NET_WM_ACTION_BELOW)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    91
 item(_NET_WM_STATE_STICKY)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    92
 item(_NET_WM_FULLSCREEN_MONITORS)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    93
+item(_NET_DESKTOP_ROLES)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    94
+item(_NET_TRUSTED_ACTIVE_WINDOW)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    95
+item(_NET_DESKTOP_LABELS)	
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    96
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    97
 #if 0
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
    98
 /* We apparently never use: */
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
    99
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/display-private.h metacity-2.27.1/src/core/display-private.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   100
--- ../metacity-2.27.1/src/core/display-private.h	2009-09-14 09:05:19.272567071 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   101
+++ metacity-2.27.1/src/core/display-private.h	2009-09-14 09:05:34.516179548 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   102
@@ -127,6 +127,9 @@ struct _MetaDisplay
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   103
   guint error_trap_synced_at_last_pop : 1;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   104
   MetaEventQueue *events;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   105
   GSList *screens;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   106
+  #ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   107
+   GSList *labels;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   108
+  #endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   109
   MetaScreen *active_screen;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   110
   GHashTable *window_ids;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   111
   int error_traps;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   112
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/display.c metacity-2.27.1/src/core/display.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   113
--- ../metacity-2.27.1/src/core/display.c	2009-09-14 09:05:19.272868861 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   114
+++ metacity-2.27.1/src/core/display.c	2009-09-14 09:05:34.518366641 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   115
@@ -77,6 +77,9 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   116
 #include <X11/extensions/Xfixes.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   117
 #endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   118
 #include <string.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   119
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   120
+#include "trusted.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   121
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   122
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   123
 #define GRAB_OP_IS_WINDOW_SWITCH(g)                     \
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   124
         (g == META_GRAB_OP_KEYBOARD_TABBING_NORMAL  ||  \
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   125
@@ -415,6 +418,10 @@ meta_display_open (void)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   126
   the_display->screens = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   127
   the_display->active_screen = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   128
   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   129
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   130
+  the_display->labels = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   131
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   132
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   133
 #ifdef HAVE_STARTUP_NOTIFICATION
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   134
   the_display->sn_display = sn_display_new (the_display->xdisplay,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   135
                                         sn_error_trap_push,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   136
@@ -1789,7 +1796,10 @@ event_callback (XEvent   *event,
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   137
         meta_window_handle_mouse_grab_op_event (window, event);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   138
       break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   139
     case EnterNotify:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   140
-      if (display->grab_window == window &&
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   141
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   142
+        tsol_trusted_stripe_atom_update (display, window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   143
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   144
+	if (display->grab_window == window &&
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   145
           grab_op_is_mouse (display->grab_op))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   146
         {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   147
           meta_window_handle_mouse_grab_op_event (window, event);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   148
@@ -1881,6 +1891,9 @@ event_callback (XEvent   *event,
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   149
         }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   150
       break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   151
     case LeaveNotify:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   152
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   153
+      tsol_trusted_stripe_atom_update (display, window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   154
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   155
       if (display->grab_window == window &&
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   156
           grab_op_is_mouse (display->grab_op))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   157
         meta_window_handle_mouse_grab_op_event (window, event);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   158
@@ -2171,6 +2184,14 @@ event_callback (XEvent   *event,
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   159
             else if (event->xproperty.atom ==
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   160
                      display->atom__NET_DESKTOP_NAMES)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   161
               meta_screen_update_workspace_names (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   162
+ #ifdef HAVE_XTSOL	    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   163
+             else if (event->xproperty.atom ==
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   164
+                      display->atom__NET_DESKTOP_LABELS)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   165
+               tsol_workspace_labels_gconf_update (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   166
+             else if (event->xproperty.atom ==
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   167
+                      display->atom__NET_DESKTOP_ROLES)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   168
+               tsol_workspace_roles_gconf_update (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   169
+ #endif /*HAVE_XTSOL */	  	    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   170
 #if 0
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   171
             else if (event->xproperty.atom ==
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   172
                      display->atom__NET_RESTACK_WINDOW)
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   173
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/frame-private.h metacity-2.27.1/src/core/frame-private.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   174
--- ../metacity-2.27.1/src/core/frame-private.h	2009-09-14 09:05:19.277749894 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   175
+++ metacity-2.27.1/src/core/frame-private.h	2009-09-14 09:05:34.518695591 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   176
@@ -27,16 +27,15 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   177
 #include "frame.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   178
 #include "window-private.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   179
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   180
-typedef struct _MetaFrameGeometry MetaFrameGeometry;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   181
+/*typedef struct _MetaFrameGeometry MetaFrameGeometry;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   182
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   183
 struct _MetaFrameGeometry
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   184
 {  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   185
-  /* border sizes (space between frame and child) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   186
   int left_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   187
   int right_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   188
   int top_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   189
   int bottom_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   190
-};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   191
+};*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   192
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   193
 struct _MetaFrame
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   194
 {
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   195
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/frame.c metacity-2.27.1/src/core/frame.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   196
--- ../metacity-2.27.1/src/core/frame.c	2009-09-14 09:05:19.273375745 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   197
+++ metacity-2.27.1/src/core/frame.c	2009-09-14 09:05:34.519144734 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   198
@@ -28,6 +28,9 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   199
 #include "bell.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   200
 #include "errors.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   201
 #include "keybindings.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   202
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   203
+#include "trusted.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   204
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   205
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   206
 #ifdef HAVE_RENDER
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   207
 #include <X11/extensions/Xrender.h>
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   208
@@ -157,6 +160,17 @@ meta_window_ensure_frame (MetaWindow *wi
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   209
                              window->frame->xwindow,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   210
                              window->title);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   211
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   212
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   213
+  /* associate trusted label with the window only if a frame exist */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   214
+  meta_ui_set_frame_label (window->screen->ui,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   215
+			   window->frame->xwindow,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   216
+			   tsol_meta_window_label_get (window));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   217
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   218
+  /* make sure the frame window as the same privileges
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   219
+   * "real" window */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   220
+  tsol_set_frame_label (window->display->xdisplay, window->xwindow, window->frame->xwindow);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   221
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   222
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   223
   /* Move keybindings to frame instead of window */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   224
   meta_window_grab_keys (window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   225
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   226
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/keybindings.c metacity-2.27.1/src/core/keybindings.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   227
--- ../metacity-2.27.1/src/core/keybindings.c	2009-09-14 09:05:19.272284155 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   228
+++ metacity-2.27.1/src/core/keybindings.c	2009-09-14 09:05:34.520363796 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   229
@@ -47,6 +47,10 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   230
 #include <X11/XKBlib.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   231
 #endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   232
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   233
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   234
+#include "trusted.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   235
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   236
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   237
 static gboolean all_bindings_disabled = FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   238
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   239
 typedef void (* MetaKeyHandlerFunc) (MetaDisplay    *display,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   240
@@ -2345,6 +2349,42 @@ meta_spawn_command_line_async_on_screen 
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   241
                            error))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   242
     return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   243
   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   244
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   245
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   246
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   247
+      GdkDisplay *dpy;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   248
+      Display *xdpy;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   249
+      Window root;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   250
+      Atom atom, utf8_string;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   251
+      gchar* tsol_command =  g_strdup_printf ("%d:%s", 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   252
+					      screen->number,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   253
+					      command_line);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   254
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   255
+      dpy = gdk_display_get_default ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   256
+      xdpy = GDK_DISPLAY_XDISPLAY (dpy);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   257
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   258
+      utf8_string = XInternAtom (xdpy, "UTF8_STRING", FALSE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   259
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   260
+      root = DefaultRootWindow (xdpy);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   261
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   262
+      atom = XInternAtom (xdpy, "_LABEL_EXEC_COMMAND", FALSE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   263
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   264
+      gdk_error_trap_push ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   265
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   266
+      XChangeProperty (xdpy, root, atom, utf8_string, 8, PropModeReplace,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   267
+		       tsol_command, strlen (tsol_command));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   268
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   269
+      XSync (xdpy, False);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   270
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   271
+      gdk_error_trap_pop ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   272
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   273
+      g_free (tsol_command);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   274
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   275
+      retval = TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   276
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   277
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   278
+#endif /* HAVE_XTSOL */	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   279
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   280
   retval = g_spawn_async (NULL,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   281
                           argv,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   282
                           NULL,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   283
@@ -2354,11 +2394,10 @@ meta_spawn_command_line_async_on_screen 
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   284
                           NULL,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   285
                           error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   286
   g_strfreev (argv);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   287
-
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   288
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   289
   return retval;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   290
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   291
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   292
-
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   293
 static void
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   294
 handle_run_command (MetaDisplay    *display,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   295
                     MetaScreen     *screen,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   296
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/prefs.c metacity-2.27.1/src/core/prefs.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   297
--- ../metacity-2.27.1/src/core/prefs.c	2009-09-14 09:05:19.277296857 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   298
+++ metacity-2.27.1/src/core/prefs.c	2009-09-14 09:05:34.523152341 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   299
@@ -32,6 +32,9 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   300
 #endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   301
 #include <string.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   302
 #include <stdlib.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   303
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   304
+#include "trusted.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   305
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   306
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   307
 #define MAX_REASONABLE_WORKSPACES 36
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   308
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   309
@@ -106,6 +114,14 @@ static char *commands[MAX_COMMANDS] = { 
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   310
 static char *terminal_command = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   311
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   312
 static char *workspace_names[MAX_REASONABLE_WORKSPACES] = { NULL, };
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   313
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   314
+/* these are only used for session managements
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   315
+ * workspace_labels are NOT used in metacity as the window label 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   316
+ * is queried directly from the window
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   317
+ * ditto for the workspace_roles*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   318
+static char *workspace_labels[MAX_REASONABLE_WORKSPACES] = { NULL, };
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   319
+static char *workspace_roles[MAX_REASONABLE_WORKSPACES] = { NULL, };
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   320
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   321
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   322
 #ifdef HAVE_GCONF
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   323
 static gboolean handle_preference_update_enum (const gchar *key, GConfValue *value);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   324
@@ -128,6 +144,16 @@ static void change_notify (GConfClient  
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   325
                            gpointer        user_data);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   326
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   327
 static char* gconf_key_for_workspace_name (int i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   328
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   329
+static void init_labels_roles_workspaces (void);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   330
+static gboolean
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   331
+update_workspace_property (char **property,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   332
+ 			   char *error_property_name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   333
+ 			   const char  *name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   334
+ 			   const char  *value);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   335
+static char* gconf_key_for_workspace_label (int i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   336
+static char* gconf_key_for_workspace_role (int i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   337
+#endif /*HAVE_XTSOL*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   338
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   339
 static void queue_changed (MetaPreference  pref);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   340
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   341
@@ -837,6 +863,40 @@ handle_preference_update_int (const gcha
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   342
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   343
   if (*cursor->target != new_value)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   344
     {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   345
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   346
+      if (cursor->pref == META_PREF_NUM_WORKSPACES && tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   347
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   348
+	  if (*cursor->target > new_value) /* remove a workspace blank label and role */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   349
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   350
+	      GError *err = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   351
+	      char *key = gconf_key_for_workspace_label (new_value);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   352
+	      gconf_client_unset (default_client,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   353
+				  key, &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   354
+	      update_workspace_property (workspace_labels,"Workspace Label",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   355
+					 key, NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   356
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   357
+	      g_free (key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   358
+	      err = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   359
+	      key = gconf_key_for_workspace_role (new_value);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   360
+	      gconf_client_unset (default_client,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   361
+				  key, &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   362
+	      update_workspace_property (workspace_roles ,"Workspace roles",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   363
+					 key, NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   364
+	      g_free (key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   365
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   366
+	  else if (new_value > *cursor->target)	   /* add a workspace add default label, blank role */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   367
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   368
+	      GError *err = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   369
+	      char *key = gconf_key_for_workspace_role (new_value-1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   370
+	      gconf_client_unset (default_client,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   371
+				  key, &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   372
+	      update_workspace_property (workspace_roles ,"Workspace roles",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   373
+					 key, NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   374
+	      g_free (key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   375
+	      meta_prefs_change_workspace_label (new_value, tsol_label_get_min ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   376
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   377
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   378
+#endif /* HAVE_XTSOL */  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   379
       *cursor->target = new_value;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   380
       queue_changed (cursor->pref);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   381
     }
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   382
@@ -1008,6 +1068,11 @@ meta_prefs_init (void)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   383
   /* returns a reference which we hold forever */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   384
   default_client = gconf_client_get_default ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   385
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   386
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   387
+  /* tsol labels and roles */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   388
+  init_labels_roles_workspaces ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   389
+#endif /* HAVE_XTSOL */  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   390
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   391
   for (gconf_dir_cursor=gconf_dirs_we_are_interested_in;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   392
        *gconf_dir_cursor!=NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   393
        gconf_dir_cursor++)
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   394
@@ -1063,6 +1128,7 @@ meta_prefs_init (void)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   395
 /* Updates.                                                                 */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   396
 /****************************************************************************/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   397
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   398
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   399
 #ifdef HAVE_GCONF
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   400
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   401
 gboolean (*preference_update_handler[]) (const gchar*, GConfValue*) = {
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   402
@@ -1169,6 +1235,98 @@ change_notify (GConfClient    *client,
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   403
       if (update_workspace_name (key, str))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   404
         queue_changed (META_PREF_WORKSPACE_NAMES);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   405
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   406
+ #ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   407
+   else if (g_str_has_prefix (key, KEY_WORKSPACE_LABEL_PREFIX))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   408
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   409
+      const char *str;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   410
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   411
+      if (!tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   412
+        goto out;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   413
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   414
+      if (value && value->type != GCONF_VALUE_STRING)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   415
+        {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   416
+          meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   417
+                        key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   418
+          goto out;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   419
+        }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   420
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   421
+      str = value ? gconf_value_get_string (value) : NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   422
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   423
+      /* Check if the label is in range if not set it to USER_MIN_SL or role MIN label 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   424
+       * NOTE : if USER_MIN_SL is not properly set you can have an infinite loop here */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   425
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   426
+      if (str && !tsol_label_is_in_user_range (str))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   427
+        {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   428
+ 	 char *p; /* code from update_workspace_property */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   429
+ 	 int i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   430
+ 	 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   431
+ 	 p = strrchr (key, '_');
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   432
+ 	 if (p != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   433
+ 	   {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   434
+ 	     ++p;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   435
+ 	     if (g_ascii_isdigit (*p))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   436
+ 	       {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   437
+ 		 i = atoi (p);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   438
+ 		 i -= 1; /* count from 0 not 1 */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   439
+ 		 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   440
+ 		 if (i >= MAX_REASONABLE_WORKSPACES)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   441
+ 		   {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   442
+ 		     meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   443
+ 				 "%s key %d is too highly numbered, ignoring\n", 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   444
+ 				 "trusted workspace label", i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   445
+ 		   }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   446
+ 		 else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   447
+ 		   {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   448
+ 		     char *name, *role_key;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   449
+ 		     GError *err = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   450
+ 		     role_key = gconf_key_for_workspace_role (i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   451
+ 		     name = gconf_client_get_string (default_client, role_key, &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   452
+ 		     cleanup_error (&err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   453
+ 		     g_free (role_key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   454
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   455
+ 		     if (name)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   456
+ 		       {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   457
+ 			 char *min_role_label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   458
+ 			 if (!tsol_label_is_in_role_range (str, name, min_role_label))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   459
+ 			   {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   460
+ 			     if (min_role_label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   461
+ 			       meta_prefs_change_workspace_label (i, min_role_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   462
+ 			     else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   463
+ 			       meta_prefs_change_workspace_label (i, tsol_label_get_min ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   464
+ 			   }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   465
+ 			 g_free (name);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   466
+ 		       }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   467
+ 		     else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   468
+ 		       meta_prefs_change_workspace_label (i, tsol_label_get_min ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   469
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   470
+ 		   }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   471
+ 	       }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   472
+ 	   }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   473
+        }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   474
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   475
+      if (update_workspace_property (workspace_labels,"Workspace Label", key, str))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   476
+        queue_changed (META_PREF_WORKSPACE_LABELS);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   477
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   478
+   else if (g_str_has_prefix (key, KEY_WORKSPACE_ROLE_PREFIX))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   479
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   480
+      const char *str;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   481
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   482
+      if (!tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   483
+        goto out;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   484
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   485
+      if (value && value->type != GCONF_VALUE_STRING)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   486
+        {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   487
+          meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   488
+                        key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   489
+          goto out;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   490
+        }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   491
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   492
+      str = value ? gconf_value_get_string (value) : NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   493
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   494
+      if (update_workspace_property (workspace_roles ,"Workspace roles", key, str))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   495
+        queue_changed (META_PREF_WORKSPACE_ROLES);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   496
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   497
+ #endif /*HAVE_XTSOL*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   498
   else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   499
     {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   500
       meta_topic (META_DEBUG_PREFS, "Key %s doesn't mean anything to Metacity\n",
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   501
@@ -1750,6 +1908,15 @@ meta_preference_to_string (MetaPreferenc
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   502
     case META_PREF_COMPOSITING_MANAGER:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   503
       return "COMPOSITING_MANAGER";
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   504
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   505
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   506
+    case META_PREF_WORKSPACE_LABELS:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   507
+      return "WORKSPACE_LABELS";
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   508
+      break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   509
+    case META_PREF_WORKSPACE_ROLES:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   510
+      return "WORKSPACE_ROLES";
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   511
+      break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   512
+#endif /*HAVE_XTSOL*/     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   513
+    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   514
     case META_PREF_RESIZE_WITH_RIGHT_BUTTON:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   515
       return "RESIZE_WITH_RIGHT_BUTTON";
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   516
 
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   517
@@ -1941,6 +2108,53 @@ init_commands (void)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   518
 #endif /* HAVE_GCONF */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   519
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   520
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   521
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   522
+static void init_labels_roles_workspaces (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   523
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   524
+  #ifdef HAVE_GCONF
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   525
+  int i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   526
+  GError *err;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   527
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   528
+  if (!tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   529
+    return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   530
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   531
+  i = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   532
+  while (i < MAX_REASONABLE_WORKSPACES)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   533
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   534
+      char *str_val;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   535
+      char *label_key, *role_key;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   536
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   537
+      label_key = gconf_key_for_workspace_label (i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   538
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   539
+      err = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   540
+      str_val = gconf_client_get_string (default_client, label_key, &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   541
+      cleanup_error (&err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   542
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   543
+      update_workspace_property (workspace_labels,"Workspace Label",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   544
+				 label_key, str_val);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   545
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   546
+      g_free (str_val);    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   547
+      g_free (label_key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   548
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   549
+      role_key = gconf_key_for_workspace_role (i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   550
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   551
+      err = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   552
+      str_val = gconf_client_get_string (default_client, role_key, &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   553
+      cleanup_error (&err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   554
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   555
+      update_workspace_property (workspace_roles ,"Workspace roles",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   556
+				 role_key, str_val);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   557
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   558
+      g_free (str_val);    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   559
+      g_free (role_key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   560
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   561
+      ++i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   562
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   563
+#endif /* HAVE_GCONF */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   564
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   565
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   566
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   567
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   568
 static void
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   569
 init_workspace_names (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   570
 {
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   571
@@ -2418,6 +2632,72 @@ meta_prefs_get_gconf_key_for_terminal_co
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   572
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   573
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   574
 #ifdef HAVE_GCONF
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   575
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   576
+static gboolean
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   577
+update_workspace_property (char **property,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   578
+			   char *error_property_name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   579
+			   const char  *name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   580
+			   const char  *value)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   581
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   582
+  char *p;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   583
+  int i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   584
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   585
+  if (!tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   586
+    return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   587
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   588
+  p = strrchr (name, '_');
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   589
+  if (p == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   590
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   591
+      meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   592
+                  "%s name %s has no underscore?\n", error_property_name, name);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   593
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   594
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   595
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   596
+  ++p;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   597
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   598
+  if (!g_ascii_isdigit (*p))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   599
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   600
+      meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   601
+                  "%s name %s doesn't end in number?\n", 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   602
+		  error_property_name, name);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   603
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   604
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   605
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   606
+  i = atoi (p);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   607
+  i -= 1; /* count from 0 not 1 */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   608
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   609
+  if (i >= MAX_REASONABLE_WORKSPACES)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   610
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   611
+      meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   612
+                  "%s name %d is too highly numbered, ignoring\n", 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   613
+		  error_property_name, i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   614
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   615
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   616
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   617
+  if (property[i] && value && strcmp (property[i], value) == 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   618
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   619
+      meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   620
+                  "%s name %d is unchanged\n", error_property_name, i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   621
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   622
+    }  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   623
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   624
+  if (value != NULL && *value != '\0')
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   625
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   626
+      g_free (property[i]);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   627
+      property[i] = g_strdup (value);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   628
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   629
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   630
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   631
+      g_free (property[i]);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   632
+      property[i] = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   633
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   634
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   635
+  return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   636
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   637
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   638
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   639
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   640
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   641
 static gboolean
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   642
 update_workspace_name (const char  *name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   643
                        const char  *value)
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   644
@@ -2495,6 +2775,152 @@ update_workspace_name (const char  *name
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   645
   return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   646
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   647
 #endif /* HAVE_GCONF */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   648
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   649
+const char* meta_prefs_get_workspace_label    (int         i)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   650
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   651
+  g_return_val_if_fail (i >= 0 && i < MAX_REASONABLE_WORKSPACES, NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   652
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   653
+  if (!tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   654
+    return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   655
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   656
+  return workspace_labels [i];
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   657
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   658
+void        
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   659
+meta_prefs_change_workspace_label (int         i,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   660
+				   const char *name)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   661
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   662
+#ifdef HAVE_GCONF
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   663
+  char *key;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   664
+  GError *err;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   665
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   666
+  g_return_if_fail (i >= 0 && i < MAX_REASONABLE_WORKSPACES);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   667
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   668
+  if (!tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   669
+    return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   670
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   671
+  meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   672
+              "Changing name of workspace_labels %d to %s\n",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   673
+              i, name ? name : "none");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   674
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   675
+  /* This is a bad hack. We have to treat empty string as
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   676
+   * "unset" because the root window property can't contain
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   677
+   * null. So it gets empty string instead and we don't want
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   678
+   * that to result in setting the empty string as a value that
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   679
+   * overrides "unset".
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   680
+   */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   681
+  if (name && *name == '\0')
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   682
+    name = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   683
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   684
+  if ((name == NULL && workspace_labels [i] == NULL) ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   685
+      (name && workspace_labels[i] && strcmp (name, workspace_labels[i]) == 0))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   686
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   687
+      meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   688
+                  "Workspace label %d already has name %s\n",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   689
+                  i, name ? name : "none");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   690
+      return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   691
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   692
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   693
+  key = gconf_key_for_workspace_label (i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   694
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   695
+  err = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   696
+  if (name != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   697
+    gconf_client_set_string (default_client,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   698
+                             key, name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   699
+                             &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   700
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   701
+    gconf_client_unset (default_client,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   702
+                        key, &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   703
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   704
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   705
+  if (err)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   706
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   707
+      meta_warning (_("Error setting name for workspace label %d to \"%s\": %s\n"),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   708
+                    i, name ? name : "none",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   709
+                    err->message);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   710
+      g_error_free (err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   711
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   712
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   713
+  update_workspace_property (workspace_labels,"Workspace Label",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   714
+			     key, name);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   715
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   716
+  g_free (key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   717
+#endif /* HAVE_GCONF */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   718
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   719
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   720
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   721
+const char* meta_prefs_get_workspace_role    (int         i)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   722
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   723
+  g_return_val_if_fail (i >= 0 && i < MAX_REASONABLE_WORKSPACES, NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   724
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   725
+  if (!tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   726
+    return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   727
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   728
+  return workspace_roles [i];
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   729
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   730
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   731
+void        meta_prefs_change_workspace_role (int         i,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   732
+                                              const char *name)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   733
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   734
+#ifdef HAVE_GCONF
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   735
+  char *key;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   736
+  GError *err;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   737
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   738
+  g_return_if_fail (i >= 0 && i < MAX_REASONABLE_WORKSPACES);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   739
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   740
+  if (!tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   741
+    return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   742
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   743
+  meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   744
+              "Changing name of workspace_roles %d to %s\n",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   745
+              i, name ? name : "none");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   746
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   747
+  /* This is a bad hack. We have to treat empty string as
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   748
+   * "unset" because the root window property can't contain
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   749
+   * null. So it gets empty string instead and we don't want
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   750
+   * that to result in setting the empty string as a value that
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   751
+   * overrides "unset".
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   752
+   */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   753
+  if (name && *name == '\0')
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   754
+    name = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   755
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   756
+  if ((name == NULL && workspace_roles [i] == NULL) ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   757
+      (name && workspace_roles [i] && strcmp (name, workspace_roles [i]) == 0))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   758
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   759
+      meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   760
+                  "Workspace role %d already has name %s\n",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   761
+                  i, name ? name : "none");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   762
+      return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   763
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   764
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   765
+  key = gconf_key_for_workspace_role (i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   766
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   767
+  err = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   768
+  if (name != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   769
+    gconf_client_set_string (default_client,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   770
+                             key, name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   771
+                             &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   772
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   773
+    gconf_client_unset (default_client,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   774
+                        key, &err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   775
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   776
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   777
+  if (err)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   778
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   779
+      meta_warning (_("Error setting name for workspace role %d to \"%s\": %s\n"),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   780
+                    i, name ? name : "none",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   781
+                    err->message);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   782
+      g_error_free (err);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   783
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   784
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   785
+  g_free (key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   786
+#endif /* HAVE_GCONF */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   787
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   788
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   789
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   790
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   791
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   792
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   793
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   794
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   795
 const char*
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   796
 meta_prefs_get_workspace_name (int i)
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   797
@@ -2570,6 +2996,29 @@ meta_prefs_change_workspace_name (int   
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   798
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   799
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   800
 #ifdef HAVE_GCONF
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   801
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   802
+static char*
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   803
+gconf_key_for_workspace_label (int i)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   804
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   805
+  char *key;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   806
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   807
+  key = g_strdup_printf (KEY_WORKSPACE_LABEL_PREFIX"%d", i + 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   808
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   809
+  return key;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   810
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   811
+static char*
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   812
+gconf_key_for_workspace_role (int i)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   813
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   814
+  char *key;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   815
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   816
+  key = g_strdup_printf (KEY_WORKSPACE_ROLE_PREFIX"%d", i + 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   817
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   818
+  return key;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   819
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   820
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   821
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   822
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   823
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   824
 static char*
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   825
 gconf_key_for_workspace_name (int i)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   826
 {
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   827
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/screen.c metacity-2.27.1/src/core/screen.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   828
--- ../metacity-2.27.1/src/core/screen.c	2009-09-14 09:05:19.271783576 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   829
+++ metacity-2.27.1/src/core/screen.c	2009-09-14 09:05:34.524363525 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   830
@@ -38,6 +38,7 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   831
 #include "stack.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   832
 #include "xprops.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   833
 #include "compositor.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   834
+#include <gtk/gtk.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   835
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   836
 #ifdef HAVE_SOLARIS_XINERAMA
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   837
 #include <X11/extensions/xinerama.h>
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   838
@@ -573,6 +574,16 @@ meta_screen_new (MetaDisplay *display,
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   839
   update_num_workspaces (screen, timestamp);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   840
   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   841
   set_workspace_names (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   842
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   843
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   844
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   845
+      tsol_workspace_labels_atom_set (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   846
+      tsol_workspace_roles_atom_set (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   847
+      /* create a synch atom to indicate we are done setting up the 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   848
+         ws lables/roles */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   849
+      XInternAtom (screen->display->xdisplay, "TX_WS_SETUP_DONE", FALSE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   850
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   851
+#endif /*HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   852
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   853
   screen->all_keys_grabbed = FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   854
   screen->keys_grabbed = FALSE;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   855
@@ -863,6 +874,16 @@ prefs_changed_callback (MetaPreference p
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   856
     {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   857
       set_workspace_names (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   858
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   859
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   860
+  else if (pref == META_PREF_WORKSPACE_LABELS)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   861
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   862
+      tsol_workspace_labels_atom_set (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   863
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   864
+  else if (pref == META_PREF_WORKSPACE_ROLES)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   865
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   866
+      tsol_workspace_roles_atom_set (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   867
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   868
+#endif /*HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   869
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   870
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   871
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   872
@@ -1158,6 +1179,13 @@ update_num_workspaces (MetaScreen *scree
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   873
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   874
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   875
   set_number_of_spaces_hint (screen, new_num);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   876
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   877
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   878
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   879
+      tsol_workspace_labels_atom_set (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   880
+      tsol_workspace_roles_atom_set (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   881
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   882
+#endif /* HAVE_XTSOL */  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   883
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   884
   meta_screen_queue_workarea_recalc (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   885
 }
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   886
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/trusted-pics.h metacity-2.27.1/src/core/trusted-pics.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   887
--- ../metacity-2.27.1/src/core/trusted-pics.h	1970-01-01 01:00:00.000000000 +0100
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
   888
+++ metacity-2.27.1/src/core/trusted-pics.h	2009-09-14 09:05:34.525107132 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   889
@@ -0,0 +1,728 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   890
+/* Metacity trusted image */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   891
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   892
+/* 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   893
+ * Copyright (C) 2005 Erwann Chenede
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   894
+ */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   895
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   896
+#ifndef TRUSTED_PICS_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   897
+#define TRUSTED_PICS_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   898
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   899
+#include <gtk/gtk.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   900
+/* GdkPixbuf RGBA C-Source image dump */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   901
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   902
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   903
+#pragma align 4 (label_arrows)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   904
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   905
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   906
+static const guint8 label_arrows[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   907
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   908
+static const guint8 label_arrows[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   909
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   910
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   911
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   912
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   913
+  /* length: header (24) + pixel_data (400) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   914
+  "\0\0\1\250"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   915
+  /* pixdata_type (0x1010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   916
+  "\1\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   917
+  /* rowstride (80) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   918
+  "\0\0\0P"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   919
+  /* width (20) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   920
+  "\0\0\0\24"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   921
+  /* height (5) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   922
+  "\0\0\0\5"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   923
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   924
+  "\2\2\2t\362\362\362^\0\0\0\0\0\0\0\0\0\0\0\0\2\2\2t\362\362\362^\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   925
+  "\0\0\0\0\0\0\0\0\0\0\2\2\2t\362\362\362^\0\0\0\0\0\0\0\0\0\0\0\0\2\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   926
+  "\2t\362\362\362^\0\0\0\0\0\0\0\0\0\0\0\0\362\362\362\0\2\2\2t\362\362"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   927
+  "\362^\0\0\0\0\2\2\2\0\362\362\362\0\2\2\2t\362\362\362^\0\0\0\0\2\2\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   928
+  "\0\362\362\362\0\2\2\2t\362\362\362^\0\0\0\0\2\2\2\0\362\362\362\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   929
+  "\2\2t\362\362\362^\0\0\0\0\2\2\2\0\0\0\0\0\0\0\0\0\2\2\2t\362\362\362"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   930
+  "^\362\362\362\0\0\0\0\0\0\0\0\0\2\2\2t\362\362\362^\362\362\362\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   931
+  "\0\0\0\0\0\0\2\2\2t\362\362\362^\362\362\362\0\0\0\0\0\0\0\0\0\2\2\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   932
+  "t\362\362\362^\362\362\362\0\0\0\0\0\2\2\2t\362\362\362^\362\362\362"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   933
+  "\0\0\0\0\0\0\0\0\0\2\2\2t\362\362\362^\362\362\362\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   934
+  "\2\2\2t\362\362\362^\362\362\362\0\0\0\0\0\0\0\0\0\2\2\2t\362\362\362"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   935
+  "^\362\362\362\0\0\0\0\0\2\2\2t\362\362\362^\362\362\362\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   936
+  "\0\0\2\2\2t\362\362\362^\362\362\362\0\0\0\0\0\0\0\0\0\2\2\2t\362\362"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   937
+  "\362^\362\362\362\0\0\0\0\0\0\0\0\0\2\2\2t\362\362\362^\362\362\362\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   938
+  "\0\0\0\0\0\0\0\0"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   939
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   940
+/*GdkPixbuf RGBA C-Source image dump */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   941
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   942
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   943
+#pragma align 4 (title_gradient)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   944
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   945
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   946
+static const guint8 title_gradient[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   947
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   948
+static const guint8 title_gradient[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   949
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   950
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   951
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   952
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   953
+  /* length: header (24) + pixel_data (360) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   954
+  "\0\0\1\200"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   955
+  /* pixdata_type (0x1010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   956
+  "\1\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   957
+  /* rowstride (40) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   958
+  "\0\0\0("
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   959
+  /* width (10) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   960
+  "\0\0\0\12"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   961
+  /* height (9) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   962
+  "\0\0\0\11"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   963
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   964
+  "\337\337\337\11\337\337\337\11\337\337\337\11\337\337\337\11\337\337"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   965
+  "\337\11\337\337\337\11\337\337\337\11\337\337\337\11\337\337\337\11\337"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   966
+  "\337\337\11\364\364\364\32\364\364\364\32\364\364\364\32\364\364\364"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   967
+  "\32\364\364\364\32\364\364\364\32\364\364\364\32\364\364\364\32\364\364"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   968
+  "\364\32\364\364\364\32\360\360\3600\360\360\3600\360\360\3600\360\360"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   969
+  "\3600\360\360\3600\360\360\3600\360\360\3600\360\360\3600\360\360\360"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   970
+  "0\360\360\3600\357\357\357E\357\357\357E\357\357\357E\357\357\357E\357"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   971
+  "\357\357E\357\357\357E\357\357\357E\357\357\357E\357\357\357E\357\357"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   972
+  "\357E\356\356\356X\356\356\356X\356\356\356X\356\356\356X\356\356\356"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   973
+  "X\356\356\356X\356\356\356X\356\356\356X\356\356\356X\356\356\356X\356"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   974
+  "\356\356k\356\356\356k\356\356\356k\356\356\356k\356\356\356k\356\356"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   975
+  "\356k\356\356\356k\356\356\356k\356\356\356k\356\356\356k\357\357\357"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   976
+  "}\357\357\357}\357\357\357}\357\357\357}\357\357\357}\357\357\357}\357"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   977
+  "\357\357}\357\357\357}\357\357\357}\357\357\357}\360\360\360\212\360"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   978
+  "\360\360\212\360\360\360\212\360\360\360\212\360\360\360\212\360\360"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   979
+  "\360\212\360\360\360\212\360\360\360\212\360\360\360\212\360\360\360"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   980
+  "\212\266\266\266J\266\266\266J\266\266\266J\266\266\266J\266\266\266"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   981
+  "J\266\266\266J\266\266\266J\266\266\266J\266\266\266J\266\266\266J"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   982
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   983
+/* GdkPixbuf RGBA C-Source image dump */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   984
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   985
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   986
+#pragma align 4 (title_center_dimple)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   987
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   988
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   989
+static const guint8 title_center_dimple[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   990
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   991
+static const guint8 title_center_dimple[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   992
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   993
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   994
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   995
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   996
+  /* length: header (24) + pixel_data (76) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   997
+  "\0\0\0d"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   998
+  /* pixdata_type (0x1010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
   999
+  "\1\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1000
+  /* rowstride (4) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1001
+  "\0\0\0\4"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1002
+  /* width (1) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1003
+  "\0\0\0\1"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1004
+  /* height (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1005
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1006
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1007
+  "QQQ\377RRR\377UUU\377YYY\377]]]\377bbb\377hhh\377nnn\377sss\377zzz\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1008
+  "\200\200\200\377\205\205\205\377\212\212\212\377\216\216\216\377\222"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1009
+  "\222\222\377\225\225\225\377\227\227\227\377\230\230\230\377\231\231"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1010
+  "\231\377"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1011
+/* GdkPixbuf RGBA C-Source image dump */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1012
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1013
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1014
+#pragma align 4 (title_left_dimple)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1015
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1016
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1017
+static const guint8 title_left_dimple[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1018
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1019
+static const guint8 title_left_dimple[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1020
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1021
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1022
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1023
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1024
+  /* length: header (24) + pixel_data (1444) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1025
+  "\0\0\5\274"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1026
+  /* pixdata_type (0x1010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1027
+  "\1\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1028
+  /* rowstride (76) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1029
+  "\0\0\0L"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1030
+  /* width (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1031
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1032
+  /* height (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1033
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1034
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1035
+  "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1036
+  "\0NNNEMMM\231MMM\314MMM\374MMM\377NNN\377NNN\377OOO\377PPP\377PPP\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1037
+  "PPP\377QQQ\377QQQ\377QQQ\377\377\377\377\0\377\377\377\0\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1038
+  "\0OOO$MMM\300MMM\377LLL\377LLL\377MMM\377MMM\377NNN\377OOO\377PPP\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1039
+  "PPP\377QQQ\377RRR\377RRR\377RRR\377RRR\377\377\377\377\0\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1040
+  "\0OOO<MMM\355LLL\377LLL\377LLL\377MMM\377MMM\377OOO\377PPP\377QQQ\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1041
+  "RRR\377SSS\377SSS\377TTT\377TTT\377TTT\377UUU\377\377\377\377\0PPP$N"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1042
+  "NN\355MMM\377LLL\377MMM\377MMM\377NNN\377OOO\377QQQ\377RRR\377TTT\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1043
+  "UUU\377VVV\377WWW\377XXX\377XXX\377XXX\377YYY\377\377\377\377\0OOO\300"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1044
+  "NNN\377MMM\377MMM\377NNN\377OOO\377PPP\377RRR\377TTT\377VVV\377XXX\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1045
+  "YYY\377ZZZ\377[[[\377\\\\\\\377]]]\377]]]\377]]]\377RRRBPPP\377OOO\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1046
+  "OOO\377OOO\377PPP\377RRR\377TTT\377VVV\377XXX\377ZZZ\377\\\\\\\377^^"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1047
+  "^\377```\377```\377aaa\377aaa\377bbb\377bbb\377SSS\226QQQ\377QQQ\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1048
+  "QQQ\377RRR\377TTT\377VVV\377XXX\377ZZZ\377]]]\377___\377aaa\377ccc\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1049
+  "eee\377fff\377ggg\377ggg\377ggg\377ggg\377TTT\333SSS\377SSS\377TTT\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1050
+  "VVV\377WWW\377ZZZ\377]]]\377___\377bbb\377eee\377ggg\377iii\377kkk\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1051
+  "lll\377lll\377mmm\377mmm\377mmm\377WWW\371VVV\377VVV\377XXX\377ZZZ\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1052
+  "\\\\\\\377___\377bbb\377eee\377hhh\377kkk\377mmm\377ooo\377qqq\377rr"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1053
+  "r\377sss\377sss\377sss\377sss\377ZZZ\377YYY\377ZZZ\377\\\\\\\377^^^\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1054
+  "aaa\377ddd\377ggg\377kkk\377nnn\377ppp\377sss\377uuu\377www\377xxx\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1055
+  "yyy\377yyy\377zzz\377zzz\377]]]\366]]]\377^^^\377aaa\377ccc\377fff\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1056
+  "iii\377mmm\377ppp\377ttt\377www\377yyy\377|||\377}}}\377~~~\377\177\177"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1057
+  "\177\377\177\177\177\377\177\177\177\377\177\177\177\377aaa\333aaa\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1058
+  "ccc\377eee\377hhh\377kkk\377ooo\377rrr\377vvv\377yyy\377|||\377\177\177"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1059
+  "\177\377\200\200\200\377\202\202\202\377\203\203\203\377\204\204\204"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1060
+  "\377\204\204\204\377\205\205\205\377\205\205\205\377eee\245eee\377gg"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1061
+  "g\377jjj\377mmm\377ppp\377ttt\377xxx\377{{{\377~~~\377\201\201\201\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1062
+  "\203\203\203\377\205\205\205\377\207\207\207\377\210\210\210\377\211"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1063
+  "\211\211\377\211\211\211\377\212\212\212\377\212\212\212\377iiiNjjj\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1064
+  "lll\377ooo\377rrr\377uuu\377yyy\377}}}\377\177\177\177\377\202\202\202"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1065
+  "\377\205\205\205\377\210\210\210\377\212\212\212\377\213\213\213\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1066
+  "\214\214\214\377\215\215\215\377\215\215\215\377\216\216\216\377\216"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1067
+  "\216\216\377lll\3nnn\317ppp\377sss\377vvv\377zzz\377}}}\377\200\200\200"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1068
+  "\377\203\203\203\377\206\206\206\377\211\211\211\377\213\213\213\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1069
+  "\215\215\215\377\217\217\217\377\220\220\220\377\220\220\220\377\221"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1070
+  "\221\221\377\221\221\221\377\222\222\222\377\377\377\377\0rrr-ttt\363"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1071
+  "www\377zzz\377}}}\377\200\200\200\377\203\203\203\377\207\207\207\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1072
+  "\212\212\212\377\214\214\214\377\216\216\216\377\220\220\220\377\222"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1073
+  "\222\222\377\223\223\223\377\223\223\223\377\224\224\224\377\224\224"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1074
+  "\224\377\224\224\224\377\377\377\377\0\377\377\377\0xxxKzzz\366}}}\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1075
+  "\200\200\200\377\203\203\203\377\207\207\207\377\212\212\212\377\214"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1076
+  "\214\214\377\216\216\216\377\221\221\221\377\223\223\223\377\224\224"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1077
+  "\224\377\225\225\225\377\226\226\226\377\226\226\226\377\226\226\226"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1078
+  "\377\226\226\226\377\377\377\377\0\377\377\377\0\377\377\377\0}}}-\200"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1079
+  "\200\200\317\203\203\203\377\206\206\206\377\211\211\211\377\213\213"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1080
+  "\213\377\216\216\216\377\220\220\220\377\223\223\223\377\224\224\224"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1081
+  "\377\226\226\226\377\226\226\226\377\227\227\227\377\230\230\230\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1082
+  "\230\230\230\377\230\230\230\377\377\377\377\0\377\377\377\0\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1083
+  "\377\0\377\377\377\0\377\377\377\0\205\205\205T\210\210\210\256\212\212"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1084
+  "\212\355\215\215\215\377\217\217\217\377\222\222\222\377\223\223\223"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1085
+  "\377\225\225\225\377\226\226\226\377\230\230\230\377\230\230\230\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1086
+  "\231\231\231\377\231\231\231\377\231\231\231\377"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1087
+/* GdkPixbuf RGBA C-Source image dump */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1088
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1089
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1090
+#pragma align 4 (title_right_dimple)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1091
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1092
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1093
+static const guint8 title_right_dimple[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1094
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1095
+static const guint8 title_right_dimple[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1096
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1097
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1098
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1099
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1100
+  /* length: header (24) + pixel_data (1444) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1101
+  "\0\0\5\274"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1102
+  /* pixdata_type (0x1010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1103
+  "\1\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1104
+  /* rowstride (76) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1105
+  "\0\0\0L"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1106
+  /* width (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1107
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1108
+  /* height (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1109
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1110
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1111
+  "QQQ\377QQQ\377RRR\377RRR\377SSS\377SSS\377TTT\377VVV\377XXX\377ZZZ\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1112
+  "\\\\\\\377___\314bbb\231eeeE\377\377\377\0\377\377\377\0\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1113
+  "\0\377\377\377\0\377\377\377\0SSS\377SSS\377SSS\377SSS\377TTT\377TTT"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1114
+  "\377VVV\377WWW\377YYY\377[[[\377^^^\377aaa\377ddd\377ggg\377jjj\300n"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1115
+  "nn$\377\377\377\0\377\377\377\0\377\377\377\0UUU\377UUU\377UUU\377VV"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1116
+  "V\377VVV\377WWW\377XXX\377ZZZ\377[[[\377^^^\377```\377ccc\377fff\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1117
+  "iii\377lll\377ppp\355sss<\377\377\377\0\377\377\377\0YYY\377YYY\377Y"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1118
+  "YY\377YYY\377ZZZ\377[[[\377\\\\\\\377]]]\377___\377aaa\377ddd\377ggg"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1119
+  "\377iii\377mmm\377ppp\377sss\377vvv\355yyy$\377\377\377\0]]]\377]]]\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1120
+  "]]]\377^^^\377^^^\377___\377```\377bbb\377ccc\377eee\377hhh\377kkk\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1121
+  "nnn\377qqq\377ttt\377www\377zzz\377}}}\300\377\377\377\0bbb\377bbb\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1122
+  "bbb\377ccc\377ccc\377ddd\377eee\377ggg\377hhh\377kkk\377mmm\377ppp\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1123
+  "sss\377vvv\377yyy\377|||\377~~~\377\200\200\200\377\202\202\202Bhhh\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1124
+  "hhh\377hhh\377hhh\377iii\377iii\377kkk\377lll\377nnn\377ppp\377sss\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1125
+  "uuu\377xxx\377{{{\377}}}\377\200\200\200\377\202\202\202\377\204\204"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1126
+  "\204\377\205\205\205\226nnn\377nnn\377nnn\377nnn\377ooo\377ooo\377pp"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1127
+  "p\377rrr\377ttt\377vvv\377yyy\377{{{\377}}}\377\200\200\200\377\202\202"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1128
+  "\202\377\205\205\205\377\207\207\207\377\210\210\210\377\211\211\211"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1129
+  "\333ttt\377ttt\377ttt\377ttt\377uuu\377vvv\377www\377yyy\377zzz\377|"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1130
+  "||\377~~~\377\200\200\200\377\203\203\203\377\205\205\205\377\210\210"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1131
+  "\210\377\212\212\212\377\213\213\213\377\214\214\214\377\215\215\215"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1132
+  "\371zzz\377zzz\377zzz\377{{{\377{{{\377|||\377}}}\377\177\177\177\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1133
+  "\200\200\200\377\202\202\202\377\204\204\204\377\206\206\206\377\210"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1134
+  "\210\210\377\213\213\213\377\215\215\215\377\216\216\216\377\220\220"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1135
+  "\220\377\220\220\220\377\221\221\221\377\200\200\200\377\200\200\200"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1136
+  "\377\200\200\200\377\200\200\200\377\201\201\201\377\202\202\202\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1137
+  "\203\203\203\377\204\204\204\377\206\206\206\377\210\210\210\377\212"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1138
+  "\212\212\377\214\214\214\377\216\216\216\377\220\220\220\377\222\222"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1139
+  "\222\377\223\223\223\377\224\224\224\377\224\224\224\377\224\224\224"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1140
+  "\371\205\205\205\377\205\205\205\377\205\205\205\377\206\206\206\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1141
+  "\206\206\206\377\207\207\207\377\210\210\210\377\212\212\212\377\213"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1142
+  "\213\213\377\215\215\215\377\217\217\217\377\221\221\221\377\223\223"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1143
+  "\223\377\225\225\225\377\226\226\226\377\227\227\227\377\230\230\230"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1144
+  "\377\230\230\230\377\227\227\227\336\212\212\212\377\212\212\212\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1145
+  "\212\212\212\377\213\213\213\377\213\213\213\377\214\214\214\377\215"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1146
+  "\215\215\377\216\216\216\377\220\220\220\377\222\222\222\377\224\224"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1147
+  "\224\377\225\225\225\377\227\227\227\377\231\231\231\377\232\232\232"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1148
+  "\377\232\232\232\377\233\233\233\377\232\232\232\377\231\231\231\245"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1149
+  "\216\216\216\377\216\216\216\377\216\216\216\377\217\217\217\377\220"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1150
+  "\220\220\377\220\220\220\377\222\222\222\377\223\223\223\377\225\225"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1151
+  "\225\377\226\226\226\377\230\230\230\377\232\232\232\377\233\233\233"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1152
+  "\377\234\234\234\377\235\235\235\377\235\235\235\377\235\235\235\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1153
+  "\234\234\234\377\233\233\233N\222\222\222\377\222\222\222\377\222\222"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1154
+  "\222\377\223\223\223\377\223\223\223\377\224\224\224\377\225\225\225"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1155
+  "\377\226\226\226\377\230\230\230\377\232\232\232\377\233\233\233\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1156
+  "\235\235\235\377\236\236\236\377\236\236\236\377\237\237\237\377\237"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1157
+  "\237\237\377\236\236\236\377\235\235\235\317\234\234\234\3\225\225\225"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1158
+  "\377\225\225\225\377\225\225\225\377\226\226\226\377\226\226\226\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1159
+  "\227\227\227\377\230\230\230\377\232\232\232\377\233\233\233\377\234"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1160
+  "\234\234\377\235\235\235\377\236\236\236\377\240\240\240\377\240\240"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1161
+  "\240\377\240\240\240\377\240\240\240\377\237\237\237\363\236\236\236"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1162
+  "-\377\377\377\0\227\227\227\377\227\227\227\377\230\230\230\377\230\230"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1163
+  "\230\377\230\230\230\377\231\231\231\377\232\232\232\377\233\233\233"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1164
+  "\377\235\235\235\377\236\236\236\377\237\237\237\377\240\240\240\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1165
+  "\240\240\240\377\241\241\241\377\241\241\241\377\240\240\240\366\237"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1166
+  "\237\237K\377\377\377\0\377\377\377\0\231\231\231\377\231\231\231\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1167
+  "\231\231\231\377\232\232\232\377\232\232\232\377\233\233\233\377\234"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1168
+  "\234\234\377\235\235\235\377\236\236\236\377\236\236\236\377\240\240"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1169
+  "\240\377\240\240\240\377\241\241\241\377\241\241\241\377\240\240\240"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1170
+  "\317\240\240\240-\377\377\377\0\377\377\377\0\377\377\377\0\232\232\232"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1171
+  "\377\232\232\232\377\232\232\232\377\232\232\232\377\233\233\233\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1172
+  "\233\233\233\377\234\234\234\377\235\235\235\377\236\236\236\377\236"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1173
+  "\236\236\377\237\237\237\377\240\240\240\355\240\240\240\256\240\240"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1174
+  "\240T\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1175
+  "\377\0"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1176
+/* GdkPixbuf RGBA C-Source image dump */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1177
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1178
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1179
+#pragma align 4 (shield)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1180
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1181
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1182
+static const guint8 shield[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1183
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1184
+static const guint8 shield[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1185
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1186
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1187
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1188
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1189
+  /* length: header (24) + pixel_data (4096) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1190
+  "\0\0\20\30"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1191
+  /* pixdata_type (0x1010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1192
+  "\1\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1193
+  /* rowstride (128) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1194
+  "\0\0\0\200"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1195
+  /* width (32) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1196
+  "\0\0\0\40"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1197
+  /* height (32) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1198
+  "\0\0\0\40"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1199
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1200
+  "\0\0\0\0\0\0\0\0\377\375\326\7\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1201
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\354\220"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1202
+  "\17\377\341d\276\375\321D\217\377\362\270\3\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1203
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\340\204\3"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1204
+  "\377\341\201\6\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\351z\271\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1205
+  "\353}\232\377\361\233!\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1206
+  "\0\0\0\0\0\0\0\0\377\373\327\3\377\351{P\377\341d\333\377\336Z\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1207
+  "\334T\377\377\327F\275\377\333[4\377\377\377\1\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1208
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\376\1\376\311.1\371\271\13\273\343"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1209
+  "\252.\264\377\377\376\0\0\0\0\0\0\0\0\0\377\370\305\13\377\352y\365\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1210
+  "\353{\377\377\354\200\373\377\356\210\310\377\360\214\217\377\360\217"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1211
+  "k\377\361\221X\377\360\217S\377\355\211j\377\354\201\230\377\352w\337"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1212
+  "\377\345m\377\377\344f\377\377\340_\377\377\335W\377\377\334Q\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1213
+  "\332I\375\377\327H\317\377\327I\215\377\326Fd\377\321\77R\377\317;Z\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1214
+  "\314.p\377\310\"\230\376\301\27\325\375\273\6\376\373\267\0\377\337\241"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1215
+  "\32\363\374\354\315\14\0\0\0\0\0\0\0\0\377\360\2238\377\353~\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1216
+  "\356\203\377\377\357\210\377\377\360\213\377\377\360\215\377\377\360"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1217
+  "\215\377\377\360\214\377\377\360\211\377\377\356\205\377\377\354\177"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1218
+  "\377\377\352y\377\377\351s\377\377\345l\377\377\343d\377\377\337]\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1219
+  "\377\335V\377\377\333N\377\377\330G\377\377\324\77\377\377\3227\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1220
+  "\315/\377\377\311'\377\377\307\37\377\377\305\27\377\377\277\17\377\375"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1221
+  "\273\10\377\375\271\1\377\342\240\4\377\346\276\2055\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1222
+  "\377\357\215c\377\356\204\377\377\360\213\377\377\361\220\377\377\363"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1223
+  "\224\377\377\363\227\377\377\364\227\377\377\363\225\377\377\362\221"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1224
+  "\377\377\360\214\377\377\357\206\377\377\354\177\377\377\352x\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1225
+  "\350q\377\377\344i\377\377\342b\377\377\336Z\377\377\334R\377\377\332"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1226
+  "J\377\377\325B\377\377\323:\377\377\3171\377\377\312)\377\377\310!\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1227
+  "\377\306\31\377\377\301\21\377\375\274\12\377\375\271\2\377\357\255\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1228
+  "\377\311\227Sb\0\0\0\0\0\0\0\0\377\360\214\204\377\360\211\377\377\361"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1229
+  "\221\377\377\364\227\377\377\365\235\377\377\366\241\377\377\366\241"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1230
+  "\377\377\365\236\377\377\364\231\377\377\362\223\377\377\360\214\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1231
+  "\377\356\204\377\377\353|\377\376\334U\377\376\3161\377\377\347t\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1232
+  "\377\342g\377\377\335T\377\377\333L\377\377\326D\377\377\323<\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1233
+  "\3213\377\377\312+\377\377\310#\377\377\306\33\377\377\302\22\377\376"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1234
+  "\274\13\377\376\272\3\377\370\264\0\377\301\213:\201\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1235
+  "\377\360\215\234\377\360\215\377\377\363\226\377\377\365\237\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1236
+  "\363\232\377\377\346v\377\377\347y\377\377\343m\377\376\337d\377\376"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1237
+  "\342h\377\376\334W\377\376\322>\377\376\3175\377\376\331L\377\377\345"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1238
+  "k\377\377\347r\377\377\353\205\377\377\355\212\377\377\352~\377\377\337"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1239
+  "\\\377\377\327G\377\377\3239\377\377\314.\377\377\312'\377\377\310\40"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1240
+  "\377\377\303\23\377\376\275\14\377\376\272\4\377\371\266\0\377\304\213"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1241
+  "/\227\0\0\0\0\0\0\0\0\376\356\211\254\377\360\216\377\377\365\236\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1242
+  "\377\370\255\377\377\360\222\377\377\354\206\377\377\363\235\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1243
+  "\362\231\377\377\357\217\377\377\353\200\377\377\354\201\377\377\357"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1244
+  "\210\377\377\354\200\377\377\352x\377\377\347o\377\377\344g\377\377\340"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1245
+  "_\377\377\335V\377\377\334P\377\377\331L\377\377\325B\377\377\324;\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1246
+  "\377\315/\377\377\321=\377\377\332S\377\377\303\23\377\376\275\14\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1247
+  "\376\272\4\377\372\266\0\377\305\213+\253\0\0\0\0\0\0\0\0\375\353\204"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1248
+  "\254\377\360\216\377\377\366\244\377\377\370\263\377\377\355\213\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1249
+  "\377\360\224\377\377\370\252\377\377\367\246\377\377\365\237\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1250
+  "\364\227\377\377\361\217\377\377\357\207\377\377\354\177\377\377\352"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1251
+  "w\377\377\346o\377\377\344f\377\377\337^\377\377\335V\377\377\333M\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1252
+  "\377\327E\377\377\323=\377\377\3225\377\377\313,\377\377\311$\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1253
+  "\343n\377\377\303\23\377\376\275\14\377\376\272\4\377\371\266\0\377\275"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1254
+  "\203'\254\0\0\0\0\0\0\0\0\375\352\201\254\377\360\212\377\377\366\242"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1255
+  "\377\377\371\263\377\377\350\200\377\377\362\230\377\377\366\241\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1256
+  "\377\365\236\377\377\364\231\377\377\362\223\377\377\360\214\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1257
+  "\356\204\377\377\353|\377\377\352t\377\377\345m\377\377\343d\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1258
+  "\336\\\377\377\335T\377\377\333L\377\377\326D\377\377\323<\377\377\321"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1259
+  "3\377\377\312+\377\377\310#\377\377\342m\377\377\302\22\377\376\274\13"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1260
+  "\377\376\272\3\377\370\265\0\377\274\202)\254\0\0\0\0\0\0\0\0\377\353"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1261
+  "\205\245\377\356\204\377\377\364\233\377\377\371\261\377\377\343r\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1262
+  "\377\365\241\377\377\364\227\377\377\363\225\377\377\362\221\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1263
+  "\360\214\377\377\357\206\377\377\354\177\377\377\352x\377\377\350q\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1264
+  "\377\344i\377\377\342a\377\377\336Y\377\377\334R\377\377\332J\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1265
+  "\325B\377\377\323:\377\377\3202\377\377\312)\377\377\310!\377\377\344"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1266
+  "r\377\377\301\22\377\375\274\12\377\375\271\2\377\367\264\0\377\263|"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1267
+  "*\234\0\0\0\0\0\0\0\0\376\353\201\216\377\353~\377\377\362\223\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1268
+  "\371\260\377\377\351\203\377\377\360\217\377\377\360\216\377\377\360"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1269
+  "\214\377\377\360\211\377\377\356\204\377\377\354\177\377\377\352y\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1270
+  "\377\351s\377\377\345l\377\377\343e\377\377\337]\377\377\335V\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1271
+  "\333N\377\377\330G\377\377\324\77\377\377\3227\377\377\315/\377\377\311"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1272
+  "'\377\377\307\37\377\377\347{\377\376\277\17\377\375\273\10\377\375\271"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1273
+  "\1\377\363\260\0\377\251t2\210\0\0\0\0\0\0\0\0\376\351}p\377\352v\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1274
+  "\377\357\214\377\377\370\257\377\377\360\227\377\377\353\202\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1275
+  "\356\205\377\377\355\202\377\377\354\200\377\377\353|\377\377\352w\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1276
+  "\377\351r\377\377\345l\377\377\344f\377\377\340`\377\377\336Y\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1277
+  "\334Q\377\377\332J\377\377\325C\377\377\323;\377\377\3213\377\377\313"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1278
+  ",\377\377\310$\377\377\307\35\377\377\345v\377\376\275\15\377\375\272"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1279
+  "\6\377\373\267\0\377\343\243\1\377\255z@i\0\0\0\0\0\0\0\0\376\350\177"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1280
+  "F\377\346n\377\377\354\202\377\377\370\253\377\377\366\252\377\377\336"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1281
+  "\\\377\377\353}\377\377\352y\377\377\352v\377\377\351s\377\377\347o\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1282
+  "\377\345k\377\377\343e\377\377\340`\377\377\336Y\377\377\334S\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1283
+  "\333L\377\377\327E\377\377\324>\377\377\3227\377\377\315/\377\377\311"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1284
+  "(\377\377\310\40\377\377\315.\377\377\327S\377\375\274\12\377\376\272"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1285
+  "\2\377\370\265\0\377\313\215\2\377\316\235b\77\0\0\0\0\0\0\0\0\377\361"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1286
+  "\244\26\376\343f\374\377\350s\377\377\365\240\377\377\371\257\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1287
+  "\331P\377\377\352x\377\377\346o\377\377\346m\377\377\345j\377\377\344"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1288
+  "g\377\377\342c\377\377\337^\377\377\336X\377\377\334S\377\377\333M\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1289
+  "\377\327F\377\377\324\77\377\377\3239\377\377\3202\377\377\312+\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1290
+  "\310#\377\377\306\34\377\377\333U\377\376\310+\377\375\273\7\377\374"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1291
+  "\270\0\377\365\262\0\377\275\201\16\370\364\333\264\22\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1292
+  "\0\377\377\377\1\376\340e\320\377\342d\377\377\357\213\377\377\366\244"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1293
+  "\377\377\336^\377\377\343f\377\377\343e\377\377\342c\377\377\341a\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1294
+  "\377\337^\377\377\336Z\377\377\335V\377\377\334Q\377\377\333L\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1295
+  "\327F\377\377\324@\377\377\3239\377\377\3203\377\377\313,\377\377\311"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1296
+  "%\377\377\307\36\377\377\305\27\377\377\340h\377\375\274\12\377\376\272"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1297
+  "\2\377\371\265\0\377\361\260\0\377\256x\40\311\377\377\376\1\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1298
+  "\0\0\0\0\0\0\0\0\376\336a\205\377\335W\377\377\347s\377\377\362\223\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1299
+  "\377\354\202\377\377\322:\377\377\336\\\377\377\336Z\377\377\335X\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1300
+  "\377\335U\377\377\334Q\377\377\333M\377\377\331I\377\377\326D\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1301
+  "\324\77\377\377\3239\377\377\3203\377\377\313-\377\377\311&\377\377\307"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1302
+  "\40\377\377\306\31\377\377\310\"\377\376\332Z\377\375\272\5\377\373\267"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1303
+  "\0\377\364\262\0\377\341\242\1\377\233i2~\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1304
+  "\0\0\377\344u/\376\332N\376\377\337\\\377\377\353|\377\377\355\203\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1305
+  "\376\3204\377\377\333P\377\377\334P\377\377\333N\377\377\333K\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1306
+  "\331H\377\377\326D\377\377\324@\377\377\323<\377\377\3227\377\377\317"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1307
+  "1\377\377\313,\377\377\311&\377\377\307\40\377\377\306\31\377\377\303"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1308
+  "\23\377\377\336d\377\375\305\"\377\375\271\1\377\366\264\0\377\357\257"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1309
+  "\0\377\270}\6\375\325\253w+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1310
+  "\1\376\330N\307\377\331J\377\377\342c\377\377\347q\377\377\333R\377\376"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1311
+  "\316-\377\377\330F\377\377\326D\377\377\325B\377\377\324\77\377\377\323"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1312
+  "<\377\377\3228\377\377\3214\377\377\315/\377\377\312*\377\377\311%\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1313
+  "\377\307\37\377\377\306\31\377\377\303\23\377\376\306&\377\376\336g\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1314
+  "\375\271\1\377\370\265\0\377\361\260\0\377\351\251\0\377\241l\40\300"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1315
+  "\377\377\377\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\376\331WW\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1316
+  "\323=\377\377\331K\377\377\337]\377\377\335X\377\376\307\37\377\377\321"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1317
+  "6\377\377\323;\377\377\3239\377\377\3226\377\377\3203\377\377\316/\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1318
+  "\377\312+\377\377\311'\377\377\310\"\377\377\307\35\377\377\305\30\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1319
+  "\377\302\22\377\376\275\16\377\377\344v\377\376\277\22\377\371\265\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1320
+  "\377\362\261\0\377\353\253\0\377\301\203\2\377\256\177LP\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1321
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\365\311\4\376\322=\321\377\322"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1322
+  "8\377\377\327F\377\377\331J\377\377\3218\377\376\304\27\377\377\3171"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1323
+  "\377\377\315/\377\377\313-\377\377\312*\377\377\311&\377\377\310#\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1324
+  "\377\307\36\377\377\306\32\377\377\304\25\377\377\300\20\377\376\275"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1325
+  "\14\377\376\324M\377\375\320A\377\370\265\0\377\362\261\0\377\354\254"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1326
+  "\0\377\344\242\0\377\236i\34\312\374\363\335\3\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1327
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\325UJ\377\312+\376\377\3161\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1328
+  "\377\3229\377\377\3204\377\376\306\40\377\376\304\31\377\377\311%\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1329
+  "\377\310#\377\377\310\40\377\377\307\35\377\377\306\32\377\377\304\26"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1330
+  "\377\377\301\22\377\376\276\16\377\375\273\12\377\376\311.\377\375\337"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1331
+  "k\377\367\264\0\377\361\260\0\377\353\253\0\377\345\243\0\377\264x\5"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1332
+  "\374\260\203P\77\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1333
+  "\0\0\0\0\0\0\377\375\362\1\376\315<\263\377\310\"\377\377\311'\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1334
+  "\311'\377\377\310\"\377\376\302\22\377\376\304\26\377\377\306\32\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1335
+  "\377\305\27\377\377\304\24\377\377\301\21\377\376\276\16\377\375\274"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1336
+  "\13\377\375\273\6\377\376\302\32\377\375\344x\377\365\265\6\377\360\257"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1337
+  "\0\377\352\252\0\377\344\242\0\377\322\222\0\377\230f)\236\377\377\372"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1338
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1339
+  "\0\0\0\376\334\206\40\374\305%\355\377\305\30\377\377\306\32\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1340
+  "\305\30\377\377\303\24\377\376\302\22\377\376\302\21\377\376\276\17\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1341
+  "\376\274\14\377\375\273\11\377\375\272\6\377\375\271\2\377\374\304\40"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1342
+  "\377\374\344z\377\363\267\16\377\355\255\0\377\350\247\0\377\343\241"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1343
+  "\0\377\334\233\0\377\233d\24\334\340\275\215\21\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1344
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\365"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1345
+  "\307[Q\371\272\24\374\376\275\16\377\376\275\16\377\376\274\14\377\375"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1346
+  "\274\12\377\375\276\13\377\376\304\30\377\375\273\5\377\375\270\1\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1347
+  "\372\266\0\377\372\306-\377\373\341v\377\357\262\11\377\352\251\0\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1348
+  "\345\243\0\377\340\236\0\377\333\233\0\377\244l\12\364\267\213X5\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1349
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1350
+  "\0\0\0\0\0\0\0\0\0\0\0\0\377\377\376\0\353\270Lz\370\265\10\377\375\272"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1351
+  "\3\377\375\271\2\377\375\271\1\377\374\270\0\377\372\271\4\377\375\307"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1352
+  "#\377\367\274\25\377\371\325V\377\366\327a\377\353\254\5\377\346\244"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1353
+  "\0\377\342\237\0\377\335\234\0\377\330\231\0\377\254r\6\373\244vDT\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1354
+  "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1355
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\375\357\2\345\260"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1356
+  "D\215\361\257\4\377\366\263\0\377\364\262\0\377\362\261\0\377\360\257"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1357
+  "\0\377\357\257\2\377\366\3072\377\357\2774\377\345\243\0\377\341\237"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1358
+  "\0\377\335\234\0\377\331\231\0\377\325\226\0\377\254s\6\374\237q>b\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1359
+  "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1360
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\376\370"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1361
+  "\345\2\335\250C\206\345\245\6\376\352\252\0\377\351\250\0\377\347\245"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1362
+  "\0\377\345\245\0\377\345\245\0\377\336\235\0\377\334\233\0\377\330\231"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1363
+  "\0\377\325\226\0\377\321\223\0\377\246m\7\367\236p=[\377\377\376\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1364
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1365
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1366
+  "\377\370\1\325\242Lg\331\230\13\370\337\236\0\377\335\234\0\377\336\235"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1367
+  "\0\377\342\240\0\377\325\226\0\377\323\225\0\377\320\223\0\377\314\217"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1368
+  "\0\377\234e\15\352\251|KH\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1369
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1370
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1371
+  "\325\246`B\315\220\30\345\324\225\0\377\324\226\0\377\332\232\0\377\317"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1372
+  "\222\0\377\316\221\0\377\277\203\1\377\225a\30\312\276\222_$\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1373
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1374
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1375
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\350\303\215\30\307\216-\256"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1376
+  "\315\216\4\376\327\230\0\377\316\221\0\377\251p\7\372\227e,\211\355\321"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1377
+  "\246\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1378
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1379
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1380
+  "\0\377\375\360\1\313\230QX\272\200\32\345\231e\32\312\261\204Q7\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1381
+  "\376\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1382
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1383
+GdkPixbuf *shield_pixbuf;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1384
+/* GdkPixbuf RGBA C-Source image dump */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1385
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1386
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1387
+#pragma align 4 (title_center_dimple_unfocused)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1388
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1389
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1390
+static const guint8 title_center_dimple_unfocused[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1391
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1392
+static const guint8 title_center_dimple_unfocused[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1393
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1394
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1395
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1396
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1397
+  /* length: header (24) + pixel_data (76) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1398
+  "\0\0\0d"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1399
+  /* pixdata_type (0x1010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1400
+  "\1\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1401
+  /* rowstride (4) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1402
+  "\0\0\0\4"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1403
+  /* width (1) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1404
+  "\0\0\0\1"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1405
+  /* height (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1406
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1407
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1408
+  "\231\231\231\377\230\230\230\377\227\227\227\377\225\225\225\377\222"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1409
+  "\222\222\377\216\216\216\377\212\212\212\377\205\205\205\377\200\200"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1410
+  "\200\377zzz\377sss\377nnn\377hhh\377bbb\377]]]\377YYY\377UUU\377RRR\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1411
+  "QQQ\377"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1412
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1413
+/* GdkPixbuf RGBA C-Source image dump */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1414
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1415
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1416
+#pragma align 4 (title_left_dimple_unfocused)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1417
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1418
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1419
+static const guint8 title_left_dimple_unfocused[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1420
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1421
+static const guint8 title_left_dimple_unfocused[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1422
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1423
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1424
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1425
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1426
+  /* length: header (24) + pixel_data (1444) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1427
+  "\0\0\5\274"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1428
+  /* pixdata_type (0x1010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1429
+  "\1\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1430
+  /* rowstride (76) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1431
+  "\0\0\0L"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1432
+  /* width (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1433
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1434
+  /* height (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1435
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1436
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1437
+  "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1438
+  "\0\205\205\205T\210\210\210\256\212\212\212\355\215\215\215\377\217\217"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1439
+  "\217\377\222\222\222\377\223\223\223\377\225\225\225\377\226\226\226"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1440
+  "\377\230\230\230\377\230\230\230\377\231\231\231\377\231\231\231\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1441
+  "\231\231\231\377\377\377\377\0\377\377\377\0\377\377\377\0}}}-\200\200"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1442
+  "\200\317\203\203\203\377\206\206\206\377\211\211\211\377\213\213\213"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1443
+  "\377\216\216\216\377\220\220\220\377\223\223\223\377\224\224\224\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1444
+  "\226\226\226\377\226\226\226\377\227\227\227\377\230\230\230\377\230"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1445
+  "\230\230\377\230\230\230\377\377\377\377\0\377\377\377\0xxxKzzz\366}"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1446
+  "}}\377\200\200\200\377\203\203\203\377\207\207\207\377\212\212\212\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1447
+  "\214\214\214\377\216\216\216\377\221\221\221\377\223\223\223\377\224"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1448
+  "\224\224\377\225\225\225\377\226\226\226\377\226\226\226\377\226\226"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1449
+  "\226\377\226\226\226\377\377\377\377\0rrr-ttt\363www\377zzz\377}}}\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1450
+  "\200\200\200\377\203\203\203\377\207\207\207\377\212\212\212\377\214"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1451
+  "\214\214\377\216\216\216\377\220\220\220\377\222\222\222\377\223\223"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1452
+  "\223\377\223\223\223\377\224\224\224\377\224\224\224\377\224\224\224"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1453
+  "\377lll\3nnn\317ppp\377sss\377vvv\377zzz\377}}}\377\200\200\200\377\203"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1454
+  "\203\203\377\206\206\206\377\211\211\211\377\213\213\213\377\215\215"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1455
+  "\215\377\217\217\217\377\220\220\220\377\220\220\220\377\221\221\221"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1456
+  "\377\221\221\221\377\222\222\222\377iiiNjjj\377lll\377ooo\377rrr\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1457
+  "uuu\377yyy\377}}}\377\177\177\177\377\202\202\202\377\205\205\205\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1458
+  "\210\210\210\377\212\212\212\377\213\213\213\377\214\214\214\377\215"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1459
+  "\215\215\377\215\215\215\377\216\216\216\377\216\216\216\377eee\245e"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1460
+  "ee\377ggg\377jjj\377mmm\377ppp\377ttt\377xxx\377{{{\377~~~\377\201\201"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1461
+  "\201\377\203\203\203\377\205\205\205\377\207\207\207\377\210\210\210"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1462
+  "\377\211\211\211\377\211\211\211\377\212\212\212\377\212\212\212\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1463
+  "aaa\333aaa\377ccc\377eee\377hhh\377kkk\377ooo\377rrr\377vvv\377yyy\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1464
+  "|||\377\177\177\177\377\200\200\200\377\202\202\202\377\203\203\203\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1465
+  "\204\204\204\377\204\204\204\377\205\205\205\377\205\205\205\377]]]\366"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1466
+  "]]]\377^^^\377aaa\377ccc\377fff\377iii\377mmm\377ppp\377ttt\377www\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1467
+  "yyy\377|||\377}}}\377~~~\377\177\177\177\377\177\177\177\377\177\177"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1468
+  "\177\377\177\177\177\377ZZZ\377YYY\377ZZZ\377\\\\\\\377^^^\377aaa\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1469
+  "ddd\377ggg\377kkk\377nnn\377ppp\377sss\377uuu\377www\377xxx\377yyy\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1470
+  "yyy\377zzz\377zzz\377WWW\371VVV\377VVV\377XXX\377ZZZ\377\\\\\\\377__"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1471
+  "_\377bbb\377eee\377hhh\377kkk\377mmm\377ooo\377qqq\377rrr\377sss\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1472
+  "sss\377sss\377sss\377TTT\333SSS\377SSS\377TTT\377VVV\377WWW\377ZZZ\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1473
+  "]]]\377___\377bbb\377eee\377ggg\377iii\377kkk\377lll\377lll\377mmm\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1474
+  "mmm\377mmm\377SSS\226QQQ\377QQQ\377QQQ\377RRR\377TTT\377VVV\377XXX\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1475
+  "ZZZ\377]]]\377___\377aaa\377ccc\377eee\377fff\377ggg\377ggg\377ggg\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1476
+  "ggg\377RRRBPPP\377OOO\377OOO\377OOO\377PPP\377RRR\377TTT\377VVV\377X"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1477
+  "XX\377ZZZ\377\\\\\\\377^^^\377```\377```\377aaa\377aaa\377bbb\377bbb"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1478
+  "\377\377\377\377\0OOO\300NNN\377MMM\377MMM\377NNN\377OOO\377PPP\377R"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1479
+  "RR\377TTT\377VVV\377XXX\377YYY\377ZZZ\377[[[\377\\\\\\\377]]]\377]]]"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1480
+  "\377]]]\377\377\377\377\0PPP$NNN\355MMM\377LLL\377MMM\377MMM\377NNN\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1481
+  "OOO\377QQQ\377RRR\377TTT\377UUU\377VVV\377WWW\377XXX\377XXX\377XXX\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1482
+  "YYY\377\377\377\377\0\377\377\377\0OOO<MMM\355LLL\377LLL\377LLL\377M"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1483
+  "MM\377MMM\377OOO\377PPP\377QQQ\377RRR\377SSS\377SSS\377TTT\377TTT\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1484
+  "TTT\377UUU\377\377\377\377\0\377\377\377\0\377\377\377\0OOO$MMM\300M"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1485
+  "MM\377LLL\377LLL\377MMM\377MMM\377NNN\377OOO\377PPP\377PPP\377QQQ\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1486
+  "RRR\377RRR\377RRR\377RRR\377\377\377\377\0\377\377\377\0\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1487
+  "\0\377\377\377\0\377\377\377\0NNNEMMM\231MMM\314MMM\374MMM\377NNN\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1488
+  "NNN\377OOO\377PPP\377PPP\377PPP\377QQQ\377QQQ\377QQQ\377"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1489
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1490
+/* GdkPixbuf RGBA C-Source image dump */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1491
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1492
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1493
+#pragma align 4 (title_right_dimple_unfocused)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1494
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1495
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1496
+static const guint8 title_right_dimple_unfocused[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1497
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1498
+static const guint8 title_right_dimple_unfocused[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1499
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1500
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1501
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1502
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1503
+  /* length: header (24) + pixel_data (1444) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1504
+  "\0\0\5\274"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1505
+  /* pixdata_type (0x1010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1506
+  "\1\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1507
+  /* rowstride (76) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1508
+  "\0\0\0L"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1509
+  /* width (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1510
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1511
+  /* height (19) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1512
+  "\0\0\0\23"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1513
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1514
+  "\232\232\232\377\232\232\232\377\232\232\232\377\232\232\232\377\233"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1515
+  "\233\233\377\233\233\233\377\234\234\234\377\235\235\235\377\236\236"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1516
+  "\236\377\236\236\236\377\237\237\237\377\240\240\240\355\240\240\240"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1517
+  "\256\240\240\240T\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1518
+  "\0\377\377\377\0\231\231\231\377\231\231\231\377\231\231\231\377\232"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1519
+  "\232\232\377\232\232\232\377\233\233\233\377\234\234\234\377\235\235"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1520
+  "\235\377\236\236\236\377\236\236\236\377\240\240\240\377\240\240\240"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1521
+  "\377\241\241\241\377\241\241\241\377\240\240\240\317\240\240\240-\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1522
+  "\377\377\0\377\377\377\0\377\377\377\0\227\227\227\377\227\227\227\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1523
+  "\230\230\230\377\230\230\230\377\230\230\230\377\231\231\231\377\232"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1524
+  "\232\232\377\233\233\233\377\235\235\235\377\236\236\236\377\237\237"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1525
+  "\237\377\240\240\240\377\240\240\240\377\241\241\241\377\241\241\241"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1526
+  "\377\240\240\240\366\237\237\237K\377\377\377\0\377\377\377\0\225\225"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1527
+  "\225\377\225\225\225\377\225\225\225\377\226\226\226\377\226\226\226"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1528
+  "\377\227\227\227\377\230\230\230\377\232\232\232\377\233\233\233\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1529
+  "\234\234\234\377\235\235\235\377\236\236\236\377\240\240\240\377\240"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1530
+  "\240\240\377\240\240\240\377\240\240\240\377\237\237\237\363\236\236"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1531
+  "\236-\377\377\377\0\222\222\222\377\222\222\222\377\222\222\222\377\223"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1532
+  "\223\223\377\223\223\223\377\224\224\224\377\225\225\225\377\226\226"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1533
+  "\226\377\230\230\230\377\232\232\232\377\233\233\233\377\235\235\235"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1534
+  "\377\236\236\236\377\236\236\236\377\237\237\237\377\237\237\237\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1535
+  "\236\236\236\377\235\235\235\317\234\234\234\3\216\216\216\377\216\216"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1536
+  "\216\377\216\216\216\377\217\217\217\377\220\220\220\377\220\220\220"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1537
+  "\377\222\222\222\377\223\223\223\377\225\225\225\377\226\226\226\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1538
+  "\230\230\230\377\232\232\232\377\233\233\233\377\234\234\234\377\235"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1539
+  "\235\235\377\235\235\235\377\235\235\235\377\234\234\234\377\233\233"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1540
+  "\233N\212\212\212\377\212\212\212\377\212\212\212\377\213\213\213\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1541
+  "\213\213\213\377\214\214\214\377\215\215\215\377\216\216\216\377\220"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1542
+  "\220\220\377\222\222\222\377\224\224\224\377\225\225\225\377\227\227"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1543
+  "\227\377\231\231\231\377\232\232\232\377\232\232\232\377\233\233\233"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1544
+  "\377\232\232\232\377\231\231\231\245\205\205\205\377\205\205\205\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1545
+  "\205\205\205\377\206\206\206\377\206\206\206\377\207\207\207\377\210"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1546
+  "\210\210\377\212\212\212\377\213\213\213\377\215\215\215\377\217\217"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1547
+  "\217\377\221\221\221\377\223\223\223\377\225\225\225\377\226\226\226"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1548
+  "\377\227\227\227\377\230\230\230\377\230\230\230\377\227\227\227\336"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1549
+  "\200\200\200\377\200\200\200\377\200\200\200\377\200\200\200\377\201"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1550
+  "\201\201\377\202\202\202\377\203\203\203\377\204\204\204\377\206\206"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1551
+  "\206\377\210\210\210\377\212\212\212\377\214\214\214\377\216\216\216"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1552
+  "\377\220\220\220\377\222\222\222\377\223\223\223\377\224\224\224\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1553
+  "\224\224\224\377\224\224\224\371zzz\377zzz\377zzz\377{{{\377{{{\377|"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1554
+  "||\377}}}\377\177\177\177\377\200\200\200\377\202\202\202\377\204\204"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1555
+  "\204\377\206\206\206\377\210\210\210\377\213\213\213\377\215\215\215"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1556
+  "\377\216\216\216\377\220\220\220\377\220\220\220\377\221\221\221\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1557
+  "ttt\377ttt\377ttt\377ttt\377uuu\377vvv\377www\377yyy\377zzz\377|||\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1558
+  "~~~\377\200\200\200\377\203\203\203\377\205\205\205\377\210\210\210\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1559
+  "\212\212\212\377\213\213\213\377\214\214\214\377\215\215\215\371nnn\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1560
+  "nnn\377nnn\377nnn\377ooo\377ooo\377ppp\377rrr\377ttt\377vvv\377yyy\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1561
+  "{{{\377}}}\377\200\200\200\377\202\202\202\377\205\205\205\377\207\207"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1562
+  "\207\377\210\210\210\377\211\211\211\333hhh\377hhh\377hhh\377hhh\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1563
+  "iii\377iii\377kkk\377lll\377nnn\377ppp\377sss\377uuu\377xxx\377{{{\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1564
+  "}}}\377\200\200\200\377\202\202\202\377\204\204\204\377\205\205\205\226"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1565
+  "bbb\377bbb\377bbb\377ccc\377ccc\377ddd\377eee\377ggg\377hhh\377kkk\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1566
+  "mmm\377ppp\377sss\377vvv\377yyy\377|||\377~~~\377\200\200\200\377\202"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1567
+  "\202\202B]]]\377]]]\377]]]\377^^^\377^^^\377___\377```\377bbb\377ccc"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1568
+  "\377eee\377hhh\377kkk\377nnn\377qqq\377ttt\377www\377zzz\377}}}\300\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1569
+  "\377\377\0YYY\377YYY\377YYY\377YYY\377ZZZ\377[[[\377\\\\\\\377]]]\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1570
+  "___\377aaa\377ddd\377ggg\377iii\377mmm\377ppp\377sss\377vvv\355yyy$\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1571
+  "\377\377\0UUU\377UUU\377UUU\377VVV\377VVV\377WWW\377XXX\377ZZZ\377[["
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1572
+  "[\377^^^\377```\377ccc\377fff\377iii\377lll\377ppp\355sss<\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1573
+  "\0\377\377\377\0SSS\377SSS\377SSS\377SSS\377TTT\377TTT\377VVV\377WWW"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1574
+  "\377YYY\377[[[\377^^^\377aaa\377ddd\377ggg\377jjj\300nnn$\377\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1575
+  "\0\377\377\377\0\377\377\377\0QQQ\377QQQ\377RRR\377RRR\377SSS\377SSS"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1576
+  "\377TTT\377VVV\377XXX\377ZZZ\377\\\\\\\377___\314bbb\231eeeE\377\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1577
+  "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1578
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1579
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1580
+#ifdef __SUNPRO_C
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1581
+#pragma align 4 (my_pixbuf)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1582
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1583
+#ifdef __GNUC__
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1584
+static const guint8 tabpopup_highlight[] __attribute__ ((__aligned__ (4))) =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1585
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1586
+static const guint8 tabpopup_highlight[] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1587
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1588
+{ ""
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1589
+  /* Pixbuf magic (0x47646b50) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1590
+  "GdkP"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1591
+  /* length: header (24) + pixel_data (421) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1592
+  "\0\0\1\275"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1593
+  /* pixdata_type (0x2010002) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1594
+  "\2\1\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1595
+  /* rowstride (132) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1596
+  "\0\0\0\204"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1597
+  /* width (33) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1598
+  "\0\0\0!"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1599
+  /* height (18) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1600
+  "\0\0\0\22"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1601
+  /* pixel_data: */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1602
+  "\246\0\0\0\0\3^^^F^^^\215^^^\307\221^^^\377\3^^^\307^^^\215^^^F\210\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1603
+  "\0\0\0\3^^^\40^^^\214^^^\363\225^^^\377\3^^^\363^^^\214^^^\40\205\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1604
+  "\0\0\2^^^\40^^^\243\231^^^\377\2^^^\243^^^\40\204\0\0\0\0\1^^^\214\233"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1605
+  "^^^\377\1^^^\214\203\0\0\0\0\2^^^F^^^\363\233^^^\377\2^^^\363^^^F\202"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1606
+  "\0\0\0\0\1^^^\215\235^^^\377\1^^^\215\202\0\0\0\0\1^^^\307\235^^^\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1607
+  "\1^^^\307\202\0\0\0\0\1^^^\360\235^^^\377\1^^^\360\202\0\0\0\0\1^^^\360"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1608
+  "\235^^^\377\1^^^\360\202\0\0\0\0\1^^^\307\235^^^\377\1^^^\307\202\0\0"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1609
+  "\0\0\1^^^\215\235^^^\377\1^^^\215\202\0\0\0\0\2^^^F^^^\363\233^^^\377"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1610
+  "\2^^^\363^^^F\203\0\0\0\0\1^^^\214\233^^^\377\1^^^\214\204\0\0\0\0\2"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1611
+  "^^^\40^^^\243\231^^^\377\2^^^\243^^^\40\205\0\0\0\0\3^^^\40^^^\214^^"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1612
+  "^\363\225^^^\377\3^^^\363^^^\214^^^\40\210\0\0\0\0\3^^^F^^^\215^^^\307"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1613
+  "\221^^^\377\3^^^\307^^^\215^^^F\246\0\0\0\0"};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1614
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1615
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1616
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1617
+#endif /*TRUSTED_PICS_H */
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  1618
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/trusted.c metacity-2.27.1/src/core/trusted.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  1619
--- ../metacity-2.27.1/src/core/trusted.c	1970-01-01 01:00:00.000000000 +0100
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  1620
+++ metacity-2.27.1/src/core/trusted.c	2009-09-14 09:05:34.526006907 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1621
@@ -0,0 +1,1310 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1622
+/* Metacity trusted */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1623
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1624
+/* 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1625
+ * Copyright (C) 2005 Erwann Chenede
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1626
+ */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1627
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1628
+#include <config.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1629
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1630
+#include <string.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1631
+#include <X11/Xatom.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1632
+#include <stdlib.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1633
+#include <dlfcn.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1634
+#include <link.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1635
+#include <strings.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1636
+#include <sys/types.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1637
+#include <unistd.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1638
+#include <pwd.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1639
+#include "trusted.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1640
+#include "window.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1641
+#include "display-private.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1642
+#include "screen.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1643
+#include "workspace.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1644
+#include "xprops.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1645
+#include "trusted-pics.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1646
+#include "errors.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1647
+#include "prefs.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1648
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1649
+static
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1650
+void * dlopen_tsol (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1651
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1652
+   void  *handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1653
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1654
+   if ((handle = dlopen ("/usr/lib/libtsol.so.2", RTLD_LAZY)) != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1655
+       return handle;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1656
+   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1657
+   return handle;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1658
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1659
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1660
+static
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1661
+void * dlopen_gnometsol (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1662
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1663
+   void  *handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1664
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1665
+   if ((handle = dlopen ("/usr/lib/libgnometsol.so", RTLD_LAZY)) != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1666
+       return handle;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1667
+   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1668
+   return handle;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1669
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1670
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1671
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1672
+static
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1673
+void * dlopen_xtsol (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1674
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1675
+   void  *handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1676
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1677
+   if ((handle = dlopen ("/usr/lib/libXtsol.so.1", RTLD_LAZY)) != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1678
+       return handle;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1679
+   if ((handle = dlopen ("/usr/openwin/lib/libXtsol.so.1", RTLD_LAZY)) != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1680
+       return handle;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1681
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1682
+   return handle;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1683
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1684
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1685
+static
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1686
+void * dlopen_bsm (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1687
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1688
+        return dlopen ("/usr/lib/libbsm.so", RTLD_LAZY);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1689
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1690
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1691
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1692
+static gboolean 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1693
+tsol_is_multi_label_session (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1694
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1695
+  static int trusted = -1;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1696
+  if (trusted < 0) {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1697
+    if (getenv ("TRUSTED_SESSION")) {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1698
+      trusted = 1;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1699
+    } else {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1700
+      trusted = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1701
+    }      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1702
+  }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1703
+  return trusted ? TRUE : FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1704
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1705
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1706
+gboolean
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1707
+tsol_use_trusted_extensions (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1708
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1709
+  static gboolean _trusted_extensions_initialised = FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1710
+  static gpointer tsol_handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1711
+  static gpointer xtsol_handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1712
+  static gpointer gnometsol_handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1713
+  static gpointer bsm_handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1714
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1715
+    if (!_trusted_extensions_initialised) {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1716
+        char *label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1717
+        _trusted_extensions_initialised = TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1718
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1719
+        if (!tsol_is_multi_label_session ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1720
+            return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1721
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1722
+        tsol_handle = dlopen_tsol ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1723
+        if (tsol_handle != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1724
+	  xtsol_handle = dlopen_xtsol ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1725
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1726
+	bsm_handle = dlopen_bsm ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1727
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1728
+        if (tsol_handle && xtsol_handle && bsm_handle) {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1729
+           /* libbsm function (only interested in the one) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1730
+           libbsm_getdevicerange = (bsm_getdevicerange) dlsym (bsm_handle, "getdevicerange");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1731
+           /* Replacement libtsol functions */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1732
+           libtsol_label_to_str = (tsol_label_to_str) dlsym (tsol_handle, "label_to_str"); 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1733
+           libtsol_str_to_label = (tsol_str_to_label) dlsym (tsol_handle, "str_to_label");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1734
+           libtsol_m_label_free = (tsol_m_label_free) dlsym (tsol_handle, "m_label_free");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1735
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1736
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1737
+           /* Other misc. libtsol functions */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1738
+           libtsol_blminimum = (tsol_blminimum) dlsym (tsol_handle, "blminimum");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1739
+           libtsol_blmaximum = (tsol_blmaximum) dlsym (tsol_handle, "blmaximum");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1740
+           libtsol_blinrange = (tsol_blinrange) dlsym (tsol_handle, "blinrange");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1741
+           libtsol_getuserrange = (tsol_getuserrange) dlsym (tsol_handle, "getuserrange"); 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1742
+           /* libtsol_blabel_alloc = (tsol_blabel_alloc) dlsym (tsol_handle, "blabel_alloc"); */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1743
+           libtsol_blabel_free  = (tsol_blabel_free)  dlsym (tsol_handle, "blabel_free");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1744
+           /* libtsol_bsllow  = (tsol_bsllow)  dlsym (tsol_handle, "bsllow"); */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1745
+           /* libtsol_bslhigh = (tsol_bslhigh) dlsym (tsol_handle, "bslhigh"); */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1746
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1747
+           /* libXtsol functions */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1748
+           libxtsol_XTSOLgetClientLabel = (xtsol_XTSOLgetClientLabel) dlsym (xtsol_handle,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1749
+									     "XTSOLgetClientLabel");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1750
+           libxtsol_XTSOLIsWindowTrusted = (xtsol_XTSOLIsWindowTrusted) dlsym (xtsol_handle,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1751
+									       "XTSOLIsWindowTrusted");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1752
+	   libxtsol_XTSOLsetResLabel = (xtsol_XTSOLsetResLabel) dlsym (xtsol_handle,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1753
+									     "XTSOLsetResLabel");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1754
+	   libxtsol_XTSOLsetResUID = (xtsol_XTSOLsetResUID) dlsym (xtsol_handle,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1755
+									     "XTSOLsetResUID");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1756
+	   libxtsol_XTSOLgetResLabel = (xtsol_XTSOLgetResLabel) dlsym (xtsol_handle,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1757
+									     "XTSOLgetResLabel");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1758
+	   libxtsol_XTSOLgetResUID = (xtsol_XTSOLgetResUID) dlsym (xtsol_handle,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1759
+									     "XTSOLgetResUID");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1760
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1761
+           if (libbsm_getdevicerange == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1762
+	       /*libtsol_stobsl == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1763
+               libtsol_bsltos == NULL || */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1764
+               libtsol_label_to_str == NULL || 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1765
+               libtsol_str_to_label == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1766
+               libtsol_m_label_free == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1767
+               libtsol_blminimum == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1768
+               libtsol_blmaximum == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1769
+               libtsol_blinrange == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1770
+               libtsol_getuserrange == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1771
+               libtsol_blabel_free  == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1772
+               /* libtsol_getdevicerange == NULL || 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1773
+               libtsol_blabel_alloc == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1774
+               libtsol_bsllow  == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1775
+               libtsol_bslhigh == NULL || */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1776
+               libxtsol_XTSOLgetClientLabel == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1777
+               libxtsol_XTSOLIsWindowTrusted == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1778
+	       libxtsol_XTSOLsetResLabel == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1779
+	       libxtsol_XTSOLsetResUID == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1780
+	       libxtsol_XTSOLgetResLabel == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1781
+	       libxtsol_XTSOLgetResUID == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1782
+	     {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1783
+               dlclose (tsol_handle);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1784
+               dlclose (xtsol_handle);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1785
+               tsol_handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1786
+               xtsol_handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1787
+            }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1788
+        }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1789
+	gnometsol_handle = dlopen_gnometsol ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1790
+	if (gnometsol_handle != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1791
+	  {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1792
+	    libgnome_tsol_constraint_image_render = (gnome_tsol_constraint_image_render) dlsym (gnometsol_handle, "gnome_tsol_constraint_image_render");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1793
+	    libgnome_tsol_constraint_image_set_border = (gnome_tsol_constraint_image_set_border) dlsym (gnometsol_handle, "gnome_tsol_constraint_image_set_border");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1794
+	    libgnome_tsol_constraint_image_set_stretch = (gnome_tsol_constraint_image_set_stretch) dlsym (gnometsol_handle, "gnome_tsol_constraint_image_set_stretch");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1795
+	    libgnome_tsol_constraint_image_colorize = (gnome_tsol_constraint_image_colorize) dlsym (gnometsol_handle, "gnome_tsol_constraint_image_colorize");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1796
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1797
+	    if (libgnome_tsol_constraint_image_render == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1798
+		libgnome_tsol_constraint_image_set_border == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1799
+		libgnome_tsol_constraint_image_set_stretch == NULL ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1800
+		libgnome_tsol_constraint_image_colorize == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1801
+		gnometsol_handle = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1802
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1803
+	  }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1804
+	
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1805
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1806
+    return ((tsol_handle != NULL) && (xtsol_handle != NULL) && (gnometsol_handle != NULL) && (bsm_handle != NULL));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1807
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1808
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1809
+static gboolean
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1810
+tsol_use_xtsol_extension ()
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1811
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1812
+  static int foundxtsol = -1;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1813
+  int major_code, first_event, first_error;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1814
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1815
+  if (foundxtsol < 0) { 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1816
+      foundxtsol = XQueryExtension (gdk_display, "SUN_TSOL", &major_code,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1817
+                                    &first_event, &first_error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1818
+  }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1819
+  return foundxtsol;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1820
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1821
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1822
+gboolean tsol_is_available ()
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1823
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1824
+  if (tsol_use_xtsol_extension () && tsol_use_trusted_extensions ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1825
+      return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1826
+  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1827
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1828
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1829
+MetaDrawOpList * tsol_theme_trusted_title_ops_get (MetaFrameFocus focus, MetaTheme *theme)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1830
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1831
+  static MetaDrawOpList *op_list = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1832
+  if (op_list == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1833
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1834
+      MetaDrawOp *op;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1835
+      GError	 **error = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1836
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1837
+      op_list = meta_draw_op_list_new (6);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1838
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1839
+      /* inspired from Bluecruve title_gradient draw_ops */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1840
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1841
+      /* background gradient */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1842
+      op = meta_draw_op_new (META_DRAW_GRADIENT);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1843
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1844
+      op->data.gradient.x = meta_draw_spec_new (theme, g_strdup ("left_width"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1845
+      op->data.gradient.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1846
+      op->data.gradient.width =   meta_draw_spec_new (theme, g_strdup ("width - (left_width + right_width)"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1847
+      op->data.gradient.height =  meta_draw_spec_new (theme, g_strdup ("height - 2"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1848
+      op->data.gradient.alpha_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1849
+      op->data.gradient.gradient_spec = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1850
+	meta_gradient_spec_new (meta_gradient_type_from_string ("vertical"));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1851
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1852
+      /* Similar to bluecurve Gradient */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1853
+      op->data.gradient.gradient_spec->color_specs = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1854
+	g_slist_append (op->data.gradient.gradient_spec->color_specs,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1855
+			meta_color_spec_new_from_string ("blend/gtk:light[NORMAL]/gtk:bg[NORMAL]/0.7", error));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1856
+      op->data.gradient.gradient_spec->color_specs = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1857
+	g_slist_append (op->data.gradient.gradient_spec->color_specs,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1858
+			meta_color_spec_new_from_string ("blend/gtk:light[NORMAL]/gtk:bg[NORMAL]/0.95", error));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1859
+      op->data.gradient.gradient_spec->color_specs = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1860
+	g_slist_append (op->data.gradient.gradient_spec->color_specs,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1861
+			meta_color_spec_new_from_string ("blend/gtk:light[NORMAL]/gtk:bg[NORMAL]/1.0", error));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1862
+      op->data.gradient.gradient_spec->color_specs = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1863
+	g_slist_append (op->data.gradient.gradient_spec->color_specs,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1864
+			meta_color_spec_new_from_string ("blend/gtk:light[NORMAL]/gtk:bg[NORMAL]/0.95", error));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1865
+      op->data.gradient.gradient_spec->color_specs = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1866
+	g_slist_append (op->data.gradient.gradient_spec->color_specs,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1867
+			meta_color_spec_new_from_string ("blend/gtk:light[NORMAL]/gtk:bg[NORMAL]/0.7", error));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1868
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1869
+      meta_draw_op_list_append (op_list, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1870
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1871
+      /* top shine first line */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1872
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1873
+      op = meta_draw_op_new (META_DRAW_GRADIENT);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1874
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1875
+      op->data.gradient.x =  meta_draw_spec_new (theme, g_strdup ("left_width"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1876
+      op->data.gradient.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1877
+      op->data.gradient.width =   meta_draw_spec_new (theme, g_strdup ("width - (left_width + right_width)"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1878
+      op->data.gradient.height =  meta_draw_spec_new (theme, g_strdup ("1"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1879
+      op->data.gradient.alpha_spec = meta_alpha_gradient_spec_new (META_GRADIENT_HORIZONTAL, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1880
+      op->data.image.alpha_spec->alphas[0] = (unsigned char) 255 * 0.2;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1881
+      op->data.gradient.gradient_spec = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1882
+	meta_gradient_spec_new (meta_gradient_type_from_string ("vertical"));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1883
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1884
+      op->data.gradient.gradient_spec->color_specs = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1885
+	g_slist_append (op->data.gradient.gradient_spec->color_specs,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1886
+			meta_color_spec_new_from_string ("shade/gtk:bg[NORMAL]/2.0", error));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1887
+      op->data.gradient.gradient_spec->color_specs = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1888
+	g_slist_append (op->data.gradient.gradient_spec->color_specs,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1889
+			meta_color_spec_new_from_string ("shade/gtk:bg[NORMAL]/1.7", error));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1890
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1891
+      meta_draw_op_list_append (op_list, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1892
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1893
+      /* top shine second line */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1894
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1895
+      op = meta_draw_op_new (META_DRAW_GRADIENT);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1896
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1897
+      op->data.gradient.x =  meta_draw_spec_new (theme, g_strdup ("left_width"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1898
+      op->data.gradient.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1899
+      op->data.gradient.width =   meta_draw_spec_new (theme, g_strdup ("width - (left_width + right_width)"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1900
+      op->data.gradient.height =  meta_draw_spec_new (theme, g_strdup ("1"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1901
+      op->data.gradient.alpha_spec = meta_alpha_gradient_spec_new (META_GRADIENT_HORIZONTAL, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1902
+      op->data.image.alpha_spec->alphas[0] = (unsigned char) 255 * 0.4;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1903
+      op->data.gradient.gradient_spec = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1904
+	meta_gradient_spec_new (meta_gradient_type_from_string ("vertical"));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1905
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1906
+      op->data.gradient.gradient_spec->color_specs = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1907
+	g_slist_append (op->data.gradient.gradient_spec->color_specs,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1908
+			meta_color_spec_new_from_string ("shade/gtk:bg[NORMAL]/2.0", error));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1909
+      op->data.gradient.gradient_spec->color_specs = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1910
+	g_slist_append (op->data.gradient.gradient_spec->color_specs,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1911
+			meta_color_spec_new_from_string ("shade/gtk:bg[NORMAL]/1.4", error));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1912
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1913
+      meta_draw_op_list_append (op_list, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1914
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1915
+      /* background alpha image */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1916
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1917
+      op = meta_draw_op_new (META_DRAW_IMAGE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1918
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1919
+      op->data.image.pixbuf = gdk_pixbuf_new_from_inline (-1, title_gradient, FALSE, error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1920
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1921
+      op->data.image.colorize_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1922
+      op->data.image.x =  meta_draw_spec_new (theme, g_strdup ("left_width"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1923
+      op->data.image.y =  meta_draw_spec_new (theme, g_strdup ("height - object_height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1924
+      op->data.image.width =  meta_draw_spec_new (theme, g_strdup ("width - (left_width + right_width)"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1925
+      op->data.image.height =  meta_draw_spec_new (theme, g_strdup ("object_height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1926
+      op->data.image.alpha_spec = meta_alpha_gradient_spec_new (META_GRADIENT_HORIZONTAL, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1927
+      op->data.image.alpha_spec->alphas[0] = (unsigned char) 255 * 0.2;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1928
+      op->data.image.colorize_spec = meta_color_spec_new_from_string ("shade/gtk:bg[NORMAL]/2.0", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1929
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1930
+      op->data.image.fill_type = meta_image_fill_type_from_string ("tile");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1931
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1932
+      meta_draw_op_list_append (op_list, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1933
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1934
+      op = meta_draw_op_new (META_DRAW_TITLE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1935
+      op->data.trusted_label.color_spec = meta_color_spec_new_from_string ("black", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1936
+      op->data.title.x =  meta_draw_spec_new (theme, g_strdup ("(width - title_width) / 2"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1937
+      op->data.title.y =  meta_draw_spec_new (theme, g_strdup ("(height - title_height) / 2"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1938
+      meta_draw_op_list_append (op_list, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1939
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1940
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1941
+  meta_draw_op_list_ref (op_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1942
+  return op_list;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1943
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1944
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1945
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1946
+/* create and return drawing ops for the window trusted label  */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1947
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1948
+MetaDrawOpList * tsol_theme_trusted_label_ops_get (MetaFrameFocus focus, MetaTheme *theme)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1949
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1950
+  static MetaDrawOpList *op_list_focus = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1951
+  static MetaDrawOpList *op_list_unfocused = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1952
+    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1953
+  if (focus == META_FRAME_FOCUS_YES)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1954
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1955
+      if (op_list_focus == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1956
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1957
+	  MetaDrawOp *op;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1958
+	  GError	 **error = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1959
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1960
+	  op_list_focus = meta_draw_op_list_new (5);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1961
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1962
+	  /* dimple center */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1963
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1964
+	  op = meta_draw_op_new (META_DRAW_IMAGE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1965
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1966
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1967
+	  op->data.image.pixbuf = gdk_pixbuf_new_from_inline (-1, title_center_dimple, FALSE, error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1968
+	  op->data.image.colorize_spec =  meta_color_spec_new_from_string ("label", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1969
+	  op->data.image.x =  meta_draw_spec_new (theme, g_strdup ("19"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1970
+	  op->data.image.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1971
+	  op->data.image.width =  meta_draw_spec_new (theme, g_strdup ("width - (19*2)"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1972
+	  op->data.image.height =  meta_draw_spec_new (theme, g_strdup ("height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1973
+	  op->data.image.alpha_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1974
+	  op->data.image.fill_type = META_IMAGE_FILL_SCALE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1975
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1976
+	  meta_draw_op_list_append (op_list_focus, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1977
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1978
+	  /* left dimple */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1979
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1980
+	  op = meta_draw_op_new (META_DRAW_IMAGE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1981
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1982
+	  op->data.image.pixbuf = gdk_pixbuf_new_from_inline (-1, title_left_dimple, FALSE, error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1983
+	  op->data.image.colorize_spec =  meta_color_spec_new_from_string ("label", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1984
+	  op->data.image.x =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1985
+	  op->data.image.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1986
+	  op->data.image.width =  meta_draw_spec_new (theme, g_strdup ("object_width"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1987
+	  op->data.image.height =  meta_draw_spec_new (theme, g_strdup ("height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1988
+	  op->data.image.alpha_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1989
+	  op->data.image.fill_type = META_IMAGE_FILL_SCALE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1990
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1991
+	  meta_draw_op_list_append (op_list_focus, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1992
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1993
+	  /* right dimple */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1994
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1995
+	  op = meta_draw_op_new (META_DRAW_IMAGE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1996
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1997
+	  op->data.image.pixbuf = gdk_pixbuf_new_from_inline (-1, title_right_dimple, FALSE, error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1998
+	  op->data.image.colorize_spec =  meta_color_spec_new_from_string ("label", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  1999
+	  op->data.image.x =  meta_draw_spec_new (theme, g_strdup ("width-(object_width+1)"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2000
+	  op->data.image.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2001
+	  op->data.image.width =  meta_draw_spec_new (theme, g_strdup ("object_width"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2002
+	  op->data.image.height =  meta_draw_spec_new (theme, g_strdup ("height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2003
+	  op->data.image.alpha_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2004
+	  op->data.image.fill_type = META_IMAGE_FILL_SCALE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2005
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2006
+	  meta_draw_op_list_append (op_list_focus, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2007
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2008
+	  /*Trusted Label */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2009
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2010
+	  op = meta_draw_op_new (META_DRAW_TRUSTED_LABEL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2011
+	  /* dummy value */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2012
+	  op->data.trusted_label.color_spec = meta_color_spec_new_from_string ("black", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2013
+	  op->data.title.x =  meta_draw_spec_new (theme, g_strdup ("10"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2014
+	  op->data.title.y =  meta_draw_spec_new (theme, g_strdup ("5"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2015
+	  meta_draw_op_list_append (op_list_focus, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2016
+     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2017
+	  /* shield icon */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2018
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2019
+	  op = meta_draw_op_new (META_DRAW_IMAGE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2020
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2021
+	  if (shield_pixbuf == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2022
+	    shield_pixbuf = gdk_pixbuf_new_from_inline (-1, shield, FALSE, error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2023
+	  op->data.image.pixbuf = shield_pixbuf;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2024
+	  op->data.image.colorize_spec = NULL; 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2025
+	  op->data.image.x =  meta_draw_spec_new (theme, g_strdup ("((width - trusted_label_width) / 2) - (trusted_label_height *3)"), NULL);  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2026
+	  op->data.image.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2027
+	  op->data.image.width =  meta_draw_spec_new (theme, g_strdup ("trusted_label_height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2028
+	  op->data.image.height =  meta_draw_spec_new (theme, g_strdup ("trusted_label_height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2029
+	  op->data.image.alpha_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2030
+	  op->data.image.fill_type = META_IMAGE_FILL_SCALE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2031
+	  meta_draw_op_list_append (op_list_focus, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2032
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2033
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2034
+      meta_draw_op_list_ref (op_list_focus);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2035
+      return op_list_focus;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2036
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2037
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2038
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2039
+      if (op_list_unfocused == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2040
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2041
+	  MetaDrawOp *op;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2042
+	  GError	 **error = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2043
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2044
+	  op_list_unfocused = meta_draw_op_list_new (5);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2045
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2046
+	  /* dimple center */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2047
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2048
+	  op = meta_draw_op_new (META_DRAW_IMAGE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2049
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2050
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2051
+	  op->data.image.pixbuf = gdk_pixbuf_new_from_inline (-1, title_center_dimple_unfocused, FALSE, error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2052
+	  op->data.image.colorize_spec =  meta_color_spec_new_from_string ("label", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2053
+	  op->data.image.x =  meta_draw_spec_new (theme, g_strdup ("19"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2054
+	  op->data.image.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2055
+	  op->data.image.width =  meta_draw_spec_new (theme, g_strdup ("width - (19*2)"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2056
+	  op->data.image.height =  meta_draw_spec_new (theme, g_strdup ("height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2057
+	  op->data.image.alpha_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2058
+	  op->data.image.fill_type = META_IMAGE_FILL_SCALE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2059
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2060
+	  meta_draw_op_list_append (op_list_unfocused, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2061
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2062
+	  /* left dimple */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2063
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2064
+	  op = meta_draw_op_new (META_DRAW_IMAGE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2065
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2066
+	  op->data.image.pixbuf = gdk_pixbuf_new_from_inline (-1, title_left_dimple_unfocused, FALSE, error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2067
+	  op->data.image.colorize_spec =  meta_color_spec_new_from_string ("label", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2068
+	  op->data.image.x =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2069
+	  op->data.image.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2070
+	  op->data.image.width =  meta_draw_spec_new (theme, g_strdup ("object_width"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2071
+	  op->data.image.height =  meta_draw_spec_new (theme, g_strdup ("height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2072
+	  op->data.image.alpha_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2073
+	  op->data.image.fill_type = META_IMAGE_FILL_SCALE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2074
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2075
+	  meta_draw_op_list_append (op_list_unfocused, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2076
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2077
+	  /* right dimple */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2078
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2079
+	  op = meta_draw_op_new (META_DRAW_IMAGE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2080
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2081
+	  op->data.image.pixbuf = gdk_pixbuf_new_from_inline (-1, title_right_dimple_unfocused, FALSE, error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2082
+	  op->data.image.colorize_spec =  meta_color_spec_new_from_string ("label", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2083
+	  op->data.image.x =  meta_draw_spec_new (theme, g_strdup ("width-(object_width+1)"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2084
+	  op->data.image.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2085
+	  op->data.image.width =  meta_draw_spec_new (theme, g_strdup ("object_width"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2086
+	  op->data.image.height =  meta_draw_spec_new (theme, g_strdup ("height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2087
+	  op->data.image.alpha_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2088
+	  op->data.image.fill_type = META_IMAGE_FILL_SCALE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2089
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2090
+	  meta_draw_op_list_append (op_list_unfocused, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2091
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2092
+	  /*Trusted Label */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2093
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2094
+	  op = meta_draw_op_new (META_DRAW_TRUSTED_LABEL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2095
+	  /* dummy value */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2096
+	  op->data.trusted_label.color_spec = meta_color_spec_new_from_string ("black", error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2097
+	  op->data.title.x =  meta_draw_spec_new (theme, g_strdup ("10"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2098
+	  op->data.title.y =  meta_draw_spec_new (theme, g_strdup ("5"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2099
+	  meta_draw_op_list_append (op_list_unfocused, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2100
+     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2101
+	  /* shield icon */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2102
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2103
+	  op = meta_draw_op_new (META_DRAW_IMAGE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2104
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2105
+	  if (shield_pixbuf == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2106
+	    shield_pixbuf = gdk_pixbuf_new_from_inline (-1, shield, FALSE, error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2107
+	  op->data.image.pixbuf = shield_pixbuf;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2108
+	  op->data.image.colorize_spec = NULL; 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2109
+	  op->data.image.x =  meta_draw_spec_new (theme, g_strdup ("((width - trusted_label_width) / 2) - (trusted_label_height *3)"), NULL);  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2110
+	  op->data.image.y =  meta_draw_spec_new (theme, g_strdup ("0"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2111
+	  op->data.image.width =  meta_draw_spec_new (theme, g_strdup ("trusted_label_height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2112
+	  op->data.image.height =  meta_draw_spec_new (theme, g_strdup ("trusted_label_height"), NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2113
+	  op->data.image.alpha_spec = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2114
+	  op->data.image.fill_type = META_IMAGE_FILL_SCALE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2115
+	  meta_draw_op_list_append (op_list_unfocused, op);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2116
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2117
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2118
+      meta_draw_op_list_ref (op_list_unfocused);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2119
+      return op_list_unfocused;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2120
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2121
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2122
+static gint
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2123
+trusted_label_string_compare (MetaTrustedLabel *tmp, char *searched_label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2124
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2125
+  return strcmp (searched_label, tmp->name);  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2126
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2127
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2128
+static char *
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2129
+get_window_label (Display *xdisplay, Window xwindow)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2130
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2131
+   m_label_t label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2132
+   int error;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2133
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2134
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2135
+      return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2136
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2137
+  if (libxtsol_XTSOLIsWindowTrusted (xdisplay, xwindow))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2138
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2139
+      /* SUN_BRANDING TJDS */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2140
+      return g_strdup (_("Trusted Path"));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2141
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2142
+  else if (libxtsol_XTSOLgetResLabel (xdisplay, xwindow, IsWindow, &label))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2143
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2144
+      char *string = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2145
+      libtsol_label_to_str (&label, &string, M_LABEL, DEF_NAMES, &error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2146
+      return string;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2147
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2148
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2149
+    return g_strdup ("didn't get the label\n");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2150
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2151
+static char *
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2152
+getlabelcolor(Display *xdisplay, Window xwindow)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2153
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2154
+#define DEFAULT_COLOR	"white"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2155
+  char *colorname;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2156
+  m_label_t label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2157
+  int error;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2158
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2159
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2160
+    return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2161
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2162
+  if (libxtsol_XTSOLgetResLabel (xdisplay, xwindow, IsWindow, &label))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2163
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2164
+      libtsol_label_to_str (&label, &colorname, M_COLOR, DEF_NAMES, &error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2165
+      if (colorname == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2166
+	return g_strdup(DEFAULT_COLOR);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2167
+      else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2168
+	return g_strdup(colorname);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2169
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2170
+  return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2171
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2172
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2173
+MetaTrustedLabel* tsol_xwindow_label_get (MetaDisplay *display, Window xwindow)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2174
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2175
+  MetaTrustedLabel *label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2176
+  GSList *stored_label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2177
+  char *label_name;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2178
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2179
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2180
+    return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2181
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2182
+  label_name = get_window_label (display->xdisplay, xwindow);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2183
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2184
+  /* Look if the label already exist */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2185
+   stored_label = g_slist_find_custom (display->labels, label_name, (GCompareFunc)trusted_label_string_compare);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2186
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2187
+  if (stored_label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2188
+    return (MetaTrustedLabel*) stored_label->data;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2189
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2190
+  /* create new MetaTrustedLabel */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2191
+  label = g_new0 (MetaTrustedLabel, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2192
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2193
+  label->name = label_name;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2194
+  /* Layout is initialized in meta_frame_style_draw */ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2195
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2196
+  label->color = meta_color_spec_new (META_COLOR_SPEC_BASIC);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2197
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2198
+  if (!gdk_color_parse ((const char*)getlabelcolor (display->xdisplay, xwindow), &label->color->data.basic.color))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2199
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2200
+      label->color->data.basic.color.red = 255 *255;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2201
+      label->color->data.basic.color.green = 255 *255;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2202
+      label->color->data.basic.color.blue = 255 *255;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2203
+      g_warning ("gdk_color_parse couldn't parse the label color\n");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2204
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2205
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2206
+  display->labels = g_slist_append (display->labels, label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2207
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2208
+  return label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2209
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2210
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2211
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2212
+MetaTrustedLabel* 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2213
+tsol_meta_window_label_get (MetaWindow  *window)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2214
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2215
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2216
+    return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2217
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2218
+  return tsol_xwindow_label_get (window->display, window->xwindow);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2219
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2220
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2221
+gboolean tsol_should_label_layout_be_black (MetaColorSpec *bkg)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2222
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2223
+  int ntsc;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2224
+  ntsc = ((bkg->data.basic.color.red) * .4450 +
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2225
+	   (bkg->data.basic.color.blue) * .030 +
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2226
+	   (bkg->data.basic.color.green) * .525);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2227
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2228
+  /* printf ("ntsc %d ->",ntsc); */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2229
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2230
+  if ((65535 - ntsc) < .61 * 65535)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2231
+    return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2232
+  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2233
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2234
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2235
+static Window
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2236
+get_window_at_pointer (Display *xdisplay)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2237
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2238
+  Window root;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2239
+  Window child;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2240
+  int rootx = -1, rooty = -1;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2241
+  int winx, winy;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2242
+  unsigned int xmask;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2243
+                                                                                
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2244
+  XQueryPointer (xdisplay, DefaultRootWindow (xdisplay),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2245
+                 &root, &child, &rootx, &rooty, &winx, &winy, &xmask);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2246
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2247
+  return child;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2248
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2249
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2250
+gboolean tsol_meta_screen_use_roles (MetaScreen *screen)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2251
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2252
+  char **role_list = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2253
+  int nb_roles;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2254
+  if (meta_prop_get_utf8_list (screen->display, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2255
+			       screen->xroot, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2256
+			       screen->display->atom__NET_DESKTOP_ROLES,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2257
+			       &role_list, &nb_roles))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2258
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2259
+      int i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2260
+      for (i=0;i<nb_roles;i++)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2261
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2262
+	  if (role_list[i] != NULL && strcmp (role_list[i], "") != 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2263
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2264
+	      g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2265
+	      return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2266
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2267
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2268
+      g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2269
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2270
+  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2271
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2272
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2273
+gboolean tsol_meta_workspace_has_role (MetaWorkspace *ws)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2274
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2275
+  char **role_list = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2276
+  int nb_roles;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2277
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2278
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2279
+    return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2280
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2281
+  if (meta_prop_get_utf8_list (ws->screen->display, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2282
+			       ws->screen->xroot, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2283
+			       ws->screen->display->atom__NET_DESKTOP_ROLES,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2284
+			       &role_list, &nb_roles))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2285
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2286
+      int ws_id = meta_workspace_index (ws);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2287
+      if (ws_id > nb_roles) /* something is wrong here we don't have the same number of roles/ws */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2288
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2289
+	  g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2290
+	  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2291
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2292
+      if (role_list[ws_id] != NULL && strcmp (role_list[ws_id], "") != 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2293
+	{	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2294
+	  struct passwd *pwd;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2295
+	  pwd = getpwuid (getuid ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2296
+	  if (strcmp (role_list[ws_id], pwd->pw_name) == 0) /* role is normal user */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2297
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2298
+	      g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2299
+	      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2300
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2301
+	  g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2302
+	  return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2303
+	}	
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2304
+      g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2305
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2306
+    return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2307
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2308
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2309
+char * tsol_meta_workspace_get_role (MetaWorkspace *ws)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2310
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2311
+  char **role_list = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2312
+  int nb_roles;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2313
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2314
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2315
+    return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2316
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2317
+  if (meta_prop_get_utf8_list (ws->screen->display, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2318
+			       ws->screen->xroot, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2319
+			       ws->screen->display->atom__NET_DESKTOP_ROLES,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2320
+			       &role_list, &nb_roles))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2321
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2322
+      int ws_id = meta_workspace_index (ws);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2323
+      if (ws_id > nb_roles) /* something is wrong here we don't have the same number of roles/ws */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2324
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2325
+	  g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2326
+	  return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2327
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2328
+      if (role_list[ws_id] != NULL && strcmp (role_list[ws_id], "") != 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2329
+	{	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2330
+	  char *return_role_name = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2331
+	  struct passwd *pwd;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2332
+	  pwd = getpwuid (getuid ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2333
+	  if (strcmp (role_list[ws_id], pwd->pw_name) == 0) /* role is normal user */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2334
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2335
+	      g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2336
+	      return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2337
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2338
+	  return_role_name = g_strdup (role_list[ws_id]);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2339
+	  g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2340
+	  return return_role_name;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2341
+	}	
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2342
+      g_strfreev (role_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2343
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2344
+    return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2345
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2346
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2347
+gboolean tsol_meta_window_can_move_to_workspace (MetaWindow *win,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2348
+					    MetaWorkspace *ws)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2349
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2350
+  if (tsol_meta_workspace_has_role (ws))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2351
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2352
+      MetaTrustedLabel * label = tsol_meta_window_label_get (win);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2353
+      /* SUN_BRANDING TJDS */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2354
+      if (strcmp (label->name, _("Trusted Path")) != 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2355
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2356
+	  g_warning ("window %s cannot be moved to workspace %s\n",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2357
+		     win->title, meta_workspace_get_name (ws));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2358
+	  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2359
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2360
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2361
+  return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2362
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2363
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2364
+gboolean tsol_xwindow_can_move_to_workspace (Display *xdisplay,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2365
+					Window xwin,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2366
+					int ws_index)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2367
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2368
+  MetaDisplay *display = meta_display_for_x_display (xdisplay);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2369
+  MetaWindow *window = meta_display_lookup_x_window (display, xwin);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2370
+  g_assert (window != NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2371
+  MetaWorkspace *workspace = meta_screen_get_workspace_by_index (window->screen, ws_index);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2372
+  if (tsol_meta_window_can_move_to_workspace (window, workspace))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2373
+    return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2374
+  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2375
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2376
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2377
+GList *tsol_add_all_sticky_non_tp_windows (MetaDisplay *display, GList *win_list)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2378
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2379
+  GList *return_list;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2380
+  GSList *all_windows;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2381
+  GSList *tmp;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2382
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2383
+  return_list = win_list;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2384
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2385
+  all_windows = meta_display_list_windows (display);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2386
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2387
+  tmp = all_windows;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2388
+  while (tmp != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2389
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2390
+      MetaWindow *window = tmp->data;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2391
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2392
+      if (window->on_all_workspaces && 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2393
+	  window->decorated && 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2394
+	  /* SUN_BRANDING TJDS */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2395
+	  strcmp (tsol_meta_window_label_get (window)->name, _("Trusted Path")) != 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2396
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2397
+	  return_list = g_list_prepend (return_list, window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2398
+        }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2399
+      tmp = tmp->next;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2400
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2401
+  return return_list;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2402
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2403
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2404
+void tsol_trusted_stripe_atom_update (MetaDisplay* display, MetaWindow *window)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2405
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2406
+  unsigned long data[2];
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2407
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2408
+  if (!tsol_is_available())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2409
+    return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2410
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2411
+  if (window == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2412
+    data[0] = get_window_at_pointer (display->xdisplay);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2413
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2414
+    data[0] = window->xwindow;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2415
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2416
+  data[1] = None;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2417
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2418
+  meta_error_trap_push (display);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2419
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2420
+  XChangeProperty (display->xdisplay, DefaultRootWindow (display->xdisplay),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2421
+                       display->atom__NET_TRUSTED_ACTIVE_WINDOW,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2422
+                       XA_WINDOW,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2423
+                       32, PropModeReplace, (guchar*) data, 2);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2424
+  meta_error_trap_pop (display, FALSE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2425
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2426
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2427
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2428
+/* Preference related code
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2429
+ * init labels and roles from metacity to root window */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2430
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2431
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2432
+const char * 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2433
+tsol_label_get_min ()
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2434
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2435
+    static char *min_label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2436
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2437
+    if (!min_label) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2438
+        min_label = (char *) getenv ("USER_MIN_SL");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2439
+    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2440
+    return min_label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2441
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2442
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2443
+const char*
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2444
+tsol_label_get_max ()
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2445
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2446
+    static char *max_label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2447
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2448
+    if (!max_label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2449
+        max_label = (char *) getenv ("USER_MAX_SL");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2450
+    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2451
+    return max_label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2452
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2453
+MetaTrustedLabel *
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2454
+tsol_workspace_get_label (MetaWorkspace *ws)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2455
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2456
+  int error;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2457
+  MetaTrustedLabel *label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2458
+  m_label_t *mlabel = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2459
+  GSList *stored_label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2460
+  GdkColor * color = g_new0 (GdkColor, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2461
+  const char *label_name = meta_prefs_get_workspace_label (meta_workspace_index (ws));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2462
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2463
+  /* Look if the label already exist */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2464
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2465
+  stored_label = g_slist_find_custom (ws->screen->display->labels, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2466
+				      label_name, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2467
+				      (GCompareFunc)trusted_label_string_compare);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2468
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2469
+  if (stored_label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2470
+    return (MetaTrustedLabel*) stored_label->data;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2471
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2472
+  /* create a new one otherwise */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2473
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2474
+  if (libtsol_str_to_label (label_name, &mlabel,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2475
+			    MAC_LABEL, L_NO_CORRECTION, &error) == 0) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2476
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2477
+      char *colorname = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2478
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2479
+      libtsol_label_to_str (mlabel, &colorname, M_COLOR, DEF_NAMES, &error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2480
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2481
+      #define DEFAULT_COLOR "white"	 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2482
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2483
+      if (colorname == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2484
+	colorname = g_strdup(DEFAULT_COLOR);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2485
+   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2486
+      label = g_new0 (MetaTrustedLabel, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2487
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2488
+      label->name = (char*)label_name;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2489
+      /* Layout is initialized in meta_frame_style_draw */ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2490
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2491
+      label->color = meta_color_spec_new (META_COLOR_SPEC_BASIC);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2492
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2493
+      if (!gdk_color_parse ((const char*)colorname, &label->color->data.basic.color))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2494
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2495
+	  label->color->data.basic.color.red = 255 *255;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2496
+	  label->color->data.basic.color.green = 255 *255;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2497
+	  label->color->data.basic.color.blue = 255 *255;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2498
+	  g_warning ("gdk_color_parse couldn't parse the label color\n");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2499
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2500
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2501
+      ws->screen->display->labels = g_slist_append (ws->screen->display->labels, label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2502
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2503
+      g_free (colorname);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2504
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2505
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2506
+  return label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2507
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2508
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2509
+void tsol_set_frame_label (Display* xdpy, Window xwin, Window xwin_frame)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2510
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2511
+  bslabel_t label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2512
+  uid_t uid;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2513
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2514
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2515
+    return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2516
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2517
+  if (libxtsol_XTSOLgetResLabel (xdpy, xwin, IsWindow, &label))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2518
+      libxtsol_XTSOLsetResLabel (xdpy, xwin_frame, IsWindow, &label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2519
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2520
+  if (libxtsol_XTSOLgetResUID (xdpy, xwin, IsWindow, &uid))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2521
+      libxtsol_XTSOLsetResUID (xdpy, xwin_frame, IsWindow, &uid);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2522
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2523
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2524
+gboolean 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2525
+tsol_label_is_in_user_range (const char * label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2526
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2527
+  static blrange_t *range = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2528
+  m_label_t *mlabel = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2529
+  int error;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2530
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2531
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2532
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2533
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2534
+  if (!range)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2535
+    { /* Get user label Range */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2536
+      char *min_label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2537
+      char *max_label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2538
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2539
+      range = g_malloc (sizeof (blrange_t));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2540
+      range->lower_bound = range->upper_bound = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2541
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2542
+      min_label = g_strdup (tsol_label_get_min ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2543
+      max_label = g_strdup (tsol_label_get_max ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2544
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2545
+      if (libtsol_str_to_label (min_label, &(range->lower_bound),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2546
+				MAC_LABEL, L_NO_CORRECTION, &error) < 0) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2547
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2548
+	  g_warning ("Couldn't determine minimum workspace label");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2549
+	  g_free (min_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2550
+	  g_free (max_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2551
+	  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2552
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2553
+      if (libtsol_str_to_label (max_label, &(range->upper_bound),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2554
+				USER_CLEAR, L_NO_CORRECTION, &error) < 0) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2555
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2556
+	  g_warning ("Couldn't determine workspace clearance");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2557
+	  g_free (min_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2558
+	  g_free (max_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2559
+	  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2560
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2561
+      g_free (min_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2562
+      g_free (max_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2563
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2564
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2565
+  if (libtsol_str_to_label (label, &mlabel, MAC_LABEL, L_NO_CORRECTION, &error) < 0) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2566
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2567
+      g_warning("Could not validate sensitivity label \"%s\"", label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2568
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2569
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2570
+    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2571
+  if (!libtsol_blinrange (mlabel, range)) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2572
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2573
+      libtsol_m_label_free (mlabel);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2574
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2575
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2576
+  libtsol_m_label_free (mlabel);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2577
+  return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2578
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2579
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2580
+/*
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2581
+ * These private (hint hint) functions assume that they have been called
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2582
+ * from within a trusted desktop session. The caller must ensure that
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2583
+ * this is the case otherwise it will trigger a load of the potentially
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2584
+ * non existant tsol and xtsol libs. That would be bad!
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2585
+ */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2586
+static blrange_t *
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2587
+get_display_range (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2588
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2589
+  blrange_t       *range = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2590
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2591
+  range = libbsm_getdevicerange ("framebuffer");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2592
+  if (range == NULL) {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2593
+    range = g_malloc (sizeof (blrange_t));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2594
+    range->lower_bound = libtsol_blabel_alloc ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2595
+    range->upper_bound = libtsol_blabel_alloc ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2596
+    libtsol_bsllow  (range->lower_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2597
+    libtsol_bslhigh (range->upper_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2598
+  }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2599
+  return (range);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2600
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2601
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2602
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2603
+/* tsol_label_is_in_role_range
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2604
+ *
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2605
+ * return FALSE if the label is not in the username role range 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2606
+ * not if the role exist and has a range it is returned via role_range
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2607
+ * Note if note NULL role_range needs to be freed
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2608
+ */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2609
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2610
+gboolean
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2611
+tsol_label_is_in_role_range (const char * label, const char * username, char *min_role_label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2612
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2613
+  /* partial copy of _wnck_workspace_update_role in libwnck */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2614
+  int           error;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2615
+  blrange_t     *role_range;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2616
+  blrange_t	*disp_range;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2617
+  m_label_t *mlabel = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2618
+  min_role_label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2619
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2620
+  /* validate the label passed */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2621
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2622
+  if (libtsol_str_to_label (label, &mlabel, MAC_LABEL, L_NO_CORRECTION, &error) < 0) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2623
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2624
+      g_warning("Could not validate sensitivity label \"%s\"", label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2625
+      g_free (role_range);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2626
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2627
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2628
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2629
+  /* 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2630
+   * This is a role workspace so we need to construct the correct label range
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2631
+   * instead of relying on USER_MIN_SL and USER_MAX_SL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2632
+   */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2633
+  if ((role_range = libtsol_getuserrange (username)) == NULL) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2634
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2635
+      g_warning ("Couldn't get label range for %s\n", username);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2636
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2637
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2638
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2639
+  /* Get display device's range */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2640
+  if ((disp_range = get_display_range ()) == NULL) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2641
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2642
+      g_warning ("Couldn't get the display's device range");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2643
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2644
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2645
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2646
+  /*
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2647
+   * Determine the low & high bound of the label range
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2648
+   * where the role user can operate. This is the
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2649
+   * intersection of display label range & role label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2650
+   * range.
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2651
+   */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2652
+  libtsol_blmaximum (role_range->lower_bound, disp_range->lower_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2653
+  libtsol_blminimum (role_range->upper_bound, disp_range->upper_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2654
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2655
+  libtsol_blabel_free (disp_range->lower_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2656
+  libtsol_blabel_free (disp_range->upper_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2657
+  g_free (disp_range);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2658
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2659
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2660
+  /* check if in range */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2661
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2662
+  if (!libtsol_blinrange (mlabel, role_range)) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2663
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2664
+      libtsol_m_label_free (mlabel);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2665
+      libtsol_label_to_str (role_range->lower_bound, &min_role_label, M_INTERNAL, DEF_NAMES, &error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2666
+      libtsol_blabel_free (role_range->lower_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2667
+      libtsol_blabel_free (role_range->upper_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2668
+      g_free (role_range);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2669
+      return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2670
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2671
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2672
+  libtsol_blabel_free (role_range->lower_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2673
+  libtsol_blabel_free (role_range->upper_bound);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2674
+  g_free (role_range);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2675
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2676
+  libtsol_m_label_free (mlabel);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2677
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2678
+  return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2679
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2680
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2681
+/* boolean is used to select between label or roles */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2682
+static void 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2683
+set_workspace_tsol_properties (MetaScreen *screen, gboolean label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2684
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2685
+  GString *flattened;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2686
+  int i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2687
+  int n_spaces;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2688
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2689
+  /* flatten to nul-separated list */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2690
+  n_spaces = meta_screen_get_n_workspaces (screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2691
+  flattened = g_string_new ("");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2692
+  i = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2693
+  while (i < n_spaces)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2694
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2695
+      const char *name;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2696
+	      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2697
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2698
+      if (label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2699
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2700
+	  name = meta_prefs_get_workspace_label (i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2701
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2702
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2703
+	  if (!tsol_meta_workspace_has_role (meta_screen_get_workspace_by_index (screen, i)))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2704
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2705
+	      /* default to min label range if the workspace label isn't defined */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2706
+	      /* printf ("set min label on a workspace (%d) that as a role !\n", i); */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2707
+	      if (name == NULL) 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2708
+		name = tsol_label_get_min ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2709
+	      if (!tsol_label_is_in_user_range (name))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2710
+		{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2711
+		  name = tsol_label_get_min ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2712
+		}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2713
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2714
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2715
+      else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2716
+	name = meta_prefs_get_workspace_role (i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2717
+	
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2718
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2719
+      if (name)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2720
+        g_string_append_len (flattened, name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2721
+                             strlen (name) + 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2722
+      else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2723
+        g_string_append_len (flattened, "", 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2724
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2725
+      ++i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2726
+     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2727
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2728
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2729
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2730
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2731
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2732
+  meta_error_trap_push (screen->display);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2733
+  XChangeProperty (screen->display->xdisplay,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2734
+                   screen->xroot,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2735
+                   label ? screen->display->atom__NET_DESKTOP_LABELS : screen->display->atom__NET_DESKTOP_ROLES,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2736
+		   screen->display->atom_UTF8_STRING,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2737
+                   8, PropModeReplace,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2738
+		   (const unsigned char *)flattened->str, flattened->len);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2739
+  meta_error_trap_pop (screen->display, FALSE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2740
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2741
+  g_string_free (flattened, TRUE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2742
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2743
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2744
+void 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2745
+tsol_workspace_labels_atom_set (MetaScreen *screen)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2746
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2747
+  /* This updates label names on root window when the pref changes,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2748
+   * note we only get prefs change notify if things have
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2749
+   * really changed.
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2750
+   */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2751
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2752
+    set_workspace_tsol_properties (screen, TRUE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2753
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2754
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2755
+void tsol_workspace_roles_atom_set (MetaScreen *screen)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2756
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2757
+  /* This updates roles names on root window when the pref changes,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2758
+   * note we only get prefs change notify if things have
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2759
+   * really changed.
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2760
+   */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2761
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2762
+    set_workspace_tsol_properties (screen, FALSE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2763
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2764
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2765
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2766
+void
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2767
+tsol_workspace_labels_gconf_update (MetaScreen *screen)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2768
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2769
+  char **names;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2770
+  int n_names;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2771
+  int i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2772
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2773
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2774
+    return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2775
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2776
+  /* this updates names in prefs when the root window property changes,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2777
+   * iff the new property contents don't match what's already in prefs
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2778
+   */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2779
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2780
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2781
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2782
+  names = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2783
+  n_names = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2784
+  if (!meta_prop_get_utf8_list (screen->display,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2785
+                                screen->xroot,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2786
+                                screen->display->atom__NET_DESKTOP_LABELS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2787
+                                &names, &n_names))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2788
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2789
+      meta_verbose ("Failed to get workspace label from root window %d\n",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2790
+                    screen->number);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2791
+      return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2792
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2793
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2794
+  i = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2795
+  while (i < n_names)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2796
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2797
+     /* Check if the label is in range if not set it to USER_MIN_SL 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2798
+      * NOTE : if USER_MIN_SL is not properly set you can have an infinite loop here */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2799
+      if (names[i] && !tsol_label_is_in_user_range (names[i]))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2800
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2801
+	  if (!tsol_meta_workspace_has_role (meta_screen_get_workspace_by_index (screen, i)))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2802
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2803
+	      g_free (names[i]);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2804
+	      names[i] = g_strdup (tsol_label_get_min ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2805
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2806
+	  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2807
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2808
+	      char *min_role_label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2809
+	      char *role = tsol_meta_workspace_get_role (meta_screen_get_workspace_by_index (screen, i));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2810
+	      if (!tsol_label_is_in_role_range (names[i], role, min_role_label))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2811
+		{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2812
+		  if (min_role_label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2813
+		      names[i] = min_role_label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2814
+		  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2815
+		      names[i] = g_strdup (tsol_label_get_min ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2816
+		}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2817
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2818
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2819
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2820
+      meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2821
+                  "Setting workspace label %d name to \"%s\" due to _NET_DESKTOP_LABELS change ROLE workspace :%s \n",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2822
+                  i, names[i] ? names[i] : "null",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2823
+		  tsol_meta_workspace_has_role (meta_screen_get_workspace_by_index (screen, i)) ? "TRUE" : "FALSE");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2824
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2825
+           
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2826
+           
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2827
+	
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2828
+      meta_prefs_change_workspace_label (i, names[i]);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2829
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2830
+      ++i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2831
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2832
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2833
+  g_strfreev (names);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2834
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2835
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2836
+void
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2837
+tsol_workspace_roles_gconf_update (MetaScreen *screen)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2838
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2839
+  char **names;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2840
+  int n_names;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2841
+  int i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2842
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2843
+  if (!tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2844
+    return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2845
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2846
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2847
+  /* this updates names in prefs when the root window property changes,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2848
+   * iff the new property contents don't match what's already in prefs
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2849
+   */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2850
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2851
+  names = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2852
+  n_names = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2853
+  if (!meta_prop_get_utf8_list (screen->display,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2854
+                                screen->xroot,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2855
+                                screen->display->atom__NET_DESKTOP_ROLES,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2856
+                                &names, &n_names))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2857
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2858
+      meta_verbose ("Failed to get workspace roles from root window %d\n",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2859
+                    screen->number);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2860
+      return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2861
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2862
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2863
+  i = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2864
+  while (i < n_names)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2865
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2866
+      meta_topic (META_DEBUG_PREFS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2867
+                  "Setting workspace roles %d name to \"%s\" due to _NET_DESKTOP_ROLES change\n",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2868
+                  i, names[i] ? names[i] : "null");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2869
+      meta_prefs_change_workspace_role (i, names[i]);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2870
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2871
+      ++i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2872
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2873
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2874
+  g_strfreev (names);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2875
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2876
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2877
+/* GFX part */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2878
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2879
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2880
+typedef struct _HighlightStripe HighlightStripe;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2881
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2882
+struct _HighlightStripe
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2883
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2884
+  ConstraintImage *image;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2885
+  char		  *name;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2886
+};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2887
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2888
+static gint
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2889
+label_string_compare (HighlightStripe *tmp, char *searched_label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2890
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2891
+  return strcmp (searched_label, tmp->name);  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2892
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2893
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2894
+ConstraintImage * 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2895
+tsol_get_highlight_stripe (char     *name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2896
+			    GdkColor *label_color)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2897
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2898
+  static GSList *hl_stripe_list = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2899
+  GSList *stored_hl_stripe = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2900
+  HighlightStripe *hl_stripe;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2901
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2902
+  if ((name == NULL) || (label_color == NULL))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2903
+    return NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2904
+    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2905
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2906
+  stored_hl_stripe = g_slist_find_custom (hl_stripe_list, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2907
+					  name, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2908
+					  (GCompareFunc)label_string_compare);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2909
+  if (stored_hl_stripe)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2910
+    return ((HighlightStripe* )stored_hl_stripe->data)->image;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2911
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2912
+  hl_stripe = g_new0 (HighlightStripe, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2913
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2914
+  hl_stripe->name = g_strdup (name);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2915
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2916
+  hl_stripe->image = g_new0 (ConstraintImage, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2917
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2918
+  hl_stripe->image->pixbuf = gdk_pixbuf_new_from_inline (-1, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2919
+							  tabpopup_highlight, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2920
+							  TRUE, NULL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2921
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2922
+  libgnome_tsol_constraint_image_set_border (hl_stripe->image, 8, 8, 3, 3);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2923
+  libgnome_tsol_constraint_image_set_stretch (hl_stripe->image, TRUE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2924
+  libgnome_tsol_constraint_image_colorize (hl_stripe->image, label_color, 255, TRUE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2925
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2926
+  hl_stripe_list = g_slist_append (hl_stripe_list, hl_stripe);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2927
+  return hl_stripe->image; 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2928
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2929
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2930
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2931
+#endif
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  2932
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/trusted.h metacity-2.27.1/src/core/trusted.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  2933
--- ../metacity-2.27.1/src/core/trusted.h	1970-01-01 01:00:00.000000000 +0100
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  2934
+++ metacity-2.27.1/src/core/trusted.h	2009-09-14 09:05:34.526276684 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2935
@@ -0,0 +1,206 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2936
+/* Metacity trusted */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2937
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2938
+/* 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2939
+ * Copyright (C) 2005 Erwann Chenede
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2940
+ */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2941
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2942
+#ifndef TRUSTED_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2943
+#define TRUSTED_H
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2944
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2945
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2946
+#include "frames.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2947
+#include "display.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2948
+#include "display-private.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2949
+#include "theme.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2950
+#include <gdk/gdkcolor.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2951
+#include <gtk/gtk.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2952
+#include "trusted-pics.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2953
+#include <X11/extensions/Xtsol.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2954
+#include <sys/tsol/label_macro.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2955
+/* #include "constraint-scaling.h" */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2956
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2957
+typedef struct _ConstraintImage ConstraintImage;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2958
+struct _ConstraintImage
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2959
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2960
+  gchar     *filename;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2961
+  GdkPixbuf *pixbuf;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2962
+  GdkPixbuf *scaled;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2963
+  gboolean   stretch;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2964
+  gint       border_left;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2965
+  gint       border_right;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2966
+  gint       border_bottom;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2967
+  gint       border_top;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2968
+  guint      hints[3][3];
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2969
+  gboolean   recolorable;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2970
+  GdkColor   colorize_color;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2971
+  gboolean   use_as_bkg_mask;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2972
+};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2973
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2974
+/* dlopened libtsol functions */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2975
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2976
+typedef int     (*tsol_label_to_str) (const m_label_t *label, char **string,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2977
+				      const m_label_str_t conversion_type, uint_t flags,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2978
+				      int *error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2979
+typedef int	(*tsol_str_to_label) (const char *string, m_label_t **label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2980
+				      const m_label_type_t label_type, uint_t flags,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2981
+				      int *error);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2982
+typedef void	(*tsol_m_label_free) (m_label_t *label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2983
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2984
+typedef blrange_t*  (*tsol_getuserrange) (const char *username);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2985
+typedef int	    (*tsol_blinrange)	 (const m_label_t *label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2986
+					  const blrange_t *range);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2987
+typedef void	    (*tsol_blminimum)	 (m_label_t *minimum_label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2988
+					  const m_label_t *bounding_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2989
+typedef void	    (*tsol_blmaximum)	 (m_label_t *maximum_label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2990
+					  const m_label_t *bounding_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2991
+typedef m_label_t*  (*tsol_blabel_alloc) (void);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2992
+typedef void	    (*tsol_blabel_free)  (m_label_t *label_p);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2993
+typedef void	    (*tsol_bsllow)	 (m_label_t *label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2994
+typedef void	    (*tsol_bslhigh)	 (m_label_t *label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2995
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2996
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2997
+typedef void  (*gnome_tsol_constraint_image_render) (ConstraintImage *cimage,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2998
+						     GdkWindow    *window,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  2999
+						     GdkBitmap    *mask,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3000
+						     GdkRectangle *clip_rect,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3001
+						     gboolean      center,		   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3002
+						     gint          x,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3003
+						     gint          y,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3004
+						     gint          width,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3005
+						     gint          height);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3006
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3007
+typedef void (*gnome_tsol_constraint_image_set_border) (ConstraintImage *pb,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3008
+							gint         left,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3009
+							gint         right,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3010
+							gint         top,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3011
+							gint         bottom);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3012
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3013
+typedef void (*gnome_tsol_constraint_image_set_stretch) (ConstraintImage *pb,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3014
+							 gboolean     stretch);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3015
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3016
+typedef void (*gnome_tsol_constraint_image_colorize) (ConstraintImage *image,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3017
+						      GdkColor  *color,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3018
+						      int	alpha,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3019
+						      gboolean   use_alpha);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3020
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3021
+/* dlopened libXtsol functions */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3022
+typedef Status	(*xtsol_XTSOLgetClientLabel) (Display *dpy, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3023
+					      XID xid,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3024
+					      bslabel_t *sl);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3025
+typedef Bool    (*xtsol_XTSOLIsWindowTrusted) (Display *dpy, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3026
+					       Window win);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3027
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3028
+typedef Status (*xtsol_XTSOLsetResLabel) (Display *dpy,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3029
+					  XID object,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3030
+					  ResourceType resourceFlag,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3031
+					  bslabel_t *sl);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3032
+typedef Status (*xtsol_XTSOLsetResUID) (Display *dpy,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3033
+					XID object,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3034
+					ResourceType resourceFlag,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3035
+					uid_t *uidp);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3036
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3037
+typedef Status (*xtsol_XTSOLgetResLabel) (Display *dpy,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3038
+					   XID object,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3039
+					   ResourceType resourceFlag,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3040
+					   bslabel_t *sl);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3041
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3042
+typedef Status (*xtsol_XTSOLgetResUID) (Display *dpy,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3043
+					XID object,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3044
+					ResourceType resourceFlag,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3045
+					uid_t *uidp);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3046
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3047
+/* libbsm provides getdevicerange(3TSOL) - don't believe the man page */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3048
+typedef blrange_t*      (*bsm_getdevicerange) (const char *device);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3049
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3050
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3051
+tsol_label_to_str	libtsol_label_to_str;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3052
+tsol_str_to_label	libtsol_str_to_label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3053
+tsol_m_label_free	libtsol_m_label_free;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3054
+tsol_blminimum		libtsol_blminimum;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3055
+tsol_blmaximum		libtsol_blmaximum;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3056
+tsol_blinrange		libtsol_blinrange;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3057
+tsol_getuserrange	libtsol_getuserrange;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3058
+tsol_blabel_alloc	libtsol_blabel_alloc;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3059
+tsol_blabel_free	libtsol_blabel_free;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3060
+tsol_bsllow		libtsol_bsllow;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3061
+tsol_bslhigh		libtsol_bslhigh;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3062
+/* libbsm functions */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3063
+bsm_getdevicerange      libbsm_getdevicerange;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3064
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3065
+gnome_tsol_constraint_image_render libgnome_tsol_constraint_image_render;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3066
+gnome_tsol_constraint_image_set_border libgnome_tsol_constraint_image_set_border;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3067
+gnome_tsol_constraint_image_set_stretch libgnome_tsol_constraint_image_set_stretch;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3068
+gnome_tsol_constraint_image_colorize libgnome_tsol_constraint_image_colorize;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3069
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3070
+xtsol_XTSOLgetClientLabel	libxtsol_XTSOLgetClientLabel;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3071
+xtsol_XTSOLIsWindowTrusted	libxtsol_XTSOLIsWindowTrusted;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3072
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3073
+xtsol_XTSOLsetResLabel		libxtsol_XTSOLsetResLabel;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3074
+xtsol_XTSOLgetResLabel		libxtsol_XTSOLgetResLabel;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3075
+xtsol_XTSOLsetResUID		libxtsol_XTSOLsetResUID;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3076
+xtsol_XTSOLgetResUID		libxtsol_XTSOLgetResUID;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3077
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3078
+gboolean tsol_is_available (void);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3079
+gboolean tsol_use_trusted_extensions (void);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3080
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3081
+/* metacity trusted functions */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3082
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3083
+struct _MetaTrustedLabel 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3084
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3085
+  char		*name;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3086
+  PangoLayout	*layout;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3087
+  MetaColorSpec *color;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3088
+};
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3089
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3090
+void		      tsol_trusted_stripe_atom_update (MetaDisplay *display, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3091
+						       MetaWindow  *window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3092
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3093
+MetaDrawOpList*	      tsol_theme_trusted_label_ops_get (MetaFrameFocus focus,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3094
+							MetaTheme *theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3095
+MetaDrawOpList*	      tsol_theme_trusted_title_ops_get (MetaFrameFocus focus,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3096
+							MetaTheme *theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3097
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3098
+MetaTrustedLabel*     tsol_meta_window_label_get (MetaWindow  *window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3099
+MetaTrustedLabel*     tsol_workspace_get_label (MetaWorkspace *ws);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3100
+MetaTrustedLabel*     tsol_xwindow_label_get (MetaDisplay *display, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3101
+					      Window	   xwindow);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3102
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3103
+gboolean tsol_should_label_layout_be_black (MetaColorSpec *bkg);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3104
+gboolean tsol_meta_workspace_has_role (MetaWorkspace *ws);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3105
+char * tsol_meta_workspace_get_role (MetaWorkspace *ws);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3106
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3107
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3108
+gboolean tsol_meta_window_can_move_to_workspace (MetaWindow    *win,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3109
+						 MetaWorkspace *ws);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3110
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3111
+gboolean tsol_xwindow_can_move_to_workspace (Display *display,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3112
+					     Window   xwin,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3113
+					     int      ws_index);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3114
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3115
+gboolean tsol_meta_screen_use_roles (MetaScreen *screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3116
+GList*	 tsol_add_all_sticky_non_tp_windows (MetaDisplay *display,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3117
+					     GList	 *win_list);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3118
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3119
+void tsol_workspace_labels_atom_set (MetaScreen *screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3120
+void tsol_workspace_roles_atom_set (MetaScreen *screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3121
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3122
+	
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3123
+void tsol_workspace_labels_gconf_update (MetaScreen *screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3124
+void tsol_workspace_roles_gconf_update (MetaScreen *screen);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3125
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3126
+gboolean	tsol_label_is_in_user_range (const char * label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3127
+const char     *tsol_label_get_min ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3128
+const char     *tsol_label_get_max ();
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3129
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3130
+gboolean tsol_label_is_in_role_range (const char * label, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3131
+				      const char * username, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3132
+				      char *min_role_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3133
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3134
+ConstraintImage * tsol_get_highlight_stripe (char     *name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3135
+					     GdkColor *label_color);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3136
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3137
+void tsol_set_frame_label (Display* xdpy, Window xwin, Window xwin_frame);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3138
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3139
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3140
+#endif /*HAVE_XTSOL*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3141
+#endif /*TRUSTED_H*/
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3142
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/window.c metacity-2.27.1/src/core/window.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3143
--- ../metacity-2.27.1/src/core/window.c	2009-09-14 09:05:19.279629271 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3144
+++ metacity-2.27.1/src/core/window.c	2009-09-14 09:05:34.528960194 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3145
@@ -45,6 +45,7 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3146
 #include "constraints.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3147
 #include "compositor.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3148
 #include "effects.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3149
+#include "frames.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3150
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3151
 #include <X11/Xatom.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3152
 #include <string.h>
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3153
@@ -759,6 +760,10 @@ meta_window_new_with_attrs (MetaDisplay 
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3154
   meta_stack_add (window->screen->stack, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3155
                   window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3156
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3157
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3158
+  if (window->decorated)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3159
+    meta_window_ensure_frame (window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3160
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3161
   /* Put our state back where it should be,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3162
    * passing TRUE for is_configure_request, ICCCM says
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3163
    * initial map is handled same as configure request
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3164
@@ -1325,6 +1330,17 @@ gboolean
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3165
 meta_window_located_on_workspace (MetaWindow    *window,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3166
                                   MetaWorkspace *workspace)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3167
 {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3168
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3169
+  if (tsol_meta_workspace_has_role (workspace))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3170
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3171
+      /* SUN_BRANDING TJDS */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3172
+      if (window->on_all_workspaces && window->decorated && strcmp (tsol_meta_window_label_get (window)->name, _("Trusted Path")) != 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3173
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3174
+	  /* printf ("meta_window_visible_on_workspace in ws role win (%s) is not TP\n", window->title); */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3175
+	  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3176
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3177
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3178
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3179
   return (window->on_all_workspaces && window->screen == workspace->screen) ||
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3180
     (window->workspace == workspace);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3181
 }
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3182
@@ -1764,7 +1780,12 @@ meta_window_queue (MetaWindow *window, g
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3183
               G_PRIORITY_DEFAULT_IDLE   /* UPDATE_ICON */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3184
             };
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3185
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3186
-          const GSourceFunc window_queue_idle_handler[NUMBER_OF_QUEUES] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3187
+	  /* removing the const definition as the trusted patch 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3188
+	   * includes this file in libmetacity_private. Which 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3189
+	   * cause linker errors due to 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3190
+	   * "relocations remain against allocatable but non-writable sections"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3191
+	   * Better solution welcome */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3192
+          GSourceFunc window_queue_idle_handler[NUMBER_OF_QUEUES] =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3193
             {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3194
               idle_calc_showing,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3195
               idle_move_resize,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3196
@@ -3274,8 +3295,14 @@ meta_window_move_resize_internal (MetaWi
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3197
               old_rect.x, old_rect.y, old_rect.width, old_rect.height);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3198
   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3199
   if (window->frame)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3200
-    meta_frame_calc_geometry (window->frame,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3201
-                              &fgeom);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3202
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3203
+      meta_frame_calc_geometry (window->frame,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3204
+				&fgeom);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3205
+#ifdef HAVE_XTSOL      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3206
+      if (tsol_is_available ()) /*Trusted Frame Layout Modification TFLM*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3207
+	fgeom.top_height += fgeom.top_height; 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3208
+#endif /* HAVE_XTSOL */      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3209
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3210
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3211
   new_rect.x = root_x_nw;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3212
   new_rect.y = root_y_nw;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3213
@@ -4206,6 +4233,11 @@ void
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3214
 meta_window_change_workspace (MetaWindow    *window,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3215
                               MetaWorkspace *workspace)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3216
 {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3217
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3218
+  if (!tsol_meta_window_can_move_to_workspace(window, workspace))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3219
+    return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3220
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3221
+    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3222
   meta_window_change_workspace_without_transients (window, workspace);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3223
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3224
   meta_window_foreach_transient (window, change_workspace_foreach,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3225
@@ -5334,16 +5366,17 @@ meta_window_notify_focus (MetaWindow *wi
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3226
               GList* link;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3227
               link = g_list_find (window->screen->active_workspace->mru_list, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3228
                                   window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3229
-              g_assert (link);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3230
-
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3231
-              window->screen->active_workspace->mru_list = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3232
-                g_list_remove_link (window->screen->active_workspace->mru_list,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3233
-                                    link);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3234
-              g_list_free (link);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3235
-
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3236
-              window->screen->active_workspace->mru_list = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3237
-                g_list_prepend (window->screen->active_workspace->mru_list, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3238
-                                window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3239
+ 	      if (link)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3240
+ 		{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3241
+ 		  window->screen->active_workspace->mru_list =
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3242
+ 		    g_list_remove_link (window->screen->active_workspace->mru_list,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3243
+ 					link);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3244
+ 		  g_list_free (link);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3245
+ 		  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3246
+ 		  window->screen->active_workspace->mru_list = 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3247
+ 		    g_list_prepend (window->screen->active_workspace->mru_list,                                 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3248
+ 				    window);		  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3249
+ 		}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3250
             }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3251
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3252
           if (window->frame)
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3253
@@ -6536,6 +6569,17 @@ meta_window_show_menu (MetaWindow *windo
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3254
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3255
   if (!window->on_all_workspaces)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3256
     {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3257
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3258
+       if (layout.current_col > 0 && tsol_meta_window_can_move_to_workspace (window, meta_workspace_get_neighbor (window->screen->active_workspace, META_MOTION_LEFT)))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3259
+         ops |= META_MENU_OP_MOVE_LEFT;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3260
+       if (layout.current_col < layout.cols - 1 && tsol_meta_window_can_move_to_workspace (window, meta_workspace_get_neighbor (window->screen->active_workspace, META_MOTION_RIGHT)))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3261
+         ops |= META_MENU_OP_MOVE_RIGHT;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3262
+       if (layout.current_row > 0 && tsol_meta_window_can_move_to_workspace (window, meta_workspace_get_neighbor (window->screen->active_workspace, META_MOTION_UP)))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3263
+         ops |= META_MENU_OP_MOVE_UP;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3264
+       if (layout.current_row < layout.rows - 1 && tsol_meta_window_can_move_to_workspace (window, meta_workspace_get_neighbor (window->screen->active_workspace, META_MOTION_DOWN)))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3265
+         ops |= META_MENU_OP_MOVE_DOWN;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3266
+#else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3267
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3268
       ltr = meta_ui_get_direction() == META_UI_DIRECTION_LTR;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3269
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3270
       if (layout.current_col > 0)
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3271
@@ -6548,6 +6592,7 @@ meta_window_show_menu (MetaWindow *windo
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3272
       if ((layout.current_row < layout.rows - 1) &&
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3273
           ((layout.current_row + 1) * layout.cols + layout.current_col < n_workspaces))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3274
         ops |= META_MENU_OP_MOVE_DOWN;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3275
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3276
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3277
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3278
   meta_screen_free_workspace_layout (&layout);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3279
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/core/workspace.c metacity-2.27.1/src/core/workspace.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3280
--- ../metacity-2.27.1/src/core/workspace.c	2009-09-14 09:05:19.272956814 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3281
+++ metacity-2.27.1/src/core/workspace.c	2009-09-14 09:05:34.529419808 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3282
@@ -120,6 +120,10 @@ meta_workspace_free (MetaWorkspace *work
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3283
    */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3284
   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3285
   tmp = workspace->windows;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3286
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3287
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3288
+    tmp = tsol_add_all_sticky_non_tp_windows (workspace->screen->display, tmp);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3289
+#endif /*HAVE_XTSOL*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3290
   while (tmp != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3291
     {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3292
       GList *next;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3293
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/include/prefs.h metacity-2.27.1/src/include/prefs.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3294
--- ../metacity-2.27.1/src/include/prefs.h	2009-09-14 09:05:19.284626019 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3295
+++ metacity-2.27.1/src/include/prefs.h	2009-09-14 09:06:26.278136474 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3296
@@ -31,6 +31,10 @@
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3297
 
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3298
 typedef enum
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3299
 {
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3300
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3301
+  META_PREF_WORKSPACE_LABELS,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3302
+  META_PREF_WORKSPACE_ROLES,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3303
+#endif /*HAVE_XTSOL*/
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3304
   META_PREF_MOUSE_BUTTON_MODS,
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3305
   META_PREF_FOCUS_MODE,
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3306
   META_PREF_FOCUS_NEW_WINDOWS,
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3307
@@ -117,6 +121,15 @@ int         meta_prefs_get_cursor_size  
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3308
 gboolean    meta_prefs_get_compositing_manager (void);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3309
 gboolean    meta_prefs_get_force_fullscreen  (void);
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3310
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3311
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3312
+const char* meta_prefs_get_workspace_label    (int         i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3313
+void        meta_prefs_change_workspace_label (int         i,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3314
+                                              const char *name);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3315
+const char* meta_prefs_get_workspace_role    (int         i);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3316
+void        meta_prefs_change_workspace_role (int         i,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3317
+                                              const char *name);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3318
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3319
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3320
 /**
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3321
  * Sets whether the compositor is turned on.
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3322
  *
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3323
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/include/ui.h metacity-2.27.1/src/include/ui.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3324
--- ../metacity-2.27.1/src/include/ui.h	2009-09-14 09:05:19.285511276 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3325
+++ metacity-2.27.1/src/include/ui.h	2009-09-14 09:05:34.530226877 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3326
@@ -204,6 +205,12 @@ MetaUIDirection meta_ui_get_direction (v
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3327
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3328
 GdkPixbuf *meta_ui_get_pixbuf_from_pixmap (Pixmap   pmap);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3329
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3330
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3331
+void    meta_ui_set_frame_label  (MetaUI           *ui,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3332
+                                  Window            xwindow,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3333
+                                  MetaTrustedLabel *label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3334
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3335
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3336
 #include "tabpopup.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3337
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3338
 #endif
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3339
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/include/window.h metacity-2.27.1/src/include/window.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3340
--- ../metacity-2.27.1/src/include/window.h	2009-09-14 09:05:19.285454771 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3341
+++ metacity-2.27.1/src/include/window.h	2009-09-14 09:05:34.530426272 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3342
@@ -27,6 +27,8 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3343
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3344
 #include "boxes.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3345
 #include "types.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3346
+#include <pango/pango.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3347
+#include "theme.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3348
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3349
 MetaFrame *meta_window_get_frame (MetaWindow *window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3350
 gboolean meta_window_has_focus (MetaWindow *window);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3351
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/ui/frames.c metacity-2.27.1/src/ui/frames.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3352
--- ../metacity-2.27.1/src/ui/frames.c	2009-09-14 09:05:19.282740664 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3353
+++ metacity-2.27.1/src/ui/frames.c	2009-09-14 09:05:34.531413653 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3354
@@ -606,7 +606,7 @@ meta_frames_manage_window (MetaFrames *f
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3355
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3356
   g_assert (window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3357
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3358
-  frame = g_new (MetaUIFrame, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3359
+  frame = g_new0 (MetaUIFrame, 1);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3360
   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3361
   frame->window = window;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3362
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3363
@@ -2491,7 +2491,14 @@ meta_frames_paint_to_drawable (MetaFrame
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3364
       /* Punch out the client area */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3365
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3366
       area.x = left;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3367
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3368
+      if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3369
+	area.y = top + top; /*Trusted Frame Layout Modification TFLM*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3370
+      else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3371
+	area.y = top;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3372
+#else  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3373
       area.y = top;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3374
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3375
       area.width = w;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3376
       area.height = h;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3377
       tmp_region = gdk_region_rectangle (&area);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3378
@@ -2537,7 +2544,11 @@ meta_frames_paint_to_drawable (MetaFrame
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3379
             frame->text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3380
             &button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3381
             button_states,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3382
-            mini_icon, icon);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3383
+            mini_icon, icon
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3384
+#ifdef HAVE_XTSOL			     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3385
+	    ,frame->label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3386
+#endif				    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3387
+	    );
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3388
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3389
           gdk_window_end_paint (drawable);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3390
         }
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3391
@@ -2563,7 +2574,11 @@ meta_frames_paint_to_drawable (MetaFrame
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3392
                                         frame->text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3393
                                         &button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3394
                                         button_states,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3395
-                                        mini_icon, icon);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3396
+                                        mini_icon, icon
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3397
+#ifdef HAVE_XTSOL			     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3398
+					,frame->label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3399
+#endif					
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3400
+					);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3401
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3402
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3403
 }
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3404
@@ -2937,3 +2952,26 @@ invalidate_whole_window (MetaFrames *fra
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3405
   gdk_window_invalidate_rect (frame->window, NULL, FALSE);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3406
   invalidate_cache (frames, frame);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3407
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3408
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3409
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3410
+void
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3411
+meta_frames_set_label (MetaFrames *frames,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3412
+                       Window      xwindow,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3413
+                       MetaTrustedLabel *label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3414
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3415
+  GtkWidget *widget;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3416
+  MetaUIFrame *frame;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3417
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3418
+  widget = GTK_WIDGET (frames);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3419
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3420
+  frame = meta_frames_lookup_window (frames, xwindow);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3421
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3422
+  g_assert (frame);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3423
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3424
+  if (frame->label != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3425
+    g_warning ("label should be null");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3426
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3427
+  frame->label = label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3428
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3429
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3430
+
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3431
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/ui/frames.h metacity-2.27.1/src/ui/frames.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3432
--- ../metacity-2.27.1/src/ui/frames.h	2009-09-14 09:05:19.281220132 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3433
+++ metacity-2.27.1/src/ui/frames.h	2009-09-14 09:05:34.531705969 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3434
@@ -28,6 +28,9 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3435
 #include <gdk/gdkx.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3436
 #include "common.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3437
 #include "theme.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3438
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3439
+#include "trusted.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3440
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3441
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3442
 typedef enum
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3443
 {
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3444
@@ -77,6 +80,9 @@ struct _MetaUIFrame
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3445
   GdkWindow *window;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3446
   GtkStyle *style;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3447
   MetaFrameStyle *cache_style;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3448
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3449
+  MetaTrustedLabel *label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3450
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3451
   PangoLayout *layout;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3452
   int text_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3453
   char *title; /* NULL once we have a layout */
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3454
@@ -160,4 +166,9 @@ Window meta_frames_get_moving_frame (Met
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3455
 void meta_frames_push_delay_exposes (MetaFrames *frames);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3456
 void meta_frames_pop_delay_exposes  (MetaFrames *frames);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3457
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3458
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3459
+void meta_frames_set_label (MetaFrames	     *frames, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3460
+			    Window	      xwindow,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3461
+			    MetaTrustedLabel *label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3462
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3463
 #endif
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3464
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/ui/preview-widget.c metacity-2.27.1/src/ui/preview-widget.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3465
--- ../metacity-2.27.1/src/ui/preview-widget.c	2009-09-14 09:05:19.282363565 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3466
+++ metacity-2.27.1/src/ui/preview-widget.c	2009-09-14 09:05:34.532049000 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3467
@@ -25,6 +25,7 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3468
 #define _XOPEN_SOURCE 600 /* for the maths routines over floats */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3469
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3470
 #include <math.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3471
+#include <config.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3472
 #include <gtk/gtk.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3473
 #include "preview-widget.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3474
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3475
@@ -262,7 +263,13 @@ meta_preview_expose (GtkWidget      *wid
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3476
                              &preview->button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3477
                              button_states,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3478
                              meta_preview_get_mini_icon (),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3479
-                             meta_preview_get_icon ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3480
+                             meta_preview_get_icon ()
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3481
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3482
+#ifdef HAVE_XTSOL                           
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3483
+                            ,NULL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3484
+#endif                      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3485
+#endif                      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3486
+                              );
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3487
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3488
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3489
   /* draw child */
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3490
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/ui/tabpopup.c metacity-2.27.1/src/ui/tabpopup.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3491
--- ../metacity-2.27.1/src/ui/tabpopup.c	2009-09-14 09:05:19.282510314 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3492
+++ metacity-2.27.1/src/ui/tabpopup.c	2009-09-14 09:05:34.532552518 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3493
@@ -35,6 +35,10 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3494
 #include "draw-workspace.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3495
 #include <gtk/gtk.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3496
 #include <math.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3497
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3498
+#include "trusted.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3499
+#include "../core/display-private.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3500
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3501
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3502
 #define OUTSIDE_SELECT_RECT 2
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3503
 #define INSIDE_SELECT_RECT 2
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3504
@@ -103,6 +107,65 @@ outline_window_expose (GtkWidget      *w
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3505
   return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3506
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3507
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3508
+#ifdef HAVE_XTSOL 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3509
+static gboolean should_label_layout_be_black (GdkColor *color)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3510
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3511
+  int ntsc;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3512
+  ntsc = ((color->red) * .4450 +
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3513
+	   (color->blue) * .030 +
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3514
+	   (color->green) * .525);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3515
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3516
+  if ((65535 - ntsc) < .61 * 65535)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3517
+      return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3518
+  return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3519
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3520
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3521
+static gboolean
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3522
+tsol_tab_label_expose_event (GtkWidget      *widget,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3523
+			     GdkEventExpose *event,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3524
+			     gpointer        data)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3525
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3526
+  MetaTabPopup *popup;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3527
+  int w, h;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3528
+  TabEntry *te;  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3529
+  ConstraintImage *cimage;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3530
+  MetaTrustedLabel *tlabel;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3531
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3532
+  popup = data;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3533
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3534
+  if (popup->current_selected_entry == NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3535
+    return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3536
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3537
+  te = popup->current_selected_entry;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3538
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3539
+  if (popup->outline)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3540
+    tlabel = tsol_xwindow_label_get (meta_display_for_x_display (gdk_display), (Window) te->key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3541
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3542
+    tlabel = tsol_workspace_get_label ((MetaWorkspace *) te->key);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3543
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3544
+  if (should_label_layout_be_black (&tlabel->color->data.basic.color))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3545
+    gtk_widget_modify_fg (widget, GTK_STATE_NORMAL, &widget->style->black);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3546
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3547
+    gtk_widget_modify_fg (widget, GTK_STATE_NORMAL, &widget->style->white);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3548
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3549
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3550
+  cimage = tsol_get_highlight_stripe (tlabel->name, &tlabel->color->data.basic.color);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3551
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3552
+  if (cimage)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3553
+    libgnome_tsol_constraint_image_render (cimage, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3554
+					   widget->window,    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3555
+					   NULL, &event->area,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3556
+					   FALSE,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3557
+					   event->area.x,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3558
+					   event->area.y,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3559
+					   event->area.width,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3560
+					   event->area.height);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3561
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3562
+   return FALSE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3563
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3564
+#endif /* HAVE_XTSOL */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3565
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3566
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3567
 static GdkPixbuf*
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3568
 dimm_icon (GdkPixbuf *pixbuf)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3569
 {
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3570
@@ -303,6 +366,13 @@ meta_ui_tab_popup_new (const MetaTabEntr
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3571
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3572
   gtk_box_pack_end (GTK_BOX (vbox), popup->label, FALSE, FALSE, 0);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3573
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3574
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3575
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3576
+    g_signal_connect (G_OBJECT (popup->label), "expose_event",
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3577
+		      G_CALLBACK (tsol_tab_label_expose_event),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3578
+		      popup);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3579
+#endif /*HAVE_XTSOL */  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3580
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3581
   max_label_width = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3582
   top = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3583
   bottom = 1;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3584
@@ -943,6 +1013,34 @@ meta_select_workspace_expose_event (GtkW
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3585
         }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3586
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3587
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3588
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3589
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3590
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3591
+      GdkGC *tmp_gc = gdk_gc_new (widget->window);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3592
+      MetaTrustedLabel *label = tsol_workspace_get_label (workspace);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3593
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3594
+      gdk_gc_set_rgb_fg_color (tmp_gc, &label->color->data.basic.color);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3595
+     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3596
+      gdk_draw_rectangle (widget->window,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3597
+			  tmp_gc,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3598
+			  TRUE,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3599
+			  widget->allocation.width / 3,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3600
+			  0,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3601
+			  widget->allocation.width / 3,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3602
+			  4);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3603
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3604
+      g_object_unref (tmp_gc);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3605
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3606
+      gdk_draw_rectangle (widget->window,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3607
+			  widget->style->black_gc,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3608
+			  FALSE,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3609
+			  widget->allocation.width / 3,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3610
+			  0,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3611
+			  widget->allocation.width / 3,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3612
+			  4);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3613
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3614
+#endif /*HAVE_XTSOL*/  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3615
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3616
   return TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3617
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3618
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3619
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/ui/theme-viewer.c metacity-2.27.1/src/ui/theme-viewer.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3620
--- ../metacity-2.27.1/src/ui/theme-viewer.c	2009-09-14 09:05:19.282935189 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3621
+++ metacity-2.27.1/src/ui/theme-viewer.c	2009-09-14 09:05:34.533018972 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3622
@@ -1009,7 +1009,11 @@ run_theme_benchmark (void)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3623
                              &button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3624
                              button_states,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3625
                              meta_preview_get_mini_icon (),
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3626
-                             meta_preview_get_icon ());
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3627
+                             meta_preview_get_icon ()
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3628
+#ifdef HAVE_XTSOL			     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3629
+			     ,NULL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3630
+#endif			     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3631
+			    );
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3632
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3633
       g_object_unref (G_OBJECT (pixmap));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3634
       
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3635
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/ui/theme.c metacity-2.27.1/src/ui/theme.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3636
--- ../metacity-2.27.1/src/ui/theme.c	2009-09-14 09:05:19.281164238 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3637
+++ metacity-2.27.1/src/ui/theme.c	2009-09-14 09:05:34.535572803 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3638
@@ -61,6 +61,11 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3639
 #include <string.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3640
 #include <stdlib.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3641
 #include <math.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3642
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3643
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3644
+#include "trusted.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3645
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3646
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3647
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3648
 #define GDK_COLOR_RGBA(color)                                           \
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3649
                          ((guint32) (0xff                         |     \
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3650
@@ -622,7 +627,12 @@ meta_frame_layout_calc_geometry (const M
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3651
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3652
   fgeom->width = width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3653
   fgeom->height = height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3654
-
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3655
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3656
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3657
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3658
+    fgeom->height = height + fgeom->top_height; /*Trusted Frame Layout Modification TFLM*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3659
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3660
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3661
   fgeom->top_titlebar_edge = layout->title_border.top;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3662
   fgeom->bottom_titlebar_edge = layout->title_border.bottom;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3663
   fgeom->left_titlebar_edge = layout->left_titlebar_edge;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3664
@@ -1064,7 +1074,13 @@ meta_color_spec_new (MetaColorSpecType t
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3665
     case META_COLOR_SPEC_BASIC:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3666
       size += sizeof (dummy.data.basic);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3667
       break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3668
-
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3669
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3670
+#ifdef HAVE_XTSOL    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3671
+    case META_COLOR_SPEC_LABEL:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3672
+      size += sizeof (dummy.data.label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3673
+      break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3674
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3675
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3676
     case META_COLOR_SPEC_GTK:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3677
       size += sizeof (dummy.data.gtk);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3678
       break;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3679
@@ -1095,7 +1111,13 @@ meta_color_spec_free (MetaColorSpec *spe
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3680
     case META_COLOR_SPEC_BASIC:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3681
       DEBUG_FILL_STRUCT (&spec->data.basic);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3682
       break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3683
-
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3684
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3685
+#ifdef HAVE_XTSOL      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3686
+    case META_COLOR_SPEC_LABEL:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3687
+      DEBUG_FILL_STRUCT (&spec->data.label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3688
+      break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3689
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3690
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3691
     case META_COLOR_SPEC_GTK:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3692
       DEBUG_FILL_STRUCT (&spec->data.gtk);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3693
       break;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3694
@@ -1194,6 +1216,16 @@ meta_color_spec_new_from_string (const c
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3695
       g_assert (spec->data.gtk.state < N_GTK_STATES);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3696
       g_assert (spec->data.gtk.component < META_GTK_COLOR_LAST);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3697
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3698
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3699
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3700
+  else if (str[0] == 'l' && str[1] == 'a' && str[2] == 'b' && str[3] == 'e' &&
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3701
+           str[4] == 'l')
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3702
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3703
+      spec = meta_color_spec_new (META_COLOR_SPEC_LABEL);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3704
+      spec->data.label.dummy = TRUE;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3705
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3706
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3707
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3708
   else if (str[0] == 'b' && str[1] == 'l' && str[2] == 'e' && str[3] == 'n' &&
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3709
            str[4] == 'd' && str[5] == '/')
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3710
     {
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3711
@@ -1369,7 +1401,21 @@ meta_color_spec_render (MetaColorSpec *s
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3712
     case META_COLOR_SPEC_BASIC:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3713
       *color = spec->data.basic.color;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3714
       break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3715
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3716
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3717
+    case META_COLOR_SPEC_LABEL:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3718
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3719
+	  MetaTrustedLabel *label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3720
+	  label = (MetaTrustedLabel *)g_object_get_data (G_OBJECT (widget), "trusted_label");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3721
+	  if (label != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3722
+	    *color = label->color->data.basic.color;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3723
+	  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3724
+	    g_warning ("trusted_label property isn't set for the widget");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3725
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3726
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3727
+      break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3728
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3729
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3730
     case META_COLOR_SPEC_GTK:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3731
       switch (spec->data.gtk.component)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3732
         {
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3733
@@ -2188,6 +2234,14 @@ pos_eval_get_variable (PosToken         
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3734
         *result = env->title_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3735
       else if (t->d.v.name_quark == env->theme->quark_title_height)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3736
         *result = env->title_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3737
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3738
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3739
+      else if (t->d.v.name_quark == env->theme->quark_trusted_label_width)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3740
+        *result = env->trusted_label_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3741
+      else if (t->d.v.name_quark == env->theme->quark_trusted_label_height)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3742
+        *result = env->trusted_label_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3743
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3744
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3745
       else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3746
         {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3747
           g_set_error (err, META_THEME_ERROR,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3748
@@ -2229,6 +2283,14 @@ pos_eval_get_variable (PosToken         
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3749
         *result = env->title_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3750
       else if (strcmp (t->d.v.name, "title_height") == 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3751
         *result = env->title_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3752
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3753
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3754
+      else if (strcmp (t->d.v.name, "trusted_label_width") == 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3755
+        *result = env->trusted_label_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3756
+      else if (strcmp (t->d.v.name, "trusted_label_height") == 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3757
+        *result = env->trusted_label_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3758
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3759
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3760
       else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3761
         {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3762
           g_set_error (err, META_THEME_ERROR,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3763
@@ -2742,6 +2804,13 @@ meta_draw_op_new (MetaDrawType type)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3764
     case META_DRAW_TILE:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3765
       size += sizeof (dummy.data.tile);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3766
       break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3767
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3768
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3769
+    case META_DRAW_TRUSTED_LABEL:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3770
+      size += sizeof (dummy.data.trusted_label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3771
+      break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3772
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3773
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3774
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3775
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3776
   op = g_malloc0 (size);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3777
@@ -2901,6 +2970,16 @@ meta_draw_op_free (MetaDrawOp *op)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3778
       meta_draw_spec_free (op->data.tile.tile_width);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3779
       meta_draw_spec_free (op->data.tile.tile_height);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3780
       break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3781
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3782
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3783
+    case META_DRAW_TRUSTED_LABEL:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3784
+      if (op->data.trusted_label.color_spec)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3785
+        meta_color_spec_free (op->data.trusted_label.color_spec);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3786
+      g_free (op->data.trusted_label.x);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3787
+      g_free (op->data.trusted_label.y);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3788
+      break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3789
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3790
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3791
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3792
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3793
   g_free (op);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3794
@@ -3416,6 +3495,12 @@ draw_op_as_pixbuf (const MetaDrawOp    *
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3795
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3796
     case META_DRAW_TILE:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3797
       break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3798
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3799
+#ifdef HAVE_XTSOL      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3800
+    case META_DRAW_TRUSTED_LABEL:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3801
+      break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3802
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3803
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3804
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3805
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3806
   return pixbuf;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3807
@@ -3453,6 +3538,25 @@ fill_env (MetaPositionExprEnv *env,
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3808
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3809
   env->title_width = info->title_layout_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3810
   env->title_height = info->title_layout_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3811
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3812
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3813
+  if (info->label && info->label->layout)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3814
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3815
+      PangoRectangle extents;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3816
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3817
+      pango_layout_get_pixel_extents (info->label->layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3818
+				      NULL, &extents);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3819
+  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3820
+      env->trusted_label_width =  extents.width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3821
+      env->trusted_label_height = extents.height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3822
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3823
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3824
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3825
+      env->trusted_label_width = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3826
+      env->trusted_label_height = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3827
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3828
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3829
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3830
   env->theme = meta_current_theme;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3831
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3832
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3833
@@ -3637,6 +3741,17 @@ meta_draw_op_draw_with_env (const MetaDr
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3834
           {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3835
             env->object_width = gdk_pixbuf_get_width (op->data.image.pixbuf);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3836
             env->object_height = gdk_pixbuf_get_height (op->data.image.pixbuf);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3837
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3838
+#ifdef HAVE_XTSOL	    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3839
+	    /* Hack to display shield icon conditionally  */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3840
+	    if (op->data.image.pixbuf == shield_pixbuf)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3841
+	      {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3842
+		/* SUN_BRANDING TJDS */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3843
+		if (strcmp (info->label->name, _("Trusted Path")) != 0)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3844
+		  return;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3845
+	      }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3846
+#endif	    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3847
+#endif	    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3848
           }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3849
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3850
         rwidth = parse_size_unchecked (op->data.image.width, env);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3851
@@ -3823,6 +3938,54 @@ meta_draw_op_draw_with_env (const MetaDr
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3852
           }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3853
       }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3854
       break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3855
+      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3856
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3857
+#ifdef HAVE_XTSOL      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3858
+    case META_DRAW_TRUSTED_LABEL:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3859
+      if (info->title_layout)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3860
+        {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3861
+          int rx, ry;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3862
+	  int text_w, text_h;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3863
+	  static MetaColorSpec *black = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3864
+	  static MetaColorSpec *white = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3865
+	  MetaColorSpec *color;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3866
+	  gboolean black_text = tsol_should_label_layout_be_black (info->label->color);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3867
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3868
+	  if (!black)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3869
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3870
+	      black = meta_color_spec_new (META_COLOR_SPEC_BASIC);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3871
+	      white = meta_color_spec_new (META_COLOR_SPEC_BASIC);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3872
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3873
+	      gdk_color_parse ("black", &black->data.basic.color);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3874
+	      gdk_color_parse ("white", &white->data.basic.color);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3875
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3876
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3877
+	  if (black_text)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3878
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3879
+	      color = black;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3880
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3881
+	  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3882
+	    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3883
+	      color = white;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3884
+	    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3885
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3886
+	  pango_layout_get_pixel_size (info->label->layout,&text_w, &text_h);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3887
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3888
+	  rx = ((rect.width - text_w) / 2 ) + rect.x;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3889
+	  ry = ((rect.height - text_h) / 2 ) + rect.y;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3890
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3891
+	  gc = get_gc_for_primitive (widget, drawable, color, clip, 0);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3892
+	  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3893
+          gdk_draw_layout (drawable, gc,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3894
+                           rx, ry,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3895
+                           info->label->layout);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3896
+          
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3897
+	  g_object_unref (G_OBJECT (gc));
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3898
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3899
+        }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3900
+      break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3901
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3902
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3903
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3904
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3905
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3906
@@ -4302,6 +4465,11 @@ meta_frame_style_draw_with_style (MetaFr
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3907
                                   int                      client_width,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3908
                                   int                      client_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3909
                                   PangoLayout             *title_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3910
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3911
+#ifdef HAVE_XTSOL			    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3912
+				       MetaTrustedLabel	    *label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3913
+#endif			    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3914
+#endif			
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3915
                                   int                      text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3916
                                   MetaButtonState          button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3917
                                   GdkPixbuf               *mini_icon,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3918
@@ -4369,6 +4537,19 @@ meta_frame_style_draw_with_style (MetaFr
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3919
   draw_info.title_layout_width = title_layout ? extents.width : 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3920
   draw_info.title_layout_height = title_layout ? extents.height : 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3921
   draw_info.fgeom = fgeom;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3922
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3923
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3924
+  if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3925
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3926
+      draw_info.label = label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3927
+      if (!label->layout)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3928
+	label->layout = gtk_widget_create_pango_layout (widget, label->name);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3929
+      g_object_set_data (G_OBJECT (widget), "trusted_label", label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3930
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3931
+  else
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3932
+    draw_info.label = NULL;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3933
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3934
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3935
   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3936
   /* The enum is in the order the pieces should be rendered. */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3937
   i = 0;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3938
@@ -4386,6 +4567,16 @@ meta_frame_style_draw_with_style (MetaFr
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3939
           rect.height = fgeom->height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3940
           break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3941
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3942
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3943
+#ifdef HAVE_XTSOL 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3944
+	case META_FRAME_PIECE_TRUSTED_LABEL:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3945
+          rect.x = 0;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3946
+          rect.y = fgeom->top_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3947
+          rect.width = fgeom->width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3948
+          rect.height = fgeom->top_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3949
+          break;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3950
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3951
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3952
         case META_FRAME_PIECE_TITLEBAR:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3953
           rect = titlebar_rect;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3954
           break;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3955
@@ -4552,6 +4743,11 @@ meta_frame_style_draw (MetaFrameStyle   
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3956
                        int                      client_width,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3957
                        int                      client_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3958
                        PangoLayout             *title_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3959
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3960
+#ifdef HAVE_XTSOL		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3961
+		       MetaTrustedLabel	       *label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3962
+#endif		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3963
+#endif		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3964
                        int                      text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3965
                        MetaButtonState          button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3966
                        GdkPixbuf               *mini_icon,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3967
@@ -4560,7 +4756,13 @@ meta_frame_style_draw (MetaFrameStyle   
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3968
   meta_frame_style_draw_with_style (style, widget->style, widget,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3969
                                     drawable, x_offset, y_offset,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3970
                                     clip, fgeom, client_width, client_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3971
-                                    title_layout, text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3972
+                                    title_layout, 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3973
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3974
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3975
+				    label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3976
+#endif				    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3977
+#endif				    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3978
+				    text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3979
                                     button_states, mini_icon, icon);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3980
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3981
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  3982
@@ -4758,6 +4960,45 @@ meta_theme_get_current (void)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3983
   return meta_current_theme;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3984
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3985
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3986
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3987
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3988
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3989
+static void
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3990
+set_trusted_ops (MetaFrameStyle *style, MetaFrameFocus focus, MetaTheme *theme)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3991
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3992
+  if (style != NULL)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3993
+    {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3994
+      if (style->pieces[META_FRAME_PIECE_TITLE])
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3995
+	meta_draw_op_list_unref (style->pieces[META_FRAME_PIECE_TITLE]);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3996
+      style->pieces[META_FRAME_PIECE_TITLE] = tsol_theme_trusted_label_ops_get (focus, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3997
+      style->pieces[META_FRAME_PIECE_TRUSTED_LABEL] = tsol_theme_trusted_title_ops_get (focus, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3998
+    }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  3999
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4000
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4001
+static void 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4002
+style_set_for_each (gpointer key,gpointer value,gpointer user_data)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4003
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4004
+ int i;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4005
+ MetaFrameStyleSet *sset = (MetaFrameStyleSet *) value;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4006
+ MetaTheme *theme = (MetaTheme *)user_data;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4007
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4008
+ for (i=0;i < META_FRAME_RESIZE_LAST;i++)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4009
+   {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4010
+     set_trusted_ops(sset->normal_styles[i][META_FRAME_FOCUS_YES], META_FRAME_FOCUS_YES, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4011
+     set_trusted_ops(sset->normal_styles[i][META_FRAME_FOCUS_NO], META_FRAME_FOCUS_NO, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4012
+     set_trusted_ops(sset->shaded_styles[i][META_FRAME_FOCUS_YES], META_FRAME_FOCUS_YES, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4013
+     set_trusted_ops(sset->shaded_styles[i][META_FRAME_FOCUS_NO], META_FRAME_FOCUS_NO, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4014
+   }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4015
+ 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4016
+ set_trusted_ops(sset->maximized_styles[META_FRAME_FOCUS_YES], META_FRAME_FOCUS_YES, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4017
+ set_trusted_ops(sset->maximized_styles[META_FRAME_FOCUS_NO], META_FRAME_FOCUS_NO, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4018
+ set_trusted_ops(sset->maximized_and_shaded_styles[META_FRAME_FOCUS_YES], META_FRAME_FOCUS_YES, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4019
+ set_trusted_ops(sset->maximized_and_shaded_styles[META_FRAME_FOCUS_NO], META_FRAME_FOCUS_NO, theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4020
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4021
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4022
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4023
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4024
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4025
 void
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4026
 meta_theme_set_current (const char *name,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4027
                         gboolean    force_reload)
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4028
@@ -4788,6 +5029,16 @@ meta_theme_set_current (const char *name
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4029
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4030
       meta_current_theme = new_theme;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4031
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4032
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4033
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4034
+      if (tsol_is_available ())
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4035
+	{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4036
+	  shield_pixbuf = NULL; /* hack to display shield icon conditionally */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4037
+	  g_hash_table_foreach (new_theme->style_sets_by_name, style_set_for_each, meta_current_theme);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4038
+	}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4039
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4040
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4041
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4042
       meta_topic (META_DEBUG_THEMES, "New theme is \"%s\"\n", meta_current_theme->name);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4043
     }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4044
 }
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4045
@@ -4845,10 +5096,15 @@ meta_theme_new (void)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4046
   theme->quark_icon_height = g_quark_from_static_string ("icon_height");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4047
   theme->quark_title_width = g_quark_from_static_string ("title_width");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4048
   theme->quark_title_height = g_quark_from_static_string ("title_height");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4049
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4050
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4051
+  theme->quark_trusted_label_width = g_quark_from_static_string ("trusted_label_width");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4052
+  theme->quark_trusted_label_height = g_quark_from_static_string ("trusted_label_height");
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4053
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4054
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4055
   return theme;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4056
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4057
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4058
-
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4059
 void
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4060
 meta_theme_free (MetaTheme *theme)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4061
 {
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4062
@@ -5127,7 +5383,13 @@ meta_theme_draw_frame_with_style (MetaTh
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4063
                                   const MetaButtonLayout *button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4064
                                   MetaButtonState         button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4065
                                   GdkPixbuf              *mini_icon,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4066
-                                  GdkPixbuf              *icon)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4067
+                                  GdkPixbuf              *icon
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4068
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4069
+#ifdef HAVE_XTSOL		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4070
+				  ,MetaTrustedLabel	 *label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4071
+#endif		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4072
+#endif		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4073
+				  )
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4074
 {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4075
   MetaFrameGeometry fgeom;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4076
   MetaFrameStyle *style;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4077
@@ -5157,6 +5419,11 @@ meta_theme_draw_frame_with_style (MetaTh
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4078
                                     &fgeom,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4079
                                     client_width, client_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4080
                                     title_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4081
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4082
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4083
+				    label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4084
+#endif				    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4085
+#endif				    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4086
                                     text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4087
                                     button_states,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4088
                                     mini_icon, icon);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4089
@@ -5178,14 +5445,26 @@ meta_theme_draw_frame (MetaTheme        
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4090
                        const MetaButtonLayout *button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4091
                        MetaButtonState         button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4092
                        GdkPixbuf              *mini_icon,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4093
-                       GdkPixbuf              *icon)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4094
+                       GdkPixbuf              *icon
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4095
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4096
+#ifdef HAVE_XTSOL		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4097
+		       ,MetaTrustedLabel	      *label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4098
+#endif		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4099
+#endif		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4100
+		      )
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4101
 {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4102
   meta_theme_draw_frame_with_style (theme, widget->style, widget,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4103
                                     drawable, clip, x_offset, y_offset, type,flags,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4104
                                     client_width, client_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4105
                                     title_layout, text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4106
                                     button_layout, button_states,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4107
-                                    mini_icon, icon);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4108
+                                    mini_icon, icon
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4109
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4110
+#ifdef HAVE_XTSOL			     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4111
+				    ,label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4112
+#endif									    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4113
+#endif									    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4114
+				    );
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4115
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4116
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4117
 void
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4118
@@ -5204,7 +5483,13 @@ meta_theme_draw_frame_by_name (MetaTheme
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4119
                                const MetaButtonLayout *button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4120
                                MetaButtonState         button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4121
                                GdkPixbuf              *mini_icon,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4122
-                               GdkPixbuf              *icon)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4123
+                               GdkPixbuf              *icon
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4124
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4125
+#ifdef HAVE_XTSOL		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4126
+			      ,MetaTrustedLabel	      *label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4127
+#endif		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4128
+#endif		       
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4129
+			       )
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4130
 {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4131
   MetaFrameGeometry fgeom;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4132
   MetaFrameStyle *style;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4133
@@ -5231,6 +5516,11 @@ meta_theme_draw_frame_by_name (MetaTheme
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4134
                          &fgeom,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4135
                          client_width, client_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4136
                          title_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4137
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4138
+#ifdef HAVE_XTSOL			 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4139
+			 label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4140
+#endif			 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4141
+#endif			 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4142
                          text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4143
                          button_states,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4144
                          mini_icon, icon);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4145
@@ -5820,6 +6110,12 @@ meta_frame_piece_to_string (MetaFramePie
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4146
     {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4147
     case META_FRAME_PIECE_ENTIRE_BACKGROUND:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4148
       return "entire_background";
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4149
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4150
+#ifdef HAVE_XTSOL      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4151
+    case META_FRAME_PIECE_TRUSTED_LABEL:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4152
+      return "trusted_label";
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4153
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4154
+#endif      
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4155
     case META_FRAME_PIECE_TITLEBAR:
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4156
       return "titlebar";
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4157
     case META_FRAME_PIECE_TITLEBAR_MIDDLE:
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4158
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/ui/theme.h metacity-2.27.1/src/ui/theme.h
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4159
--- ../metacity-2.27.1/src/ui/theme.h	2009-09-14 09:05:19.282621504 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4160
+++ metacity-2.27.1/src/ui/theme.h	2009-09-14 09:05:34.536364144 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4161
@@ -42,6 +42,11 @@ typedef struct _MetaFrameGeometry MetaFr
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4162
 typedef struct _MetaTheme MetaTheme;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4163
 typedef struct _MetaPositionExprEnv MetaPositionExprEnv;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4164
 typedef struct _MetaDrawInfo MetaDrawInfo;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4165
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4166
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4167
+typedef struct _MetaTrustedLabel  MetaTrustedLabel;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4168
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4169
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4170
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4171
 #define META_THEME_ERROR (g_quark_from_static_string ("meta-theme-error"))
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4172
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4173
@@ -227,6 +232,12 @@ typedef enum
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4174
   META_COLOR_SPEC_GTK,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4175
   META_COLOR_SPEC_BLEND,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4176
   META_COLOR_SPEC_SHADE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4177
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4178
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4179
+  ,  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4180
+  META_COLOR_SPEC_LABEL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4181
+#endif    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4182
+#endif    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4183
 } MetaColorSpecType;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4184
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4185
 typedef enum
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4186
@@ -250,6 +261,13 @@ struct _MetaColorSpec
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4187
     struct {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4188
       GdkColor color;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4189
     } basic;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4190
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4191
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4192
+    struct {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4193
+      gboolean dummy;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4194
+    } label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4195
+#endif    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4196
+#endif    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4197
     struct {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4198
       MetaGtkColorComponent component;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4199
       GtkStateType state;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4200
@@ -291,6 +309,11 @@ struct _MetaDrawInfo
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4201
   int title_layout_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4202
   int title_layout_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4203
   const MetaFrameGeometry *fgeom;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4204
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4205
+#ifdef HAVE_XTSOL 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4206
+  MetaTrustedLabel *label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4207
+#endif 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4208
+#endif 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4209
 };
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4210
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4211
 /**
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4212
@@ -328,6 +351,13 @@ typedef enum
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4213
   META_DRAW_OP_LIST,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4214
   /** tiled draw op list */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4215
   META_DRAW_TILE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4216
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4217
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4218
+  ,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4219
+  /* draw a string (used for trusted label) */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4220
+  META_DRAW_TRUSTED_LABEL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4221
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4222
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4223
 } MetaDrawType;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4224
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4225
 typedef enum
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4226
@@ -556,6 +586,16 @@ struct _MetaDrawOp
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4227
       MetaDrawSpec *tile_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4228
     } tile;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4229
     
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4230
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4231
+#ifdef HAVE_XTSOL    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4232
+    struct {
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4233
+      MetaColorSpec *color_spec;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4234
+      char *x;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4235
+      char *y;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4236
+    } trusted_label;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4237
+#endif    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4238
+#endif    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4239
+    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4240
   } data;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4241
 };
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4242
 
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4243
@@ -631,6 +671,12 @@ typedef enum
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4244
   
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4245
   /* entire frame */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4246
   META_FRAME_PIECE_ENTIRE_BACKGROUND,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4247
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4248
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4249
+  /* Trusted Label area*/
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4250
+  META_FRAME_PIECE_TRUSTED_LABEL,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4251
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4252
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4253
   /* entire titlebar background */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4254
   META_FRAME_PIECE_TITLEBAR,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4255
   /* portion of the titlebar background inside the titlebar
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4256
@@ -819,6 +865,12 @@ struct _MetaTheme
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4257
   GQuark quark_icon_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4258
   GQuark quark_title_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4259
   GQuark quark_title_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4260
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4261
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4262
+  GQuark quark_trusted_label_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4263
+  GQuark quark_trusted_label_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4264
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4265
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4266
 };
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4267
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4268
 struct _MetaPositionExprEnv
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4269
@@ -834,6 +886,12 @@ struct _MetaPositionExprEnv
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4270
   int bottom_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4271
   int title_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4272
   int title_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4273
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4274
+#ifdef HAVE_XTSOL  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4275
+  int trusted_label_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4276
+  int trusted_label_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4277
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4278
+#endif  
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4279
   int mini_icon_width;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4280
   int mini_icon_height;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4281
   int icon_width;
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4282
@@ -961,6 +1019,11 @@ void meta_frame_style_draw (MetaFrameSty
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4283
                             int                      client_width,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4284
                             int                      client_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4285
                             PangoLayout             *title_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4286
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4287
+#ifdef HAVE_XTSOL			    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4288
+			    MetaTrustedLabel	    *label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4289
+#endif			    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4290
+#endif			    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4291
                             int                      text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4292
                             MetaButtonState          button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4293
                             GdkPixbuf               *mini_icon,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4294
@@ -978,7 +1041,12 @@ void meta_frame_style_draw_with_style (M
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4295
                                        int                      client_width,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4296
                                        int                      client_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4297
                                        PangoLayout             *title_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4298
-                                       int                      text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4299
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4300
+#ifdef HAVE_XTSOL			    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4301
+				       MetaTrustedLabel	    *label,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4302
+#endif			    
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4303
+#endif			
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4304
+				       int                      text_height,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4305
                                        MetaButtonState          button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4306
                                        GdkPixbuf               *mini_icon,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4307
                                        GdkPixbuf               *icon);
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4308
@@ -1031,7 +1099,13 @@ void meta_theme_draw_frame (MetaTheme   
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4309
                             const MetaButtonLayout *button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4310
                             MetaButtonState         button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4311
                             GdkPixbuf              *mini_icon,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4312
-                            GdkPixbuf              *icon);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4313
+                            GdkPixbuf              *icon
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4314
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4315
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4316
+                           ,MetaTrustedLabel       *label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4317
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4318
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4319
+                            );
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4320
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4321
 void meta_theme_draw_frame_by_name (MetaTheme              *theme,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4322
                                     GtkWidget              *widget,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4323
@@ -1048,7 +1122,13 @@ void meta_theme_draw_frame_by_name (Meta
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4324
                                     const MetaButtonLayout *button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4325
                                     MetaButtonState         button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4326
                                     GdkPixbuf              *mini_icon,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4327
-                                    GdkPixbuf              *icon);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4328
+                                    GdkPixbuf              *icon
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4329
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4330
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4331
+				    ,MetaTrustedLabel       *label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4332
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4333
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4334
+				    );
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4335
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4336
 void meta_theme_draw_frame_with_style (MetaTheme              *theme,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4337
                                        GtkStyle               *style_gtk,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4338
@@ -1066,7 +1146,13 @@ void meta_theme_draw_frame_with_style (M
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4339
                                        const MetaButtonLayout *button_layout,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4340
                                        MetaButtonState         button_states[META_BUTTON_TYPE_LAST],
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4341
                                        GdkPixbuf              *mini_icon,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4342
-                                       GdkPixbuf              *icon);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4343
+                                       GdkPixbuf              *icon
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4344
+#ifdef BUILD_TX_CODE
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4345
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4346
+				       ,MetaTrustedLabel       *label
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4347
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4348
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4349
+				       );
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4350
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4351
 void meta_theme_get_frame_borders (MetaTheme         *theme,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4352
                                    MetaFrameType      type,
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4353
diff -purN -x '*.orig' -x '*.rej' -x '*~' ../metacity-2.27.1/src/ui/ui.c metacity-2.27.1/src/ui/ui.c
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4354
--- ../metacity-2.27.1/src/ui/ui.c	2009-09-14 09:05:19.283073587 +0200
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4355
+++ metacity-2.27.1/src/ui/ui.c	2009-09-14 09:05:34.536761212 +0200
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4356
@@ -22,6 +22,10 @@
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4357
  * 02111-1307, USA.
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4358
  */
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4359
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4360
+#include <config.h>
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4361
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4362
+#include "trusted.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4363
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4364
 #include "prefs.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4365
 #include "ui.h"
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4366
 #include "frames.h"
16551
b1e3fd454a9d 2009-09-14 Erwann Chenede - <[email protected]>
erwannc
parents: 16447
diff changeset
  4367
@@ -963,6 +967,16 @@ meta_ui_get_drag_threshold (MetaUI *ui)
15708
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4368
   return threshold;
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4369
 }
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4370
 
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4371
+#ifdef HAVE_XTSOL
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4372
+void
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4373
+meta_ui_set_frame_label (MetaUI     *ui,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4374
+                         Window      xwindow,
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4375
+                         MetaTrustedLabel *label)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4376
+{
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4377
+  meta_frames_set_label (ui->frames, xwindow, label);
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4378
+}
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4379
+#endif
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4380
+
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4381
 MetaUIDirection
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4382
 meta_ui_get_direction (void)
b1bebd509db6 2009-05-04 Wang Xin <[email protected]>
jedy
parents:
diff changeset
  4383
 {
17507
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4384
diff -ruNp metacity-2.28.1.orig/src/core/main.c metacity-2.28.1/src/core/main.c
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4385
--- metacity-2.28.1.orig/src/core/main.c	2010-02-02 06:20:51.406777070 +0000
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4386
+++ metacity-2.28.1/src/core/main.c	2010-02-02 06:22:45.082185635 +0000
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4387
@@ -68,6 +68,7 @@
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4388
 #include <locale.h>
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4389
 #include <time.h>
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4390
 #include <unistd.h>
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4391
+#include "trusted.h"
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4392
 
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4393
 /**
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4394
  * The exit code we'll return to our parent process when we eventually die.
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4395
@@ -416,6 +417,10 @@ main (int argc, char **argv)
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4396
   guint i;
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4397
   GIOChannel *channel;
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4398
 
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4399
+  if (tsol_use_trusted_extensions () ) {
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4400
+       putenv ("GDK_NATIVE_WINDOWS=true");
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4401
+  }
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4402
+
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4403
   if (!g_thread_supported ())
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4404
     g_thread_init (NULL);
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4405
   
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4406
diff -ruN metacity-2.28.1.orig/src/core/prefs.c metacity-2.28.1/src/core/prefs.c
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4407
--- metacity-2.28.1.orig/src/core/prefs.c	2010-02-02 06:23:34.519993887 +0000
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4408
+++ metacity-2.28.1/src/core/prefs.c	2010-02-02 06:24:39.723889605 +0000
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4409
@@ -68,6 +68,10 @@
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4410
 #define KEY_WORKSPACE_NAME_DIRECTORY "/apps/metacity/workspace_names"
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4411
 #define KEY_WORKSPACE_NAME_PREFIX "/apps/metacity/workspace_names/name_"
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4412
 
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4413
+#ifdef HAVE_XTSOL
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4414
+#define KEY_WORKSPACE_LABEL_PREFIX "/apps/metacity/workspace_labels/ws_"
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4415
+#define KEY_WORKSPACE_ROLE_PREFIX "/apps/metacity/workspace_roles/ws_"
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4416
+#endif /* HAVE_XTSOL */
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4417
 
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4418
 #ifdef HAVE_GCONF
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4419
 static GConfClient *default_client = NULL;
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4420
diff -ruNp metacity-2.28.1.orig/src/include/ui.h metacity-2.28.1/src/include/ui.h
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4421
--- metacity-2.28.1.orig/src/include/ui.h	2010-02-02 06:25:53.374932836 +0000
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4422
+++ metacity-2.28.1/src/include/ui.h	2010-02-02 06:26:49.796360045 +0000
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4423
@@ -30,6 +30,7 @@
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4424
 #include <X11/Xutil.h>
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4425
 #include <glib.h>
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4426
 #include <gdk-pixbuf/gdk-pixbuf.h>
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4427
+#include "frames.h"
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4428
 
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4429
 /* This is between GTK_PRIORITY_RESIZE (+10) and GDK_PRIORITY_REDRAW (+20) */
ec8d2aa8fa24 2010-02-07 Christian Kelly <[email protected]>
chrisk
parents: 16551
diff changeset
  4430
 #define META_PRIORITY_RESIZE    (G_PRIORITY_HIGH_IDLE + 15)