feat: add network widget

This commit is contained in:
tux
2025-06-09 05:08:26 +05:30
parent 9f7a23809e
commit 70936fabff
3 changed files with 25 additions and 0 deletions

View File

@@ -34,6 +34,7 @@
apps
battery
tray
network
];
};
@@ -53,6 +54,7 @@
apps
battery
tray
network
];
})
];

View File

@@ -3,6 +3,7 @@ import { FocusedClient, WorkspaceButton } from "./workspace";
import { Battery } from "./battery";
import { Tailscale } from "./tailscale";
import { Time } from "./time";
import { Network } from "./network";
export const WINDOW_NAME = "bar";
@@ -43,6 +44,7 @@ const Center = () => {
const End = () => {
return (
<box spacing={10}>
<Network />
<Tailscale />
<Battery />
<Time />

21
widgets/bar/network.tsx Normal file
View File

@@ -0,0 +1,21 @@
import { bind } from "astal";
import AstalNetwork from "gi://AstalNetwork";
export const Network = () => {
const network = AstalNetwork.get_default();
const wifi = bind(network, "wifi");
return (
<box cssClasses={["pill"]} visible={wifi.as(Boolean)}>
{wifi.as(
(wifi) =>
wifi && (
<box spacing={10}>
<image iconName={bind(wifi, "iconName")} />
<label label={bind(wifi, "ssid")} />
</box>
),
)}
</box>
);
};