roundabout,
created on Wednesday, 20 August 2025, 10:20:15 (1755685215),
received on Wednesday, 20 August 2025, 10:20:22 (1755685222)
Author identity: Vlad <vlad.muntoiu@gmail.com>
3e833cd23aa7222332c471c3c411350634623beb
applets/app-menu/__init__.py
@@ -142,6 +142,7 @@ class AppMenu(panorama_panel.Applet):
self.button = Gtk.MenuButton() self.button.set_has_frame(False) # flat look self.icon = Gtk.Image.new_from_icon_name(self.icon_name) self.icon.set_pixel_size(config.get("icon_size", 24))self.button.set_child(self.icon) self.apps_by_id: dict[int, Gio.AppInfo] = {} # Wait for the widget to be in a layer-shell window before doing this
@@ -219,7 +220,12 @@ class AppMenu(panorama_panel.Applet):
app.remove_action(self.trigger_name) def get_config(self): return {"category_mappings": self.category_mappings, "trigger_name": self.trigger_name, "icon_name": self.icon_name}return { "category_mappings": self.category_mappings, "trigger_name": self.trigger_name, "icon_name": self.icon_name, "icon_size": self.icon_size, }def set_panel_position(self, position): self.popover.set_position(panorama_panel.OPPOSITE_POSITION[position])
applets/notifier/__init__.py
@@ -105,7 +105,8 @@ class BriefNotification(Gtk.Box):
Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL, spacing=4) if not app_icon: app_icon = "preferences-desktop-notifications" self.append(Gtk.Image.new_from_icon_name(app_icon))self.image = Gtk.Image.new_from_icon_name(app_icon) self.append(self.image)self.append(Gtk.Label.new(summary)) self.set_halign(Gtk.Align.CENTER)
@@ -151,13 +152,17 @@ class NotifierApplet(panorama_panel.Applet):
if config is None: config = {} self.icon_size = config.get("icon_size", 24) self.button = Gtk.MenuButton() self.button.set_has_frame(False) self.button.add_css_class("notification-button") self.stack = Gtk.Stack() self.button.set_child(self.stack) self.notification_indicator = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=4) self.notification_indicator.append(Gtk.Image.new_from_icon_name("emblem-important"))self.status_icon = Gtk.Image.new_from_icon_name("emblem-important") self.status_icon.set_pixel_size(self.icon_size) self.notification_indicator.append(self.status_icon)self.notification_indicator.set_halign(Gtk.Align.CENTER) self.notification_count_label = Gtk.Label.new(locale.format_string("%d", 0)) self.notification_count = 0
@@ -178,6 +183,7 @@ class NotifierApplet(panorama_panel.Applet):
def push_notification(self, app_name, replaces_id, app_icon, summary, body, actions, hints, expire_timeout): new_child = BriefNotification(app_name, replaces_id, app_icon, summary, body, actions, hints, expire_timeout) new_child.image.set_pixel_size(self.icon_size)self.stack.add_child(new_child) self.stack.set_visible_child(new_child) def remove_notification():
@@ -204,7 +210,9 @@ class NotifierApplet(panorama_panel.Applet):
# TODO: notify that it was closed def get_config(self): return {}return { "icon_size": self.icon_size, }def shutdown(self): self.publishing.unpublish()
applets/volume/__init__.py
@@ -45,6 +45,7 @@ class Volume(panorama_panel.Applet):
self.popdown_after_manual = config.get("popdown_after_manual", 2000) self.percentage_reveal = config.get("percentage_reveal", 1000) self.percentage_animation_time = config.get("percentage_animation_time", 250) self.icon_size = config.get("icon_size", 24)asyncio.create_task(self.main()) async def main(self):
@@ -66,7 +67,7 @@ class Volume(panorama_panel.Applet):
self.menu_button.set_popover(self.volume_popover) self.menu_button.set_has_frame(False) self.button_content = Gtk.Box(orientation=self.get_orientation()) self.icon = Gtk.Image()self.icon = Gtk.Image(pixel_size=self.icon_size)self.button_content.append(self.icon) self.menu_button.set_child(self.button_content) scroll_controller = Gtk.EventControllerScroll.new(Gtk.EventControllerScrollFlags.VERTICAL)
@@ -247,4 +248,5 @@ class Volume(panorama_panel.Applet):
"percentage_reveal": self.percentage_reveal, "popdown_after_manual": self.popdown_after_manual, "percentage_animation_time": self.percentage_animation_time, "icon_size": self.icon_size,}
applets/wf-window-list/__init__.py
@@ -166,7 +166,7 @@ class WindowButton(Gtk.ToggleButton):
self.set_has_frame(False) self.label = Gtk.Label() self.icon = Gtk.Image.new_from_icon_name("application-x-executable") box = Gtk.Box()box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=4)box.append(self.icon) box.append(self.label) self.set_child(box)
@@ -310,6 +310,7 @@ class WFWindowList(panorama_panel.Applet):
self.window_button_options = WindowButtonOptions(config.get("max_button_width", 256)) self.show_only_this_wf_workspace = config.get("show_only_this_wf_workspace", True) self.show_only_this_output = config.get("show_only_this_output", True) self.icon_size = config.get("icon_size", 24)self.toplevel_buttons: dict[ZwlrForeignToplevelHandleV1, WindowButton] = {} self.toplevel_buttons_by_wf_id: dict[int, WindowButton] = {}
@@ -526,6 +527,7 @@ class WFWindowList(panorama_panel.Applet):
def on_output_entered(self, handle, output): button = WindowButton(handle, handle.title) button.icon.set_pixel_size(self.icon_size)button.output = None if self.show_only_this_output and output != self.my_output: