Hello community, here is the log from the commit of package cinnamon for openSUSE:Factory checked in at 2018-06-25 11:42:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cinnamon (Old) and /work/SRC/openSUSE:Factory/.cinnamon.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon" Mon Jun 25 11:42:54 2018 rev:29 rq:618839 version:3.8.6 Changes: -------- --- /work/SRC/openSUSE:Factory/cinnamon/cinnamon.changes 2018-06-19 12:04:12.792807398 +0200 +++ /work/SRC/openSUSE:Factory/.cinnamon.new/cinnamon.changes 2018-06-25 11:42:56.540283078 +0200 @@ -1,0 +2,17 @@ +Sun Jun 24 19:07:27 UTC 2018 - [email protected] + +- Update to version 3.8.6 (changes since 3.8.4): + * cs_windows.py: Have the "auto-raise" setting only visible when + supported focus modes are active. + * Revert "shell-embedded-window: Change realize to map" + * Revert "network applet: Fix typo with showing access points in + certain instances". + * Revert "network applet: show the actual active connection's + signal strength". + * Update po/README: provide a link to Launchpad.net. +- Rebase cinnamon-network-user-connections.patch. +- Improve cinnamon-use-nma.patch and rename to + cinnamon-use-libnm.patch: simply switching to NMA was + unsufficient and caused import errors. + +------------------------------------------------------------------- Old: ---- Cinnamon-3.8.4.tar.gz cinnamon-use-nma.patch New: ---- Cinnamon-3.8.6.tar.gz cinnamon-use-libnm.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cinnamon.spec ++++++ --- /var/tmp/diff_new_pack.XwiF0E/_old 2018-06-25 11:42:57.292255345 +0200 +++ /var/tmp/diff_new_pack.XwiF0E/_new 2018-06-25 11:42:57.296255198 +0200 @@ -16,16 +16,12 @@ # +%define __requires_exclude typelib\\((Cinnamon|St)\\) %define __provides_exclude typelib\\(.*\\) -%if 0%{?suse_version} >= 1500 -%define __requires_exclude typelib\\((Cinnamon|St|NMGtk)\\) -%else -%define __requires_exclude typelib\\((Cinnamon|St|NMA)\\) -%endif %define _name Cinnamon %define _version 3.8.0 Name: cinnamon -Version: 3.8.4 +Version: 3.8.6 Release: 0 Summary: GNU/Linux Desktop featuring a traditional layout License: GPL-2.0-or-later AND LGPL-2.1-only @@ -46,12 +42,12 @@ Patch4: %{name}-favourite-applications.patch # PATCH-FIX-OPENSUSE cinnamon-fix-typelib-false-positive.patch [email protected] -- Avoid any false positives in typelib detection. Patch5: %{name}-fix-typelib-false-positive.patch -# PATCH-FIX-OPENSUSE cinnamon-use-nma.patch [email protected] -- Use NMA instead of NMGtk if available. -Patch6: %{name}-use-nma.patch # PATCH-FIX-OPENSUSE cinnamon-fix-cogl.patch [email protected] -- Fix compilation with Cogl. -Patch7: %{name}-fix-cogl.patch +Patch6: %{name}-fix-cogl.patch # PATCH-FEATURE-OPENSUSE cinnamon-fallback-icewm.patch [email protected] -- Use IceWM as fallback. -Patch8: %{name}-fallback-icewm.patch +Patch7: %{name}-fallback-icewm.patch +# PATCH-FIX-OPENSUSE cinnamon-use-libnm.patch [email protected] -- Use libnm, libnma instead of libnm-glib, libnm-gtk. +Patch8: %{name}-use-libnm.patch # PATCH-FIX-OPENSUSE cinnamon-no-polkit-policy.patch boo#1091701 -- Use xdg-su instead of a polkit policy due to bsc#1090963 being unresolved. Patch9: %{name}-no-polkit-policy.patch BuildRequires: autoconf @@ -77,8 +73,7 @@ BuildRequires: pkgconfig(libcinnamon-menu-3.0) BuildRequires: pkgconfig(libcroco-0.6) BuildRequires: pkgconfig(libmuffin) >= %{_version} -BuildRequires: pkgconfig(libnm-glib) -BuildRequires: pkgconfig(libnm-util) +BuildRequires: pkgconfig(libnm) BuildRequires: pkgconfig(libsoup-2.4) BuildRequires: pkgconfig(libstartup-notification-1.0) BuildRequires: pkgconfig(polkit-agent-1) @@ -187,7 +182,9 @@ %patch5 -p1 %patch6 -p1 %patch7 -p1 +%if 0%{?suse_version} >= 1500 %patch8 -p1 +%endif %patch9 -p1 cp -a %{SOURCE1} . ++++++ Cinnamon-3.8.4.tar.gz -> Cinnamon-3.8.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cinnamon-3.8.4/configure.ac new/Cinnamon-3.8.6/configure.ac --- old/Cinnamon-3.8.4/configure.ac 2018-06-08 12:52:13.000000000 +0200 +++ new/Cinnamon-3.8.6/configure.ac 2018-06-24 17:20:18.000000000 +0200 @@ -1,5 +1,5 @@ AC_PREREQ(2.63) -AC_INIT([cinnamon],[3.8.4],[https://github.com/linuxmint/Cinnamon/issues],[cinnamon]) +AC_INIT([cinnamon],[3.8.6],[https://github.com/linuxmint/Cinnamon/issues],[cinnamon]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([src/cinnamon-global.c]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cinnamon-3.8.4/debian/changelog new/Cinnamon-3.8.6/debian/changelog --- old/Cinnamon-3.8.4/debian/changelog 2018-06-08 12:52:13.000000000 +0200 +++ new/Cinnamon-3.8.6/debian/changelog 2018-06-24 17:20:18.000000000 +0200 @@ -1,3 +1,23 @@ +cinnamon (3.8.6) tara; urgency=medium + + * Revert "network applet: Fix typo with showing access points in certain instances -" + * Revert "network applet: show the actual active connection's signal strength" + + -- Clement Lefebvre <[email protected]> Sun, 24 Jun 2018 17:19:57 +0200 + +cinnamon (3.8.5) tara; urgency=medium + + [ David H. Gutteridge ] + * Update po/README: provide a link to Launchpad (#7655) + + [ Michael Webster ] + * cs_windows.py: have the 'auto-raise' setting only visible when supported focus modes are active. + + [ Clement Lefebvre ] + * Revert "shell-embedded-window: change realize to map (#6965)" + + -- Clement Lefebvre <[email protected]> Fri, 22 Jun 2018 20:59:33 +0200 + cinnamon (3.8.4) tara; urgency=medium [ Michael Webster ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cinnamon-3.8.4/files/usr/share/cinnamon/applets/[email protected]/applet.js new/Cinnamon-3.8.6/files/usr/share/cinnamon/applets/[email protected]/applet.js --- old/Cinnamon-3.8.4/files/usr/share/cinnamon/applets/[email protected]/applet.js 2018-06-08 12:52:13.000000000 +0200 +++ new/Cinnamon-3.8.6/files/usr/share/cinnamon/applets/[email protected]/applet.js 2018-06-24 17:20:18.000000000 +0200 @@ -13,6 +13,9 @@ const ModemManager = imports.misc.modemManager; const Util = imports.misc.util; +const DEFAULT_PERIODIC_UPDATE_FREQUENCY_SECONDS = 10; +const FAST_PERIODIC_UPDATE_FREQUENCY_SECONDS = 2; + const NMConnectionCategory = { INVALID: 'invalid', WIRED: 'wired', @@ -1514,49 +1517,19 @@ } } - if (this._activeNetwork) { - /* We don't want to send all logical access points to a new menu item - * if there's already a connection, just the one actually being used, otherwise - * you could end up showing the wrong current connection strength on the menu item, - * if you happen to be, for example, connected the the N-speed AP of your router, which - * is preferred, even though the G-speed AP might have a stronger signal strength. - * Currently on the available AP's in our list, the strongest signal is picked for display - * out of all logical APs - regardless of other qualities. - */ - let item_aps = []; - - if (this.device.active_access_point) { - item_aps = [this.device.active_access_point]; - } else { - item_aps = this._activeNetwork.accessPoints; - } - this._activeConnectionItem = new NMNetworkMenuItem(item_aps, - undefined, - { reactive: false }); - } else { - this._activeConnectionItem = new PopupMenu.PopupImageMenuItem(connection._name, - 'network-wireless-connected', - { reactive: false }); - } + if (this._activeNetwork) + this._activeConnectionItem = new NMNetworkMenuItem(this._activeNetwork.accessPoints, undefined, { reactive: false }); + else + this._activeConnectionItem = new PopupMenu.PopupImageMenuItem(connection._name, 'network-wireless-connected', { reactive: false }); } else { // We cannot read the connection (due to ACL, or API incompatibility), but we still show signal if we have it - if (this._activeNetwork) { - let item_aps = []; - - if (this.device.active_access_point) { - item_aps = [this.device.active_access_point]; - } else { - item_aps = this._activeNetwork.accessPoints; - } - - this._activeConnectionItem = new NMNetworkMenuItem(item_aps, - undefined, + if (this._activeNetwork) + this._activeConnectionItem = new NMNetworkMenuItem(this._activeNetwork.accessPoints, undefined, { reactive: false }); - } else{ + else this._activeConnectionItem = new PopupMenu.PopupImageMenuItem(_("Connected (private)"), 'network-wireless-connected', { reactive: false }); - } } this._activeConnectionItem.setShowDot(true); }, @@ -1790,8 +1763,8 @@ Util.spawnCommandLine("nm-connection-editor"); })); - this._activeWirelessSignalMonitorId = 0; - this._currentAp = null; + this.menu.connect("open-state-changed", Lang.bind(this, this._updateForMenuToggle)); + this._periodicTimeoutId = 0; this._activeConnections = [ ]; this._connections = [ ]; @@ -1836,6 +1809,9 @@ this._settings.connect('new-connection', Lang.bind(this, this._newConnection)); } })); + + this._periodicUpdateIcon(); + } catch (e) { global.logError(e); @@ -2116,8 +2092,6 @@ }, _notifyActivated: function(activeConnection) { - this._removeSignalMonitor(); - if (activeConnection.state == NetworkManager.ActiveConnectionState.ACTIVATED && activeConnection._primaryDevice && activeConnection._primaryDevice._notification) { activeConnection._primaryDevice._notification.destroy(); @@ -2229,7 +2203,6 @@ _syncNMState: function() { if (!this._client.manager_running) { log('NetworkManager is not running, hiding...'); - this._removeSignalMonitor(); this.menu.close(); this.actor.hide(); return; @@ -2238,7 +2211,6 @@ if (!this._client.networking_enabled) { this._setIcon('network-offline'); - this._removeSignalMonitor(); this._hideDevices(); this._statusItem.label.text = _("Networking is disabled"); this._statusSection.actor.show(); @@ -2250,6 +2222,8 @@ }, _updateIcon: function() { + let new_delay = DEFAULT_PERIODIC_UPDATE_FREQUENCY_SECONDS; + try { this._syncActiveConnections(); let mc = this._mainConnection; @@ -2258,6 +2232,7 @@ this._setIcon('network-offline'); this.set_applet_tooltip(_("No connection")); } else if (mc.state == NetworkManager.ActiveConnectionState.ACTIVATING) { + new_delay = FAST_PERIODIC_UPDATE_FREQUENCY_SECONDS; switch (mc._section) { case NMConnectionCategory.WWAN: this._setIcon('network-cellular-acquiring'); @@ -2297,16 +2272,8 @@ this._setIcon('network-wireless-connected'); this.set_applet_tooltip(_("Connected to the wireless network")); } else { - this._setIcon('network-wireless-signal-' + signalToIcon(ap.get_strength())); - this.set_applet_tooltip(_("Wireless connection") + ": " + ap.get_ssid() + " ("+ ap.get_strength() +"%)"); - - if (ap != this._currentAp) { - this._removeSignalMonitor(); - this._activeWirelessSignalMonitorId = ap.connect("notify::strength", - Lang.bind(this, this._updatePanel)); - - this._currentAp = ap; - } + this._setIcon('network-wireless-signal-' + signalToIcon(ap.strength)); + this.set_applet_tooltip(_("Wireless connection") + ": " + ap.get_ssid() + " ("+ ap.strength +"%)"); } } else { log('Active connection with no primary device?'); @@ -2348,26 +2315,46 @@ catch (e) { global.logError(e); } + + if (this.menu.isOpen) { + return FAST_PERIODIC_UPDATE_FREQUENCY_SECONDS; + } + + return new_delay; }, - _updatePanel: function(ap, pspec) { - this._updateIcon(); + _periodicUpdateIcon: function() { + let new_delay = this._updateIcon(); + + if (this._updateFrequencySeconds != new_delay) { + this._restartPeriodicUpdateTimer(new_delay); + } else { + return GLib.SOURCE_CONTINUE; + } + + return GLib.SOURCE_REMOVE; }, - _removeSignalMonitor: function() { - if (this._currentAp != null) { - this._currentAp.disconnect(this._activeWirelessSignalMonitorId); + _restartPeriodicUpdateTimer: function(new_delay) { + if (this._periodicTimeoutId > 0) { + Mainloop.source_remove(this._periodicTimeoutId); } - this._activeWirelessSignalMonitorId = 0; - this._currentAp = null; + this._updateFrequencySeconds = new_delay; + + this._periodicTimeoutId = Mainloop.timeout_add_seconds(this._updateFrequencySeconds, Lang.bind(this, this._periodicUpdateIcon)); + }, + + _updateForMenuToggle: function() { + this._periodicUpdateIcon(); }, on_applet_removed_from_panel: function() { Main.systrayManager.unregisterRole("network", this.metadata.uuid); Main.systrayManager.unregisterRole("nm-applet", this.metadata.uuid); - - this._removeSignalMonitor(); + if (this._periodicTimeoutId){ + Mainloop.source_remove(this._periodicTimeoutId); + } }, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cinnamon-3.8.4/files/usr/share/cinnamon/cinnamon-settings/modules/cs_windows.py new/Cinnamon-3.8.6/files/usr/share/cinnamon/cinnamon-settings/modules/cs_windows.py --- old/Cinnamon-3.8.4/files/usr/share/cinnamon/cinnamon-settings/modules/cs_windows.py 2018-06-08 12:52:13.000000000 +0200 +++ new/Cinnamon-3.8.6/files/usr/share/cinnamon/cinnamon-settings/modules/cs_windows.py 2018-06-24 17:20:18.000000000 +0200 @@ -73,7 +73,10 @@ settings.add_row(widget) widget = GSettingsSwitch(_("Automatically raise focused windows"), "org.cinnamon.desktop.wm.preferences", "auto-raise") - settings.add_row(widget) + settings.add_reveal_row(widget) + + widget.revealer.settings = Gio.Settings("org.cinnamon.desktop.wm.preferences") + widget.revealer.settings.bind_with_mapping("focus-mode", widget.revealer, "reveal-child", Gio.SettingsBindFlags.GET, lambda x: x in ("sloppy", "mouse"), None) widget = GSettingsSwitch(_("Bring windows which require attention to the current workspace"), "org.cinnamon", "bring-windows-to-current-workspace") settings.add_row(widget) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cinnamon-3.8.4/po/README new/Cinnamon-3.8.6/po/README --- old/Cinnamon-3.8.4/po/README 2018-06-08 12:52:13.000000000 +0200 +++ new/Cinnamon-3.8.6/po/README 2018-06-24 17:20:18.000000000 +0200 @@ -1,4 +1,4 @@ -Translations are done on Launchpad. +Translations are done on Launchpad at https://translations.launchpad.net/linuxmint/latest/. From Launchpad we export two sets of files: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cinnamon-3.8.4/src/cinnamon-embedded-window-private.h new/Cinnamon-3.8.6/src/cinnamon-embedded-window-private.h --- old/Cinnamon-3.8.4/src/cinnamon-embedded-window-private.h 2018-06-08 12:52:13.000000000 +0200 +++ new/Cinnamon-3.8.6/src/cinnamon-embedded-window-private.h 2018-06-24 17:20:18.000000000 +0200 @@ -14,7 +14,7 @@ int width, int height); -void _cinnamon_embedded_window_map (CinnamonEmbeddedWindow *window); -void _cinnamon_embedded_window_unmap (CinnamonEmbeddedWindow *window); +void _cinnamon_embedded_window_realize (CinnamonEmbeddedWindow *window); +void _cinnamon_embedded_window_unrealize (CinnamonEmbeddedWindow *window); #endif /* __CINNAMON_EMBEDDED_WINDOW_PRIVATE_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cinnamon-3.8.4/src/cinnamon-embedded-window.c new/Cinnamon-3.8.6/src/cinnamon-embedded-window.c --- old/Cinnamon-3.8.4/src/cinnamon-embedded-window.c 2018-06-08 12:52:13.000000000 +0200 +++ new/Cinnamon-3.8.6/src/cinnamon-embedded-window.c 2018-06-24 17:20:18.000000000 +0200 @@ -19,11 +19,20 @@ * - CinnamonGtkEmbed is created for the CinnamonEmbeddedWindow * - actor is added to a stage * - * The GtkWindow is mapped if and only if both: + * Ideally, the way it would work is that the GtkWindow is mapped + * if and only if both: * - * - gtk_window_visible (window) [widget has been shown] + * - GTK_WIDGET_VISIBLE (window) [widget has been shown] * - Actor is mapped [actor and all parents visible, actor in stage] * + * Implementing this perfectly is not currently possible, due to problems + * in Clutter, see: + * + * http://bugzilla.openedhand.com/show_bug.cgi?id=1138 + * + * So until that is fixed we use the "realized" state of the ClutterActor + * as a stand-in for the ideal mapped state, this will work as long + * as the ClutterActor and all its parents are in fact visible. */ G_DEFINE_TYPE (CinnamonEmbeddedWindow, cinnamon_embedded_window, GTK_TYPE_WINDOW); @@ -221,7 +230,7 @@ window->priv->actor = actor; if (actor && - clutter_actor_is_mapped (CLUTTER_ACTOR (actor)) && + clutter_actor_is_realized (CLUTTER_ACTOR (actor)) && gtk_widget_get_visible (GTK_WIDGET (window))) gtk_widget_map (GTK_WIDGET (window)); } @@ -261,7 +270,7 @@ } void -_cinnamon_embedded_window_map (CinnamonEmbeddedWindow *window) +_cinnamon_embedded_window_realize (CinnamonEmbeddedWindow *window) { g_return_if_fail (CINNAMON_IS_EMBEDDED_WINDOW (window)); @@ -270,7 +279,7 @@ } void -_cinnamon_embedded_window_unmap (CinnamonEmbeddedWindow *window) +_cinnamon_embedded_window_unrealize (CinnamonEmbeddedWindow *window) { g_return_if_fail (CINNAMON_IS_EMBEDDED_WINDOW (window)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cinnamon-3.8.4/src/cinnamon-gtk-embed.c new/Cinnamon-3.8.6/src/cinnamon-gtk-embed.c --- old/Cinnamon-3.8.4/src/cinnamon-gtk-embed.c 2018-06-08 12:52:13.000000000 +0200 +++ new/Cinnamon-3.8.6/src/cinnamon-gtk-embed.c 2018-06-24 17:20:18.000000000 +0200 @@ -199,24 +199,24 @@ } static void -cinnamon_gtk_embed_map (ClutterActor *actor) +cinnamon_gtk_embed_realize (ClutterActor *actor) { CinnamonGtkEmbed *embed = CINNAMON_GTK_EMBED (actor); - _cinnamon_embedded_window_map (embed->priv->window); + _cinnamon_embedded_window_realize (embed->priv->window); - CLUTTER_ACTOR_CLASS (cinnamon_gtk_embed_parent_class)->map (actor); + CLUTTER_ACTOR_CLASS (cinnamon_gtk_embed_parent_class)->realize (actor); } static void -cinnamon_gtk_embed_unmap (ClutterActor *actor) +cinnamon_gtk_embed_unrealize (ClutterActor *actor) { CinnamonGtkEmbed *embed = CINNAMON_GTK_EMBED (actor); - + if (embed->priv->window) - _cinnamon_embedded_window_unmap (embed->priv->window); + _cinnamon_embedded_window_unrealize (embed->priv->window); - CLUTTER_ACTOR_CLASS (cinnamon_gtk_embed_parent_class)->unmap (actor); + CLUTTER_ACTOR_CLASS (cinnamon_gtk_embed_parent_class)->unrealize (actor); } static void @@ -244,8 +244,8 @@ actor_class->get_preferred_width = cinnamon_gtk_embed_get_preferred_width; actor_class->get_preferred_height = cinnamon_gtk_embed_get_preferred_height; actor_class->allocate = cinnamon_gtk_embed_allocate; - actor_class->map = cinnamon_gtk_embed_map; - actor_class->unmap = cinnamon_gtk_embed_unmap; + actor_class->realize = cinnamon_gtk_embed_realize; + actor_class->unrealize = cinnamon_gtk_embed_unrealize; g_object_class_install_property (object_class, PROP_WINDOW, ++++++ cinnamon-network-user-connections.patch ++++++ --- /var/tmp/diff_new_pack.XwiF0E/_old 2018-06-25 11:42:57.684240887 +0200 +++ /var/tmp/diff_new_pack.XwiF0E/_new 2018-06-25 11:42:57.684240887 +0200 @@ -1,6 +1,6 @@ --- a/files/usr/share/cinnamon/applets/[email protected]/applet.js +++ b/files/usr/share/cinnamon/applets/[email protected]/applet.js -@@ -83,6 +83,11 @@ function NMNetworkMenuItem() { +@@ -86,6 +86,11 @@ function NMNetworkMenuItem() { this._init.apply(this, arguments); } @@ -12,7 +12,7 @@ NMNetworkMenuItem.prototype = { __proto__: PopupMenu.PopupBaseMenuItem.prototype, -@@ -917,12 +922,14 @@ NMDeviceBluetooth.prototype = { +@@ -920,12 +925,14 @@ NMDeviceBluetooth.prototype = { let connection = new NetworkManager.Connection(); connection._uuid = NetworkManager.utils_uuid_generate(); connection.add_setting(new NetworkManager.SettingBluetooth()); @@ -29,7 +29,7 @@ return connection; }, -@@ -1003,6 +1010,8 @@ NMDeviceWireless.prototype = { +@@ -1006,6 +1013,8 @@ NMDeviceWireless.prototype = { this._overflowItem = null; this._networks = [ ]; @@ -38,7 +38,7 @@ // breaking the layers with this, but cannot call // this.connectionValid until I have a device this.device = device; -@@ -1572,12 +1581,27 @@ NMDeviceWireless.prototype = { +@@ -1545,12 +1554,27 @@ NMDeviceWireless.prototype = { let connection = new NetworkManager.Connection(); connection.add_setting(new NetworkManager.SettingWireless()); ++++++ cinnamon-use-libnm.patch ++++++ ++++ 736 lines (skipped)
