Merge pull request #134 from ThatOneCalculator/feat/ethernet

feat: show ethernet icon if ethernet is connected
This commit is contained in:
Lemmy 2025-08-22 16:53:19 -04:00 committed by GitHub
commit f15563fbad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 23 additions and 2 deletions

View file

@ -27,6 +27,7 @@ NIconButton {
icon: { icon: {
try { try {
if (NetworkService.ethernet) return "lan"
let connected = false let connected = false
let signalStrength = 0 let signalStrength = 0
for (const net in NetworkService.networks) { for (const net in NetworkService.networks) {
@ -36,10 +37,10 @@ NIconButton {
break break
} }
} }
return connected ? NetworkService.signalIcon(signalStrength) : "wifi" return connected ? NetworkService.signalIcon(signalStrength) : "wifi_find"
} catch (error) { } catch (error) {
Logger.error("WiFi", "Error getting icon:", error) Logger.error("WiFi", "Error getting icon:", error)
return "wifi" return "signal_wifi_bad"
} }
} }
tooltipText: "WiFi Networks" tooltipText: "WiFi Networks"

View file

@ -16,6 +16,7 @@ Singleton {
property string detectedInterface: "" property string detectedInterface: ""
property string lastConnectedNetwork: "" property string lastConnectedNetwork: ""
property bool isLoading: false property bool isLoading: false
property bool ethernet: false
Component.onCompleted: { Component.onCompleted: {
Logger.log("Network", "Service started") Logger.log("Network", "Service started")
@ -43,6 +44,7 @@ Singleton {
function refreshNetworks() { function refreshNetworks() {
isLoading = true isLoading = true
checkEthernet.running = true
existingNetwork.running = true existingNetwork.running = true
} }
@ -416,6 +418,24 @@ Singleton {
} }
} }
property Process checkEthernet: Process {
id: checkEthernet
running: false
command: ["nmcli", "-t", "-f", "DEVICE,TYPE,STATE", "device"]
stdout: StdioCollector {
onStreamFinished: {
var lines = text.split("\n")
for (var i = 0; i < lines.length; ++i) {
var parts = lines[i].split(":")
if (parts[1] === "ethernet" && parts[2] === "connected") {
root.ethernet = true
break
}
}
}
}
}
property Process addConnectionProcess: Process { property Process addConnectionProcess: Process {
id: addConnectionProcess id: addConnectionProcess
property string ifname: "" property string ifname: ""