commit c589ea52209d07e4d8a2e423b64ea745aa5b14aa Author: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon Sep 30 11:04:37 2019 -0400 Package init diff --git a/metacity-3.30.1.tar.xz b/metacity-3.30.1.tar.xz new file mode 100644 index 0000000..3f43d53 Binary files /dev/null and b/metacity-3.30.1.tar.xz differ diff --git a/metacity-ggo04.patch b/metacity-ggo04.patch new file mode 100644 index 0000000..968235b --- /dev/null +++ b/metacity-ggo04.patch @@ -0,0 +1,72 @@ +From 074af8f87ef89b13ff326fb5d04ee424bbfd4ced Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= +Date: Thu, 29 Nov 2018 15:17:58 +0200 +Subject: [PATCH] revert "unminimize windows with initial IconicState if first + known on MapRequest" + +According to ICCCM client is allowed to go from Withdrawn to Iconic +state. Also there are x11 apps that has -iconic command line option +that was broken. + +Revert 6875256e63fbfd4500ddd27a7bf1aafc8d4c1ca3 commit to restore +previous behaviour. + +https://gitlab.gnome.org/GNOME/metacity/issues/4 +--- + src/core/display.c | 38 +++++++++++++------------------------- + 1 file changed, 13 insertions(+), 25 deletions(-) + +diff --git a/src/core/display.c b/src/core/display.c +index ed0aaf7f..273c97c5 100644 +--- a/src/core/display.c ++++ b/src/core/display.c +@@ -2297,34 +2297,22 @@ event_callback (XEvent *event, + { + window = meta_window_new (display, event->xmaprequest.window, FALSE, + META_EFFECT_TYPE_CREATE); +- +- /* The window might have initial iconic state, but this is a +- * MapRequest, fall through to ensure it is unminimized in +- * that case. +- */ + } +- else if (frame_was_receiver) ++ /* if frame was receiver it's some malicious send event or something */ ++ else if (!frame_was_receiver && window) + { +- g_warning ("Map requests on the frame window are unexpected"); +- break; +- } +- +- /* Double check that creating the MetaWindow succeeded */ +- if (window == NULL) +- break; +- +- meta_verbose ("MapRequest on %s mapped = %d minimized = %d\n", +- window->desc, window->mapped, window->minimized); +- +- if (window->minimized) +- { +- meta_window_unminimize (window); +- if (window->workspace != window->screen->active_workspace) ++ meta_verbose ("MapRequest on %s mapped = %d minimized = %d\n", ++ window->desc, window->mapped, window->minimized); ++ if (window->minimized) + { +- meta_verbose ("Changing workspace due to MapRequest mapped = %d minimized = %d\n", +- window->mapped, window->minimized); +- meta_window_change_workspace (window, +- window->screen->active_workspace); ++ meta_window_unminimize (window); ++ if (window->workspace != window->screen->active_workspace) ++ { ++ meta_verbose ("Changing workspace due to MapRequest mapped = %d minimized = %d\n", ++ window->mapped, window->minimized); ++ meta_window_change_workspace (window, ++ window->screen->active_workspace); ++ } + } + } + break; +-- +2.18.1 diff --git a/metacity.spec b/metacity.spec new file mode 100644 index 0000000..90e7976 --- /dev/null +++ b/metacity.spec @@ -0,0 +1,82 @@ +Name: metacity +Version: 3.30.1 +Release: 1 +Summary: Window Manager for the MATE and GNOME Flashback desktops +License: GPLv2+ +URL: https://download.gnome.org/sources/metacity/ +Source0: https://download.gnome.org/sources/metacity/3.30/%{name}-%{version}.tar.xz +# PATCH-FEATURE-UPSTREAM --revert unminimize windows with initial IconicState +# https://gitlab.gnome.org/GNOME/metacity/issues/4 +Patch1: metacity-ggo04.patch + +BuildRequires: gtk3-devel glib2-devel gsettings-desktop-schemas-devel pango-devel libcanberra-devel +BuildRequires: startup-notification-devel libXcomposite-devel libXfixes-devel libXrender-devel +BuildRequires: libXrender-devel libXdamage-devel libXrender-devel libXcursor-devel libgtop2-devel +BuildRequires: libXinerama-devel libSM-devel libICE-devel libX11-devel desktop-file-utils itstool +BuildRequires: autoconf, automake, gettext-devel, libtool, gnome-common yelp-tools zenity + +Requires: startup-notification gsettings-desktop-schemas zenity +Provides: firstboot(windowmanager) = metacity + +%description +Metacity is a small window manager, using GTK+ to do everything. +It is developed mainly for the MATE and GNOME Flashback desktops. + +%package devel +Summary: Development files and Header files for %{name} +Requires: %{name} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package_help + +%prep +%autosetup -n %{name}-%{version} -p1 +rm -f src/org.gnome.metacity.gschema.valid + +%build +CPPFLAGS="$CPPFLAGS -I$RPM_BUILD_ROOT%{_includedir}" +export CPPFLAGS +rm -f configure +(if ! test -x configure; then autoreconf -i -f; fi; + %configure --disable-schemas-compile) + +make CPPFLAGS="$CPPFLAGS" LIBS="$LIBS" %{?_smp_mflags} + +%install +%make_install +%delete_la_and_a + +%ldconfig_scriptlets + +%files +%defattr(-,root,root) +%doc AUTHORS COPYING +%{_bindir}/metacity* +%{_libdir}/libmetacity.so.* +%{_datadir}/applications/*.desktop +%{_datadir}/glib-2.0/schemas/*.xml +%{_datadir}/gnome-control-center/keybindings/* +%{_datadir}/locale/* + +%files devel +%defattr(-,root,root) +%{_bindir}/* +%{_includedir}/metacity/libmetacity/*.h +%{_libdir}/pkgconfig/*.pc +%{_libdir}/libmetacity.so + +%files help +%defattr(-,root,root) +%doc HACKING doc/metacity-theme.dtd NEWS rationales.txt README doc/theme-format.txt +%{_mandir}/man1/*.gz +%{_datadir}/metacity/icons/* + +%changelog +* Tue Sep 10 2019 openEuler Buildteam - 3.30.1-1 +- Package init + + +