Hello community, here is the log from the commit of package compiz for openSUSE:Factory checked in at 2015-12-16 17:42:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/compiz (Old) and /work/SRC/openSUSE:Factory/.compiz.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "compiz" Changes: -------- --- /work/SRC/openSUSE:Factory/compiz/compiz.changes 2015-11-28 15:19:33.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.compiz.new/compiz.changes 2015-12-16 17:43:30.000000000 +0100 @@ -1,0 +2,22 @@ +Sat Dec 12 10:02:46 UTC 2015 - [email protected] + +- Bring compiz-decorator back: Compiz must handle Emerald-only + installations. +- Set back compiz-decorator as a default decorator in + compiz-suse-defaults.patch. +- Fix crashes in gnome-window-decorator. +- Force compiz-gnome bigger priority than compiz-emerald if + MATE or GNOME session is installed by supplements. +- Simplify compiz-decorator: no need to fallback if decorator is + missing as it can't be (requirement). +- Do not change default resize mode in compiz-suse-defaults.patch. +- Do not even suggest Marco in compiz-gnome: gtk-window-decorator + only need a library for supporing Metacity decorations. +- Remove bug-449168-avoid-independent-output-painting.diff: + considered harmful. +- Modify compiz-add-manager-checks.patch: do not start Compiz + without --replace when other WM is running. +- Do not generate MATE Control Centre keybindings after all: + support is removed from upstream. + +------------------------------------------------------------------- Old: ---- bug-449168-avoid-independent-output-painting.diff New: ---- compiz-decorator.sh ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ compiz.spec ++++++ --- /var/tmp/diff_new_pack.GQSRzv/_old 2015-12-16 17:43:32.000000000 +0100 +++ /var/tmp/diff_new_pack.GQSRzv/_new 2015-12-16 17:43:32.000000000 +0100 @@ -27,26 +27,24 @@ Source: https://github.com/raveit65/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: opensuse.png Source2: sle.png -Source3: gnome-window-decorator.py -Source4: %{name}.desktop -Source5: baselibs.conf +Source3: %{name}-decorator.sh +Source4: gnome-window-decorator.py +Source5: %{name}.desktop +Source6: baselibs.conf # PATCH-FEATURE-OPENSUSE compiz-suse-defaults.patch [email protected] -- Compiz default settings for openSUSE. Patch0: %{name}-suse-defaults.patch # PATCH-FIX-UPSTREAM compiz-java-config-notify.diff [email protected] -- Java config notify workaround. Patch1: %{name}-java-config-notify.diff -# PATCH-FIX-UPSTREAM boo#449168 [email protected] -- Avoid independent output painting. -Patch2: bug-449168-avoid-independent-output-painting.diff -# PATCH-FIX-UPSTREAM boo#474862 [email protected] -- Allow moving focus to fs window. -Patch3: bug-474862-allow-moving-focus-to-fs-window.diff +# PATCH-FIX-UPSTREAM bsc#474862 [email protected] -- Allow moving focus to fs window. +Patch2: bug-474862-allow-moving-focus-to-fs-window.diff # PATCH-FEATURE-OPENSUSE compiz-add-manager-checks.patch -- Add all relevant checks from compiz-manager. -Patch4: %{name}-add-manager-checks.patch +Patch3: %{name}-add-manager-checks.patch BuildRequires: hicolor-icon-theme BuildRequires: libjpeg-devel BuildRequires: libxslt-tools BuildRequires: mate-common -# To get GNOME Control Centre keybindings. -BuildRequires: metacity BuildRequires: pkg-config +BuildRequires: python3 BuildRequires: update-desktop-files BuildRequires: pkgconfig(cairo) >= 1.0 BuildRequires: pkgconfig(cairo-xlib-xrender) @@ -54,7 +52,7 @@ BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(gobject-introspection-1.0) -BuildRequires: pkgconfig(gtk+-2.0) >= 2.8.0 +BuildRequires: pkgconfig(gtk+-2.0) >= 2.10.0 BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(librsvg-2.0) >= 2.14.0 @@ -77,6 +75,7 @@ Requires: %{name}-decorator < 0.9 Requires: pciutils Recommends: %{name}-plugins < 0.9 +Recommends: %{name}-lang Suggests: compicc < 0.9 Provides: windowmanager # KDE is no longer supported in Compiz. @@ -84,8 +83,6 @@ Obsoletes: %{name}-kde4 < %{version} ExclusiveArch: %ix86 x86_64 %arm aarch64 ppc ppc64 ia64 %if 0%{?suse_version} > 1310 -# To get MATE Control Centre keybindings. -BuildRequires: marco BuildRequires: pkgconfig(libmarco-private) %endif @@ -107,11 +104,10 @@ Requires: python3-gobject Recommends: %{name}-plugins-main < 0.9 Suggests: ccsm < 0.9 +Supplements: packageand(%{name}:gnome-session) +Supplements: packageand(%{name}:mate-session-manager) Provides: %{name}-decorator = 0.8 -%if 0%{?suse_version} > 1310 -Recommends: marco Provides: %{name}-mate = %{version} -%endif %description gnome This package contains GNOME/MATE based configuration utilities for @@ -237,11 +233,11 @@ %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 cp -f %{SOURCE1} opensuse.png cp -f %{SOURCE2} sle.png -cp -f %{SOURCE3} gnome-window-decorator -cp -f %{SOURCE4} %{name}.desktop +cp -f %{SOURCE3} compiz-decorator +cp -f %{SOURCE4} gnome-window-decorator +cp -f %{SOURCE5} %{name}.desktop # Do not install helper scripts, we already have one. sed -i 's/^\(SUBDIRS =.* \)scripts\(.*\)$/\1\2/' Makefile.am @@ -258,31 +254,13 @@ install -Dm 0644 opensuse.png %{buildroot}%{_datadir}/%{name}/opensuse.png install -Dm 0644 sle.png %{buildroot}%{_datadir}/%{name}/sle.png +install -Dm 0755 %{name}-decorator %{buildroot}%{_bindir}/%{name}-decorator install -Dm 0755 gnome-window-decorator %{buildroot}%{_bindir}/gnome-window-decorator install -Dm 0644 %{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop install -Dm 0644 %{name}.desktop %{buildroot}%{_datadir}/mate/wm-properties/%{name}.desktop install -Dm 0644 %{name}.desktop %{buildroot}%{_datadir}/gnome/wm-properties/%{name}.desktop -# Create Compiz keybiding files based on the Marco ones. -mkdir -p %{buildroot}%{_datadir}/{mate,gnome}-control-center/keybindings/ -for de in mate gnome; do - for wm in marco metacity; do - for kb in desktop-key global-key window-key navigation windows; do - if [ -r %{_datadir}/$de-control-center/keybindings/50-$wm-$kb.xml ]; then - sed -re '/KeyListEntries/s/(wm_name=)\"[^\"]*\"/\1\"compiz\"/;/KeyListEntries/s/(package=)\"[^\"]*\"/\1\"compiz\"/' \ - %{_datadir}/$de-control-center/keybindings/50-$wm-$kb.xml \ - > %{buildroot}%{_datadir}/$de-control-center/keybindings/50-compiz-$kb.xml - sed -i 's|key=\"num-workspaces\" comparison=\"gt\"||g' %{buildroot}%{_datadir}/$de-control-center/keybindings/50-compiz-$kb.xml - # Remove unsupported keys from Compiz keybindings. - for unsupported in switch-group switch-panels cycle-windows cycle-group cycle-panels; do - sed -i "/name=\"$unsupported\"/d" %{buildroot}%{_datadir}/$de-control-center/keybindings/50-compiz-$kb.xml - done - fi - done - done -done - find %{buildroot} -type f -name "*.la" -delete -print %find_lang %{name} @@ -328,6 +306,7 @@ %defattr(-,root,root) %doc COPYING* %{_bindir}/%{name} +%{_bindir}/%{name}-decorator %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/*/apps/*.* %dir %{_libdir}/%{name}/ @@ -391,9 +370,6 @@ %defattr(-,root,root) %{_bindir}/gtk-window-decorator %{_bindir}/gnome-window-decorator -%dir %{_datadir}/*-control-center/ -%dir %{_datadir}/*-control-center/keybindings/ -%{_datadir}/*-control-center/keybindings/* %dir %{_datadir}/mate/ %dir %{_datadir}/gnome/ %dir %{_datadir}/*/wm-properties/ ++++++ compiz-0.8.9.tar.gz ++++++ ++++ 20792 lines of diff (skipped) ++++++ compiz-add-manager-checks.patch ++++++ --- /var/tmp/diff_new_pack.GQSRzv/_old 2015-12-16 17:43:32.000000000 +0100 +++ /var/tmp/diff_new_pack.GQSRzv/_new 2015-12-16 17:43:32.000000000 +0100 @@ -1,8 +1,8 @@ Add all relevant checks from compiz-manager. Authors: -Travis Watkins <[email protected]> -Sorokin Alexei <[email protected]> + Travis Watkins <[email protected]> + Sorokin Alexei <[email protected]> --- --- a/include/compiz-core.h @@ -68,21 +68,7 @@ emptyRegion.rects = &emptyRegion.extents; emptyRegion.numRects = 0; -@@ -288,6 +316,13 @@ main (int argc, char **argv) - - memset (&ctx, 0, sizeof (ctx)); - -+ /* if no options are passed run with defaults */ -+ if (argc == 1) -+ { -+ useDesktopHints = FALSE; -+ replaceCurrentWm = TRUE; -+ } -+ - for (i = 1; i < argc; i++) - { - if (!strcmp (argv[i], "--help")) -@@ -399,6 +434,16 @@ main (int argc, char **argv) +@@ -399,6 +427,16 @@ main (int argc, char **argv) clientId = getenv ("DESKTOP_AUTOSTART_ID"); } @@ -99,7 +85,7 @@ if (refreshRateArg) { ctx.refreshRateData = malloc (strlen (refreshRateArg) + 256); -@@ -470,10 +515,20 @@ main (int argc, char **argv) +@@ -470,10 +508,20 @@ main (int argc, char **argv) coreInitialized = TRUE; if (!disableSm) ++++++ compiz-decorator.sh ++++++ #!/bin/bash # # Copyright (c) 2015 Sorokin Alexei <[email protected]> # Copyright (c) 2007 CyberOrg <[email protected]> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License. # # Contributions by: crdlb # # Prints the arguments if verbose. verbose() { if [[ "$VERBOSE" == 'yes' ]]; then printf "$*" >&2 fi } # Create env variables if empty. if [ ! -z "$XDG_CONFIG_DIRS" ]; then XDG_CONFIG_DIRS="/etc/xdg" fi if [ ! -z "$XDG_CONFIG_HOME" ]; then XDG_CONFIG_HOME="$HOME/.config" fi # Set to yes to enable verbose. VERBOSE="no" DECORATOR="" # Read configuration from XDG paths. if [ -r "$XDG_CONFIG_DIRS/compiz/compiz-manager" ]; then . "$XDG_CONFIG_DIRS/compiz/compiz-manager" fi if [ -r "$XDG_CONFIG_HOME/compiz/compiz-manager" ]; then . "$XDG_CONFIG_HOME/compiz/compiz-manager" fi # Find a decorator. if [ -z "$DECORATOR" ] || [ ! -x "$(which "$DECORATOR" 2> /dev/null)" ]; then for DECORATOR in gnome-window-decorator gtk-window-decorator emerald; do if [ -x "$(which "$DECORATOR" 2> /dev/null)" ]; then verbose "Found $DECORATOR decorator.\n" break fi done fi # Start the decorator. if [ ! -z "$DECORATOR" ] && [ -x "$(which "$DECORATOR" 2> /dev/null)" ]; then verbose "Starting $DECORATOR\n" exec "$DECORATOR" "$@" else verbose "Found no decorator to start\n" exit 1 fi ++++++ compiz-suse-defaults.patch ++++++ --- /var/tmp/diff_new_pack.GQSRzv/_old 2015-12-16 17:43:32.000000000 +0100 +++ /var/tmp/diff_new_pack.GQSRzv/_new 2015-12-16 17:43:32.000000000 +0100 @@ -105,7 +105,7 @@ <option name="command" type="string"> <_short>Command</_short> <_long>Decorator command line that is executed if no decorator is already running</_long> -+ <default>gnome-window-decorator --replace</default> ++ <default>compiz-decorator --replace</default> </option> <option name="mipmap" type="bool"> <_short>Mipmap</_short> @@ -120,17 +120,6 @@ <min>0</min> <max>5</max> <desc> ---- a/metadata/resize.xml.in -+++ b/metadata/resize.xml.in -@@ -40,7 +40,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> --- a/metadata/scale.xml.in +++ b/metadata/scale.xml.in @@ -167,7 +167,7 @@ ++++++ gnome-window-decorator.py ++++++ --- /var/tmp/diff_new_pack.GQSRzv/_old 2015-12-16 17:43:32.000000000 +0100 +++ /var/tmp/diff_new_pack.GQSRzv/_new 2015-12-16 17:43:32.000000000 +0100 @@ -19,13 +19,14 @@ global keyValueList, gwdProcess, gwdProcessOld def which(file): - for path in os.environ["PATH"].split(os.pathsep): + for path in os.getenv("PATH", "").split(os.pathsep): if os.path.exists(os.path.join(path, file)): return os.path.join(path, file) return None def execv_gwd(): os.execv(which("gtk-window-decorator"), sys.argv[:]) + sys.exit(1) def self_killed(): global gwdProcess @@ -86,7 +87,7 @@ else: return 1 - gwdProcessString = [which("gtk-window-decorator"), "--opacity", "1"] + gwdProcessString = [which("gtk-window-decorator")] if ("--marco-theme" not in sys.argv[1:]) and (keyValueList["theme"] != None) and (keyValueList["theme"] != ""): gwdProcessString.extend(["--marco-theme", keyValueList["theme"]]) @@ -99,6 +100,10 @@ (keyValueList["titlebar-font"] != None) and (keyValueList["titlebar-font"] != ""): gwdProcessString.extend(["--titlebar-font", keyValueList["titlebar-font"]]) + # Transparency is not desired. + if ("--opacity" not in sys.argv[1:]): + gwdProcessString.extend(["--opacity", "1"]) + # Always at the end as this options can override already set ones. gwdProcessString.extend(sys.argv[1:]) @@ -123,35 +128,35 @@ print("gtk-window-decorator was not found, exiting...", file=sys.stderr) sys.exit(1) -# Allow --metacity-theme option usage. -while ("--metacity-theme" in sys.argv[1:]): - sys.argv[sys.argv[1:].index("--metacity-theme") + 1] = "--marco-theme" - if ("--disable-marco-theme" in sys.argv[1:]) or ("--disable-metacity-theme" in sys.argv[1:]): execv_gwd() -gschema="" +gschema = "" +gschemaSourceDefault = Gio.SettingsSchemaSource.get_default() gsettings = None # Looking up for gschema, GNOME's or Marco's. if ("org.gnome.desktop.wm.preferences" in Gio.Settings.list_schemas()): gschema = "org.gnome.desktop.wm.preferences" -if (os.environ["XDG_CURRENT_DESKTOP"] == "MATE" or gschema is Null) and \ - ("org.mate.Marco.general" in Gio.Settings.list_schemas()): +if (os.getenv("XDG_CURRENT_DESKTOP") == "MATE" or \ + os.getenv("MATE_DESKTOP_SESSION_ID") is not None or gschema == "") and \ + (gschemaSourceDefault.lookup("org.mate.Marco.general", True) is not None): gschema = "org.mate.Marco.general" if (gschema != ""): gsettings = Gio.Settings.new(gschema) + gschemaSource = gschemaSourceDefault.lookup(gschema, True) -if (gsettings is None): +if (gsettings is None or gschemaSource is None): print("No decoration theme was found, falling back to plain gtk-window-decorator.", file=sys.stderr) execv_gwd() -gschemaSource = Gio.SettingsSchemaSource.get_default().lookup(gschema, False) - -# Poking on_gschema_changed() to start gwd. -on_gschema_changed(gsettings, None, gschemaSource, True) +try: + gschemaSource.list_keys() +except AttributeError: + # SettingsSchema.list_keys() is only available since GLib 2.46. + gschemaSource.list_keys = gsettings.list_keys # Kill decorator at exit. atexit.register(self_killed) @@ -159,5 +164,8 @@ # Checking for gschemas changes. gsettings.connect("changed", on_gschema_changed, gschemaSource) +# Poking on_gschema_changed() to start gwd. +on_gschema_changed(gsettings, None, gschemaSource, True) + # Endless event loop. GLib.MainLoop().run()
