aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Evan2021-03-13 21:46:48 -0500
committerMatthew Evan2021-03-13 21:46:48 -0500
commit28cac6ef79ad517c19190dd655c883502e03e716 (patch)
treecf5be22e445f8e63eecb0d0078f92c870b54ec9a
downloadaur-28cac6ef79ad517c19190dd655c883502e03e716.tar.gz
Initial upload.
-rw-r--r--.SRCINFO83
-rw-r--r--LICENSE20
-rw-r--r--PKGBUILD156
-rw-r--r--compiz-easy-defaults.patch145
-rw-r--r--compiz-easy-patch.install6
-rw-r--r--compiz-easy.gschema.override7
-rwxr-xr-xcompiz-gtk-decorator-theme-selector36
-rw-r--r--compiz-gtk-decorator-theme-selector.desktop11
-rwxr-xr-xcompiz-xfce-autostart-setup26
-rw-r--r--compiz-xfce-autostart-setup.desktop11
-rw-r--r--compiz-xfce-uninstall-helper15
-rw-r--r--compiz-xfce-uninstall-helper.desktop11
-rw-r--r--focus-prevention-disable.patch12
-rw-r--r--gcc10_common_fix.patch68
-rw-r--r--gtk-extents.patch13
-rw-r--r--no-compile-gschemas.patch19
-rw-r--r--remove-unused-or-broken-buttons.patch321
-rw-r--r--reverse-unity-config.patch871
-rw-r--r--screenshot-launch-fix.patch15
19 files changed, 1846 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..db2360851a1d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,83 @@
+pkgbase = compiz-easy-patch
+ pkgdesc = OpenGL compositing window manager. Includes friendly defaults, GWD theme selector and autostart for Xfce & MATE.
+ pkgver = 0.9.14.1
+ pkgrel = 3
+ url = https://launchpad.net/compiz
+ install = compiz-easy-patch.install
+ arch = x86_64
+ license = GPL
+ license = LGPL
+ license = MIT
+ makedepends = boost
+ makedepends = cmake
+ makedepends = intltool
+ makedepends = cython
+ depends = boost-libs
+ depends = xorg-server
+ depends = fuse2
+ depends = glibmm
+ depends = libwnck3
+ depends = python-gobject
+ depends = python-cairo
+ depends = protobuf
+ depends = metacity
+ depends = glu
+ depends = zenity
+ optdepends = xorg-xprop: grab various window properties for use in window matching rules
+ optdepends = xfce-theme-greybird: A grey and blue Xfce theme
+ provides = compiz=0.9.14.1
+ provides = compiz-core=0.9.14.1
+ provides = compiz-bcop=0.9.14.1
+ provides = ccsm=0.9.14.1
+ provides = compiz-plugins-main=0.9.14.1
+ provides = compiz-plugins-extra=0.9.14.1
+ provides = compizconfig-python=0.9.14.1
+ provides = libcompizconfig=0.9.14.1
+ conflicts = compiz
+ conflicts = compiz-core
+ conflicts = compiz-gtk
+ conflicts = compiz-bcop
+ conflicts = ccsm
+ conflicts = compiz-fusion-plugins-main
+ conflicts = compiz-fusion-plugins-extra
+ conflicts = compiz-fusion-plugins-experimental
+ conflicts = compizconfig-python
+ conflicts = libcompizconfig
+ conflicts = simple-ccsm
+ conflicts = compiz-manjaro
+ replaces = compiz-manjaro
+ source = https://launchpad.net/compiz/0.9.14/0.9.14.1/+download/compiz-0.9.14.1.tar.xz
+ source = focus-prevention-disable.patch
+ source = gtk-extents.patch
+ source = reverse-unity-config.patch
+ source = screenshot-launch-fix.patch
+ source = no-compile-gschemas.patch
+ source = compiz-easy-defaults.patch
+ source = gcc10_common_fix.patch
+ source = compiz-easy.gschema.override
+ source = compiz-gtk-decorator-theme-selector
+ source = compiz-gtk-decorator-theme-selector.desktop
+ source = compiz-xfce-autostart-setup
+ source = compiz-xfce-autostart-setup.desktop
+ source = compiz-xfce-uninstall-helper
+ source = compiz-xfce-uninstall-helper.desktop
+ source = remove-unused-or-broken-buttons.patch
+ sha256sums = 2505602b6c93d6565e681473df4157634268533c6874c3cdc9493b73b301ac52
+ sha256sums = f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b
+ sha256sums = 16ddb6311ce42d958505e21ca28faae5deeddce02cb558d55e648380274ba4d9
+ sha256sums = 6ec9c04540ca1649c687d9ab2c8311caea7075831e2cffe719ec7958c9ebab7b
+ sha256sums = 89ee91a8ea6b1424ef76661ea9a2db43412366aacddc12d24a7adf5e04bfbc61
+ sha256sums = 4ab3277da201314b3f65e30128bc30704ddee584fdbbfc8d0d83c7e0de91fa9a
+ sha256sums = 4d28bc2cefbfae77b9157f39876f5296b5edb7fb00de2a391a262688d2f7590c
+ sha256sums = 2a0844e8d8f561f78efb546f231ce3ff2322e5c1b064cf3d30e2e3fe5631d070
+ sha256sums = b549d6a61115ab0cbd6bf74be79cd449477aaadb6a9968743236e3ed3d93f668
+ sha256sums = 28d14e5ec0694b4a451540f35210eac5699e9daf1b00020bf59d8b0296d7d9bf
+ sha256sums = 0faaf9e9df28d2857108ccd0910d50ba631c34c2b1659b8860da8c2b552fc889
+ sha256sums = 3e46a0b50a16d9fd6fd4f9d28f6082fc76f39dff8a82a79af312126a6bcf7cc2
+ sha256sums = d23b8633186bb3a2a841734ad0b917500f3536a67046f5d8fbb08818eab59160
+ sha256sums = 5c471a34a1d79a45e8c4a924f0f58d71199328e45c80472fe32ecaac76c987ee
+ sha256sums = 02eec20f75eb1f9571a2cf92013fc3c78d13c155a8ede0467cc10b83cdeba43c
+ sha256sums = 0f3281255963c03a5a7d03a825dcbfcef758ace78f9d0ed828d28277e2841f32
+
+pkgname = compiz-easy-patch
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000000000000..24a8f9019938
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,20 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or distribute
+this software, either in source code form or as a compiled binary, for any
+purpose, commercial or non-commercial, and by any means.
+
+In jurisdictions that recognize copyright laws, the author or authors of this
+software dedicate any and all copyright interest in the software to the public
+domain. We make this dedication for the benefit of the public at large and
+to the detriment of our heirs and successors. We intend this dedication to
+be an overt act of relinquishment in perpetuity of all present and future
+rights to this software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
+THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information,
+please refer to <https://unlicense.org/>
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6732db1d7246
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,156 @@
+# Maintainer: Charles Bos <charlesbos1 AT gmail>
+# Contributor: Rob McCathie <archaur at rmcc dot com dot au
+# Contributor: /dev/rs0 <rs0@secretco.de.com>
+# Contributor: Iven Hsu <ivenvd AT gmail>
+# Contributor: Nathan Hulse <nat.hulse@gmail.com>
+# Contributor: lectrode <electrodexsnet AT gmail>
+
+_name=compiz
+pkgname=compiz-easy-patch
+pkgver=0.9.14.1
+pkgrel=3
+pkgdesc="OpenGL compositing window manager. Includes friendly defaults, GWD theme selector and autostart for Xfce & MATE."
+arch=('x86_64')
+url="https://launchpad.net/${_name}"
+license=('GPL' 'LGPL' 'MIT')
+depends=('boost-libs' 'xorg-server' 'fuse2' 'glibmm' 'libwnck3' 'python-gobject' 'python-cairo' 'protobuf' 'metacity' 'glu' 'zenity')
+makedepends=('boost' 'cmake' 'intltool' 'cython')
+optdepends=(
+ 'xorg-xprop: grab various window properties for use in window matching rules'
+ 'xfce-theme-greybird: A grey and blue Xfce theme'
+)
+replaces=('compiz-manjaro')
+conflicts=('compiz' 'compiz-core' 'compiz-gtk' 'compiz-bcop' 'ccsm' 'compiz-fusion-plugins-main' 'compiz-fusion-plugins-extra' 'compiz-fusion-plugins-experimental' 'compizconfig-python' 'libcompizconfig' 'simple-ccsm' 'compiz-manjaro')
+provides=("compiz=${pkgver}" "compiz-core=${pkgver}" "compiz-bcop=${pkgver}" "ccsm=${pkgver}" "compiz-plugins-main=${pkgver}" "compiz-plugins-extra=${pkgver}" "compizconfig-python=${pkgver}" "libcompizconfig=${pkgver}")
+
+source=("https://launchpad.net/${_name}/${pkgver:0:6}/${pkgver}/+download/${_name}-${pkgver}.tar.xz"
+ "focus-prevention-disable.patch"
+ "gtk-extents.patch"
+ "reverse-unity-config.patch"
+ "screenshot-launch-fix.patch"
+ "no-compile-gschemas.patch"
+ "compiz-easy-defaults.patch"
+ "gcc10_common_fix.patch"
+ "compiz-easy.gschema.override"
+ "compiz-gtk-decorator-theme-selector"
+ "compiz-gtk-decorator-theme-selector.desktop"
+ "compiz-xfce-autostart-setup"
+ "compiz-xfce-autostart-setup.desktop"
+ "compiz-xfce-uninstall-helper"
+ "compiz-xfce-uninstall-helper.desktop"
+ "remove-unused-or-broken-buttons.patch")
+
+sha256sums=('2505602b6c93d6565e681473df4157634268533c6874c3cdc9493b73b301ac52'
+ 'f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b'
+ '16ddb6311ce42d958505e21ca28faae5deeddce02cb558d55e648380274ba4d9'
+ '6ec9c04540ca1649c687d9ab2c8311caea7075831e2cffe719ec7958c9ebab7b'
+ '89ee91a8ea6b1424ef76661ea9a2db43412366aacddc12d24a7adf5e04bfbc61'
+ '4ab3277da201314b3f65e30128bc30704ddee584fdbbfc8d0d83c7e0de91fa9a'
+ '4d28bc2cefbfae77b9157f39876f5296b5edb7fb00de2a391a262688d2f7590c'
+ '2a0844e8d8f561f78efb546f231ce3ff2322e5c1b064cf3d30e2e3fe5631d070'
+ 'b549d6a61115ab0cbd6bf74be79cd449477aaadb6a9968743236e3ed3d93f668'
+ '28d14e5ec0694b4a451540f35210eac5699e9daf1b00020bf59d8b0296d7d9bf'
+ '0faaf9e9df28d2857108ccd0910d50ba631c34c2b1659b8860da8c2b552fc889'
+ '3e46a0b50a16d9fd6fd4f9d28f6082fc76f39dff8a82a79af312126a6bcf7cc2'
+ 'd23b8633186bb3a2a841734ad0b917500f3536a67046f5d8fbb08818eab59160'
+ '5c471a34a1d79a45e8c4a924f0f58d71199328e45c80472fe32ecaac76c987ee'
+ '02eec20f75eb1f9571a2cf92013fc3c78d13c155a8ede0467cc10b83cdeba43c'
+ '0f3281255963c03a5a7d03a825dcbfcef758ace78f9d0ed828d28277e2841f32')
+
+install="${pkgname}.install"
+
+prepare() {
+ cd "${srcdir}/${_name}-${pkgver}"
+
+ # Reverse Unity specific configuration patches
+ echo "#######reverse-unity-config.patch"
+ patch -p1 -i "${srcdir}/reverse-unity-config.patch"
+
+ # Set focus prevention level to off which means that new windows will always get focus
+ echo "#######focus-prevention-disable.patch"
+ patch -p1 -i "${srcdir}/focus-prevention-disable.patch"
+
+ # Fix incorrect extents for GTK+ tooltips, csd etc
+ echo "#######gtk-extents.patch"
+ patch -p1 -i "${srcdir}/gtk-extents.patch"
+
+ # Fix application launching for the screenshot plugin
+ echo "#######screenshot-launch-fix.patch"
+ patch -p1 -i "${srcdir}/screenshot-launch-fix.patch"
+
+ # Don't try to compile gschemas during make install
+ echo "#######no-compile-gschemas.patch"
+ patch -p1 -i "${srcdir}/no-compile-gschemas.patch"
+
+ # Fix linker error that gets raised with gcc 10 due to multiple definitions
+ patch -p1 -i "${srcdir}/gcc10_common_fix.patch"
+
+ # Remove buttons no longer supported in metacity
+ patch -p1 -i "${srcdir}/remove-unused-or-broken-buttons.patch"
+
+ # Manjaro defaults
+ echo "#######compiz-easy-defaults.patch"
+ patch -p1 -i "${srcdir}/compiz-easy-defaults.patch"
+}
+
+build() {
+ cd "${srcdir}/${_name}-${pkgver}"
+
+ mkdir build; cd build
+
+ cmake .. \
+ -DCMAKE_BUILD_TYPE="Release" \
+ -DCMAKE_INSTALL_PREFIX="/usr" \
+ -DCMAKE_INSTALL_LIBDIR="/usr/lib" \
+ -DCOMPIZ_DISABLE_SCHEMAS_INSTALL=On \
+ -DCOMPIZ_BUILD_WITH_RPATH=Off \
+ -DCOMPIZ_PACKAGING_ENABLED=On \
+ -DBUILD_GTK=On \
+ -DBUILD_METACITY=On \
+ -DBUILD_KDE4=Off \
+ -DCOMPIZ_BUILD_TESTING=Off \
+ -DCOMPIZ_WERROR=Off \
+ -DCOMPIZ_DEFAULT_PLUGINS="composite,opengl,decor,resize,place,move,compiztoolbox,staticswitcher,expo,grid,regex,animation,ccp"
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${_name}-${pkgver}/build"
+ make DESTDIR="${pkgdir}" install
+
+ # findcompiz_install needs COMPIZ_DESTDIR and install needs DESTDIR
+ # make findcompiz_install
+ CMAKE_DIR=$(cmake --system-information | grep '^CMAKE_ROOT' | awk -F\" '{print $2}')
+ install -dm755 "${pkgdir}${CMAKE_DIR}/Modules/"
+ install -m644 ../cmake/FindCompiz.cmake "${pkgdir}${CMAKE_DIR}/Modules/"
+
+ # Add documentation
+ install -dm755 "${pkgdir}/usr/share/doc/compiz/"
+ install ../{AUTHORS,NEWS,README} "${pkgdir}/usr/share/doc/compiz/"
+
+ # Add the gsettings schema files
+ if ls generated/glib-2.0/schemas/ | grep -qm1 .gschema.xml; then
+ install -dm755 "${pkgdir}/usr/share/glib-2.0/schemas/"
+ install -m644 generated/glib-2.0/schemas/*.gschema.xml "${pkgdir}/usr/share/glib-2.0/schemas/"
+ fi
+
+ # Install licenses
+ install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 "${srcdir}/${_name}-${pkgver}"/{COPYING,COPYING.GPL,COPYING.LGPL,COPYING.MIT} "${pkgdir}/usr/share/licenses/${pkgname}"
+
+ ## Manjaro stuff
+ # Add Manjaro dconf/gsettings schema override file
+ install -Dm644 "${srcdir}/compiz-easy.gschema.override" "${pkgdir}/usr/share/glib-2.0/schemas/compiz-easy.gschema.override"
+ # Make ccsm icon appear in Xfce settings manager
+ sed -i 's|Categories=Settings;DesktopSettings;|Categories=Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-OtherSettings;|' "${pkgdir}/usr/share/applications/ccsm.desktop"
+ # Install GWD theme selector app
+ install -Dm755 "${srcdir}/compiz-gtk-decorator-theme-selector" "${pkgdir}/usr/bin/compiz-gtk-decorator-theme-selector"
+ install -Dm644 "${srcdir}/compiz-gtk-decorator-theme-selector.desktop" "${pkgdir}/usr/share/applications/compiz-gtk-decorator-theme.desktop"
+ # Place autostart/theme scripts/enablers
+ install -Dm755 "${srcdir}/compiz-xfce-autostart-setup" "${pkgdir}/usr/bin/compiz-xfce-autostart-setup"
+ install -Dm644 "${srcdir}/compiz-xfce-autostart-setup.desktop" "${pkgdir}/etc/xdg/autostart/compiz-xfce-autostart-setup.desktop"
+ install -Dm755 "${srcdir}/compiz-xfce-uninstall-helper" "${pkgdir}/usr/bin/compiz-xfce-uninstall-helper"
+ install -Dm644 "${srcdir}/compiz-xfce-uninstall-helper.desktop" "${pkgdir}/etc/xdg/autostart/compiz-xfce-uninstall-helper.desktop"
+}
+
diff --git a/compiz-easy-defaults.patch b/compiz-easy-defaults.patch
new file mode 100644
index 000000000000..6077bdeb79d0
--- /dev/null
+++ b/compiz-easy-defaults.patch
@@ -0,0 +1,145 @@
+diff -Naur a/metadata/core.xml.in b/metadata/core.xml.in
+--- a/metadata/core.xml.in 2016-07-01 21:39:57.000000000 +1000
++++ b/metadata/core.xml.in 2016-08-03 15:58:02.119855486 +1000
+@@ -215,7 +215,7 @@
+ <option name="window_menu_button" type="button">
+ <_short>Window Menu</_short>
+ <_long>Window menu button binding</_long>
+- <default>&lt;Alt&gt;Button3</default>
++ <default>&lt;Alt&gt;Button2</default>
+ </option>
+ <option name="show_desktop_key" type="key">
+ <_short>Show Desktop</_short>
+@@ -254,14 +254,14 @@
+ <option name="hsize" type="int">
+ <_short>Horizontal Virtual Size</_short>
+ <_long>Screen size multiplier for horizontal virtual size</_long>
+- <default>4</default>
++ <default>2</default>
+ <min>1</min>
+ <max>32</max>
+ </option>
+ <option name="vsize" type="int">
+ <_short>Vertical Virtual Size</_short>
+ <_long>Screen size multiplier for vertical virtual size</_long>
+- <default>1</default>
++ <default>2</default>
+ <min>1</min>
+ <max>32</max>
+ </option>
+diff -Naur a/plugins/expo/expo.xml.in b/plugins/expo/expo.xml.in
+--- a/plugins/expo/expo.xml.in 2016-07-01 21:39:57.000000000 +1000
++++ b/plugins/expo/expo.xml.in 2016-08-03 16:02:18.653546597 +1000
+@@ -230,10 +230,10 @@
+ <_short>Selection Glow Color</_short>
+ <_long>Color and opacity of the glow texture that highlights the selected viewport.</_long>
+ <default>
+- <red>0xfbfb</red>
+- <green>0x8b8b</green>
+- <blue>0x0</blue>
+- <alpha>0x0</alpha>
++ <red>0x1616</red>
++ <green>0xa0a0</green>
++ <blue>0x8585</blue>
++ <alpha>0xffff</alpha>
+ </default>
+ </option>
+ </subgroup>
+diff -Naur a/plugins/composite/composite.xml.in b/plugins/composite/composite.xml.in
+--- a/plugins/composite/composite.xml.in 2016-07-01 21:39:57.000000000 +1000
++++ b/plugins/composite/composite.xml.in 2016-08-03 15:58:02.119855486 +1000
+@@ -24,7 +24,7 @@
+ <option name="unredirect_fullscreen_windows" type="bool">
+ <_short>Unredirect Fullscreen Windows</_short>
+ <_long>Allow drawing of fullscreen windows to not be redirected to offscreen pixmaps</_long>
+- <default>true</default>
++ <default>false</default>
+ </option>
+ <option name="unredirect_match" type="match">
+ <_short>Unredirect Match</_short>
+diff -Naur a/plugins/grid/grid.xml.in b/plugins/grid/grid.xml.in
+--- a/plugins/grid/grid.xml.in 2016-07-01 21:39:57.000000000 +1000
++++ b/plugins/grid/grid.xml.in 2016-08-03 16:06:15.480336146 +1000
+@@ -566,7 +566,7 @@
+ <option name="animation_duration" type="int">
+ <_short>Preview Animation Duration</_short>
+ <_long>Preview animation duration (in ms).</_long>
+- <default>350</default>
++ <default>250</default>
+ <min>0</min>
+ </option>
+ <option name="use_desktop_average_color" type="bool">
+@@ -578,9 +578,9 @@
+ <_short>Preview Outline Color</_short>
+ <_long>Color and opacity of the resize indicator preview outline.</_long>
+ <default>
+- <red>0xfbfb</red>
+- <green>0x8b8b</green>
+- <blue>0x0</blue>
++ <red>0x1616</red>
++ <green>0xa0a0</green>
++ <blue>0x8585</blue>
+ <alpha>0x9f9f</alpha>
+ </default>
+ </option>
+@@ -588,9 +588,9 @@
+ <_short>Preview Fill Color</_short>
+ <_long>Fill color and opacity of the resize indicator preview.</_long>
+ <default>
+- <red>0xfbfb</red>
+- <green>0x8b8b</green>
+- <blue>0x0</blue>
++ <red>0x1616</red>
++ <green>0xa0a0</green>
++ <blue>0x8585</blue>
+ <alpha>0x4f4f</alpha>
+ </default>
+ </option>
+diff -Naur a/plugins/resize/resize.xml.in b/plugins/resize/resize.xml.in
+--- a/plugins/resize/resize.xml.in 2016-07-01 21:39:57.000000000 +1000
++++ b/plugins/resize/resize.xml.in 2016-08-03 16:06:14.100335645 +1000
+@@ -17,7 +17,7 @@
+ <option name="initiate_button" type="button">
+ <_short>Initiate Window Resize</_short>
+ <_long>Start resizing window</_long>
+- <default>&lt;Alt&gt;Button2</default>
++ <default>&lt;Alt&gt;Button3</default>
+ </option>
+ <option name="initiate_key" type="key">
+ <_short>Initiate Window Resize</_short>
+@@ -28,7 +28,7 @@
+ <option name="mode" type="int">
+ <_short>Default Resize Mode</_short>
+ <_long>Default mode used for window resizing</_long>
+- <default>0</default>
++ <default>2</default>
+ <min>0</min>
+ <max>3</max>
+ <desc>
+@@ -72,9 +72,9 @@
+ <_short>Border Color</_short>
+ <_long>Border color used for outline and rectangle resize modes</_long>
+ <default>
+- <red>0x2f2f</red>
+- <green>0x2f2f</green>
+- <blue>0x4f4f</blue>
++ <red>0x1616</red>
++ <green>0xa0a0</green>
++ <blue>0x8585</blue>
+ <alpha>0x9f9f</alpha>
+ </default>
+ </option>
+@@ -82,9 +82,9 @@
+ <_short>Fill Color</_short>
+ <_long>Fill color used for rectangle resize mode</_long>
+ <default>
+- <red>0x2f2f</red>
+- <green>0x2f2f</green>
+- <blue>0x4f4f</blue>
++ <red>0x1616</red>
++ <green>0xa0a0</green>
++ <blue>0x8585</blue>
+ <alpha>0x4f4f</alpha>
+ </default>
+ </option>
+
diff --git a/compiz-easy-patch.install b/compiz-easy-patch.install
new file mode 100644
index 000000000000..1e88272c107b
--- /dev/null
+++ b/compiz-easy-patch.install
@@ -0,0 +1,6 @@
+post_install() {
+ echo ""
+ echo "*** Xfce and MATE users just log out ***"
+ echo "*** and back in, Compiz will autostart ***"
+ echo ""
+}
diff --git a/compiz-easy.gschema.override b/compiz-easy.gschema.override
new file mode 100644
index 000000000000..f24b0741516d
--- /dev/null
+++ b/compiz-easy.gschema.override
@@ -0,0 +1,7 @@
+[org.gnome.desktop.wm.preferences]
+button-layout=":minimize,maximize,close"
+theme="Matcha-dark-sea"
+titlebar-uses-system-font=true
+
+[org.mate.session.required-components]
+windowmanager="compiz"
diff --git a/compiz-gtk-decorator-theme-selector b/compiz-gtk-decorator-theme-selector
new file mode 100755
index 000000000000..b8f3119084dc
--- /dev/null
+++ b/compiz-gtk-decorator-theme-selector
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+SAVEIFS=$IFS
+IFS=$(echo -en "\n\b")
+
+if [ ! -f /usr/bin/metacity ]; then
+ zenity --warning --text="<b>You do not appear to have Metacity installed.</b>\n\nThe Compiz GTK window decorator uses Metacity libraries to operate. The Metacity theme is what this tool adjusts.\n\nInstall the metacity package if you would like to use the Compiz GTK window decorator."
+fi
+
+main_window() {
+ selection=$(
+ zenity --height 450 --width 320 --list --ok-label="Apply" --cancel-label="Close" --title="Metacity themes" \
+ --column="Current theme: $( if [ $(gsettings get org.gnome.desktop.wm.preferences theme) == "''" ]; then
+ echo Default
+ else
+ gsettings get org.gnome.desktop.wm.preferences theme
+ fi)" \
+ "Compiz GWD default" \
+ $(
+ for d in /usr/share/themes/*/metacity-1; do
+ echo $d | sed 's:/usr/share/themes/::' | sed 's:/metacity-1::'
+ done
+ )
+ )
+}
+
+while [ $? = 0 ]; do
+if [ "$selection" == "Compiz GWD default" ]; then
+ gsettings set org.gnome.desktop.wm.preferences theme ""
+elif [ "$selection" != "" ]; then
+ gsettings set org.gnome.desktop.wm.preferences theme "$selection"
+fi
+main_window
+done
+
+IFS=$SAVEIFS
diff --git a/compiz-gtk-decorator-theme-selector.desktop b/compiz-gtk-decorator-theme-selector.desktop
new file mode 100644
index 000000000000..d044c784d805
--- /dev/null
+++ b/compiz-gtk-decorator-theme-selector.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Compiz GTK decorator theme
+Comment=Set the theme for the Compiz GTK window decorator
+Icon=ccsm
+Exec=compiz-gtk-decorator-theme-selector
+Terminal=false
+Type=Application
+Categories=Compiz;Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-OtherSettings;
+NotShowIn=MATE;
+StartupNotify=true
diff --git a/compiz-xfce-autostart-setup b/compiz-xfce-autostart-setup
new file mode 100755
index 000000000000..6db87201a551
--- /dev/null
+++ b/compiz-xfce-autostart-setup
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -a -s compiz
+
+## Automatic GWD decoration matching for default Manjaro Xfce themes
+if [ "$(xfconf-query -c xsettings -p /Net/ThemeName)" == "Menda" ]; then
+ gsettings set org.gnome.desktop.wm.preferences theme "Menda"
+elif [ "$(xfconf-query -c xsettings -p /Net/ThemeName)" == "Vertex-Maia-Square" ]; then
+ gsettings set org.gnome.desktop.wm.preferences theme "Vertex-Maia-Square"
+fi
+
+mkdir -p ~/.local/bin
+mkdir -p ~/.config/autostart
+
+rm ~/.local/bin/compiz-xfce-uninstall-helper
+cp /usr/bin/compiz-xfce-uninstall-helper ~/.local/bin/
+rm ~/.config/autostart/compiz-xfce-uninstall-helper.desktop
+cp /etc/xdg/autostart/compiz-xfce-uninstall-helper.desktop ~/.config/autostart/
+sed -i 's|Exec=compiz-xfce-uninstall-helper|Exec=sh -c ~/.local/bin/compiz-xfce-uninstall-helper|' ~/.config/autostart/compiz-xfce-uninstall-helper.desktop
+
+rm ~/.config/autostart/compiz-xfce-autostart-setup.desktop
+cp /etc/xdg/autostart/compiz-xfce-autostart-setup.desktop ~/.config/autostart/
+sed -i 's|Hidden=false|Hidden=true|' ~/.config/autostart/compiz-xfce-autostart-setup.desktop
+
+## This first-time run when it's replacing a running xfwm4, we run it twice cause of bugs
+compiz --replace ; exec compiz --replace
diff --git a/compiz-xfce-autostart-setup.desktop b/compiz-xfce-autostart-setup.desktop
new file mode 100644
index 000000000000..7ec2f0a10c80
--- /dev/null
+++ b/compiz-xfce-autostart-setup.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=0.9.4
+Type=Application
+Name=Compiz-Xfce autostart setup
+Comment=
+Exec=compiz-xfce-autostart-setup
+OnlyShowIn=XFCE;
+StartupNotify=false
+Terminal=false
+Hidden=false
diff --git a/compiz-xfce-uninstall-helper b/compiz-xfce-uninstall-helper
new file mode 100644
index 000000000000..fa1aebfe83fb
--- /dev/null
+++ b/compiz-xfce-uninstall-helper
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+if [ ! -f /usr/bin/compiz ]; then
+ xfwm4 --daemon
+ xfconf-query -c xfce4-session -p /sessions/Failsafe/Client0_Command -a -s xfwm4
+ rm ~/.config/autostart/compiz-xfce-autostart-setup.desktop
+ rm ~/.config/autostart/compiz-xfce-uninstall-helper.desktop
+
+ # these ones are clean-up for old filenames that are no longer used, some time in the future they should be removed
+ rm ~/.config/autostart/compiz-manjaro-decoratortheme.desktop
+ rm ~/.config/autostart/compiz-manjaro-xfce-decoratortheme.desktop
+ rm ~/.config/autostart/compiz-xfce-autostart.desktop
+
+ rm ~/.local/bin/compiz-xfce-uninstall-helper
+fi
diff --git a/compiz-xfce-uninstall-helper.desktop b/compiz-xfce-uninstall-helper.desktop
new file mode 100644
index 000000000000..7301ad2c212e
--- /dev/null
+++ b/compiz-xfce-uninstall-helper.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=0.9.4
+Type=Application
+Name=Compiz-Xfce uninstallation helper (do not untick)
+Comment=
+Exec=compiz-xfce-uninstall-helper
+OnlyShowIn=XFCE;
+StartupNotify=false
+Terminal=false
+Hidden=false
diff --git a/focus-prevention-disable.patch b/focus-prevention-disable.patch
new file mode 100644
index 000000000000..df2fcef106db
--- /dev/null
+++ b/focus-prevention-disable.patch
@@ -0,0 +1,12 @@
+diff -Naur original/metadata/core.xml.in modified/metadata/core.xml.in
+--- original/metadata/core.xml.in 2013-07-23 20:58:03.000000000 +0100
++++ modified/metadata/core.xml.in 2014-06-11 09:06:53.839302487 +0100
+@@ -114,7 +114,7 @@
+ <_long>Level of focus stealing prevention</_long>
+ <min>0</min>
+ <max>4</max>
+- <default>1</default>
++ <default>0</default>
+ <desc>
+ <value>0</value>
+ <_name>Off</_name>
diff --git a/gcc10_common_fix.patch b/gcc10_common_fix.patch
new file mode 100644
index 000000000000..ee02c844c871
--- /dev/null
+++ b/gcc10_common_fix.patch
@@ -0,0 +1,68 @@
+From c7b74aa53e9d64da5175f9b86ec7f68e53d1398e Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Tue, 28 Jul 2020 12:17:30 +0200
+Subject: Fix two build failures due to new gcc-10 warnings, such as
+ uninitialized variables and duplicated definitions:
+
+e.g. of failure:
+/usr/bin/ld: CMakeFiles/gtk-window-decorator.dir/gwd-settings-xproperty-storage.c.o:./obj-x86_64-linux-gnu/gtk/window-decorator/./gtk/window-decorator/gtk-window-decorator.h:269: multiple definition of `window_type_frames'; CMakeFiles/gtk-window-decorator.dir/gtk-window-decorator.c.o:./obj-x86_64-linux-gnu/gtk/window-decorator/./gtk/window-decorator/gtk-window-decorator.h:269: first defined here
+/usr/bin/ld: CMakeFiles/gtk-window-decorator.dir/gwd-theme.c.o:./obj-x86_64-linux-gnu/gtk/window-decorator/./gtk/window-decorator/gtk-window-decorator.h:269: multiple definition of `window_type_frames'; CMakeFiles/gtk-window-decorator.dir/gtk-window-decorator.c.o:./obj-x86_64-linux-gnu/gtk/window-decorator/./gtk/window-decorator/gtk-window-decorator.h:269: first defined here
+/usr/bin/ld: CMakeFiles/gtk-window-decorator.dir/gwd-theme-cairo.c.o:./obj-x86_64-linux-gnu/gtk/window-decorator/./gtk/window-decorator/gtk-window-decorator.h:269: multiple definition of `window_type_frames'; CMakeFiles/gtk-window-decorator.dir/gtk-window-decorator.c.o:./obj-x86_64-linux-gnu/gtk/window-decorator/./gtk/window-decorator/gtk-window-decorator.h:269: first defined here
+/usr/bin/ld: CMakeFiles/gtk-window-decorator.dir/gwd-theme-metacity.c.o:./obj-x86_64-linux-gnu/gtk/window-decorator/./gtk/window-decorator/gtk-window-decorator.h:269: multiple definition of `window_type_frames'; CMakeFiles/gtk-window-decorator.dir/gtk-window-decorator.c.o:./obj-x86_64-linux-gnu/gtk/window-decorator/./gtk/window-decorator/gtk-window-decorator.h:269: first defined here
+collect2: error: ld returned 1 exit status
+---
+ debian/changelog | 14 ++++++++++++++
+ gtk/window-decorator/gtk-window-decorator.h | 2 +-
+ plugins/expo/src/expo.cpp | 2 +-
+ 3 files changed, 16 insertions(+), 2 deletions(-)
+
+#diff --git a/debian/changelog b/debian/changelog
+#index 97b93dd..b21831d 100644
+#--- a/debian/changelog
+#+++ b/debian/changelog
+#@@ -1,3 +1,17 @@
+#+compiz (1:0.9.14.1+20.10.20200526-0ubuntu3) groovy; urgency=medium
+#+
+#+ * Initialize 3 arrays to zero to silence a new gcc-10 warning
+#+ * Move window_type_frames to extern in the header file, fixing a build
+#+ failure with gcc-10
+#+
+#+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 28 Jul 2020 11:39:45 +0200
+#+
+#+compiz (1:0.9.14.1+20.10.20200526-0ubuntu2) groovy; urgency=medium
+#+
+#+ * Rebuild against new libprotobuf23.
+#+
+#+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 26 Jul 2020 10:13:56 +0200
+#+
+# compiz (1:0.9.14.1+20.10.20200526-0ubuntu1) groovy; urgency=medium
+#
+# [ Daniel Kondor ]
+diff --git a/gtk/window-decorator/gtk-window-decorator.h b/gtk/window-decorator/gtk-window-decorator.h
+index 6bf5d31..da7f905 100644
+--- a/gtk/window-decorator/gtk-window-decorator.h
++++ b/gtk/window-decorator/gtk-window-decorator.h
+@@ -266,7 +266,7 @@ typedef struct _default_frame_references
+ } default_frame_references_t;
+
+ extern default_frame_references_t default_frames[WINDOW_TYPE_FRAMES_NUM * 2];
+-const gchar * window_type_frames[WINDOW_TYPE_FRAMES_NUM];
++extern const gchar * window_type_frames[WINDOW_TYPE_FRAMES_NUM];
+
+ extern char *program_name;
+
+diff --git a/plugins/expo/src/expo.cpp b/plugins/expo/src/expo.cpp
+index 86c1618..802071b 100644
+--- a/plugins/expo/src/expo.cpp
++++ b/plugins/expo/src/expo.cpp
+@@ -708,7 +708,7 @@ ExpoScreen::invertTransformedVertex (const GLScreenPaintAttrib &attrib,
+ int vertex[2])
+ {
+ GLMatrix sTransform (transform);
+- float p1[3], p2[3], v[3];
++ float p1[3] = { 0 } , p2[3] = { 0 }, v[3] = { 0 };
+ GLint viewport[4];
+
+ gScreen->glApplyTransform (attrib, output, &sTransform);
+--
+cgit v1.1
diff --git a/gtk-extents.patch b/gtk-extents.patch
new file mode 100644
index 000000000000..5c8ec1ec2049
--- /dev/null
+++ b/gtk-extents.patch
@@ -0,0 +1,13 @@
+# Diff from https://code.launchpad.net/~albertsmuktupavels/compiz/add-gtk-frame-extents-to-net-supported/+merge/257303
+=== modified file 'src/screen.cpp'
+--- a/src/screen.cpp 2014-12-02 19:37:10 +0000
++++ b/src/screen.cpp 2015-04-23 20:41:24 +0000
+@@ -2362,6 +2362,7 @@
+
+ atoms.push_back (Atoms::wmUserTime);
+ atoms.push_back (Atoms::frameExtents);
++ atoms.push_back (Atoms::frameGtkExtents);
+ atoms.push_back (Atoms::frameWindow);
+
+ atoms.push_back (Atoms::winState);
+
diff --git a/no-compile-gschemas.patch b/no-compile-gschemas.patch
new file mode 100644
index 000000000000..05627a858d2c
--- /dev/null
+++ b/no-compile-gschemas.patch
@@ -0,0 +1,19 @@
+diff -Nur original/cmake/recompile_gsettings_schemas_in_dir_user_env.cmake modified/cmake/recompile_gsettings_schemas_in_dir_user_env.cmake
+--- original/cmake/recompile_gsettings_schemas_in_dir_user_env.cmake 2019-02-16 12:44:41.000000000 +0000
++++ modified/cmake/recompile_gsettings_schemas_in_dir_user_env.cmake 2019-02-16 23:36:58.589706824 +0000
+@@ -15,9 +15,9 @@
+
+ find_program (GLIB_COMPILE_SCHEMAS glib-compile-schemas)
+
+-if (GLIB_COMPILE_SCHEMAS)
+-
+- message ("-- Recompiling GSettings schemas in ${SCHEMADIR}")
+- execute_process (COMMAND ${GLIB_COMPILE_SCHEMAS} ${SCHEMADIR})
+-
+-endif (GLIB_COMPILE_SCHEMAS)
++#if (GLIB_COMPILE_SCHEMAS)
++#
++# message ("-- Recompiling GSettings schemas in ${SCHEMADIR}")
++# execute_process (COMMAND ${GLIB_COMPILE_SCHEMAS} ${SCHEMADIR})
++#
++#endif (GLIB_COMPILE_SCHEMAS)
diff --git a/remove-unused-or-broken-buttons.patch b/remove-unused-or-broken-buttons.patch
new file mode 100644
index 000000000000..84d942c94c96
--- /dev/null
+++ b/remove-unused-or-broken-buttons.patch
@@ -0,0 +1,321 @@
+diff --git a/gtk/window-decorator/decorator.c b/gtk/window-decorator/decorator.c
+index a119795..3c56880 100644
+--- a/gtk/window-decorator/decorator.c
++++ b/gtk/window-decorator/decorator.c
+@@ -216,13 +216,7 @@ update_event_windows (WnckWindow *win)
+ WNCK_WINDOW_ACTION_CLOSE,
+ WNCK_WINDOW_ACTION_MAXIMIZE,
+ WNCK_WINDOW_ACTION_MINIMIZE,
+- 0,
+- WNCK_WINDOW_ACTION_SHADE,
+- WNCK_WINDOW_ACTION_ABOVE,
+- WNCK_WINDOW_ACTION_STICK,
+- WNCK_WINDOW_ACTION_UNSHADE,
+- WNCK_WINDOW_ACTION_ABOVE,
+- WNCK_WINDOW_ACTION_UNSTICK
++ 0
+ };
+
+ /* Pixmap mode - if a box was set and we no longer need it unmap its window */
+@@ -1061,7 +1055,7 @@ populate_frame_actions (decor_t *d)
+ return frame_actions;
+
+ WnckWindowActions win_actions = wnck_window_get_actions (d->win);
+- const unsigned int n_action_bits = 16;
++ const unsigned int n_action_bits = 10;
+ unsigned int i;
+ struct typestrings {
+ unsigned int decor_flag;
+@@ -1077,13 +1071,7 @@ populate_frame_actions (decor_t *d)
+ { DECOR_WINDOW_ACTION_MAXIMIZE_VERT, WNCK_WINDOW_ACTION_MAXIMIZE_VERTICALLY },
+ { DECOR_WINDOW_ACTION_UNMAXIMIZE_HORZ, WNCK_WINDOW_ACTION_UNMAXIMIZE_HORIZONTALLY },
+ { DECOR_WINDOW_ACTION_UNMAXIMIZE_VERT, WNCK_WINDOW_ACTION_UNMAXIMIZE_VERTICALLY },
+- { DECOR_WINDOW_ACTION_SHADE, WNCK_WINDOW_ACTION_SHADE },
+- { DECOR_WINDOW_ACTION_UNSHADE, WNCK_WINDOW_ACTION_UNSHADE },
+- { DECOR_WINDOW_ACTION_STICK, WNCK_WINDOW_ACTION_STICK },
+- { DECOR_WINDOW_ACTION_UNSTICK, WNCK_WINDOW_ACTION_UNSTICK },
+- { DECOR_WINDOW_ACTION_FULLSCREEN, WNCK_WINDOW_ACTION_FULLSCREEN },
+- { DECOR_WINDOW_ACTION_ABOVE, WNCK_WINDOW_ACTION_ABOVE },
+- { DECOR_WINDOW_ACTION_BELOW, WNCK_WINDOW_ACTION_BELOW },
++ { DECOR_WINDOW_ACTION_FULLSCREEN, WNCK_WINDOW_ACTION_FULLSCREEN }
+ };
+
+ for (i = 0; i < n_action_bits; ++i)
+diff --git a/gtk/window-decorator/events.c b/gtk/window-decorator/events.c
+index 5752176..be7d545 100644
+--- a/gtk/window-decorator/events.c
++++ b/gtk/window-decorator/events.c
+@@ -276,140 +276,6 @@ menu_button_event (WnckWindow *win,
+ }
+ }
+
+-void
+-shade_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_SHADE];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_SHADE, 1, _("Shade"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- {
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_shade (win);
+- }
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-above_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_ABOVE];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_ABOVE, 1, _("Make Above"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_make_above (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-stick_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_STICK];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_STICK, 1, _("Stick"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_stick (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-unshade_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_UNSHADE];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_UNSHADE, 1, _("Unshade"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_unshade (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-unabove_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_UNABOVE];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_UNABOVE, 1, _("Unmake Above"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_unmake_above (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+-void
+-unstick_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type)
+-{
+- decor_t *d = g_object_get_data (G_OBJECT (win), "decor");
+- guint state = d->button_states[BUTTON_UNSTICK];
+-
+- common_button_event (win, gtkwd_event, gtkwd_type,
+- BUTTON_UNSTICK, 1, _("Unstick"));
+-
+- switch (gtkwd_type) {
+- case GButtonRelease:
+- if (gtkwd_event->button == 1)
+- if (state == BUTTON_EVENT_ACTION_STATE)
+- wnck_window_unstick (win);
+- break;
+- default:
+- break;
+- }
+-}
+-
+ static void
+ handle_title_button_event (WnckWindow *win,
+ int action,
+diff --git a/gtk/window-decorator/gtk-window-decorator.h b/gtk/window-decorator/gtk-window-decorator.h
+index b7d579b..6bf5d31 100644
+--- a/gtk/window-decorator/gtk-window-decorator.h
++++ b/gtk/window-decorator/gtk-window-decorator.h
+@@ -130,13 +130,7 @@ extern struct _cursor cursor[3][3];
+ #define BUTTON_MAX 1
+ #define BUTTON_MIN 2
+ #define BUTTON_MENU 3
+-#define BUTTON_SHADE 4
+-#define BUTTON_ABOVE 5
+-#define BUTTON_STICK 6
+-#define BUTTON_UNSHADE 7
+-#define BUTTON_UNABOVE 8
+-#define BUTTON_UNSTICK 9
+-#define BUTTON_NUM 10
++#define BUTTON_NUM 4
+
+ struct _pos {
+ int x, y, w, h;
+@@ -540,35 +534,6 @@ menu_button_event (WnckWindow *win,
+ decor_event_type gtkwd_type);
+
+ void
+-shade_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+-above_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+-stick_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-void
+-unshade_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+-unabove_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+-unstick_button_event (WnckWindow *win,
+- decor_event *gtkwd_event,
+- decor_event_type gtkwd_type);
+-
+-void
+ title_event (WnckWindow *win,
+ decor_event *gtkwd_event,
+ decor_event_type gtkwd_type);
+diff --git a/gtk/window-decorator/gwd-theme-cairo.c b/gtk/window-decorator/gwd-theme-cairo.c
+index e6da481..85f4202 100644
+--- a/gtk/window-decorator/gwd-theme-cairo.c
++++ b/gtk/window-decorator/gwd-theme-cairo.c
+@@ -495,12 +495,6 @@ button_present (decor_t *decor,
+ break;
+
+ case BUTTON_MENU:
+- case BUTTON_SHADE:
+- case BUTTON_ABOVE:
+- case BUTTON_STICK:
+- case BUTTON_UNSHADE:
+- case BUTTON_UNABOVE:
+- case BUTTON_UNSTICK:
+ break;
+
+ default:
+diff --git a/gtk/window-decorator/gwd-theme-metacity.c b/gtk/window-decorator/gwd-theme-metacity.c
+index 4ec5277..a0bc39c 100644
+--- a/gtk/window-decorator/gwd-theme-metacity.c
++++ b/gtk/window-decorator/gwd-theme-metacity.c
+@@ -95,18 +95,6 @@ meta_button_state_for_button_type (decor_t *decor,
+ return meta_button_state (decor->button_states[BUTTON_MIN]);
+ case META_BUTTON_TYPE_MENU:
+ return meta_button_state (decor->button_states[BUTTON_MENU]);
+- case META_BUTTON_TYPE_SHADE:
+- return meta_button_state (decor->button_states[BUTTON_SHADE]);
+- case META_BUTTON_TYPE_ABOVE:
+- return meta_button_state (decor->button_states[BUTTON_ABOVE]);
+- case META_BUTTON_TYPE_STICK:
+- return meta_button_state (decor->button_states[BUTTON_STICK]);
+- case META_BUTTON_TYPE_UNSHADE:
+- return meta_button_state (decor->button_states[BUTTON_UNSHADE]);
+- case META_BUTTON_TYPE_UNABOVE:
+- return meta_button_state (decor->button_states[BUTTON_UNABOVE]);
+- case META_BUTTON_TYPE_UNSTICK:
+- return meta_button_state (decor->button_states[BUTTON_UNSTICK]);
+ default:
+ break;
+ }
+@@ -553,18 +541,6 @@ button_type_to_meta_button_type (gint button_type)
+ return META_BUTTON_TYPE_MAXIMIZE;
+ case BUTTON_CLOSE:
+ return META_BUTTON_TYPE_CLOSE;
+- case BUTTON_SHADE:
+- return META_BUTTON_TYPE_SHADE;
+- case BUTTON_ABOVE:
+- return META_BUTTON_TYPE_ABOVE;
+- case BUTTON_STICK:
+- return META_BUTTON_TYPE_STICK;
+- case BUTTON_UNSHADE:
+- return META_BUTTON_TYPE_UNSHADE;
+- case BUTTON_UNABOVE:
+- return META_BUTTON_TYPE_UNABOVE;
+- case BUTTON_UNSTICK:
+- return META_BUTTON_TYPE_UNSTICK;
+ default:
+ break;
+ }
+diff --git a/gtk/window-decorator/wnck.c b/gtk/window-decorator/wnck.c
+index cc43f65..4ac1483 100644
+--- a/gtk/window-decorator/wnck.c
++++ b/gtk/window-decorator/wnck.c
+@@ -667,13 +667,7 @@ window_opened (WnckScreen *screen,
+ close_button_event,
+ max_button_event,
+ min_button_event,
+- menu_button_event,
+- shade_button_event,
+- above_button_event,
+- stick_button_event,
+- unshade_button_event,
+- unabove_button_event,
+- unstick_button_event
++ menu_button_event
+ };
+
+ d = calloc (1, sizeof (decor_t)); \ No newline at end of file
diff --git a/reverse-unity-config.patch b/reverse-unity-config.patch
new file mode 100644
index 000000000000..6828481af835
--- /dev/null
+++ b/reverse-unity-config.patch
@@ -0,0 +1,871 @@
+diff -Nur original/compizconfig/integration/gnome/gsettings/org.compiz.integrated.gschema.xml modified/compizconfig/integration/gnome/gsettings/org.compiz.integrated.gschema.xml
+--- original/compizconfig/integration/gnome/gsettings/org.compiz.integrated.gschema.xml 2019-02-16 12:44:41.000000000 +0000
++++ modified/compizconfig/integration/gnome/gsettings/org.compiz.integrated.gschema.xml 2019-02-17 14:11:58.762747647 +0000
+@@ -10,9 +10,6 @@
+ <key type="s" name="command-screenshot">
+ <default>"gnome-screenshot"</default>
+ </key>
+- <key type="as" name="run-command-21">
+- <default>["&lt;Control&gt;&lt;Alt&gt;Delete"]</default>
+- </key>
+ <key type="as" name="run-command-12">
+ <default>["Disabled"]</default>
+ </key>
+@@ -49,9 +46,6 @@
+ <key type="as" name="run-command-1">
+ <default>["Disabled"]</default>
+ </key>
+- <key type="s" name="command-21">
+- <default>"/usr/bin/gnome-system-monitor -p"</default>
+- </key>
+ <key type="s" name="command-12">
+ <default>""</default>
+ </key>
+diff -Nur original/metadata/core.xml.in modified/metadata/core.xml.in
+--- original/metadata/core.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/metadata/core.xml.in 2019-02-17 14:11:58.762747647 +0000
+@@ -144,7 +144,7 @@
+ <option name="focus_prevention_match" type="match">
+ <_short>Focus Prevention Windows</_short>
+ <_long>Focus prevention windows</_long>
+- <default>!(class=Polkit-gnome-authentication-agent-1)</default>
++ <default>any</default>
+ </option>
+ </group>
+ <group>
+@@ -179,7 +179,7 @@
+ <option name="minimize_window_key" type="key">
+ <_short>Minimize Window</_short>
+ <_long>Minimize active window</_long>
+- <default>&lt;Control&gt;&lt;Alt&gt;KP_0</default>
++ <default>&lt;Alt&gt;F9</default>
+ </option>
+ <option name="minimize_window_button" type="button">
+ <_short>Minimize Window</_short>
+@@ -188,16 +188,16 @@
+ <option name="maximize_window_key" type="key">
+ <_short>Maximize Window</_short>
+ <_long>Maximize active window</_long>
+- <default>&lt;Control&gt;&lt;Super&gt;Up</default>
++ <default>&lt;Alt&gt;F10</default>
+ </option>
+ <option name="unmaximize_window_key" type="key">
+ <_short>Unmaximize Window</_short>
+ <_long>Unmaximize active window</_long>
++ <default>&lt;Alt&gt;F5</default>
+ </option>
+ <option name="unmaximize_or_minimize_window_key" type="key">
+ <_short>Unmaximize or Minimize Window</_short>
+ <_long>Unmaximize or minimize active window</_long>
+- <default>&lt;Control&gt;&lt;Super&gt;Down</default>
+ </option>
+ <option name="maximize_window_horizontally_key" type="key">
+ <_short>Maximize Window Horizontally</_short>
+@@ -220,6 +220,7 @@
+ <option name="show_desktop_key" type="key">
+ <_short>Show Desktop</_short>
+ <_long>Hide all windows and focus desktop</_long>
++ <default>&lt;Control&gt;&lt;Alt&gt;d</default>
+ </option>
+ <option name="show_desktop_edge" type="edge">
+ <_short>Show Desktop</_short>
+@@ -229,7 +230,6 @@
+ <option name="toggle_window_maximized_key" type="key">
+ <_short>Toggle Window Maximized</_short>
+ <_long>Toggle active window maximized</_long>
+- <default>&lt;Control&gt;&lt;Alt&gt;KP_5</default>
+ </option>
+ <option name="toggle_window_maximized_button" type="button">
+ <_short>Toggle Window Maximized</_short>
+@@ -254,7 +254,7 @@
+ <option name="hsize" type="int">
+ <_short>Horizontal Virtual Size</_short>
+ <_long>Screen size multiplier for horizontal virtual size</_long>
+- <default>1</default>
++ <default>4</default>
+ <min>1</min>
+ <max>32</max>
+ </option>
+diff -Nur original/plugins/animation/animation.xml.in modified/plugins/animation/animation.xml.in
+--- original/plugins/animation/animation.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/animation/animation.xml.in 2019-02-17 14:11:58.766082647 +0000
+@@ -36,7 +36,7 @@
+ <extensible/>
+ <sort start="2"/>
+ <default>
+- <value>animation:Glide 2</value>
++ <value>animation:Zoom</value>
+ <value>animation:Fade</value>
+ <value>animation:Fade</value>
+ </default>
+@@ -48,9 +48,9 @@
+ <min>50</min>
+ <max>4000</max>
+ <default>
+- <value>120</value>
+- <value>80</value>
+- <value>80</value>
++ <value>200</value>
++ <value>150</value>
++ <value>150</value>
+ </default>
+ </option>
+ <option name="open_matches" type="list">
+@@ -58,8 +58,8 @@
+ <_long>The windows that will be animated.</_long>
+ <type>match</type>
+ <default>
+- <value>((type=Normal | Unknown) | name=sun-awt-X11-XFramePeer | name=sun-awt-X11-XDialogPeer) &amp; !(role=toolTipTip | role=qtooltip_label) &amp; !(type=Normal &amp; override_redirect=1) &amp; !(name=gnome-screensaver)</value>
+- <value>((type=Menu | PopupMenu | DropdownMenu | Combo | Dialog | ModalDialog | Normal) &amp; !(class=\\.exe$))</value>
++ <value>(type=Normal | Dialog | ModalDialog | Unknown) &amp; !(name=gnome-screensaver)</value>
++ <value>(type=Menu | PopupMenu | DropdownMenu | Combo)</value>
+ <value>(type=Tooltip | Notification | Utility) &amp; !(name=compiz) &amp; !(title=notify-osd)</value>
+ </default>
+ </option>
+@@ -102,7 +102,7 @@
+ <extensible/>
+ <sort start="2"/>
+ <default>
+- <value>animation:Glide 2</value>
++ <value>animation:Zoom</value>
+ <value>animation:Fade</value>
+ <value>animation:Fade</value>
+ </default>
+@@ -114,9 +114,9 @@
+ <min>50</min>
+ <max>4000</max>
+ <default>
+- <value>120</value>
+- <value>80</value>
+- <value>50</value>
++ <value>200</value>
++ <value>150</value>
++ <value>150</value>
+ </default>
+ </option>
+ <option name="close_matches" type="list">
+@@ -124,8 +124,8 @@
+ <_long>The windows that will be animated.</_long>
+ <type>match</type>
+ <default>
+- <value>((type=Normal | Unknown) | name=sun-awt-X11-XFramePeer | name=sun-awt-X11-XDialogPeer) &amp; !(role=toolTipTip | role=qtooltip_label) &amp; !(type=Normal &amp; override_redirect=1) &amp; !(name=gnome-screensaver) &amp; !(name=gnome-screenshot)</value>
+- <value>((type=Menu | PopupMenu | DropdownMenu | Combo | Dialog | ModalDialog | Normal) &amp; !(class=\\.exe$))</value>
++ <value>(type=Normal | Dialog | ModalDialog | Unknown) &amp; !(name=gnome-screensaver)</value>
++ <value>(type=Menu | PopupMenu | DropdownMenu | Combo)</value>
+ <value>(type=Tooltip | Notification | Utility) &amp; !(name=compiz) &amp; !(title=notify-osd)</value>
+ </default>
+ </option>
+@@ -168,7 +168,7 @@
+ <extensible/>
+ <sort start="2"/>
+ <default>
+- <value>animation:Zoom</value>
++ <value>animation:Magic Lamp</value>
+ </default>
+ </option>
+ <option name="minimize_durations" type="list">
+@@ -178,7 +178,7 @@
+ <min>50</min>
+ <max>4000</max>
+ <default>
+- <value>220</value>
++ <value>300</value>
+ </default>
+ </option>
+ <option name="minimize_matches" type="list">
+@@ -341,7 +341,7 @@
+ <extensible/>
+ <sort start="1"/>
+ <default>
+- <value>animation:Fade</value>
++ <value>animation:None</value>
+ </default>
+ </option>
+ <option name="focus_durations" type="list">
+@@ -351,7 +351,7 @@
+ <min>50</min>
+ <max>4000</max>
+ <default>
+- <value>150</value>
++ <value>300</value>
+ </default>
+ </option>
+ <option name="focus_matches" type="list">
+@@ -385,7 +385,7 @@
+ <option name="time_step" type="int">
+ <_short>Animation Time Step</_short>
+ <_long>The amount of time in milliseconds between each render of the animation. The higher the number, the jerkier the movements become.</_long>
+- <default>16</default>
++ <default>10</default>
+ <min>1</min>
+ <max>400</max>
+ </option>
+@@ -473,7 +473,7 @@
+ <option name="glide2_away_position" type="float">
+ <_short>Away Position</_short>
+ <_long>Closeness of window to camera at the end of the animation (1.0: Close to camera, -2.0: Away from camera).</_long>
+- <default>-0.1</default>
++ <default>-0.4</default>
+ <min>-2</min>
+ <max>1</max>
+ <precision>0.05</precision>
+@@ -481,7 +481,7 @@
+ <option name="glide2_away_angle" type="float">
+ <_short>Away Angle</_short>
+ <_long>Angle of window at the end of the animation.</_long>
+- <default>0</default>
++ <default>-45</default>
+ <min>-540</min>
+ <max>540</max>
+ <precision>5</precision>
+@@ -686,7 +686,7 @@
+ <option name="zoom_springiness" type="float">
+ <_short>Springiness</_short>
+ <_long>How spring-like the Zoom animation should be.</_long>
+- <default>0.08</default>
++ <default>0.0</default>
+ <min>0</min>
+ <max>1</max>
+ <precision>0.01</precision>
+diff -Nur original/plugins/commands/commands.xml.in modified/plugins/commands/commands.xml.in
+--- original/plugins/commands/commands.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/commands/commands.xml.in 2019-02-17 14:11:58.766082647 +0000
+@@ -117,7 +117,7 @@
+ <option name="command20" type="string">
+ <_short>Command line 20</_short>
+ <_long>Command line to be executed in shell when run_command20 is invoked</_long>
+- <default>/usr/bin/gnome-system-monitor -p</default>
++ <default></default>
+ </option>
+ </group>
+ <group>
+@@ -205,7 +205,6 @@
+ <option name="run_command20_key" type="key">
+ <_short>Run command 20</_short>
+ <_long>A keybinding that when invoked, will run the shell command identified by command20</_long>
+- <default>&lt;Control&gt;&lt;Alt&gt;Delete</default>
+ </option>
+ </group>
+ <group>
+diff -Nur original/plugins/decor/decor.xml.in modified/plugins/decor/decor.xml.in
+--- original/plugins/decor/decor.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/decor/decor.xml.in 2019-02-17 14:13:24.345517674 +0000
+@@ -31,7 +31,7 @@
+ <option name="active_shadow_opacity" type="float">
+ <_short>Shadow Opacity</_short>
+ <_long>Drop shadow opacity</_long>
+- <default>0.8</default>
++ <default>0.5</default>
+ <min>0.01</min>
+ <max>6.0</max>
+ <precision>0.01</precision>
+@@ -66,7 +66,7 @@
+ <option name="inactive_shadow_radius" type="float">
+ <_short>Shadow Radius</_short>
+ <_long>Drop shadow radius</_long>
+- <default>5.0</default>
++ <default>8.0</default>
+ <min>0.1</min>
+ <max>13.0</max>
+ <precision>0.1</precision>
+@@ -74,7 +74,7 @@
+ <option name="inactive_shadow_opacity" type="float">
+ <_short>Shadow Opacity</_short>
+ <_long>Drop shadow opacity</_long>
+- <default>0.4</default>
++ <default>0.5</default>
+ <min>0.01</min>
+ <max>6.0</max>
+ <precision>0.01</precision>
+@@ -101,7 +101,7 @@
+ <option name="command" type="string">
+ <_short>Command</_short>
+ <_long>Decorator command line that is executed if no decorator is already running.</_long>
+- <default>gtk-window-decorator</default>
++ <default>exec /usr/bin/compiz-decorator</default>
+ </option>
+ <option name="mipmap" type="bool">
+ <_short>Mipmap</_short>
+diff -Nur original/plugins/expo/expo.xml.in modified/plugins/expo/expo.xml.in
+--- original/plugins/expo/expo.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/expo/expo.xml.in 2019-02-17 14:11:58.766082647 +0000
+@@ -17,7 +17,6 @@
+ <plugin>wobbly</plugin>
+ <plugin>animation</plugin>
+ <plugin>wallpaper</plugin>
+- <plugin>imgpng</plugin>
+ </relation>
+ </deps>
+ <options>
+@@ -26,7 +25,7 @@
+ <option name="expo_key" type="key">
+ <_short>Expo Key</_short>
+ <_long>Initiate or terminate Expo mode with this keyboard shortcut.</_long>
+- <default>&lt;Super&gt;s</default>
++ <default>&lt;Super&gt;e</default>
+ </option>
+ <option name="expo_button" type="button">
+ <_short>Expo Button</_short>
+@@ -37,6 +36,7 @@
+ <_short>Expo Corner/Edge</_short>
+ <_long>Initiate or terminate Expo mode by moving the pointer to this corner or edge of your screen(s).</_long>
+ <default>
++ <edge name="TopLeft"/>
+ </default>
+ </option>
+ <option name="double_click_time" type="int">
+@@ -80,7 +80,7 @@
+ <option name="zoom_time" type="float">
+ <_short>Animation Duration</_short>
+ <_long>Duration of the selected animation (in seconds).</_long>
+- <default>0.3</default>
++ <default>0.5</default>
+ <min>0.1</min>
+ <max>5.0</max>
+ <precision>0.1</precision>
+@@ -146,12 +146,12 @@
+ <option name="x_offset" type="int">
+ <_short>X Offset</_short>
+ <_long>Horizontal offset (in pixels).</_long>
+- <default>64</default>
++ <default>0</default>
+ </option>
+ <option name="y_offset" type="int">
+ <_short>Y Offset</_short>
+ <_long>Vertical offset (in pixels).</_long>
+- <default>24</default>
++ <default>0</default>
+ </option>
+ <option name="y_bottom_offset" type="int">
+ <_short>Y Bottom Offset</_short>
+@@ -170,7 +170,7 @@
+ <option name="vp_distance" type="float">
+ <_short>Viewport Distance</_short>
+ <_long>The distance between viewports in Expo mode.</_long>
+- <default>0.2</default>
++ <default>0.10</default>
+ <min>0.0</min>
+ <max>1.0</max>
+ <precision>0.01</precision>
+@@ -198,7 +198,7 @@
+ <_long>How the Expo wall should be displayed, if multiple output devices are used.</_long>
+ <min>0</min>
+ <max>1</max>
+- <default>1</default>
++ <default>0</default>
+ <desc>
+ <value>0</value>
+ <_name>One big wall</_name>
+@@ -213,7 +213,7 @@
+ <option name="vp_brightness" type="float">
+ <_short>Brightness</_short>
+ <_long>The brightness of unfocused viewports (in percent).</_long>
+- <default>40.0</default>
++ <default>75.0</default>
+ <min>0.0</min>
+ <max>100.0</max>
+ <precision>0.1</precision>
+@@ -233,7 +233,7 @@
+ <red>0xfbfb</red>
+ <green>0x8b8b</green>
+ <blue>0x0</blue>
+- <alpha>0xffff</alpha>
++ <alpha>0x0</alpha>
+ </default>
+ </option>
+ </subgroup>
+@@ -242,7 +242,7 @@
+ <option name="reflection" type="bool">
+ <_short>Reflection</_short>
+ <_long>Render a realtime reflection of the viewports on the ground.</_long>
+- <default>false</default>
++ <default>true</default>
+ </option>
+ <option name="ground_color1" type="color">
+ <_short>Ground Color (near)</_short>
+diff -Nur original/plugins/ezoom/ezoom.xml.in modified/plugins/ezoom/ezoom.xml.in
+--- original/plugins/ezoom/ezoom.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/ezoom/ezoom.xml.in 2019-02-17 14:11:58.766082647 +0000
+@@ -30,7 +30,7 @@
+ <option type="button" name="zoom_in_button">
+ <_short>Zoom In Button</_short>
+ <_long>Mouse button shortcut to invoke zooming in.</_long>
+- <default></default>
++ <default>&lt;Super&gt;Button4</default>
+ </option>
+ <option type="key" name="zoom_in_key">
+ <_short>Zoom In Key</_short>
+@@ -39,7 +39,7 @@
+ <option type="button" name="zoom_out_button">
+ <_short>Zoom Out Button</_short>
+ <_long>Mouse button shortcut to invoke zooming out.</_long>
+- <default></default>
++ <default>&lt;Super&gt;Button5</default>
+ </option>
+ <option type="key" name="zoom_out_key">
+ <_short>Zoom Out Key</_short>
+@@ -48,7 +48,7 @@
+ <option type="button" name="zoom_box_button">
+ <_short>Invoke Zoom Box Button</_short>
+ <_long>Define a rectangle area and zoom into it.</_long>
+- <default></default>
++ <default>&lt;Super&gt;Button2</default>
+ </option>
+ <option name="zoom_box_outline_color" type="color">
+ <_short>Zoom Box Outline Color</_short>
+@@ -346,7 +346,7 @@
+ <option type="key" name="fit_to_window_key">
+ <_short>Fit zoomed area to window</_short>
+ <_long>Zooms in/out so the focused window is zoomed to the maximum while still being fully visible.</_long>
+- <default></default>
++ <default>&lt;Super&gt;r</default>
+ </option>
+ </subgroup>
+ </group>
+diff -Nur original/plugins/fade/fade.xml.in modified/plugins/fade/fade.xml.in
+--- original/plugins/fade/fade.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/fade/fade.xml.in 2019-02-17 14:11:58.772752647 +0000
+@@ -10,7 +10,6 @@
+ </requirement>
+ <relation type="after">
+ <plugin>decor</plugin>
+- <plugin>staticswitcher</plugin>
+ </relation>
+ <relation type="before">
+ <plugin>cube</plugin>
+@@ -51,7 +50,7 @@
+ <option name="window_match" type="match">
+ <_short>Fade windows</_short>
+ <_long>Windows that should be fading</_long>
+- <default>any &amp; !(title=notify-osd)</default>
++ <default>any</default>
+ </option>
+ <option name="visual_bell" type="bell">
+ <_short>Visual Bell</_short>
+diff -Nur original/plugins/gnomecompat/gnomecompat.xml.in modified/plugins/gnomecompat/gnomecompat.xml.in
+--- original/plugins/gnomecompat/gnomecompat.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/gnomecompat/gnomecompat.xml.in 2019-02-17 14:11:58.772752647 +0000
+@@ -57,7 +57,6 @@
+ <option name="run_command_terminal_key" type="key">
+ <_short>Open a terminal</_short>
+ <_long>Open a terminal</_long>
+- <default>&lt;Control&gt;&lt;Alt&gt;T</default>
+ </option>
+ </group>
+ </options>
+diff -Nur original/plugins/grid/grid.xml.in modified/plugins/grid/grid.xml.in
+--- original/plugins/grid/grid.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/grid/grid.xml.in 2019-02-17 14:11:58.779422647 +0000
+@@ -68,12 +68,12 @@
+ <option name="put_maximize_key" type="key">
+ <_short>Maximize Key</_short>
+ <_long>Maximize window.</_long>
+- <default>&lt;Control&gt;&lt;Super&gt;Up</default>
++ <default>&lt;Control&gt;&lt;Alt&gt;KP_0</default>
+ </option>
+ <option name="put_restore_key" type="key">
+ <_short>Restore</_short>
+ <_long>Restore window to it's original size. Note: Use the same shortcut you are using to unmaximize a window to be able to restore grid-maximized windows.</_long>
+- <default>&lt;Control&gt;&lt;Super&gt;Down</default>
++ <default>&lt;Alt&gt;F5</default>
+ </option>
+ <option name="left_maximize" type="key">
+ <_short>Left Maximize</_short>
+diff -Nur original/plugins/resize/resize.xml.in modified/plugins/resize/resize.xml.in
+--- original/plugins/resize/resize.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/resize/resize.xml.in 2019-02-17 14:11:58.779422647 +0000
+@@ -56,7 +56,7 @@
+ <option name="maximize_vertically" type="bool">
+ <short>Maximize Vertically if screen edge hit</short>
+ <long>Maximizes the window vertically if the top or bottom screen edge is hit while resizing</long>
+- <default>true</default>
++ <default>false</default>
+ </option>
+ <option name="increase_border_contrast" type="bool">
+ <_short>Use a double-border in 'Rectangle' and 'Outline' modes</_short>
+@@ -72,9 +72,9 @@
+ <_short>Border Color</_short>
+ <_long>Border color used for outline and rectangle resize modes</_long>
+ <default>
+- <red>0xfbfb</red>
+- <green>0x8b8b</green>
+- <blue>0x0</blue>
++ <red>0x2f2f</red>
++ <green>0x2f2f</green>
++ <blue>0x4f4f</blue>
+ <alpha>0x9f9f</alpha>
+ </default>
+ </option>
+@@ -82,10 +82,10 @@
+ <_short>Fill Color</_short>
+ <_long>Fill color used for rectangle resize mode</_long>
+ <default>
+- <red>0xfbfb</red>
+- <green>0x8b8b</green>
+- <blue>0x0</blue>
+- <alpha>0x1919</alpha>
++ <red>0x2f2f</red>
++ <green>0x2f2f</green>
++ <blue>0x4f4f</blue>
++ <alpha>0x4f4f</alpha>
+ </default>
+ </option>
+ <option name="disable_blend" type="bool">
+diff -Nur original/plugins/scale/scale.xml.in modified/plugins/scale/scale.xml.in
+--- original/plugins/scale/scale.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/scale/scale.xml.in 2019-02-17 14:11:58.779422647 +0000
+@@ -21,7 +21,7 @@
+ <option name="spacing" type="int">
+ <_short>Spacing</_short>
+ <_long>Space between windows</_long>
+- <default>20</default>
++ <default>10</default>
+ <min>0</min>
+ <max>250</max>
+ </option>
+@@ -46,7 +46,7 @@
+ <option name="speed" type="float">
+ <_short>Speed</_short>
+ <_long>Scale speed</_long>
+- <default>5.0</default>
++ <default>1.5</default>
+ <min>0.1</min>
+ <max>50</max>
+ <precision>0.1</precision>
+@@ -54,7 +54,7 @@
+ <option name="timestep" type="float">
+ <_short>Timestep</_short>
+ <_long>Scale timestep</_long>
+- <default>0.1</default>
++ <default>1.2</default>
+ <min>0.1</min>
+ <max>50</max>
+ <precision>0.1</precision>
+@@ -67,7 +67,7 @@
+ <option name="opacity" type="int">
+ <_short>Opacity</_short>
+ <_long>Amount of opacity in percent</_long>
+- <default>100</default>
++ <default>75</default>
+ <min>0</min>
+ <max>100</max>
+ </option>
+@@ -76,7 +76,7 @@
+ <_long>Overlay an icon on windows once they are scaled</_long>
+ <min>0</min>
+ <max>2</max>
+- <default>0</default>
++ <default>1</default>
+ <desc>
+ <value>0</value>
+ <_name>None</_name>
+@@ -129,7 +129,7 @@
+ <_long>Selects where windows are scaled if multiple output devices are used.</_long>
+ <min>0</min>
+ <max>1</max>
+- <default>1</default>
++ <default>0</default>
+ <desc>
+ <value>0</value>
+ <_name>On current output device</_name>
+@@ -150,7 +150,7 @@
+ <option name="key_bindings_toggle" type="bool">
+ <_short>Key Bindings Toggle Scale Mode</_short>
+ <_long>Key bindings toggle scale mode instead of enabling it when pressed and disabling it when released.</_long>
+- <default>true</default>
++ <default>false</default>
+ </option>
+ <option name="button_bindings_toggle" type="bool">
+ <_short>Button Bindings Toggle Scale Mode</_short>
+@@ -160,12 +160,15 @@
+ <option name="initiate_edge" type="edge">
+ <_short>Initiate Window Picker</_short>
+ <_long>Layout and start transforming windows</_long>
++ <default>
++ <edge name="TopRight"/>
++ </default>
+ <allowed edgednd="true"/>
+ </option>
+ <option name="initiate_key" type="key">
+ <_short>Initiate Window Picker</_short>
+ <_long>Layout and start transforming windows</_long>
+- <default>&lt;Super&gt;w</default>
++ <default>&lt;Shift&gt;&lt;Alt&gt;Up</default>
+ </option>
+ <option name="initiate_button" type="button">
+ <_short>Initiate Window Picker</_short>
+@@ -183,7 +186,6 @@
+ <option name="initiate_all_key" type="key">
+ <_short>Initiate Window Picker For All Windows</_short>
+ <_long>Layout and start transforming all windows</_long>
+- <default>&lt;Super&gt;&lt;Shift&gt;w</default>
+ </option>
+ <option name="initiate_group_edge" type="edge">
+ <_short>Initiate Window Picker For Window Group</_short>
+diff -Nur original/plugins/staticswitcher/staticswitcher.xml.in modified/plugins/staticswitcher/staticswitcher.xml.in
+--- original/plugins/staticswitcher/staticswitcher.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/staticswitcher/staticswitcher.xml.in 2019-02-17 14:11:58.782757647 +0000
+@@ -11,6 +11,7 @@
+ <relation type="after">
+ <plugin>composite</plugin>
+ <plugin>opengl</plugin>
++ <plugin>fade</plugin>
+ <plugin>compiztoolbox</plugin>
+ <plugin>decor</plugin>
+ </relation>
+@@ -139,12 +140,12 @@
+ <option name="auto_change_vp" type="bool">
+ <_short>Auto Change Viewport</_short>
+ <_long>Change to the viewport of the selected window while switching</_long>
+- <default>true</default>
++ <default>false</default>
+ </option>
+ <option name="popup_delay" type="float">
+ <_short>Popup Window Delay</_short>
+ <_long>Time (in s) the popup window should be delayed before appearing</_long>
+- <default>0.2</default>
++ <default>0.0</default>
+ <min>0.0</min>
+ <max>2.0</max>
+ <precision>0.05</precision>
+@@ -152,7 +153,7 @@
+ <option name="mouse_select" type="bool">
+ <_short>Allow Mouse Selection</_short>
+ <_long>Allow selection of windows from the switcher window with the mouse</_long>
+- <default>true</default>
++ <default>false</default>
+ </option>
+ </group>
+ <group>
+@@ -160,14 +161,14 @@
+ <option name="saturation" type="int">
+ <_short>Saturation</_short>
+ <_long>Amount of saturation in percent</_long>
+- <default>100</default>
++ <default>50</default>
+ <min>0</min>
+ <max>100</max>
+ </option>
+ <option name="brightness" type="int">
+ <_short>Brightness</_short>
+ <_long>Amount of brightness in percent</_long>
+- <default>100</default>
++ <default>50</default>
+ <min>0</min>
+ <max>100</max>
+ </option>
+@@ -191,7 +192,7 @@
+ <option name="mipmap" type="bool">
+ <_short>Mipmap</_short>
+ <_long>Generate mipmaps when possible for higher quality scaling</_long>
+- <default>false</default>
++ <default>true</default>
+ </option>
+ <option name="row_align" type="int">
+ <_short>Row Alignment</_short>
+@@ -220,7 +221,7 @@
+ <option name="bring_to_front" type="bool">
+ <_short>Bring To Front</_short>
+ <_long>Bring selected window to front</_long>
+- <default>false</default>
++ <default>true</default>
+ </option>
+ <_short>Selected Window Highlight</_short>
+ <option name="highlight_mode" type="int">
+@@ -228,7 +229,7 @@
+ <_long>Mode for highlighting the currently selected window</_long>
+ <min>0</min>
+ <max>2</max>
+- <default>0</default>
++ <default>1</default>
+ <desc>
+ <value>0</value>
+ <_name>None</_name>
+diff -Nur original/plugins/vpswitch/vpswitch.xml.in modified/plugins/vpswitch/vpswitch.xml.in
+--- original/plugins/vpswitch/vpswitch.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/vpswitch/vpswitch.xml.in 2019-02-17 14:11:58.782757647 +0000
+@@ -95,11 +95,13 @@
+ <option name="next_button" type="button">
+ <_short>Move Next</_short>
+ <_long>Move to the next viewport</_long>
++ <default>Button5</default>
+ <internal/>
+ </option>
+ <option name="prev_button" type="button">
+ <_short>Move Prev</_short>
+ <_long>Move to the previous viewport</_long>
++ <default>Button4</default>
+ <internal/>
+ </option>
+ <option name="initiate_button" type="button">
+diff -Nur original/plugins/wall/wall.xml.in modified/plugins/wall/wall.xml.in
+--- original/plugins/wall/wall.xml.in 2019-02-16 12:44:41.000000000 +0000
++++ modified/plugins/wall/wall.xml.in 2019-02-17 14:11:58.782757647 +0000
+@@ -30,12 +30,12 @@
+ <option name="miniscreen" type="bool">
+ <_short>Show Live Viewport Previews</_short>
+ <_long>Show live viewport previews in switcher window</_long>
+- <default>true</default>
++ <default>false</default>
+ </option>
+ <option name="preview_timeout" type="float">
+ <_short>Switch Target Preview Visibility Time</_short>
+ <_long>Duration (in s) the switch target preview should remain visible after switching ends.</_long>
+- <default>0.2</default>
++ <default>0.4</default>
+ <min>0.0</min>
+ <max>2.0</max>
+ <precision>0.05</precision>
+@@ -43,7 +43,7 @@
+ <option name="preview_scale" type="int">
+ <_short>Preview Scale</_short>
+ <_long>Size of the preview in %</_long>
+- <default>130</default>
++ <default>100</default>
+ <min>0</min>
+ <max>400</max>
+ </option>
+@@ -57,7 +57,7 @@
+ <option name="border_width" type="int">
+ <_short>Border Width</_short>
+ <_long>Width of the border between the previews</_long>
+- <default>7</default>
++ <default>10</default>
+ <min>0</min>
+ <max>30</max>
+ </option>
+@@ -65,10 +65,10 @@
+ <_short>Outline Color</_short>
+ <_long>Outline color of the switcher window.</_long>
+ <default>
+- <red>0xffff</red>
+- <green>0xffff</green>
+- <blue>0xffff</blue>
+- <alpha>0x3232</alpha>
++ <red>0x3333</red>
++ <green>0x3333</green>
++ <blue>0x3333</blue>
++ <alpha>0xd998</alpha>
+ </default>
+ </option>
+ <subgroup>
+@@ -78,30 +78,30 @@
+ <_short>Base Color</_short>
+ <_long>First color for the background gradient of the switcher window.</_long>
+ <default>
+- <red>0x0000</red>
+- <green>0x0000</green>
+- <blue>0x0000</blue>
+- <alpha>0x6464</alpha>
++ <red>0xcccc</red>
++ <green>0xcccc</green>
++ <blue>0xe665</blue>
++ <alpha>0xd998</alpha>
+ </default>
+ </option>
+ <option name="background_gradient_highlight_color" type="color">
+ <_short>Highlight Color</_short>
+ <_long>Second color for the background gradient of the switcher window.</_long>
+ <default>
+- <red>0x0000</red>
+- <green>0x0000</green>
+- <blue>0x0000</blue>
+- <alpha>0x6464</alpha>
++ <red>0xf332</red>
++ <green>0xf332</green>
++ <blue>0xffff</blue>
++ <alpha>0xd998</alpha>
+ </default>
+ </option>
+ <option name="background_gradient_shadow_color" type="color">
+ <_short>Shadow Color</_short>
+ <_long>Third color for the background gradient of the switcher window.</_long>
+ <default>
+- <red>0x0000</red>
+- <green>0x0000</green>
+- <blue>0x0000</blue>
+- <alpha>0x6464</alpha>
++ <red>0xf332</red>
++ <green>0xf332</green>
++ <blue>0xffff</blue>
++ <alpha>0xd998</alpha>
+ </default>
+ </option>
+ </subgroup>
+@@ -112,20 +112,20 @@
+ <_short>Base Color</_short>
+ <_long>First color for the thumb gradient of the switcher window.</_long>
+ <default>
+- <red>0x5555</red>
+- <green>0x5555</green>
+- <blue>0x5555</blue>
+- <alpha>0x3232</alpha>
++ <red>0x3333</red>
++ <green>0x3333</green>
++ <blue>0x3333</blue>
++ <alpha>0x5999</alpha>
+ </default>
+ </option>
+ <option name="thumb_gradient_highlight_color" type="color">
+ <_short>Highlight Color</_short>
+ <_long>Second color for the thumb gradient of the switcher window.</_long>
+ <default>
+- <red>0x5555</red>
+- <green>0x5555</green>
+- <blue>0x5555</blue>
+- <alpha>0x3232</alpha>
++ <red>0x3fff</red>
++ <green>0x3fff</green>
++ <blue>0x3fff</blue>
++ <alpha>0x3fff</alpha>
+ </default>
+ </option>
+ </subgroup>
+@@ -139,7 +139,7 @@
+ <red>0xffff</red>
+ <green>0xffff</green>
+ <blue>0xffff</blue>
+- <alpha>0xffff</alpha>
++ <alpha>0xf332</alpha>
+ </default>
+ </option>
+ <option name="thumb_highlight_gradient_shadow_color" type="color">
+@@ -149,7 +149,7 @@
+ <red>0xdfff</red>
+ <green>0xdfff</green>
+ <blue>0xdfff</blue>
+- <alpha>0xffff</alpha>
++ <alpha>0xa665</alpha>
+ </default>
+ </option>
+ </subgroup>
+@@ -201,7 +201,7 @@
+ <option name="auto_switch_vp_and_window" type="bool">
+ <_short>Auto Switch Vp And Window</_short>
+ <_long>Auto switch the viewport and move window when Alt-Tab to window that is more than half contained in another viewport</_long>
+- <default>false</default>
++ <default>true</default>
+ </option>
+ </group>
+ <group>
+@@ -356,7 +356,7 @@
+ <option name="edgeflip_move" type="bool">
+ <_short>Edge Flip Move</_short>
+ <_long>Flip viewport when moving a window to a screen edge</_long>
+- <default>false</default>
++ <default>true</default>
+ </option>
+ <option name="edgeflip_dnd" type="bool">
+ <_short>Edge Flip DnD</_short>
+diff -Nur original/tests/system/xorg-gtest/tests/compiz_xorg_gtest_ewmh.cpp modified/tests/system/xorg-gtest/tests/compiz_xorg_gtest_ewmh.cpp
+--- original/tests/system/xorg-gtest/tests/compiz_xorg_gtest_ewmh.cpp 2019-02-16 12:44:41.000000000 +0000
++++ modified/tests/system/xorg-gtest/tests/compiz_xorg_gtest_ewmh.cpp 2019-02-17 14:11:58.782757647 +0000
+@@ -46,7 +46,7 @@
+
+ namespace
+ {
+-unsigned int DEFAULT_VIEWPORT_WIDTH = 1;
++unsigned int DEFAULT_VIEWPORT_WIDTH = 4;
+ unsigned int DEFAULT_VIEWPORT_HEIGHT = 1;
+
+ bool Advance (Display *d, bool r)
diff --git a/screenshot-launch-fix.patch b/screenshot-launch-fix.patch
new file mode 100644
index 000000000000..8192961bbd33
--- /dev/null
+++ b/screenshot-launch-fix.patch
@@ -0,0 +1,15 @@
+diff -rupN compiz/plugins/screenshot/src/screenshot.cpp compiz.new/plugins/screenshot/src/screenshot.cpp
+--- compiz/plugins/screenshot/src/screenshot.cpp 2014-09-01 00:21:45.807271000 -0400
++++ compiz.new/plugins/screenshot/src/screenshot.cpp 2014-09-01 00:52:30.634288167 -0400
+@@ -434,10 +434,10 @@ namespace
+ compLogMessage ("screenshot", CompLogLevelWarn, "glReadPixels failed");
+ }
+
+- if (!success)
++ if (success)
+ success =
+ launchApplicationAndTakeScreenshot (alternativeApplication,
+- directory);
++ path);
+
+ return success; \ No newline at end of file