roundabout,
created on Sunday, 19 October 2025, 09:04:47 (1760864687),
received on Sunday, 19 October 2025, 09:04:50 (1760864690)
Author identity: Vlad <vlad.muntoiu@gmail.com>
1edb29737847dbb7808c8375d879ca2813f017c3
applets/indicators/__init__.py
@@ -74,12 +74,11 @@ class StatusNotifierService:
class StatusIcon(Gtk.MenuButton):
def __init__(self, applet: IndicatorApplet, service: str):
super().__init__()
super().__init__(has_frame=False)
self.applet = applet
self.service = service
label = Gtk.Label(label=service)
self.set_child(label)
print(self.service)
self.icon = Gtk.Image(icon_name="image-missing", pixel_size=self.applet.icon_size)
self.set_child(self.icon)
self.popover_menu = Gtk.PopoverMenu(flags=Gtk.PopoverMenuFlags.NESTED)
self.set_popover(self.popover_menu)
@@ -100,8 +99,7 @@ class StatusIcon(Gtk.MenuButton):
icon_name = self.proxy.get_cached_property("IconName")
if icon_name:
icon_name = icon_name.unpack()
self.icon = Gtk.Image.new_from_icon_name(icon_name)
self.set_child(self.icon)
self.icon.set_from_icon_name(icon_name)
menu = self.proxy.get_cached_property("Menu")
if menu:
self.menu = dbusmenu.CanonicalMenuModel()
@@ -133,8 +131,7 @@ class StatusIcon(Gtk.MenuButton):
None
)
if icon_name:
self.icon = Gtk.Image.new_from_icon_name(icon_name.unpack()[0])
self.set_child(self.icon)
self.icon.set_from_icon_name(icon_name.unpack()[0])
class IndicatorApplet(panorama_panel.Applet):
@@ -145,6 +142,12 @@ class IndicatorApplet(panorama_panel.Applet):
super().__init__(orientation=orientation, config=config or {})
self.items = {}
self.item_id = 0
if config is None:
config = {}
self.icon_size = config.get("icon_size", 24)
self.connection = Gio.bus_get_sync(Gio.BusType.SESSION)
# Make the host name unique
@@ -226,3 +229,8 @@ class IndicatorApplet(panorama_panel.Applet):
if service in self.items:
self.remove(self.items[service])
del self.items[service]
def get_config(self):
return {
"icon_size": self.icon_size,
}