File fix_icon.patch of Package plasma6-nm
From a6fad95ea41444fcdc227e7703c00ef77b97dfa6 Mon Sep 17 00:00:00 2001
From: Nate Graham <nate@kde.org>
Date: Mon, 2 Mar 2026 09:05:32 -0700
Subject: [PATCH] Consider connected bridges and VLANs to be connections for
icon purposes
Currently, bridges and VLANs are not considered real connections for
icon lookup purposes, so the code returns a disconnected icon.
Before 5ce273ac73725c1f2316c3ee9b950c34d87ac0df, the icon it returned
was `network-wired-available`, which doesn't *look* disconnected in the
Breeze icon theme, so nobody noticed or cared.
5ce273ac73725c1f2316c3ee9b950c34d87ac0df changed that to return
`network-wired-disconnected`, which people do notice and care about.
The underlying problem is bridge and VLAN connections not being considered
active connections for icon purposes; fixing that results in an icon
that is both semantically and visually correct when the only active
connections are bridges or VLANs.
BUG: 516712
FIXED-IN: 6.6.2
(cherry picked from commit cbba7600648cd8fbd14942f4ee238093a9c0c5eb)
Co-authored-by: Nate Graham <nate@kde.org>
---
libs/connectionicon.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/libs/connectionicon.cpp b/libs/connectionicon.cpp
index 9e63801f6..c7888aa33 100644
--- a/libs/connectionicon.cpp
+++ b/libs/connectionicon.cpp
@@ -325,6 +325,10 @@ void ConnectionIcon::setIcons()
&& (connection->type() != NetworkManager::ConnectionSettings::Wired))) {
connection = activeConnection;
}
+ } else if (type == NetworkManager::ConnectionSettings::Vlan) {
+ if (connection && connection->type() == NetworkManager::ConnectionSettings::Vlan) {
+ connection = activeConnection;
+ }
}
}
}
@@ -347,6 +351,10 @@ void ConnectionIcon::setIcons()
} else if (type == NetworkManager::Device::Ethernet) {
setConnectionIcon(QStringLiteral("network-wired-activated"));
setConnectionTooltipIcon(QStringLiteral("network-wired-activated"));
+ } else if (type == NetworkManager::Device::Bridge) {
+ // TODO: use a not-yet created bridge-specific network icon here
+ setConnectionIcon(QStringLiteral("network-wired-activated"));
+ setConnectionTooltipIcon(QStringLiteral("network-wired-activated"));
} else if (type == NetworkManager::Device::Modem) {
setModemIcon(device);
} else if (type == NetworkManager::Device::Bluetooth) {
@@ -365,7 +373,7 @@ void ConnectionIcon::setIcons()
// do anything just because it has a device
// associated with it.
} else {
- // Ignore other devices (bond/bridge/team etc.)
+ // Ignore other devices (bond/team etc.)
setDisconnectedIcon();
}
}
--
GitLab