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: