Commit 5bfb8fd44e1b7c7b14cabd6c1b144a9927549680

Authored by ksamak
1 parent cdf1266d
Exists in master

merged from ubuntu 0.9.12.1+15.10.20150627.1-0ubuntu1

Showing 152 changed files with 10485 additions and 2969 deletions   Show diff stats

Too many changes.

To preserve performance only 100 of 152 files displayed.

compiz/AUTHORS
  1 +Adam Conrad <adconrad@ubuntu.com>
1 2 Adam Williamson <awilliam@redhat.com>
2 3 Adel Gadllah <adel.gadllah@gmail.com>
3 4 Alan Bell <alanbell@ubuntu.com>
4 5 Alan Griffiths <alan.griffiths@canonical.com>
5 6 Alan Griffiths <alan@octopull.co.uk>
6 7 Albert Astals <albert.astals@canonical.com>
  8 +Alberts Muktupāvels <alberts.muktupavels@gmail.com>
7 9 Alexandros Frantzis <alexandros.frantzis@linaro.org>
  10 +Allan Griffiths
8 11 Alyssa Hung <deciare@isisview.org>
9 12 Andrea Azzarone <aazarone@gmail.com>
10 13 Andrea Azzarone <azzaronea@gmail.com>
11 14 Bellegarde Cedric <gnumdk@gmail.com>
12 15 Bellegarde Cedric <gnumdk@puffy.homelinux.org>
13 16 Brandon Schaefer <brandon.schaefer@canonical.com>
  17 +BryanFRitt <BryanFRitt@HotMail.com>
14 18 Bryan Nguyen <bnguyen@nvidia.com>
15 19 Cedric <gnumdk@gmail.com>
16 20 C-F Language team <i18n@opencompositing.org>
  21 +Charles Bos <charlesbos1@gmail.com>
17 22 Christopher Williams <christopherw@verizon.net>
18 23 Christopher Williams <crdlb@compiz-fusion.org>
19   -compiz <compiz@opencompositing.org>
  24 +Chris Townsend <christopher.townsend@canonical.com>
20 25 Compiz Fusion l10n team <i18n@opencompositing.org>
21 26 Daniel d'Andrada <daniel.dandrada@canonical.com>
22 27 Daniel Lea <danlea@gmail.com>
23 28 Daniel Nylander <po@danielnylander.se>
  29 +Daniel van Vugt
24 30 Daniel van Vugt <daniel.van.vugt@canonical.com>
  31 +Daniel van Vugt <daniel.van.vugt@canonical.com>, Sam Spilsbury <smspillaz@gmail.com>
  32 +Daniel van Vugt <daniel.van.vugt@canonical.com>, Travis Watkins <amaranth@ubuntu.com>, Sam Spilsbury <sam.spilsbury@canonical.com>, smspillaz <sam.spilsbury@canonical.com>, Alexandros Frantzis <alexandros.frantzis@linaro.org>,
25 33 Daniel van Vugt <vanvugt@gmail.com>
  34 +danilo
26 35 Danny Baumann <daba@mobilrechner.localdomain>
27 36 Danny Baumann <daba@rechenknecht.peppercon.de>
28 37 Danny Baumann <dannybaumann@web.de>
29 38 Dan Winship <danw@novell.com>
30 39 Dan Winship <danw@twelve-monkeys.boston.ximian.com>
  40 +Dariusz Gadomski <dariusz.gadomski@canonical.com>
31 41 David Reveman <c99drn@cs.umu.se>
  42 +David Reveman <david@ion.(none)>
32 43 David Reveman <davidr@novell.com>
33 44 Dennis Kasprzyk <onestone@beryl-project.org>
  45 +Dennis kasprzyk <onestone@compiz-fusion.org>
34 46 Dennis Kasprzyk <onestone@compiz-fusion.org>
  47 +Dennis kasprzyk <onestone@opencompositing.org>
35 48 Dennis Kasprzyk <onestone@opencompositing.org>
36 49 Didier Roche <didier.roche@canonical.com>
37 50 Didier Roche <didrocks@ubuntu.com>
  51 +Dimitri John Ledkov <dimitri.j.ledkov@linux.intel.com>
38 52 Diogo Ferreira <diogo@underdev.org>
39 53 Dominique Leuenberger <dimstar@opensuse.org>
40 54 Dominique Leuenberger <dominique@leuenberger.net>
41 55 Dominique Leuenberger <dominique@messiah.leuenberger.net>
42 56 dragoran <drago01@gmail.com>
43 57 Eduardo Gurgel Pinho <eduardo@mad4.Chagas>
  58 +Eleni Maria Stea <elenimaria.stea@canonical.com>
44 59 Erkin Bahceci <erkinbah@gmail.com>
45 60 Gabor Kelemen <kelemeng@ubuntu.com>
46 61 gandalfn <gandalfn@club-internet.fr>
  62 +gebner@2b7e.org
47 63 Gerd Kohlberger <lowfi@chello.at>
48 64 Guillaume <ixcemix@gmail.com>
49 65 Guillaume Seguin <guillaume@segu.in>
50 66 G. Uitslag <klapinklapin@gmail.com>
  67 +Henry Hu <henry.hu.sh@gmail.com>
51 68 Hu Kang <stevenhooke11@gmail.com>
  69 +Hu Kang stevenhooke11@gmail.com
52 70 Iven Hsu <ivenvd@gmail.com>
53 71 James Jones <jajones@jatest.nvidia.com>
  72 +James Jones <jajones@nvidia.com>
54 73 Jason Smith <jason.smith@canonical.com>
55 74 Jay Catherwood <jay.catherwood@gmail.com>
56 75 Jeremy C. Reed <reed@reedmedia.net>
57   -Jigish Gohil <cyberorg@opensuse.org name = Jigish Gohil>
  76 +Jigish Gohil <cyberorg@opensuse.org>
58 77 Jigish Gohil <cyberorg@prime.cyberorg.info>
59   -Joel Bosveld <joel.bosveld@gmail.com>
60 78 Joel Bosveld <Joel.Bosveld@gmail.com>
61 79 Julian Sikorski <lordzanon@poczta.onet.pl>
62 80 Jürgen Kreileder <jk@blackdown.de>
63 81 Jussi Pakkanen <jussi.pakkanen@canonical.com>
64 82 Keith Madill <sciso@hotmail.co.uk>
  83 +Klaus Knopper <ubuntu@knopper.net>
65 84 Kristian Hogsberg <krh@bitplanet.net>
66 85 Kristian Høgsberg <krh@redhat.com>
67 86 Kristian Lyngstol <kristian@beryl-project.org>
68 87 Kristian Lyngstol <kristian@bohemians.org>
69 88 Kristopher Ives <kris@leetbook2.(none)>
70 89 Kristopher Ives <kristopher.ives@gmail.com>
  90 +Kyle Brenneman <kyle.brenneman@gmail.com>, Christopher Townsend <christopher.townsend@canonical.com>, Viktor A. Danilov, James Jones <jajones@nvidia.com>, Chris Townsend <christopher.townsend@canonical.com>, Stepehn M. Webb <stephen.webb@canonical.com>
71 91 Lubos Lunak <llunak@novell.com>
72 92 Łukasz 'sil2100' Zemczak <lukasz.zemczak@canonical.com>
73 93 Marco Trevisan (Treviño) <mail@3v1n0.net>
  94 +Matija Skala <mskala@gmx.com>
