diff --git a/src/window/panel/components/indicators.py b/src/window/panel/components/indicators.py index bf41e73..1bf37b9 100644 --- a/src/window/panel/components/indicators.py +++ b/src/window/panel/components/indicators.py @@ -234,7 +234,9 @@ class NetworkIndicator(Box): def update_modus_service_wlan_state(self): wlan_state = "disconnected" - if self.network_service.wifi_device: + if self.network_service.airplane_mode: + wlan_state = "airplane" + elif self.network_service.wifi_device: wifi = self.network_service.wifi_device if not wifi.enabled: wlan_state = "disabled" @@ -263,8 +265,12 @@ class NetworkIndicator(Box): tooltip = "No network connection" icon_file = "wifi-off-clear.svg" + # Airplane mode takes priority + if self.network_service.airplane_mode: + icon_file = "wifi-off-clear.svg" + tooltip = "Airplane mode" # Check WiFi first (prioritize WiFi over Ethernet) - if self.network_service.wifi_device: + elif self.network_service.wifi_device: wifi = self.network_service.wifi_device if not wifi.enabled: icon_file = "wifi-off-clear.svg" diff --git a/src/window/panel/notch/indicators.py b/src/window/panel/notch/indicators.py index 01df828..f4898fd 100644 --- a/src/window/panel/notch/indicators.py +++ b/src/window/panel/notch/indicators.py @@ -78,6 +78,7 @@ class NumLockIndicator(BaseNotchIndicator): class ChargingIndicator(BaseNotchIndicator): def __init__(self, show_cb, hide_cb, **kwargs): self._battery = Battery.get_initial() + self._last_charger_state = self._is_charger_connected() super().__init__( name="notch-charging", icon_name="notch/charging.svg", @@ -89,13 +90,13 @@ class ChargingIndicator(BaseNotchIndicator): **kwargs, ) self._battery.connect("changed", self._on_battery_changed) - GLib.timeout_add(500, self._initial_check) + if self._last_charger_state: + GLib.timeout_add(500, self._initial_show) def _is_charger_connected(self) -> bool: return self._battery.charging or self._battery.charged - def _initial_check(self): - self._last_charger_state = self._is_charger_connected() + def _initial_show(self): if self._last_charger_state: self._show_cb(self) self._schedule_hide()