diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-06-09 12:47:06 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-09 12:47:06 +1000 |
| commit | 1f7ce345ad2b4487d0331bced2e592714a945080 (patch) | |
| tree | 4cb24f178bbbebd1f828eb6df440c759229d6941 | |
| parent | readme: add how to start in usage section (diff) | |
| parent | refactor(network): add bssid to AccessPoint component (diff) | |
| download | caelestia-shell-1f7ce345ad2b4487d0331bced2e592714a945080.tar.gz caelestia-shell-1f7ce345ad2b4487d0331bced2e592714a945080.tar.bz2 caelestia-shell-1f7ce345ad2b4487d0331bced2e592714a945080.zip | |
Merge pull request #9 from PiotrekB416/fix/network-service
Network service fixes
| -rwxr-xr-x | assets/realtime-beat-detector.py | 2 | ||||
| -rw-r--r-- | services/Network.qml | 13 |
2 files changed, 9 insertions, 6 deletions
diff --git a/assets/realtime-beat-detector.py b/assets/realtime-beat-detector.py index dfecad6..0f4f54a 100755 --- a/assets/realtime-beat-detector.py +++ b/assets/realtime-beat-detector.py @@ -1,4 +1,4 @@ -#!/bin/python +#!/usr/bin/env python import pyaudio import numpy as np diff --git a/services/Network.qml b/services/Network.qml index 49d61f8..b4827c8 100644 --- a/services/Network.qml +++ b/services/Network.qml @@ -23,29 +23,31 @@ Singleton { Process { id: getNetworks running: true - command: ["sh", "-c", `nmcli -g ACTIVE,SIGNAL,FREQ,SSID d w | jq -cR '[(inputs / ":") | select(.[3] | length >= 4)]'`] + command: ["sh", "-c", `nmcli -g ACTIVE,SIGNAL,FREQ,SSID,BSSID d w | jq -ncR '[(inputs | split("(?<!\\\\\\\\):"; "g")) | select(.[3] | length >= 4)]'`] stdout: SplitParser { onRead: data => { - const networks = JSON.parse(data).map(n => [n[0] === "yes", parseInt(n[1]), parseInt(n[2]), n[3]]); + const networks = JSON.parse(data).map(n => [n[0] === "yes", parseInt(n[1]), parseInt(n[2]), n[3], n[4].replace(/\\/g, "")]); const rNetworks = root.networks; - const destroyed = rNetworks.filter(rn => !networks.find(n => n[2] === rn.frequency && n[3] === rn.ssid)); + const destroyed = rNetworks.filter(rn => !networks.find(n => n[2] === rn.frequency && n[3] === rn.ssid && n[4] === rn.bssid)); for (const network of destroyed) rNetworks.splice(rNetworks.indexOf(network), 1).forEach(n => n.destroy()); for (const network of networks) { - const match = rNetworks.find(n => n.frequency === network[2] && n.ssid === network[3]); + const match = rNetworks.find(n => n.frequency === network[2] && n.ssid === network[3] && n.bssid === network[4]); if (match) { match.active = network[0]; match.strength = network[1]; match.frequency = network[2]; match.ssid = network[3]; + match.bssid = network[4]; } else { rNetworks.push(apComp.createObject(root, { active: network[0], strength: network[1], frequency: network[2], - ssid: network[3] + ssid: network[3], + bssid: network[4] })); } } @@ -55,6 +57,7 @@ Singleton { component AccessPoint: QtObject { required property string ssid + required property string bssid required property int strength required property int frequency required property bool active |