74 95 Matija Skala <mskala@mail386.com>
  96 +MC Return <mcr2010@mcr2010-HP-Compaq-dc7700-Convertible-Minitower>
75 97 MC Return <mc.return@gmx.net>
  98 +MC Return <mc.return@gmx.net>, Sam Spilsbury <sam.spilsbury@canonical.com>
  99 +MC Return <mc.return@gmx.net>, Sam Spilsbury <sam.spilsbury@canonical.com>, Sam Spilsbury <smspillaz@gmail.com>
  100 +MC Return <mc.return@gmx.net>, Sam Spilsbury <smspillaz@gmail.com>, Sam Spilsbury <sam.spilsbury@canonical.com>
  101 +MC Return <mc.return@gmx.net>, Sam Spilsbury <smspillaz@XPS-FEDORA.(none)>, Sam Spilsbury <smspillaz@gmail.com>, Danny Baumann <dannybaumann@web.de>, Scott Moreau <oreaus@gmail.com>, Dennis Kasprzyk <onestone@compiz-fusion.org>, Dennis Kasprzyk <onestone@opencompositing.org>, Sam Spilsbury <SmSpillaz@gmail.com>, Sam Spilsbury <sam.spilsbury@canonical.com>, compiz <compiz@opencompositing.org>
  102 +Mehrdad Afshari <mehrdad.afshari@gmail.com>
76 103 Michael Terry <michael.terry@canonical.com>
  104 +Michael Thayer <michael.thayer@oracle.com>
77 105 Michael Vogt <mvo@ubuntu.com>
78   -Michail Bitzes <bitzesmichail>
  106 +Michail Bitzes
  107 +Michail Bitzes <bitzesmichail@gmail.com>
79 108 mike@blueroot.co.uk <mike@blueroot.co.uk>
80 109 Mike Cook <mcook@novell.com>
81 110 Mike Dransfield <mike@blueroot.co.uk>
... ... @@ -84,46 +113,71 @@ Mirco Muller &lt;macslow@bangang.de&gt;
84 113 moppsy <moppsy@comcast.net>
85 114 Nicolas Delvaux <contact@nicolas-delvaux.org>
86 115 Nicolas Viennot <nicolas@viennot.biz>
  116 +Nikolay Martynov <mar.kolya@gmail.com>
87 117 Owen W. Taylor <otaylor@fishsoup.net>
88 118 Patrick Niklaus <marex@beryl-project.org>
89 119 Patrick Niklaus <marex@opencompositing.org>
90 120 Patrick Niklaus <patrick.niklaus@googlemail.com>
  121 +Paul Donohue <launchpad@PaulSD.com>
91 122 Per Wigren <per.wigren@gmail.com>
  123 +Povilas Kanapickas <povilas@radix.lt>
92 124 Quinn Storm <livinglatexkali@gmail.com>
93   -Quinn Storm <quinn@quinn-laptop.(none)>
94 125 Randolph Chung <randolph@tausq.org>
95 126 Renato Araujo Oliveira Filho <renato.filho@canonical.com>
96 127 Robert Ancell <robert.ancell@canonical.com>
97   -Robert Carr <racarr@gorbie.(none)>
98   -Robert Carr <robb@gorbachev.(none)>
99   -Robert M <osfan6313@gmail.com>
  128 +Robert Carr <racarr@canonical.com>
  129 +Robert M <osfan6313@gmail.com>, Sam Spilsbury <sam.spilsbury@canonical.com>
100 130 Robert Noland <rnoland@rnoland-ibm.acs.internap.com>
101 131 Rob Taylor <rob.taylor@codethink.co.uk>
102 132 Rock <rockbuntu@mailinator.com>
103   -Roi Cohen <racarr@gorbie.(none)>
104 133 Roi Cohen <roico.beryl@gmail.com>
  134 +Roland Baer <roland@Vista.(none)>
  135 +Roland Bar <roland@verifysoft.de>
105 136 Roland Bär <roland@verifysoft.de>
  137 +Roland Bär <roland@Vista.(none)>
  138 +Ryan Tandy <ryan@nardis.ca>
  139 +Sami Jaktholm <sampo_75@windowslive.com>
  140 +Sami Jaktholm <sampo_75@windowslive.com>, MC Return <mc.return@gmx.net>
  141 +Sami Jaktholm <sjakthol@outlook.com>
106 142 Sampo555 <sampo_75@windowslive.com>
  143 +Sam Spilsbury <Sam@ACER-SUSE.SUSE>, Sam <Sam@XPS-SUSE.XPS>, Sam Spillaz <smspillaz@gmail.com>, Sam Spilsbury <smspillaz@gmail.com>, Sam Spilsbury <sam.spilsbury@canonical.com>, MC Return <mc.return@gmx.net>, Sam Spilsbury <Sam@XPS-SUSE.site>, users <warlock@banana.(none)>, Scott Moreau <oreaus@gmail.com>, Danny Baumann <dannybaumann@web.de>, warlock <warlock.cc@gmail.com>, Sam Spilsbury <smspillaz@XPS-U.(none)>, warlock <warlock@opencompositing.org>, Roland Bär <roland@verifysoft.de>
107 144 Sam Spilsbury <sam.spilsbury@canonical.com>
  145 +Sam Spilsbury <sam.spilsbury@canonical.com>, Andrea Azzarone <azzaronea@gmail.com>
  146 +Sam Spilsbury <sam.spilsbury@canonical.com>, Automatic PS uploader <ps-jenkins@lists.canonical.com>
  147 +Sam Spilsbury <sam.spilsbury@canonical.com>, Brandon Schaefer <brandon.schaefer@canonical.com>
  148 +Sam Spilsbury <sam.spilsbury@canonical.com>, Daniel van Vugt <daniel.van.vugt@canonical.com>
  149 +Sam Spilsbury <sam.spilsbury@canonical.com>, Didier Roche <didier.roche@canonical.com>
  150 +Sam Spilsbury <sam.spilsbury@canonical.com>, Hu Kang <stevenhooke11@gmail.com>
  151 +Sam Spilsbury <sam.spilsbury@canonical.com>, MC Return <mc.return@gmx.net>
  152 +Sam Spilsbury <sam.spilsbury@canonical.com>, smspillaz <sam.spilsbury@canonical.com>
  153 +Sam Spilsbury <sam.spilsbury@canonical.com>, smspillaz <sam.spilsbury@canonical.com>, Daniel van Vugt <daniel.van.vugt@canonical.com>
  154 +Sam Spilsbury <Sam@XPS-SUSE.site>
108 155 Sam Spilsbury <smspillaz@gmail.com>
  156 +Sam Spilsbury <smspillaz@XPS-FEDORA.(none)>
  157 +Sam Spilsbury <smspillaz@XPS-U.(none)>
109 158 Scott Moreau <oreaus@gmail.com>
  159 +Scott Moreau <oreaus@gmail.com>, MC Return <mc.return@gmx.net>, Sam Spilsbury <sam.spilsbury@canonical.com>
110 160 scott <scott@box1.localdomain>
111 161 Sebasian Billaudelle <stein@cream-project.org>
112 162 Sebastien Bacher <seb128@ubuntu.com>
113   -smspillaz <sam.spilsbury@canonical.com>
  163 +serveralex
114 164 Søren Sandmann <sandmann@redhat.com>
115 165 Stephen M. Webb <stephen.webb@canonical.com>
  166 +Steve Langasek <steve.langasek@canonical.com>
116 167 Steven Robertson <nihilismwow@gmail.com>
117 168 Stjepan Glavina <stjepang@gmail.com>
  169 +Tarmac
