This commit is contained in:
sankalp committed 2025-06-13 21:00:45 +05:45
1 parent 776f2d2da2
commit 4059ff9309
27 files changed
+2725 -221

No files matched your search

+17 -19
View File
@@ -3,8 +3,6 @@ from fabric.widgets.button import Button
from fabric.widgets.label import Label
from fabric.widgets.overlay import Overlay
from fabric.widgets.circularprogressbar import CircularProgressBar
from gi.repository import Gdk, GLib
import config.data as data
import utils.icons as icons
@@ -15,9 +13,9 @@ from fabric.bluetooth import BluetoothClient
class WifiIndicator(Button):
def __init__(self, **kwargs):
super().__init__(name="button-bar-network", **kwargs)
# Initialize NetworkClient
self.network = NetworkClient()
self.network = NetworkClient()
# Create progress bar and wifi label
self.progress_bar = CircularProgressBar(
name="button-network",
@@ -27,16 +25,13 @@ class WifiIndicator(Button):
end_angle=390,
)
self.wifi_label = Label(name="network-label", markup=icons.loader)
# Create overlay with progress bar and label
self.add(Overlay(
child=self.progress_bar,
overlays=self.wifi_label
))
self.add(Overlay(child=self.progress_bar, overlays=self.wifi_label))
# Connect signals
self.network.connect("ready", self.on_network_ready)
# If already ready, set up signals immediately
if self.network.is_ready:
self.setup_signals()
@@ -51,22 +46,25 @@ class WifiIndicator(Button):
self.network.connect("wifi-device-removed", self.on_wifi_device_removed)
self.network.connect("ethernet-device-added", self.on_ethernet_device_added)
self.network.connect("ethernet-device-removed", self.on_ethernet_device_removed)
# Connect to WiFi device if available
if self.network.wifi_device:
self.network.wifi_device.connect("changed", self.on_wifi_changed)
self.network.wifi_device.connect("ap-added", self.on_wifi_changed)
self.network.wifi_device.connect("ap-removed", self.on_wifi_changed)
# Connect to Ethernet device if available
if self.network.ethernet_device:
self.network.ethernet_device.connect("changed", self.on_ethernet_changed)
self.update_state()
def update_state(self):
# Check ethernet first
if self.network.ethernet_device and self.network.ethernet_device.state == "activated":
if (
self.network.ethernet_device
and self.network.ethernet_device.state == "activated"
):
self.wifi_label.set_markup(icons.world)
self.progress_bar.value = 1.0 # Full circle for ethernet
tooltip = f"Connected to Ethernet ({self.network.ethernet_device.speed})"
@@ -133,19 +131,19 @@ class WifiIndicator(Button):
class BluetoothIndicator(Button):
def __init__(self, **kwargs):
super().__init__(name="button-bar-bluetooth", **kwargs)
# Initialize BluetoothClient
self.bluetooth = BluetoothClient()
# Create bluetooth label
self.bt_label = Label(name="bluetooth-label", markup=icons.loader)
self.add(self.bt_label)
# Connect signals
self.bluetooth.connect("changed", self.on_bluetooth_changed)
self.bluetooth.connect("device-added", self.on_device_added)
self.bluetooth.connect("device-removed", self.on_device_removed)
# Initial state update
self.update_state()
@@ -193,4 +191,4 @@ class Indicators(Box):
children=[WifiIndicator(), BluetoothIndicator()],
**kwargs,
)
self.show_all()
self.show_all()