Index: gnome-control-center-3.27.92/panels/network/cc-network-panel.c =================================================================== --- gnome-control-center-3.27.92.orig/panels/network/cc-network-panel.c +++ gnome-control-center-3.27.92/panels/network/cc-network-panel.c @@ -765,10 +765,24 @@ panel_check_network_manager_version (CcN GtkWidget *label; gchar *markup; const gchar *version; + const gchar *state; + GDBusConnection *connection; + GDBusProxy *proxy; + GVariant *variant; + + connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); + proxy = g_dbus_proxy_new_sync (connection, G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1/unit/wickedd_2ddhcp6_2eservice", + "org.freedesktop.systemd1.Unit", + NULL, NULL); + variant = g_dbus_proxy_get_cached_property (proxy, "ActiveState"); + state = g_variant_get_string (variant, NULL); /* parse running version */ version = nm_client_get_version (panel->client); - if (version == NULL) { + if (version == NULL && g_strcmp0 (state, "inactive") == 0) { gtk_container_remove (GTK_CONTAINER (panel), gtk_bin_get_child (GTK_BIN (panel))); box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); @@ -791,9 +805,27 @@ panel_check_network_manager_version (CcN gtk_widget_show_all (box); g_free (markup); + } else if (g_strcmp0 (state, "active") == 0) { + gtk_container_remove (GTK_CONTAINER (panel), gtk_bin_get_child (GTK_BIN (panel))); + + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); + gtk_box_set_homogeneous (GTK_BOX (box), TRUE); + gtk_widget_set_vexpand (box, TRUE); + gtk_container_add (GTK_CONTAINER (panel), box); + + label = gtk_label_new (_("Please use YaST2 to configure your network.")); + gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); + gtk_widget_set_valign (label, GTK_ALIGN_CENTER); + gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); + + gtk_widget_show_all (box); } else { manager_running (panel->client, NULL, panel); } + + g_object_unref (connection); + g_object_unref (proxy); + g_variant_unref (variant); } static void Index: gnome-control-center-3.27.92/panels/network/cc-wifi-panel.c =================================================================== --- gnome-control-center-3.27.92.orig/panels/network/cc-wifi-panel.c +++ gnome-control-center-3.27.92/panels/network/cc-wifi-panel.c @@ -120,17 +120,36 @@ static void check_main_stack_page (CcWifiPanel *self) { const gchar *nm_version; + const gchar *state; + GDBusConnection *connection; + GDBusProxy *proxy; + GVariant *variant; + + connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); + proxy = g_dbus_proxy_new_sync (connection, G_DBUS_PROXY_FLAGS_NONE, + NULL, + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1/unit/wickedd_2ddhcp6_2eservice", + "org.freedesktop.systemd1.Unit", + NULL, NULL); + variant = g_dbus_proxy_get_cached_property (proxy, "ActiveState"); + state = g_variant_get_string (variant, NULL); nm_version = nm_client_get_version (self->client); - if (!nm_version) + if (!nm_version && g_strcmp0 (state, "inactive") == 0) gtk_stack_set_visible_child_name (self->main_stack, "nm-not-running"); + else if (g_strcmp0 (state, "active") == 0) + gtk_stack_set_visible_child_name (self->main_stack, "wicked-running"); else if (self->devices->len == 0 || !nm_client_wireless_get_enabled (self->client)) gtk_stack_set_visible_child_name (self->main_stack, "no-wifi-devices"); else gtk_stack_set_visible_child_name (self->main_stack, "wifi-connections"); + g_object_unref (connection); + g_object_unref (proxy); + g_variant_unref (variant); } static void Index: gnome-control-center-3.27.92/panels/network/wifi.ui =================================================================== --- gnome-control-center-3.27.92.orig/panels/network/wifi.ui +++ gnome-control-center-3.27.92/panels/network/wifi.ui @@ -293,6 +293,48 @@ nm-not-running + + + + + True + False + True + center + center + vertical + 18 + 18 + + + True + False + face-sad-symbolic + 128 + + + + + + True + False + True + Please use YaST2 to configure your network. + + + + + + end + + + + + wicked-running + +