From ae3bc364be2d2782a5bae54aa834a8c88846ed57 Mon Sep 17 00:00:00 2001 From: tux Date: Wed, 24 Sep 2025 17:47:56 +0530 Subject: [PATCH] feat(network): display network connection status --- widgets/bar/network.tsx | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/widgets/bar/network.tsx b/widgets/bar/network.tsx index dc8bc75..c6bb566 100644 --- a/widgets/bar/network.tsx +++ b/widgets/bar/network.tsx @@ -1,13 +1,39 @@ import AstalNetwork from "gi://AstalNetwork"; +import { createBinding } from "gnim"; export const Network = () => { const network = AstalNetwork.get_default(); + const connnectivity = createBinding(network, "connectivity"); + + const getNetworkText = ( + conn: AstalNetwork.Connectivity, + net: AstalNetwork.Network, + ) => { + // no connection + if (conn == 1) return "No connection"; + + // wired + if (net.primary == 1) return "Wired"; + + // wifi + const wifi = net.wifi; + switch (wifi.internet) { + case 0: + return wifi.ssid; + case 1: + return "Connecting"; + case 2: + return "Disconnected"; + } + + return "NA"; + }; return ( - );