Hi Michael!

I am unable to port your patch to cinnamon. I have tried
(force-online-icon.patch) but for a reason I don't know, the variable
state (cf the patch) is not equal to
NetworkManager.State.CONNECTED_GLOBAL when an unmanaged device is
connected (I have of course tested this on sid). Unfortuantely, I am not
expert in the javascript code of the applet. So I am a little helpless
on it.

Do you know whether your patch for network-manager is going to be pushed
upstream? If so, I may ask upstream for some help on this since they
will face it later. Otherwise, I am going give up for the moment since
at the level of cinnamon this introduces only cosmetic changes.

Cheers,

Nicolas
Description: Show wired connection icon if NM has an active unmanaged device
 If NM has an active unmanaged device it will forcefully set the online
 state to CONNECTED_GLOBAL. In that case show a wired connection icon
 instead of an offline icon.
 Patch adapted from 40-force-online.patch by Michael Biebl for the Debian
 package of gnome-shell.
Author: Nicolas Bourdaud <nicolas.bourd...@gmail.com>
Origin: vendor
Forwarded: no
Last-Update: 2013-02-02
--- a/files/usr/share/cinnamon/applets/netw...@cinnamon.org/applet.js
+++ b/files/usr/share/cinnamon/applets/netw...@cinnamon.org/applet.js
@@ -2124,10 +2124,16 @@
             let mc = this._mainConnection;
             let hasApIcon = false;
             let hasMobileIcon = false;
+            let state = this._client.get_state();
 
             if (!mc) {
-                this._setIcon('network-offline');         
-                this.set_applet_tooltip(_("No connection"));   
+                if (state == NetworkManager.State.CONNECTED_GLOBAL) {
+                    this.setIcon('network-wired-connected');
+                    this.set_applet_tooltip(_("Connected through an unmanaged device"));
+                } else {
+                    this._setIcon('network-offline');
+                    this.set_applet_tooltip(_("No connection"));
+                }
             } else if (mc.state == NetworkManager.ActiveConnectionState.ACTIVATING) {
                 this._updateFrequencySeconds = FAST_PERIODIC_UPDATE_FREQUENCY_SECONDS;
                 switch (mc._section) {

Reply via email to