patches/compiz-01-solaris-port.diff
author erwannc
Mon, 23 Apr 2007 14:28:38 +0000
changeset 250 e6c397403836
child 328 4a71a8b1b3e4
permissions -rw-r--r--
007-04-23 Erwann Chenede - <[email protected]> * patches/compiz-01-solaris-port.diff: patch for compiz 0.5.0 * SFEcompiz-settings.spec: Added compiz-settings (originally written by Mike kiedrowski) * SFEcompiz.spec: Add compiz (originally written by Mike kiedrowski and Doug Scott)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
250
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     1
diff -rup compiz-0.5.0/configure.ac ../compiz-0.5.0.solaris/configure.ac
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     2
--- compiz-0.5.0/configure.ac	2007-04-02 20:48:18.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     3
+++ ../compiz-0.5.0.solaris/configure.ac	2007-04-20 10:54:54.011355000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     4
@@ -83,12 +83,28 @@ AC_SUBST(plugindir)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     5
 imagedir=$datadir/compiz
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     6
 AC_SUBST(imagedir)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     7
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     8
+compiling_on_solaris=no
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
     9
+case "$host" in
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    10
+        *-*-solaris*)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    11
+	  AC_MSG_CHECKING(if compiling on Solaris)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    12
+	  compiling_on_solaris=yes
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    13
+	  use_xinerama=
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    14
+	  AC_MSG_RESULT($compiling_on_solaris)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    15
+	  AC_DEFINE(SOLARIS, 1, [Compiling on Solaris enabled])
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    16
+	;;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    17
+	*)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    18
+	  use_xinerama="xinerama"
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    19
+	  AC_DEFINE(HAVE_XORG_XINERAMA, 1, [Compiling with Xinerama enabled])
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    20
+	;;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    21
+esac
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    22
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    23
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    24
 COMPIZ_REQUIRES="libpng	    \
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    25
+		 $use_xinerama \
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    26
 		 xcomposite \
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    27
 		 xfixes	    \
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    28
 		 xdamage    \
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    29
 		 xrandr	    \
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    30
-		 xinerama   \
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    31
 		 ice	    \
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    32
 		 sm	    \
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    33
 		 libstartup-notification-1.0 >= 0.7"
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    34
diff -rup compiz-0.5.0/include/compiz.h ../compiz-0.5.0.solaris/include/compiz.h
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    35
--- compiz-0.5.0/include/compiz.h	2007-04-02 20:15:28.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    36
+++ ../compiz-0.5.0.solaris/include/compiz.h	2007-04-20 10:54:54.012946000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    37
@@ -35,7 +35,9 @@
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    38
 #include <X11/Xutil.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    39
 #include <X11/extensions/Xdamage.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    40
 #include <X11/extensions/Xcomposite.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    41
+#ifdef HAVE_XORG_XINERAMA
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    42
 #include <X11/extensions/Xinerama.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    43
+#endif
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    44
 #include <X11/extensions/sync.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    45
 #include <X11/Xregion.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    46
 #include <X11/XKBlib.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    47
