From 1adcb9841c30b893991f033b1deca495a7c16528 Mon Sep 17 00:00:00 2001 From: inorishio Date: Mon, 22 Jun 2026 23:34:58 +0200 Subject: [PATCH] Added network properties, nicNames, netDevices, networkName < reminder I should use layouts. --- Helpers/Network.qml | 37 ++++++++++++++++++++++- Modules/SysTray/Popouts/NetworkPopout.qml | 15 ++++++--- 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/Helpers/Network.qml b/Helpers/Network.qml index 78aecd3..1bf124e 100644 --- a/Helpers/Network.qml +++ b/Helpers/Network.qml @@ -6,5 +6,40 @@ import Quickshell.Networking Singleton { id: root - readonly property list network: Networking.devices.values + readonly property list netDevice: Networking.devices.values + readonly property string networkName: getNetworkName() + readonly property list nicNames: networkInterfaceCardNames() + + // Useless will prob remove + function getConnectedDevices() { + let connectedDevices = []; + + for (var i = 0; i < netDevice.length; i++) { + if (netDevice[i].connected === true) { + connectedDevices.push(netDevice[i].name); + } + } + return connectedDevices; + } + + // SHOULD retrieve network names of connected devices + // Currently only gives connected nic name + function getNetworkName() { + const devices = netDevice.filter(device => device.connected === true); + for (var i = 0; i < devices.length; i++) { + return devices[i].name; + } + return "Failed network name"; + } + + // Searches wired/wireless devices and sets them in a list + function networkInterfaceCardNames() { + let nicList = []; + + for (let i = 0; i < netDevice.length; ++i) { + nicList.push(netDevice[i].name); + } + + return nicList; + } } diff --git a/Modules/SysTray/Popouts/NetworkPopout.qml b/Modules/SysTray/Popouts/NetworkPopout.qml index a7a512a..8e9b82e 100644 --- a/Modules/SysTray/Popouts/NetworkPopout.qml +++ b/Modules/SysTray/Popouts/NetworkPopout.qml @@ -1,11 +1,8 @@ pragma ComponentBehavior: Bound -import Quickshell import QtQuick -import QtQuick.Layouts import qs.Components import qs.Config -import qs.Modules import qs.Helpers CustomClippingRect { @@ -33,11 +30,21 @@ CustomClippingRect { text: qsTr("Network") } + CustomText { + anchors.margins: Appearance.padding.large + anchors.right: parent.right + anchors.top: parent.top + font.pointSize: Appearance.font.size.large + text: Network.networkName + } + StateLayer { id: buttonScan onClicked: { - console.log(Network.network.length); + console.log("Network devices: " + Network.netDevice); + console.log("Network interface names: " + Network.nicNames); + console.log("Connected devices: " + Network.networkName); } } }