diff options
author | Aylur <[email protected]> | 2024-12-28 01:33:32 +0100 |
---|---|---|
committer | Aylur <[email protected]> | 2024-12-28 01:33:32 +0100 |
commit | ebcccc4ae13f690220374497f932f58ec5fd7cfd (patch) | |
tree | 50289a84174e5df734d789633b878f895ff5435b /examples | |
parent | 661b14cc893c5be17a4fce8fa269074785f57a36 (diff) |
fix: examples without wifi
Diffstat (limited to 'examples')
-rw-r--r-- | examples/js/simple-bar/widget/Bar.tsx | 18 | ||||
-rw-r--r-- | examples/lua/simple-bar/widget/Bar.lua | 22 | ||||
-rw-r--r-- | examples/py/simple-bar/widget/Bar.py | 5 | ||||
-rw-r--r-- | examples/vala/simple-bar/widget/Bar.vala | 8 |
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); + } } } |