118 170 Thierry Reding <thierry@gilfi.de>
119 171 Thomas Thurman <thomas.thurman@canonical.com>
  172 +Thomas Voß
120 173 Thomas Voß <thomas.voss@canonical.com>
  174 +timo.jyrinki@canonical.com
121 175 Timo Jyrinki <timo.jyrinki@canonical.com>
122 176 Tim Penhey <tim.penhey@canonical.com>
123 177 Tomas Carnecky <tom@dbservice.com>
124 178 Travis Watkins <amaranth@ubuntu.com>
125 179 Ugo Riboni <ugo.riboni@canonical.com>
126   -Unity <unity@VB-U1010.(none)>
127 180 Ville Syrjala <syrjala@sci.fi>
  181 +William Hua <william.hua@canonical.com>
128 182 Zack Rusin <zack@kde.org>
129 183 Δημήτρης (djdoo) <jimdusis@yahoo.gr>
... ...
compiz/CMakeLists.txt
... ... @@ -8,6 +8,7 @@ set (COMPIZ_CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
8 8 set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${COMPIZ_CMAKE_MODULE_PATH})
9 9  
10 10 include (CTest)
  11 +include (GNUInstallDirs)
11 12  
12 13 set (MEMORYCHECK_COMMAND_OPTIONS --trace-children=yes)
13 14 set (MEMORYCHECK_SUPPRESSIONS_FILE ${CMAKE_SOURCE_DIR}/tests/experimental-memcheck/compiz.supp CACHE FILEPATH "" FORCE)
... ... @@ -64,15 +65,15 @@ set (DECOR_INTERFACE_VERSION 20110504)
64 65 if (COMPIZ_PACKAGING_ENABLED)
65 66 set (prefix ${CMAKE_INSTALL_PREFIX} CACHE PATH "prefix")
66 67 set (exec_prefix ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "bindir")
67   - set (libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "libdir")
68   - set (includedir ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "includedir")
69   - set (datadir ${CMAKE_INSTALL_PREFIX}/share CACHE PATH "datadir")
  68 + set (libdir ${CMAKE_INSTALL_FULL_LIBDIR} CACHE PATH "libdir")
  69 + set (includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR} CACHE PATH "includedir")
  70 + set (datadir ${CMAKE_INSTALL_FULL_DATAROOTDIR} CACHE PATH "datadir")
70 71 else (COMPIZ_PACKAGING_ENABLED)
71 72 set (prefix ${CMAKE_INSTALL_PREFIX} )
72 73 set (exec_prefix ${CMAKE_INSTALL_PREFIX}/bin )
73   - set (libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
74   - set (includedir ${CMAKE_INSTALL_PREFIX}/include )
75   - set (datadir ${CMAKE_INSTALL_PREFIX}/share )
  74 + set (libdir ${CMAKE_INSTALL_FULL_LIBDIR} )
  75 + set (includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR} )
  76 + set (datadir ${CMAKE_INSTALL_FULL_DATAROOTDIR} )
76 77 endif (COMPIZ_PACKAGING_ENABLED)
77 78  
78 79 set (compiz_plugindir ${libdir}/compiz)
... ... @@ -114,7 +115,7 @@ set (COMPIZ_REQUIRES
114 115 "libstartup-notification-1.0 >= 0.7"
115 116 )
116 117  
117   -set (DECORATION_REQUIRES xrender)
  118 +set (DECORATION_REQUIRES "xrender >= 0.9.3")
118 119  
119 120 compiz_pkg_check_modules (COMPIZ REQUIRED ${COMPIZ_REQUIRES})
120 121 compiz_pkg_check_modules (LIBDECORATION REQUIRED ${DECORATION_REQUIRES})
... ...
compiz/NEWS
  1 +Release 0.9.12.1 (2015-02-03 Stephen M. Webb <stephen.webb@canonical.com>)
  2 +========================================================================
  3 +
  4 + 1101630 - animation plugin: initialized mPrevAnimSelectionRow
  5 + 1199316 - cube plugin: fix clipping
  6 + - libdecoration.pc: fix formatting
  7 + 1410436 - Add a '/' to the path of std::string(home) + '/' HOME_PLUGINDIR
  8 + 1404054 - Fix crash with titlebar-uses-system-font enabled
  9 + 269904 - Use the GL_EXT_x11_sync_object OpenGL extension to synchronize
  10 + updates with X11 to avoid unrefreshed parts of the screen on
  11 + Nvidia hardware
  12 + 1101413 - PrivateScreen unit tests: added additional assertions to verify
  13 + the tests are run in an expected state
  14 + 1101554 - dodge plugin: avoid potential null pointer dereferences
  15 + 1101608 - libcompizconfig: reorder stat() and open() calls to eliminate
  16 + a race condition
  17 + 959282 - added support for multi-arch installations
  18 + 1395105 - added support for multi-arch installations
  19 + 1101585 - switcher plugin: renamed a local variable so it does not hide
  20 + a function parameter.
  21 + 1392715 - libdecoration/CMakeLists.txt: use correct variable for
  22 + link directories
  23 + 1394135 - gtk-window-decorator: support Metacity 3.14
  24 +
  25 +Release 0.9.12.0 (2014-11-04 Stephen M. Webb <stephen.webb@canonical.com>)
  26 +========================================================================
  27 +
  28 + 1101630 - animation plugin: initialized mPrevAnimSelectionRow
  29 + 1227449 - opengl plugin: freed shaders and uniforms
  30 + 957600 - window_decorator: renamed a local to unhide a parameter
  31 + 1086165 - removed inappropriate executable permissions from some source
  32 + and data files
  33 + 1362005 - Forced non-opaque pointer in the ezoom plugin.
  34 + 873384 - upstreamed distro-patch for #873384
  35 + place plugin: correct min and default placement modes in
  36 + configuration
  37 + 1075995 - filtered debian/ from upstream dist tarball
  38 + 1125442 - CompScreen: Save focused window id before changing viewport.
  39 + 1286562 - remove 'extern "C"' hack
  40 + 1356981 - gtk-window-decorator: removed/replaced deprecated functions.
  41 + 1353675 - _NET_WM_FULLSCREEN_MONITORS not handled correctly.
  42 + 1356981 - Re-enabled metacity theme support
  43 + - gtk-window-decorator: removed gconf
  44 + - gtk-window-decorator: port to GTK+ 3.
  45 + - po/POTFILES.in: remove gtk/window-decorator/gwd.schemas.in
  46 + - Calculated correct button position in cairo theme.
  47 + 1333277 - Remove the need to check the viewport we are painting the
  48 + maximized window in while in Expo mode and only scale maximized
  49 + windows that are not being dragged.
  50 + 1330198 - Add more button ungrab keymasks, so unfocused Gtk window
  51 + scrolling will work when NumLock is off and CapsLock is on and
  52 + any combination thereof.
  53 +
1 54 Release 0.9.11 (2014-6-10 Chris Townsend <christopher.townsend@canonical.com>)
2 55 =============================================================================
3 56  
... ...
compiz/VERSION
1   -0.9.12
  1 +0.9.12.1
