roundabout,
created on Monday, 18 August 2025, 11:43:44 (1755517424),
received on Monday, 18 August 2025, 11:43:46 (1755517426)
Author identity: Vlad <vlad.muntoiu@gmail.com>
801a51c9482e91f9794934dc12fe19d7fd8875c3
applets/app-menu/__init__.py
@@ -133,11 +133,14 @@ class AppMenu(panorama_panel.Applet):
_ = lambda x: locale.dgettext("panorama-app-menu", x)
if config is None:
config = {}
self.auto_refresh = config.get("auto_refresh", True)
self.category_mappings = config.get("category_mappings", CATEGORY_MAPPINGS)
self.trigger_name = config.get("trigger_name", "app-menu")
self.icon_name = config.get("icon_name", "start-here-symbolic")
self.button = Gtk.MenuButton()
self.button.set_has_frame(False) # flat look
self.icon_name = config.get("icon_name", "start-here-symbolic")
self.icon = Gtk.Image.new_from_icon_name(self.icon_name)
self.button.set_child(self.icon)
self.apps_by_id: dict[int, Gio.AppInfo] = {}
@@ -172,6 +175,10 @@ class AppMenu(panorama_panel.Applet):
action_group.add_action(options_action)
self.insert_action_group("applet", action_group)
if self.auto_refresh:
self.app_info_monitor = Gio.AppInfoMonitor.get()
self.app_info_monitor.connect("changed", self.generate_app_menu)
self.options_window = None
def add_trigger_to_app(self):
@@ -218,7 +225,7 @@ class AppMenu(panorama_panel.Applet):
self.popover.set_position(panorama_panel.OPPOSITE_POSITION[position])
self.button.set_direction(panorama_panel.POSITION_TO_ARROW[panorama_panel.OPPOSITE_POSITION[position]])
def generate_app_menu(self):
def generate_app_menu(self, app_info_monitor=None):
self.menu.remove_all()
self.apps_by_id = {}