summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-12-28 01:33:32 +0100
committerAylur <[email protected]>2024-12-28 01:33:32 +0100
commitebcccc4ae13f690220374497f932f58ec5fd7cfd (patch)
tree50289a84174e5df734d789633b878f895ff5435b /examples
parent661b14cc893c5be17a4fce8fa269074785f57a36 (diff)
fix: examples without wifi
Diffstat (limited to 'examples')
-rw-r--r--examples/js/simple-bar/widget/Bar.tsx18
-rw-r--r--examples/lua/simple-bar/widget/Bar.lua22
-rw-r--r--examples/py/simple-bar/widget/Bar.py5
-rw-r--r--examples/vala/simple-bar/widget/Bar.vala8
4 files changed, 35 insertions, 18 deletions
diff --git a/examples/js/simple-bar/widget/Bar.tsx b/examples/js/simple-bar/widget/Bar.tsx
index c109aec..b08ea27 100644
--- a/examples/js/simple-bar/widget/Bar.tsx
+++ b/examples/js/simple-bar/widget/Bar.tsx
@@ -25,13 +25,19 @@ function SysTray() {
}
function Wifi() {
- const { wifi } = Network.get_default()
+ const network = Network.get_default()
+ const wifi = bind(network, "wifi")
+
+ return <box visible={wifi.as(Boolean)}>
+ {wifi.as(wifi => wifi && (
+ <icon
+ tooltipText={bind(wifi, "ssid").as(String)}
+ className="Wifi"
+ icon={bind(wifi, "iconName")}
+ />
+ ))}
+ </box>
- return <icon
- tooltipText={bind(wifi, "ssid").as(String)}
- className="Wifi"
- icon={bind(wifi, "iconName")}
- />
}
function AudioSlider() {
diff --git a/examples/lua/simple-bar/widget/Bar.lua b/examples/lua/simple-bar/widget/Bar.lua
index e0d8b20..155b9b8 100644
--- a/examples/lua/simple-bar/widget/Bar.lua
+++ b/examples/lua/simple-bar/widget/Bar.lua
@@ -15,7 +15,7 @@ local function SysTray()
local tray = Tray.get_default()
return Widget.Box({
- class_name = "SysTray",
+ class_name = "SysTray",
bind(tray, "items"):as(function(items)
return map(items, function(item)
return Widget.MenuButton({
@@ -50,12 +50,20 @@ local function FocusedClient()
end
local function Wifi()
- local wifi = Network.get_default().wifi
+ local network = Network.get_default()
+ local wifi = bind(network, "wifi")
- return Widget.Icon({
- tooltip_text = bind(wifi, "ssid"):as(tostring),
- class_name = "Wifi",
- icon = bind(wifi, "icon-name"),
+ return Widget.Box({
+ visible = wifi:as(function(v)
+ return v ~= nil
+ end),
+ wifi:as(function(w)
+ return Widget.Icon({
+ tooltip_text = bind(w, "ssid"):as(tostring),
+ class_name = "Wifi",
+ icon = bind(w, "icon-name"),
+ })
+ end),
})
end
@@ -179,7 +187,7 @@ return function(gdkmonitor)
}),
Widget.Box({
halign = "END",
- SysTray(),
+ SysTray(),
Wifi(),
AudioSlider(),
BatteryLevel(),
diff --git a/examples/py/simple-bar/widget/Bar.py b/examples/py/simple-bar/widget/Bar.py
index c6902b4..c2fa9e0 100644
--- a/examples/py/simple-bar/widget/Bar.py
+++ b/examples/py/simple-bar/widget/Bar.py
@@ -147,8 +147,9 @@ class Wifi(Astal.Icon):
super().__init__()
Astal.widget_set_class_names(self, ["Wifi"])
wifi = Network.get_default().get_wifi()
- wifi.bind_property("ssid", self, "tooltip-text", SYNC)
- wifi.bind_property("icon-name", self, "icon", SYNC)
+ if wifi:
+ wifi.bind_property("ssid", self, "tooltip-text", SYNC)
+ wifi.bind_property("icon-name", self, "icon", SYNC)
class AudioSlider(Gtk.Box):
diff --git a/examples/vala/simple-bar/widget/Bar.vala b/examples/vala/simple-bar/widget/Bar.vala
index 295a3b7..28b32ef 100644
--- a/examples/vala/simple-bar/widget/Bar.vala
+++ b/examples/vala/simple-bar/widget/Bar.vala
@@ -143,9 +143,11 @@ class SysTray : Gtk.Box {
class Wifi : Astal.Icon {
public Wifi() {
Astal.widget_set_class_names(this, {"Wifi"});
- var wifi = AstalNetwork.get_default().wifi;
- wifi.bind_property("ssid", this, "tooltip-text", BindingFlags.SYNC_CREATE);
- wifi.bind_property("icon-name", this, "icon", BindingFlags.SYNC_CREATE);
+ var wifi = AstalNetwork.get_default().get_wifi();
+ if (wifi != null) {
+ wifi.bind_property("ssid", this, "tooltip-text", BindingFlags.SYNC_CREATE);
+ wifi.bind_property("icon-name", this, "icon", BindingFlags.SYNC_CREATE);
+ }
}
}