... ...
compiz/cmake/CompizCommon.cmake
... ... @@ -293,7 +293,10 @@ endfunction ()
293 293 macro (compiz_add_git_dist)
294 294  
295 295 add_custom_target (dist
296   - COMMAND bzr export --root=${CMAKE_PROJECT_NAME}-${VERSION} ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${VERSION}.tar.bz2
  296 + COMMAND bzr export ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${VERSION}
  297 + && rm -rf ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${VERSION}/debian
  298 + && tar -C ${CMAKE_BINARY_DIR} -cj ${CMAKE_PROJECT_NAME}-${VERSION} -f ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${VERSION}.tar.bz2
  299 + && rm -rf ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${VERSION}
297 300 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
298 301  
299 302 endmacro ()
... ... @@ -402,12 +405,12 @@ macro (compiz_add_release)
402 405 if (AUTO_NEWS_UPDATE)
403 406  
404 407 add_custom_target (news-header echo > ${CMAKE_BINARY_DIR}/NEWS.update
405   - COMMAND echo "Release ${VERSION} ('`date +%Y-%m-%d`' '`bzr config email`')" > ${CMAKE_BINARY_DIR}/NEWS.update && seq -s "=" `cat ${CMAKE_BINARY_DIR}/NEWS.update | wc -c` | sed 's/[0-9]//g' >> ${CMAKE_BINARY_DIR}/NEWS.update && echo '${AUTO_NEWS_UPDATE}' >> ${CMAKE_BINARY_DIR}/NEWS.update && echo >> ${CMAKE_BINARY_DIR}/NEWS.update
  408 + COMMAND echo \"Release ${VERSION} \(`date +%Y-%m-%d` `bzr config email`\)\" > ${CMAKE_BINARY_DIR}/NEWS.update && seq -s \"=\" `cat ${CMAKE_BINARY_DIR}/NEWS.update | wc -c` | sed 's/[0-9]//g' >> ${CMAKE_BINARY_DIR}/NEWS.update && echo '${AUTO_NEWS_UPDATE}' >> ${CMAKE_BINARY_DIR}/NEWS.update && echo >> ${CMAKE_BINARY_DIR}/NEWS.update
406 409 COMMENT "Generating NEWS Header"
407 410 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
408 411 else (AUTO_NEWS_UPDATE)
409 412 add_custom_target (news-header echo > ${CMAKE_BINARY_DIR}/NEWS.update
410   - COMMAND echo "Release ${VERSION} ('`date +%Y-%m-%d`' '`bzr config email`')" > ${CMAKE_BINARY_DIR}/NEWS.update && seq -s "=" `cat ${CMAKE_BINARY_DIR}/NEWS.update | wc -c` | sed 's/[0-9]//g' >> ${CMAKE_BINARY_DIR}/NEWS.update && $ENV{EDITOR} ${CMAKE_BINARY_DIR}/NEWS.update && echo >> ${CMAKE_BINARY_DIR}/NEWS.update
  413 + COMMAND echo \"Release ${VERSION} \(`date +%Y-%m-%d` `bzr config email`\)\" > ${CMAKE_BINARY_DIR}/NEWS.update && seq -s "=" `cat ${CMAKE_BINARY_DIR}/NEWS.update | wc -c` | sed 's/[0-9]//g' >> ${CMAKE_BINARY_DIR}/NEWS.update && $ENV{EDITOR} ${CMAKE_BINARY_DIR}/NEWS.update && echo >> ${CMAKE_BINARY_DIR}/NEWS.update
411 414 COMMENT "Generating NEWS Header"
412 415 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
413 416 endif (AUTO_NEWS_UPDATE)
... ...
compiz/compizconfig/CMakeLists.txt
... ... @@ -5,14 +5,14 @@ set (COMPIZCONFIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/libcompizconfig/inclu
5 5 set (COMPIZCONFIG_LIBRARY_DIRS ${CMAKE_CURRENT_BINARY_DIR}/libcompizconfig)
6 6  
7 7 if (COMPIZ_PACKAGING_ENABLED)
8   - set (libcompizconfig_libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "libdir")
9   - set (libcompizconfig_includedir ${CMAKE_INSTALL_PREFIX}/include/compizconfig CACHE PATH "includedir")
10   - set (libcompizconfig_prefix ${CMAKE_INSTALL_PREFIX} CACHE PATH "prefix")
11   - set (libcompizconfig_exec_prefix ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "bindir")
  8 + set (libcompizconfig_prefix ${CMAKE_INSTALL_PREFIX} CACHE PATH "prefix")
  9 + set (libcompizconfig_libdir ${CMAKE_INSTALL_FULL_LIBDIR} CACHE PATH "libdir")
  10 + set (libcompizconfig_includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}/compizconfig CACHE PATH "includedir")
  11 + set (libcompizconfig_exec_prefix ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "bindir")
12 12 else (COMPIZ_PACKAGING_ENABLED)
13   - set (libcompizconfig_libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
14   - set (libcompizconfig_includedir ${CMAKE_INSTALL_PREFIX}/include/compizconfig)
15 13 set (libcompizconfig_prefix ${CMAKE_INSTALL_PREFIX})
  14 + set (libcompizconfig_libdir ${CMAKE_INSTALL_FULL_LIBDIR})
  15 + set (libcompizconfig_includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}/compizconfig)
16 16 set (libcompizconfig_exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
17 17 endif (COMPIZ_PACKAGING_ENABLED)
18 18  
... ...
compiz/compizconfig/ccsm/ccsm.desktop.in
1 1 [Desktop Entry]
2   -Encoding=UTF-8
3 2 _Name=CompizConfig Settings Manager
4 3 _Comment=Configure Compiz with CompizConfig
5 4 Icon=ccsm
6 5 Exec=ccsm
7 6 Terminal=false
8 7 Type=Application
9   -Categories=Compiz;Settings;DesktopSettings;
  8 +Categories=Settings;DesktopSettings;
10 9 StartupNotify=true
... ...
compiz/compizconfig/ccsm/images/scalable/apps/plugin-matecompat.svg 0 → 100644
... ... @@ -0,0 +1,178 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
  3 +
  4 +<svg
  5 + xmlns:dc="http://purl.org/dc/elements/1.1/"
  6 + xmlns:cc="http://creativecommons.org/ns#"
  7 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  8 + xmlns:svg="http://www.w3.org/2000/svg"
  9 + xmlns="http://www.w3.org/2000/svg"
  10 + xmlns:xlink="http://www.w3.org/1999/xlink"
  11 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  12 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  13 + width="48"
  14 + height="48"
  15 + id="svg4908"
  16 + sodipodi:version="0.32"
  17 + inkscape:version="0.48.4 r9939"
  18 + version="1.0"
  19 + sodipodi:docname="mate.svg"
  20 + inkscape:output_extension="org.inkscape.output.svg.inkscape"
  21 + inkscape:export-xdpi="90"
  22 + inkscape:export-ydpi="90">
  23 + <defs
  24 + id="defs4910">
  25 + <linearGradient
  26 + inkscape:collect="always"
  27 + id="linearGradient5671">
  28 + <stop
  29 + style="stop-color:#729fcf;stop-opacity:1;"
  30 + offset="0"
  31 + id="stop5673" />
  32 + <stop
  33 + style="stop-color:#3465a4;stop-opacity:1"
  34 + offset="1"
  35 + id="stop5675" />
  36 + </linearGradient>
  37 + <linearGradient
  38 + inkscape:collect="always"
  39 + xlink:href="#linearGradient5671"
  40 + id="linearGradient5677"
  41 + x1="10.915961"
  42 + y1="14.010388"
  43 + x2="10.915961"
  44 + y2="18.908218"
  45 + gradientUnits="userSpaceOnUse"
  46 + gradientTransform="matrix(2.3340955,0,0,2.0797356,-1.8209963,2.8226078)" />
  47 + <filter
  48 + inkscape:collect="always"
  49 + id="filter5761"
  50 + x="-0.077635549"
  51 + width="1.1552711"
  52 + y="-0.41717416"
  53 + height="1.8343483">
  54 + <feGaussianBlur
  55 + inkscape:collect="always"
  56 + stdDeviation="0.45085227"
  57 + id="feGaussianBlur5763" />
  58 + </filter>
  59 + <linearGradient
  60 + inkscape:collect="always"
  61 + xlink:href="#linearGradient5671"
  62 + id="linearGradient3022"
  63 + gradientUnits="userSpaceOnUse"
  64 + gradientTransform="matrix(2.3340955,0,0,2.0797356,-1.8209963,2.8226078)"
  65 + x1="10.915961"
  66 + y1="14.010388"
  67 + x2="10.915961"
  68 + y2="18.908218" />
  69 + </defs>
  70 + <sodipodi:namedview
  71 + id="base"
  72 + pagecolor="#ffffff"
  73 + bordercolor="#666666"
  74 + borderopacity="1.0"
  75 + inkscape:pageopacity="0.0"
  76 + inkscape:pageshadow="2"
  77 + inkscape:zoom="8"
  78 + inkscape:cx="6.747905"
  79 + inkscape:cy="33.475858"
  80 + inkscape:current-layer="layer1"
  81 + showgrid="true"
  82 + inkscape:grid-bbox="true"
  83 + inkscape:document-units="px"
  84 + width="48px"
  85 + height="48px"
  86 + inkscape:window-width="1278"
  87 + inkscape:window-height="948"
  88 + inkscape:window-x="0"
  89 + inkscape:window-y="27"
  90 + inkscape:window-maximized="0">
  91 + <inkscape:grid
  92 + type="xygrid"
  93 + id="grid5068" />
  94 + </sodipodi:namedview>
  95 + <metadata
  96 + id="metadata4913">
  97 + <rdf:RDF>
  98 + <cc:Work
  99 + rdf:about="">
  100 + <dc:format>image/svg+xml</dc:format>
  101 + <dc:type
  102 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  103 + </cc:Work>
  104 + </rdf:RDF>
  105 + </metadata>
  106 + <g
  107 + id="layer1"
  108 + inkscape:label="Layer 1"
  109 + inkscape:groupmode="layer">
  110 + <rect
  111 + style="opacity:0.24074073;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter5761)"
  112 + id="rect5679"
  113 + width="13.9375"
  114 + height="2.59375"
  115 + x="4.03125"
  116 + y="18.96875"
  117 + rx="0.4498865"
  118 + ry="0.63501096"
  119 + transform="matrix(2.0842678,0,0,1.4766422,0.6792651,15.488168)" />
  120 + <path
  121 + inkscape:connector-curvature="0"
  122 + style="opacity:0.19444442;fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
  123 + d="m 37.756513,11.747296 c 0,0 5.140615,5.035338 5.157002,12.720854 0.01653,7.751769 -5.355349,12.985871 -5.355349,12.985871"
  124 + id="path5667"
  125 + sodipodi:nodetypes="czc" />
  126 + <path
  127 + inkscape:connector-curvature="0"
  128 + style="opacity:0.18981479;fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
  129 + d="m 30.616047,16.915142 c 0,0 3.686577,2.501111 3.636349,7.685516 -0.04959,5.118158 -3.636349,7.28799 -3.636349,7.28799"
  130 + id="path5669"
  131 + sodipodi:nodetypes="czc" />
  132 + <path
  133 + inkscape:connector-curvature="0"
  134 + style="fill:#87a556;fill-opacity:1;fill-rule:evenodd;stroke:#5a6943;stroke-width:0.99999987999999995px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  135 + d="M 3.033391,11.648109 24.671136,24.418378 3.016816,37.198431 3.033391,11.648109 z"
  136 + id="path5070" />
  137 + <path
  138 + inkscape:connector-curvature="0"
  139 + style="opacity:0.18055558;fill:none;stroke:#eeeeec;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  140 + d="M 4.04192,13.453223 22.5645,24.420891 4.027734,35.311401 4.04192,13.453223 z"
  141 + id="path5665"
  142 + sodipodi:nodetypes="cccc" />
  143 + <path
  144 + inkscape:connector-curvature="0"
  145 + style="opacity:0.32407406;fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
  146 + d="m 38.153525,11.23664 c 0,0 5.427094,5.46394 5.427094,13.24865 0,7.850944 -5.427094,13.182407 -5.427094,13.182407"
  147 + id="path5689"
  148 + sodipodi:nodetypes="czc" />
  149 + <path
  150 + inkscape:connector-curvature="0"
  151 + style="opacity:0.32407406;fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
  152 + d="m 33.305222,17.049165 c 0,0 2.779731,2.878431 2.779731,7.220514 0,4.27587 -2.514994,7.220514 -2.514994,7.220514"
  153 + id="path5691"
  154 + sodipodi:nodetypes="czc" />
  155 + <path
  156 + inkscape:connector-curvature="0"
  157 + style="fill:#87a556;fill-opacity:1;stroke:#5a6943;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  158 + d="m 44.983184,24.545684 c 0,-11.316001 -9.170001,-20.5 -20.46875,-20.5 -6.524212,0 -12.313471,3.0771446 -16.0625,7.84375 l 2.5625,1.625 c 3.198502,-3.9147617 8.085497,-6.40625 13.53125,-6.40625 9.625499,-10e-8 17.4375,7.812 17.4375,17.4375 0,9.6255 -7.812,17.4375 -17.4375,17.4375 -5.430049,0 -10.301145,-2.47967 -13.5,-6.375 l -2.5625,1.625 c 3.749919,4.746873 9.522794,7.8125 16.03125,7.8125 11.29875,0 20.46875,-9.183999 20.46875,-20.5 z"
  159 + id="path5067" />
  160 + <path
  161 + inkscape:connector-curvature="0"
  162 + style="fill:#87a556;fill-opacity:1;stroke:#5a6943;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  163 + d="m 37.045684,24.576934 c 0,-6.91725 -5.614001,-12.53125 -12.53125,-12.53125 -3.682751,0 -6.987847,1.592947 -9.28125,4.125 l 2.65625,1.65625 c 1.708502,-1.687387 4.044211,-2.71875 6.625,-2.71875 5.226749,0 9.46875,4.27 9.46875,9.53125 0,5.261251 -4.242001,9.53125 -9.46875,9.53125 -2.628895,10e-7 -5.002549,-1.069255 -6.71875,-2.8125 l -2.5625,1.625 c 2.293403,2.532054 5.598499,4.125001 9.28125,4.125 6.91725,0 12.53125,-5.614 12.53125,-12.53125 z"
  164 + id="path5648" />
  165 + <path
  166 + inkscape:connector-curvature="0"
  167 + style="opacity:0.33333333;fill:none;stroke:#eeeeec;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  168 + d="m 10.045238,37.420684 c 3.560547,4.071766 8.326523,6.5625 14.45318,6.5625 10.721091,0 19.422266,-8.721999 19.422266,-19.46875 0,-10.74675 -8.701175,-19.46875 -19.422266,-19.46875 -6.157926,0 -10.831105,2.5141711 -14.452732,6.6875"
  169 + id="path5664"
  170 + sodipodi:nodetypes="cscsc" />
  171 + <path
  172 + inkscape:connector-curvature="0"
  173 + style="opacity:0.33333333;fill:none;stroke:#eeeeec;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  174 + d="m 16.826934,33.201934 c 2.164413,1.898506 4.331161,2.843749 7.625,2.84375 6.36525,0 11.53125,-5.152 11.53125,-11.5 0,-6.348 -5.166,-11.5 -11.53125,-11.5 -3.309727,0 -5.552652,1.207783 -7.65625,3.125"
  175 + id="path5677"
  176 + sodipodi:nodetypes="cscsc" />
  177 + </g>
  178 +</svg>
... ...
compiz/compizconfig/compizconfig-python/CMakeLists.txt
... ... @@ -95,7 +95,7 @@ else ($ENV{COMPIZ_DEB_BUILD})
95 95 set (INSTALL_LAYOUT_DIR site-packages)
96 96 endif ($ENV{COMPIZ_DEB_BUILD})
97 97  
98   -set (PYTHON_MODULE_DIR ${libdir}/python${PY_VERSION}/${INSTALL_LAYOUT_DIR})
  98 +set (PYTHON_MODULE_DIR ${CMAKE_INSTALL_PREFIX}/lib/python${PY_VERSION}/${INSTALL_LAYOUT_DIR})
99 99  
100 100 install (TARGETS compizconfig_python_module
101 101 DESTINATION ${PYTHON_MODULE_DIR})
... ...
compiz/compizconfig/gsettings/gsettings_backend_shared/CMakeLists.txt
... ... @@ -77,6 +77,6 @@ if (GSETTINGS_UTIL_FOUND)
77 77 ${GSETTINGS_UTIL_LIBRARIES})
78 78  
79 79 install (TARGETS compizconfig_gsettings_backend
80   - DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
  80 + DESTINATION ${libdir})
81 81  
82 82 endif (GSETTINGS_UTIL_FOUND)
... ...
compiz/compizconfig/integration/CMakeLists.txt
1 1 add_subdirectory (gnome)
  2 +add_subdirectory (mate)
... ...
compiz/compizconfig/integration/mate/CMakeLists.txt 0 → 100644
... ... @@ -0,0 +1,45 @@
  1 +include (FindPkgConfig)
  2 +
  3 +add_subdirectory (gconf)
  4 +add_subdirectory (gsettings)
  5 +
  6 +set (_deps
  7 + glib-2.0>=2.20.0
  8 + gio-2.0>=2.25.0)
  9 +
  10 +compiz_pkg_check_modules (COMPIZCONFIG_MATE_INTEGRATION ${_deps})
  11 +
  12 +if (COMPIZCONFIG_MATE_INTEGRATION_FOUND)
  13 +
  14 + include_directories (${CMAKE_SOURCE_DIR}/compizconfig/libcompizconfig/include
  15 + ${CMAKE_SOURCE_DIR}/compizconfig/integration/mate/include
  16 + ${COMPIZCONFIG_MATE_INTEGRATION_INCLUDE_DIRS})
  17 +
  18 + link_directories (${CMAKE_BINARY_DIR}/compizconfig/libcompizconfig
  19 + ${COMPIZCONFIG_MATE_INTEGRATION_LIBRARY_DIRS})
  20 +
  21 + add_library (compizconfig_mate_integration_constants STATIC
  22 + ${CMAKE_CURRENT_SOURCE_DIR}/src/ccs_mate_integration_constants.c)
  23 +
  24 + add_library (compizconfig_mate_integration STATIC
  25 + ${CMAKE_CURRENT_SOURCE_DIR}/src/ccs_mate_integration.c)
  26 +
  27 + target_link_libraries (compizconfig_mate_integration
  28 + compizconfig_mate_integration_constants
  29 + compizconfig_mate_integrated_setting
  30 + compizconfig
  31 + ${COMPIZCONFIG_MATE_INTEGRATION_LIBRARIES})
  32 +
  33 + add_library (compizconfig_mate_integrated_setting STATIC
  34 + ${CMAKE_CURRENT_SOURCE_DIR}/src/ccs_mate_integrated_setting.c)
  35 +
  36 + target_link_libraries (compizconfig_mate_integrated_setting
  37 + compizconfig_mate_integration_constants
  38 + compizconfig
  39 + ${COMPIZCONFIG_MATE_INTEGRATION_LIBRARIES})
  40 +
  41 + if (COMPIZ_BUILD_TESTING)
  42 + add_subdirectory (tests)
  43 + endif (COMPIZ_BUILD_TESTING)
  44 +
  45 +endif (COMPIZCONFIG_MATE_INTEGRATION_FOUND)
... ...
compiz/compizconfig/integration/mate/gconf/CMakeLists.txt 0 → 100644
... ... @@ -0,0 +1,46 @@
  1 +include (FindPkgConfig)
  2 +
  3 +if (USE_GCONF)
  4 +
  5 + set (_deps
  6 + glib-2.0>=2.20.0
  7 + gio-2.0>=2.25.0
  8 + gconf-2.0>=2.31.1)
  9 +
  10 + compiz_pkg_check_modules (COMPIZCONFIG_MATE_GCONF_INTEGRATION ${_deps})
  11 +
  12 + if (COMPIZCONFIG_MATE_GCONF_INTEGRATION_FOUND)
  13 +
  14 + add_definitions (-DUSE_GCONF)
  15 +
  16 + include_directories (${CMAKE_SOURCE_DIR}/compizconfig/libcompizconfig/include
  17 + ${CMAKE_SOURCE_DIR}/compizconfig/integration/mate/include
  18 + ${CMAKE_SOURCE_DIR}/compizconfig/integration/mate/gconf/include
  19 + ${COMPIZCONFIG_MATE_GCONF_INTEGRATION_INCLUDE_DIRS})
  20 +
  21 + link_directories (${CMAKE_BINARY_DIR}/compizconfig/libcompizconfig
  22 + ${CMAKE_BINARY_DIR}/compizconfig/integration/mate
  23 + ${COMPIZCONFIG_MATE_GCONF_INTEGRATION_LIBRARY_DIRS})
  24 +
  25 + add_library (compizconfig_mate_integration_gconf_integrated_setting STATIC
  26 + ${CMAKE_CURRENT_SOURCE_DIR}/src/ccs_mate_integration_gconf_integrated_setting.c)
  27 +
  28 + target_link_libraries (compizconfig_mate_integration_gconf_integrated_setting
  29 + compizconfig_mate_integrated_setting
  30 + compizconfig_mate_integration_constants
  31 + compizconfig
  32 + ${COMPIZCONFIG_MATE_GCONF_INTEGRATION_LIBRARIES})
  33 +
  34 + add_library (compizconfig_mate_integration_gconf_setting_factory STATIC
  35 + ${CMAKE_CURRENT_SOURCE_DIR}/src/ccs_mate_integration_gconf_integrated_setting_factory.c)
  36 +
  37 + target_link_libraries (compizconfig_mate_integration_gconf_setting_factory
  38 + compizconfig_mate_integration_constants
  39 + compizconfig_mate_integrated_setting
  40 + compizconfig_mate_integration_gconf_integrated_setting
  41 + compizconfig
  42 + ${COMPIZCONFIG_MATE_GCONF_INTEGRATION_LIBRARIES})
  43 +
  44 + endif (COMPIZCONFIG_MATE_GCONF_INTEGRATION_FOUND)
  45 +
  46 +endif (USE_GCONF)
... ...
compiz/compizconfig/integration/mate/gconf/include/ccs_mate_integration_gconf_integrated_setting.h 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +#ifndef _CCS_MATE_GCONF_INTEGRATED_SETTING_H
  2 +#define _CCS_MATE_GCONF_INTEGRATED_SETTING_H
  3 +
  4 +#include <ccs-defs.h>
  5 +#include <ccs-fwd.h>
  6 +#include <ccs_mate_fwd.h>
  7 +#include <gconf/gconf-client.h>
  8 +
  9 +COMPIZCONFIG_BEGIN_DECLS
  10 +
  11 +/**
  12 + * @brief ccsGConfIntegratedSettingNew
  13 + * @param base a CCSMATEIntegratedSetting
  14 + * @param client a GConfClient
  15 + * @param section the preceeding path to the keyname
  16 + * @param ai a CCSObjectAllocationInterface
  17 + * @return
  18 + *
  19 + * Creates the GConf implementation of a CCSIntegratedSetting, which will
  20 + * write to GConf keys when necessary.
  21 + */
  22 +CCSIntegratedSetting *
  23 +ccsGConfIntegratedSettingNew (CCSMATEIntegratedSettingInfo *base,
  24 + GConfClient *client,
  25 + const char *section,
  26 + CCSObjectAllocationInterface *ai);
  27 +
  28 +COMPIZCONFIG_END_DECLS
  29 +
  30 +#endif
... ...
compiz/compizconfig/integration/mate/gconf/include/ccs_mate_integration_gconf_integrated_setting_factory.h 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +#ifndef _CCS_MATE_GCONF_INTEGRATED_SETTING_FACTORY_H
  2 +#define _CCS_MATE_GCONF_INTEGRATED_SETTING_FACTORY_H
  3 +
  4 +#include <ccs-defs.h>
  5 +#include <ccs-object.h>
  6 +#include <ccs-fwd.h>
  7 +#include <ccs_mate_fwd.h>
  8 +#include <gconf/gconf-client.h>
  9 +
  10 +COMPIZCONFIG_BEGIN_DECLS
  11 +
  12 +/**
  13 + * @brief ccsGConfIntegratedSettingFactoryNew
  14 + * @param client an existing GConfClient or NULL
  15 + * @param data some data to pass to the change callback
  16 + * @param ai a CCSObjectAllocationInterface
  17 + * @return a new CCSIntegratedSettingFactory
  18 + *
  19 + * CCSGConfIntegratedSettingFactory implements CCSIntegratedSettingFactory *
  20 + * and will create CCSGConfIntegratedSetting objects (which implement
  21 + * CCSIntegratedSetting).
  22 + */
  23 +CCSIntegratedSettingFactory *
  24 +ccsGConfIntegratedSettingFactoryNew (GConfClient *client,
  25 + CCSMATEValueChangeData *data,
  26 + CCSObjectAllocationInterface *ai);
  27 +
  28 +COMPIZCONFIG_END_DECLS
  29 +
  30 +#endif
... ...
compiz/compizconfig/integration/mate/gconf/src/ccs_mate_integration_gconf_integrated_setting.c 0 → 100644
... ... @@ -0,0 +1,290 @@
  1 +#include <stdlib.h>
  2 +#include <string.h>
  3 +
  4 +#include <gconf/gconf.h>
  5 +#include <gconf/gconf-client.h>
  6 +#include <gconf/gconf-value.h>
  7 +
  8 +#include <ccs.h>
  9 +#include <ccs-backend.h>
  10 +#include <ccs-object.h>
  11 +
  12 +#include "ccs_mate_integration_gconf_integrated_setting.h"
  13 +#include "ccs_mate_integrated_setting.h"
  14 +#include "ccs_mate_integration_constants.h"
  15 +
  16 +
  17 +/* CCSGConfIntegratedSetting implementation */
  18 +typedef struct _CCSGConfIntegratedSettingPrivate CCSGConfIntegratedSettingPrivate;
  19 +
  20 +struct _CCSGConfIntegratedSettingPrivate
  21 +{
  22 + CCSMATEIntegratedSettingInfo *mateIntegratedSettingInfo;
  23 + GConfClient *client;
  24 + const char *sectionName;
  25 +};
  26 +
  27 +SpecialOptionType
  28 +ccsGConfIntegratedSettingGetSpecialOptionType (CCSMATEIntegratedSettingInfo *setting)
  29 +{
  30 + CCSGConfIntegratedSettingPrivate *priv = (CCSGConfIntegratedSettingPrivate *) ccsObjectGetPrivate (setting);
  31 +
  32 + return ccsMATEIntegratedSettingInfoGetSpecialOptionType (priv->mateIntegratedSettingInfo);
  33 +}
  34 +
  35 +const char *
  36 +ccsGConfIntegratedSettingGetMATEName (CCSMATEIntegratedSettingInfo *setting)
  37 +{
  38 + CCSGConfIntegratedSettingPrivate *priv = (CCSGConfIntegratedSettingPrivate *) ccsObjectGetPrivate (setting);
  39 +
  40 + return ccsMATEIntegratedSettingInfoGetMATEName (priv->mateIntegratedSettingInfo);
  41 +}
  42 +
  43 +CCSSettingValue *
  44 +ccsGConfIntegratedSettingReadValue (CCSIntegratedSetting *setting, CCSSettingType type)
  45 +{
  46 + CCSGConfIntegratedSettingPrivate *priv = (CCSGConfIntegratedSettingPrivate *) ccsObjectGetPrivate (setting);
  47 + CCSSettingValue *v = calloc (1, sizeof (CCSSettingValue));
  48 + const char *mateKeyName = ccsMATEIntegratedSettingInfoGetMATEName ((CCSMATEIntegratedSettingInfo *) setting);
  49 + char *mateKeyPath = g_strconcat (priv->sectionName, mateKeyName, NULL);
  50 +
  51 + v->isListChild = FALSE;
  52 + v->parent = NULL;
  53 + v->refCount = 1;
  54 +
  55 + GConfValue *gconfValue;
  56 + GError *err = NULL;
  57 +
  58 + gconfValue = gconf_client_get (priv->client,
  59 + mateKeyPath,
  60 + &err);
  61 +
  62 + if (!gconfValue)
  63 + {
  64 + ccsError ("NULL encountered while reading GConf setting");
  65 + free (mateKeyPath);
  66 + free (v);
  67 + return NULL;
  68 + }
  69 +
  70 + if (err)
  71 + {
  72 + ccsError ("%s", err->message);
  73 + g_error_free (err);
  74 + free (mateKeyPath);
  75 + free (v);
  76 + return NULL;
  77 + }
  78 +
  79 + switch (type)
  80 + {
  81 + case TypeInt:
  82 + if (gconfValue->type != GCONF_VALUE_INT)
  83 + {
  84 + ccsError ("Expected integer value");
  85 + free (v);
  86 + v = NULL;
  87 + break;
  88 + }
  89 +
  90 + v->value.asInt = gconf_value_get_int (gconfValue);
  91 + break;
  92 + case TypeBool:
  93 + if (gconfValue->type != GCONF_VALUE_BOOL)
  94 + {
  95 + ccsError ("Expected boolean value");
  96 + free (v);
  97 + v = NULL;
  98 + break;
  99 + }
  100 +
  101 + v->value.asBool = gconf_value_get_bool (gconfValue) ? TRUE : FALSE;
  102 + break;
  103 + case TypeString:
  104 + case TypeKey:
  105 + if (gconfValue->type != GCONF_VALUE_STRING)
  106 + {
  107 + ccsError ("Expected string value");
  108 + free (v);
  109 + v = NULL;
  110 + break;
  111 + }
  112 +
  113 + const char *str = gconf_value_get_string (gconfValue);
  114 +
  115 + v->value.asString = strdup (str ? str : "");
  116 + break;
  117 + default:
  118 + g_assert_not_reached ();
  119 + }
  120 +
  121 + gconf_value_free (gconfValue);
  122 + free (mateKeyPath);
  123 +
  124 + return v;
  125 +}
  126 +
  127 +void
  128 +ccsGConfIntegratedSettingWriteValue (CCSIntegratedSetting *setting, CCSSettingValue *v, CCSSettingType type)
  129 +{
  130 + CCSGConfIntegratedSettingPrivate *priv = (CCSGConfIntegratedSettingPrivate *) ccsObjectGetPrivate (setting);
  131 + const char *mateKeyName = ccsMATEIntegratedSettingInfoGetMATEName ((CCSMATEIntegratedSettingInfo *) setting);
  132 + char *mateKeyPath = g_strconcat (priv->sectionName, mateKeyName, NULL);
  133 + GError *err = NULL;
  134 +
  135 + switch (type)
  136 + {
  137 + case TypeInt:
  138 + {
  139 + int currentValue = gconf_client_get_int (priv->client, mateKeyPath, &err);
  140 +
  141 + if (!err && (currentValue != v->value.asInt))
  142 + gconf_client_set_int(priv->client, mateKeyPath,
  143 + v->value.asInt, NULL);
  144 + }
  145 + break;
  146 + case TypeBool:
  147 + {
  148 + Bool newValue = v->value.asBool;
  149 + gboolean currentValue;
  150 +
  151 + currentValue = gconf_client_get_bool (priv->client, mateKeyPath, &err);
  152 +
  153 + if (!err && ((currentValue && !newValue) ||
  154 + (!currentValue && newValue)))
  155 + gconf_client_set_bool (priv->client, mateKeyPath,
  156 + newValue, NULL);
  157 + }
  158 + break;
  159 + case TypeString:
  160 + case TypeKey:
  161 + {
  162 + char *newValue = v->value.asString;
  163 + gchar *currentValue;
  164 +
  165 + currentValue = gconf_client_get_string (priv->client, mateKeyPath, &err);
  166 +
  167 + if (!err && currentValue)
  168 + {
  169 + if (strcmp (currentValue, newValue) != 0)
  170 + gconf_client_set_string (priv->client, mateKeyPath,
  171 + newValue, NULL);
  172 + g_free (currentValue);
  173 + }
  174 + }
  175 + break;
  176 + default:
  177 + g_assert_not_reached ();
  178 + break;
  179 + }
  180 +
  181 + if (err)
  182 + {
  183 + ccsError ("%s", err->message);
  184 + g_error_free (err);
  185 + }
  186 +
  187 + free (mateKeyPath);
  188 +}
  189 +
  190 +const char *
  191 +ccsGConfIntegratedSettingInfoPluginName (CCSIntegratedSettingInfo *info)
  192 +{
  193 + CCSGConfIntegratedSettingPrivate *priv = (CCSGConfIntegratedSettingPrivate *) ccsObjectGetPrivate (info);
  194 +
  195 + return ccsIntegratedSettingInfoPluginName ((CCSIntegratedSettingInfo *) priv->mateIntegratedSettingInfo);
  196 +}
  197 +
  198 +const char *
  199 +ccsGConfIntegratedSettingInfoSettingName (CCSIntegratedSettingInfo *info)
  200 +{
  201 + CCSGConfIntegratedSettingPrivate *priv = (CCSGConfIntegratedSettingPrivate *) ccsObjectGetPrivate (info);
  202 +
  203 + return ccsIntegratedSettingInfoSettingName ((CCSIntegratedSettingInfo *) priv->mateIntegratedSettingInfo);
  204 +}
  205 +
  206 +CCSSettingType
  207 +ccsGConfIntegratedSettingInfoGetType (CCSIntegratedSettingInfo *info)
  208 +{
  209 + CCSGConfIntegratedSettingPrivate *priv = (CCSGConfIntegratedSettingPrivate *) ccsObjectGetPrivate (info);
  210 +
  211 + return ccsIntegratedSettingInfoGetType ((CCSIntegratedSettingInfo *) priv->mateIntegratedSettingInfo);
  212 +}
  213 +
  214 +void
  215 +ccsGConfIntegratedSettingFree (CCSIntegratedSetting *setting)
  216 +{
  217 + CCSGConfIntegratedSettingPrivate *priv = (CCSGConfIntegratedSettingPrivate *) ccsObjectGetPrivate (setting);
  218 +
  219 + ccsIntegratedSettingInfoUnref ((CCSIntegratedSettingInfo *) priv->mateIntegratedSettingInfo);
  220 + ccsObjectFinalize (setting);
  221 +
  222 + (*setting->object.object_allocation->free_) (setting->object.object_allocation->allocator, setting);
  223 +}
  224 +
  225 +void
  226 +ccsGConfIntegratedSettingInfoFree (CCSIntegratedSettingInfo *info)
  227 +{
  228 + ccsGConfIntegratedSettingFree ((CCSIntegratedSetting *) info);
  229 +}
  230 +
  231 +void
  232 +ccsGConfMATEIntegratedSettingInfoFree (CCSMATEIntegratedSettingInfo *info)
  233 +{
  234 + ccsGConfIntegratedSettingFree ((CCSIntegratedSetting *) info);
  235 +}
  236 +
  237 +const CCSMATEIntegratedSettingInfoInterface ccsGConfMATEIntegratedSettingInfoInterface =
  238 +{
  239 + ccsGConfIntegratedSettingGetSpecialOptionType,
  240 + ccsGConfIntegratedSettingGetMATEName,
  241 + ccsGConfMATEIntegratedSettingInfoFree
  242 +};
  243 +
  244 +const CCSIntegratedSettingInterface ccsGConfIntegratedSettingInterface =
  245 +{
  246 + ccsGConfIntegratedSettingReadValue,
  247 + ccsGConfIntegratedSettingWriteValue,
  248 + ccsGConfIntegratedSettingFree
  249 +};
  250 +
  251 +const CCSIntegratedSettingInfoInterface ccsGConfIntegratedSettingInfoInterface =
  252 +{
  253 + ccsGConfIntegratedSettingInfoPluginName,
  254 + ccsGConfIntegratedSettingInfoSettingName,
  255 + ccsGConfIntegratedSettingInfoGetType,
  256 + ccsGConfIntegratedSettingInfoFree
  257 +};
  258 +
  259 +CCSIntegratedSetting *
  260 +ccsGConfIntegratedSettingNew (CCSMATEIntegratedSettingInfo *base,
  261 + GConfClient *client,
  262 + const char *section,
  263 + CCSObjectAllocationInterface *ai)
  264 +{
  265 + CCSIntegratedSetting *setting = (*ai->calloc_) (ai->allocator, 1, sizeof (CCSIntegratedSetting));
  266 +
  267 + if (!setting)
  268 + return NULL;
  269 +
  270 + CCSGConfIntegratedSettingPrivate *priv = (*ai->calloc_) (ai->allocator, 1, sizeof (CCSGConfIntegratedSettingPrivate));
  271 +
  272 + if (!priv)
  273 + {
  274 + (*ai->free_) (ai->allocator, priv);
  275 + return NULL;
  276 + }
  277 +
  278 + priv->mateIntegratedSettingInfo = base;