Hello community, here is the log from the commit of package compiz-plugins-main for openSUSE:Factory checked in at 2017-05-16 14:37:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/compiz-plugins-main (Old) and /work/SRC/openSUSE:Factory/.compiz-plugins-main.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "compiz-plugins-main" Tue May 16 14:37:54 2017 rev:6 rq:492748 version:0.8.14 Changes: -------- --- /work/SRC/openSUSE:Factory/compiz-plugins-main/compiz-plugins-main.changes 2016-04-12 19:37:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.compiz-plugins-main.new/compiz-plugins-main.changes 2017-05-16 14:37:57.547794004 +0200 @@ -1,0 +2,16 @@ +Wed May 3 19:29:07 UTC 2017 - sor.ale...@meowr.ru + +- Add compiz-plugins-main-better-neg.patch: neg plugin improvements + (commits 10c31d4, 2265ce0, 5e40455). + +------------------------------------------------------------------- +Tue Apr 18 11:10:04 UTC 2017 - sor.ale...@meowr.ru + +- Update to version 0.8.14: + * Improve Static Switcher. + * Add more colorfilters. + * Update Catalan translation. +- Workaround /usr/@DATADIRNAME@/locale/ on openSUSE Leap 42.1 and + older. + +------------------------------------------------------------------- Old: ---- compiz-plugins-main-0.8.12.2.tar.xz New: ---- compiz-plugins-main-0.8.14.tar.xz compiz-plugins-main-better-neg.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ compiz-plugins-main.spec ++++++ --- /var/tmp/diff_new_pack.j2PfqG/_old 2017-05-16 14:37:58.147709717 +0200 +++ /var/tmp/diff_new_pack.j2PfqG/_new 2017-05-16 14:37:58.151709155 +0200 @@ -1,7 +1,7 @@ # # spec file for package compiz-plugins-main # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,19 +17,22 @@ Name: compiz-plugins-main -Version: 0.8.12.2 +Version: 0.8.14 Release: 0 Summary: OpenGL window and compositing manager plugins License: GPL-2.0+ Group: System/GUI/Other Url: https://github.com/compiz-reloaded/compiz-plugins-main Source: https://github.com/compiz-reloaded/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM compiz-plugins-main-better-neg.patch -- neg plugin improvements (commits 10c31d4, 2265ce0, 5e40455). +Patch0: compiz-plugins-main-better-neg.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gettext BuildRequires: intltool BuildRequires: libjpeg8-devel BuildRequires: libtool +BuildRequires: pkgconfig BuildRequires: pkgconfig(bcop) >= 0.7.3 BuildRequires: pkgconfig(cairo) >= 1.0 BuildRequires: pkgconfig(cairo-xlib-xrender) @@ -68,12 +71,17 @@ %prep %setup -q +%patch0 -p1 +%if 0%{?suse_version} <= 1320 && !(0%{?sle_version} > 120100 && 0%{?is_opensuse}) +# Workaround /usr/@DATADIRNAME@/locale/. +rm -r m4/ +%endif %build NOCONFIGURE=1 ./autogen.sh %configure \ --disable-static -make %{?_smp_mflags} +make %{?_smp_mflags} V=1 %install %make_install ++++++ compiz-plugins-main-0.8.12.2.tar.xz -> compiz-plugins-main-0.8.14.tar.xz ++++++ ++++ 293743 lines of diff (skipped) ++++++ compiz-plugins-main-better-neg.patch ++++++ --- a/metadata/neg.xml.in +++ b/metadata/neg.xml.in @@ -22,15 +22,15 @@ </option> </display> <screen> + <option name="toggle_by_default" type="bool"> + <_short>Auto-Toggle Matched Windows</_short> + <_long>Automatically toggle windows in the match list by default</_long> + <default>false</default> + </option> <option name="neg_match" type="match"> <_short>Negative Windows</_short> - <_long>Windows to be negative by default</_long> - <default>any</default> - </option> - <option name="exclude_match" type="match"> - <_short>Exclude Windows</_short> - <_long>Windows to exclude from negating</_long> - <default>type=Desktop</default> + <_long>Windows to affect when negating</_long> + <default>!(type=Desktop)</default> </option> </screen> </plugin> --- a/src/neg/neg.c +++ b/src/neg/neg.c @@ -40,7 +40,7 @@ typedef struct _NEGDisplay } NEGDisplay; -typedef struct _NEGSCreen +typedef struct _NEGScreen { int windowPrivateIndex; @@ -55,6 +55,7 @@ typedef struct _NEGSCreen typedef struct _NEGWindow { Bool isNeg; /* negative window flag */ + Bool matched; } NEGWindow; #define GET_NEG_CORE(c) \ @@ -78,16 +79,15 @@ typedef struct _NEGWindow static void -NEGToggle (CompWindow *w) +NEGUpdateState (CompWindow *w) { NEG_WINDOW (w); - /* toggle window negative flag */ - nw->isNeg = !nw->isNeg; - - /* check exclude list */ - if (matchEval (negGetExcludeMatch (w->screen), w)) - nw->isNeg = FALSE; + /* check include list */ + if (matchEval (negGetNegMatch (w->screen), w)) + nw->isNeg = !nw->isNeg; + else + nw->isNeg = FALSE; /* cause repainting */ addWindowDamage (w); @@ -106,7 +106,7 @@ NEGToggleScreen (CompScreen *s) /* toggle every window */ for (w = s->windows; w; w = w->next) if (w) - NEGToggle (w); + NEGUpdateState (w); } static Bool @@ -123,7 +123,7 @@ negToggle (CompDisplay *d, w = findWindowAtDisplay (d, xid); if (w) - NEGToggle (w); + NEGUpdateState (w); return TRUE; } @@ -549,10 +549,15 @@ static void NEGWindowAdd (CompScreen *s, CompWindow *w) { - /* nw->isNeg is initialized to FALSE in InitWindow, so we only - have to toggle it to TRUE if necessary */ - if (matchEval (negGetNegMatch (s), w)) - NEGToggle (w); + NEG_SCREEN (s); + NEG_WINDOW (w); + + nw->matched = matchEval (negGetNegMatch (s), w); + + /* nw->isNeg is initialized to FALSE in InitWindow, so we only + have to toggle it to TRUE if necessary */ + if (ns->isNeg && nw->matched) + NEGUpdateState (w); } static void @@ -562,24 +567,48 @@ NEGScreenOptionChanged (CompScreen { switch (num) { + case NegScreenOptionToggleByDefault: + { + CompWindow *w; + + NEG_SCREEN (s); + + ns->isNeg = opt[NegScreenOptionToggleByDefault].value.b; + + for (w = s->windows; w; w = w->next) + { + NEG_WINDOW (w); + if (ns->isNeg) + { + if (!nw->isNeg) + NEGUpdateState (w); + } + else + { + if (nw->isNeg) + NEGUpdateState (w); + } + } + } + break; case NegScreenOptionNegMatch: - case NegScreenOptionExcludeMatch: { CompWindow *w; NEG_SCREEN (s); for (w = s->windows; w; w = w->next) { - Bool isNeg; - NEG_WINDOW (w); + NEG_WINDOW (w); - isNeg = matchEval (negGetNegMatch (s), w); - isNeg = isNeg && !matchEval (negGetExcludeMatch (s), w); + nw->matched = matchEval (negGetNegMatch (w->screen), w); - if (isNeg && ns->isNeg && !nw->isNeg) - NEGToggle (w); - else if (!isNeg && nw->isNeg) - NEGToggle (w); + if (nw->matched) + { + if ((ns->isNeg || negGetToggleByDefault (s)) && !nw->isNeg) + NEGUpdateState (w); + } + else if (nw->isNeg) + NEGUpdateState (w); } } break; @@ -711,8 +740,8 @@ NEGInitScreen (CompPlugin *p, ns->negFunction = 0; ns->negAlphaFunction = 0; + negSetToggleByDefaultNotify (s, NEGScreenOptionChanged); negSetNegMatchNotify (s, NEGScreenOptionChanged); - negSetExcludeMatchNotify (s, NEGScreenOptionChanged); /* wrap overloaded functions */ WRAP (ns, s, drawWindowTexture, NEGDrawWindowTexture); @@ -753,6 +782,7 @@ NEGInitWindow (CompPlugin *p, return FALSE; nw->isNeg = FALSE; + nw->matched = FALSE; w->base.privates[ns->windowPrivateIndex].ptr = nw;