@@ -718,12 +720,15 @@ struct _CompDisplay {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    48
     Bool xkbExtension;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    49
     int  xkbEvent, xkbError;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    50
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    51
+#ifdef HAVE_XORG_XINERAMA    
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    52
     Bool xineramaExtension;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    53
     int  xineramaEvent, xineramaError;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    54
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    55
     XineramaScreenInfo *screenInfo;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    56
+#endif    
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    57
     int		       nScreenInfo;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    58
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    59
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    60
     SnDisplay *snDisplay;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    61
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    62
     Atom supportedAtom;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    63
diff -rup compiz-0.5.0/plugins/compiz.schemas.in ../compiz-0.5.0.solaris/plugins/compiz.schemas.in
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    64
--- compiz-0.5.0/plugins/compiz.schemas.in	2007-04-02 20:15:28.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    65
+++ ../compiz-0.5.0.solaris/plugins/compiz.schemas.in	2007-04-20 10:57:51.763850000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    66
@@ -32049,7 +32049,7 @@
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    67
             <applyto>/apps/compiz/plugins/zoom/allscreens/options/initiate_button</applyto>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    68
             <owner>compiz</owner>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    69
             <type>string</type>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    70
-            <default>&lt;Super&gt;Button3</default>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    71
+            <default>Disabled</default>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    72
             <locale name="C">
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    73
                 <short>Initiate</short>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    74
                 <long>Zoom In</long>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    75
@@ -32370,7 +32370,7 @@
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    76
             <applyto>/apps/compiz/plugins/zoom/allscreens/options/zoom_in_button</applyto>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    77
             <owner>compiz</owner>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    78
             <type>string</type>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    79
-            <default>&lt;Super&gt;Button4</default>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    80
+            <default>&lt;Control&gt;Button3</default>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    81
             <locale name="C">
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    82
                 <short>Zoom In</short>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    83
                 <long>Zoom In</long>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    84
Only in ../compiz-0.5.0.solaris/plugins: compiz.schemas.in~
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    85
diff -rup compiz-0.5.0/plugins/decoration.c ../compiz-0.5.0.solaris/plugins/decoration.c
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    86
--- compiz-0.5.0/plugins/decoration.c	2007-04-02 20:15:28.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    87
+++ ../compiz-0.5.0.solaris/plugins/decoration.c	2007-04-20 10:54:54.013685000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    88
@@ -32,12 +32,12 @@
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    89
 #include <string.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    90
 #include <math.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    91
 #include <unistd.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    92
+#include <compiz.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    93
+#include <decoration.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    94
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    95
 #include <X11/Xatom.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    96
 #include <X11/extensions/shape.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    97
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    98
-#include <compiz.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
    99
-#include <decoration.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   100
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   101
 typedef struct _Vector {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   102
     int	dx;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   103
diff -rup compiz-0.5.0/plugins/video.c ../compiz-0.5.0.solaris/plugins/video.c
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   104
--- compiz-0.5.0/plugins/video.c	2007-04-02 20:15:30.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   105
+++ ../compiz-0.5.0.solaris/plugins/video.c	2007-04-20 10:54:54.015905000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   106
@@ -29,10 +29,10 @@
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   107
 #include <math.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   108
 #include <unistd.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   109
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   110
+#include <compiz.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   111
 #include <X11/Xatom.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   112
 #include <X11/extensions/shape.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   113
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   114
-#include <compiz.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   115
 #include <decoration.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   116
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   117
 #define VIDEO_YV12_DEFAULT TRUE
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   118
diff -rup compiz-0.5.0/src/cursor.c ../compiz-0.5.0.solaris/src/cursor.c
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   119
--- compiz-0.5.0/src/cursor.c	2007-04-02 20:15:30.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   120
+++ ../compiz-0.5.0.solaris/src/cursor.c	2007-04-20 10:54:54.016308000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   121
@@ -26,6 +26,7 @@
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   122
 #include <compiz.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   123
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   124
 #include <stdlib.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   125
+#include "../config.h"
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   126
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   127
 static void
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   128
 setCursorMatrix (CompCursor *c)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   129
@@ -53,7 +54,10 @@ addCursor (CompScreen *s)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   130
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   131
 	updateCursor (c, 0, 0, 0);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   132
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   133
+#ifdef SOLARIS
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   134
+#else
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   135
 	XFixesHideCursor (s->display->display, s->root);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   136
+#endif	
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   137
     }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   138
 }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   139
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   140
diff -rup compiz-0.5.0/src/display.c ../compiz-0.5.0.solaris/src/display.c
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   141
--- compiz-0.5.0/src/display.c	2007-04-02 20:15:30.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   142
+++ ../compiz-0.5.0.solaris/src/display.c	2007-04-20 10:54:54.017587000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   143
@@ -738,6 +738,59 @@ shade (CompDisplay     *d,
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   144
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   145
     return TRUE;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   146
 }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   147
