diff --git a/astal/widget/Bar.tsx b/astal/widget/Bar.tsx
index ca01e12..7df0482 100644
--- a/astal/widget/Bar.tsx
+++ b/astal/widget/Bar.tsx
@@ -1,40 +1,43 @@
-import { App, Astal, Gtk, Gdk } from "astal/gtk3"
-import Workspaces from "./workspaces"
-import Audio from "./audio"
-import NetworkModule from "./network"
-import Cpu from "./cpu-widget"
-import Ram from "./ram"
-import Disk from "./disk"
-import Battery from "./battery"
-import Time from "./time"
+import { App, Astal, Gtk, Gdk } from "astal/gtk3";
+import Workspaces from "./workspaces";
+import Audio from "./audio";
+import NetworkModule from "./network";
+import Cpu from "./cpu-widget";
+import Ram from "./ram";
+import Disk from "./disk";
+import Battery from "./battery";
+import Time from "./time";
export default function Bar(gdkmonitor: Gdk.Monitor) {
- const { BOTTOM, LEFT, RIGHT } = Astal.WindowAnchor
+ const { BOTTOM, LEFT, RIGHT } = Astal.WindowAnchor;
//@ts-ignore
- return
-
-
-
-
+ return (
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ );
}
diff --git a/astal/widget/network.tsx b/astal/widget/network.tsx
index 4623a66..f5c8f0b 100644
--- a/astal/widget/network.tsx
+++ b/astal/widget/network.tsx
@@ -1,26 +1,47 @@
import { bind, Variable } from "astal";
import AstalNetwork from "gi://AstalNetwork?version=0.1";
-export default function NetworkModule() {
- const network = AstalNetwork.get_default()
- const wifi = network.wifi;
- const wired = network.wired
+const disconnected_label = { label: `Disconnected ⚠` };
- const derived = Variable.derive([bind(network, "primary"), bind(wifi, "ssid"), bind(wifi, "strength")], (primary, ssid, strength) => {
- if (primary === AstalNetwork.Primary.WIRED) {
- return { label: `🖧 Wired ${wired.device.interface}` }
- }
- if (wifi.active_access_point !== null) {
- return { label: `${ssid} (${strength}%) ` }
- }
- return { label: `Disconnected ⚠` }
- })
+function create_label(
+ primary: AstalNetwork.Primary,
+ wired: AstalNetwork.Wired,
+ wifi?: AstalNetwork.Wifi,
+) {
+ if (primary === AstalNetwork.Primary.WIRED) {
+ return { label: `🖧 Wired ${wired.device.interface}` };
+ }
+ if (!wifi) {
+ return disconnected_label;
+ }
+ if (wifi.active_access_point !== null) {
+ return { label: `${wifi.ssid} (${wifi.strength}%) ` };
+ }
+ return disconnected_label;
+}
+
+export default function NetworkModule() {
+ const network = AstalNetwork.get_default();
+ const wifi = network.wifi;
+ const wired = network.wired;
+
+ let derived;
+ if (!wifi) {
+ derived = Variable.derive([bind(network, "primary")], (primary) => {
+ return create_label(primary, wired);
+ });
+ } else {
+ derived = Variable.derive(
+ [bind(network, "primary"), bind(wifi, "ssid"), bind(wifi, "strength")],
+ (primary) => {
+ return create_label(primary, wired, wifi);
+ },
+ );
+ }
return (
-
- )
+ );
}
-
diff --git a/nix/flake.lock b/nix/flake.lock
index 8056122..cbe2af2 100644
--- a/nix/flake.lock
+++ b/nix/flake.lock
@@ -83,11 +83,19 @@
]
},
"locked": {
+<<<<<<< Updated upstream
"lastModified": 1752780124,
"narHash": "sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c718918222bdb104397762dea67e6b397a7927fe",
+=======
+ "lastModified": 1751990210,
+ "narHash": "sha256-krWErNDl9ggMLSfK00Q2BcoSk3+IRTSON/DiDgUzzMw=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "218da00bfa73f2a61682417efe74549416c16ba6",
+>>>>>>> Stashed changes
"type": "github"
},
"original": {
@@ -155,11 +163,19 @@
},
"nixpkgs_2": {
"locked": {
+<<<<<<< Updated upstream
"lastModified": 1752620740,
"narHash": "sha256-f3pO+9lg66mV7IMmmIqG4PL3223TYMlnlw+pnpelbss=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "32a4e87942101f1c9f9865e04dc3ddb175f5f32e",
+=======
+ "lastModified": 1751792365,
+ "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
+>>>>>>> Stashed changes
"type": "github"
},
"original": {
@@ -229,11 +245,19 @@
]
},
"locked": {
+<<<<<<< Updated upstream
"lastModified": 1752544651,
"narHash": "sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "2c8def626f54708a9c38a5861866660395bb3461",
+=======
+ "lastModified": 1751606940,
+ "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=",
+ "owner": "Mic92",
+ "repo": "sops-nix",
+ "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d",
+>>>>>>> Stashed changes
"type": "github"
},
"original": {