+#ifdef SOLARIS
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   148
+#include <stdarg.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   149
+#include <values.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   150
+int asprintf(char **out, const char *fmt, ...)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   151
+{
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   152
+    va_list ap;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   153
+    int ret_status = EOF;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   154
+    char dir_name[2001];
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   155
+    char file_name[2000];
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   156
+    FILE *fp = NULL;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   157
+    char *work = NULL;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   158
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   159
+    va_start(ap, fmt);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   160
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   161
+    /* Warning: tmpfile() does not work well on Windows (MinGW)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   162
+     *          if user does not have write access on the drive where 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   163
+     *          working dir is? */
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   164
+#ifdef __MINGW32__
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   165
+    /* file_name = G_tempfile(); */
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   166
+    GetTempPath ( 2000, dir_name );
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   167
+    GetTempFileName ( dir_name, "asprintf", 0, file_name );
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   168
+    fp = fopen ( file_name, "w+" );
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   169
+#else
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   170
+    fp = tmpfile(); 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   171
+#endif /* __MINGW32__ */
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   172
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   173
+    if ( fp ) {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   174
+        int count;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   175
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   176
+        count = vfprintf(fp, fmt, ap);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   177
+        if (count >= 0) {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   178
+            work = calloc(count + 1, sizeof(char));
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   179
+            if (work != NULL) {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   180
+                rewind(fp);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   181
+                ret_status = fread(work, sizeof(char), count, fp);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   182
+                if (ret_status != count) {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   183
+                    ret_status = EOF;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   184
+                    free(work);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   185
+                    work = NULL;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   186
+                }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   187
+            }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   188
+        }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   189
+        fclose(fp);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   190
+#ifdef __MINGW32__
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   191
+        unlink ( file_name );
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   192
+#endif /* __MINGW32__ */
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   193
+    }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   194
+    va_end(ap);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   195
+    *out = work;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   196
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   197
+    return ret_status;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   198
+}
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   199
+#endif
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   200
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   201
 static void
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   202
 compDisplayInitOptions (CompDisplay *display,
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   203
@@ -2847,6 +2900,8 @@ addDisplay (char *name,
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   204
 	d->xkbEvent = d->xkbError = -1;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   205
     }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   206
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   207
+    d->nScreenInfo = 0;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   208
+#ifdef HAVE_XORG_XINERAMA    
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   209
     d->xineramaExtension = XineramaQueryExtension (dpy,
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   210
 						   &d->xineramaEvent,
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   211
 						   &d->xineramaError);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   212
@@ -2859,6 +2914,7 @@ addDisplay (char *name,
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   213
 	d->screenInfo  = NULL;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   214
 	d->nScreenInfo = 0;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   215
     }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   216
+#endif    
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   217
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   218
     compDisplays = d;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   219
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   220
diff -rup compiz-0.5.0/src/option.c ../compiz-0.5.0.solaris/src/option.c
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   221
--- compiz-0.5.0/src/option.c	2007-04-02 20:15:30.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   222
+++ ../compiz-0.5.0.solaris/src/option.c	2007-04-20 10:54:54.017928000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   223
@@ -30,6 +30,7 @@
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   224
 #include <strings.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   225
 #include <ctype.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   226
 #include <math.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   227
+#include "../config.h"
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   228
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   229
 #include <compiz.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   230
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   231
@@ -549,6 +550,29 @@ buttonBindingToString (CompDisplay      
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   232
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   233
     return binding;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   234
 }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   235
+#ifdef SOLARIS
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   236
+#include <ctype.h>
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   237
+char *
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   238
+strcasestr (char *haystack, char *needle)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   239
+{
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   240
+	char *p, *startn = 0, *np = 0;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   241
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   242
+	for (p = haystack; *p; p++) {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   243
+		if (np) {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   244
+			if (toupper(*p) == toupper(*np)) {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   245
+				if (!*++np)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   246
+					return startn;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   247
+			} else
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   248
+				np = 0;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   249
+		} else if (toupper(*p) == toupper(*needle)) {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   250
+			np = needle + 1;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   251
+			startn = p;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   252
+		}
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   253
+	}
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   254
+
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   255
+	return 0;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   256
+}
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   257
+#endif
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   258
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   259
 static unsigned int
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   260
 stringToModifiers (CompDisplay *d,
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   261
diff -rup compiz-0.5.0/src/screen.c ../compiz-0.5.0.solaris/src/screen.c
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   262
--- compiz-0.5.0/src/screen.c	2007-04-02 20:15:30.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   263
+++ ../compiz-0.5.0.solaris/src/screen.c	2007-04-20 10:54:54.019035000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   264
@@ -344,6 +344,7 @@ updateOutputDevices (CompScreen	*s)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   265
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   266
 	if (s->display->nScreenInfo)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   267
 	{
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   268
+#ifdef HAVE_XORG_XINERAMA
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   269
 	    for (i = 0; i < s->display->nScreenInfo; i++)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   270
 	    {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   271
 		r.extents.x1 = s->display->screenInfo[i].x_org;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   272
@@ -353,6 +354,7 @@ updateOutputDevices (CompScreen	*s)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   273
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   274
 		XUnionRegion (region, &r, region);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   275
 	    }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   276
+#endif	    
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   277
 	}
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   278
 	else
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   279
 	{
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   280
@@ -397,6 +399,7 @@ detectOutputDevices (CompScreen *s)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   281
 	    if (!value.list.value)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   282
 		return;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   283
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   284
+#ifdef HAVE_XORG_XINERAMA	    
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   285
 	    for (i = 0; i < n; i++)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   286
 	    {
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   287
 		snprintf (output, size, "%dx%d+%d+%d",
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   288
@@ -407,6 +410,7 @@ detectOutputDevices (CompScreen *s)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   289
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   290
 		value.list.value[i].s = strdup (output);
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   291
 	    }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   292
+#endif	    
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   293
 	}
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   294
 	else
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   295
 	{
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   296
diff -rup compiz-0.5.0/src/window.c ../compiz-0.5.0.solaris/src/window.c
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   297
--- compiz-0.5.0/src/window.c	2007-04-02 20:15:30.000000000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   298
+++ ../compiz-0.5.0.solaris/src/window.c	2007-04-20 10:54:54.020424000 +0200
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   299
@@ -1681,6 +1681,7 @@ updateWindowStruts (CompWindow *w)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   300
 	int x1, y1, x2, y2;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   301
 	int i;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   302
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   303
+#ifdef HAVE_XORG_XINERAMA	
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   304
 	/* applications expect us to clip struts to xinerama edges */
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   305
 	for (i = 0; i < w->screen->display->nScreenInfo; i++)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   306
 	{
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   307
@@ -1725,6 +1726,7 @@ updateWindowStruts (CompWindow *w)
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   308
 		new.bottom.height = y2 - strutY1;
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   309
 	    }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   310
 	}
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   311
+#endif	
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   312
     }
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   313
 
e6c397403836 007-04-23 Erwann Chenede - <[email protected]>
erwannc
parents:
diff changeset
   314
     if (hasOld != hasNew || (hasNew && hasOld &&