search-menu: prevent duplicate buttons, add
roundabout,
created on Tuesday, 9 September 2025, 16:39:12 (1757435952),
received on Tuesday, 9 September 2025, 16:39:14 (1757435954)
Author identity: Vlad <vlad.muntoiu@gmail.com>
5b8b92f09fdcf763e25a29644293b4928a3ea6e1
applets/search-menu/__init__.py
@@ -165,6 +165,8 @@ class SearchMenu(panorama_panel.Applet):
self.flowbox = Gtk.FlowBox() self.flowbox.set_valign(Gtk.Align.START) self.flowbox.set_homogeneous(True) self.flowbox.set_max_children_per_line(config.get("icons_per_line", 3)) self.flowbox.set_min_children_per_line(config.get("icons_per_line", 3))self.flowbox_item_focus_signal = self.flowbox.connect("selected-children-changed", self.on_flowbox_item_focus) self.scrolled_window = Gtk.ScrolledWindow() self.scrolled_window.set_size_request(-1, config.get("height", 360))
@@ -224,6 +226,7 @@ class SearchMenu(panorama_panel.Applet):
"height": self.scrolled_window.get_size_request()[1], "icon_name": self.image.get_icon_name(), "icon_size": self.image.get_pixel_size(), "icons_per_line": self.flowbox.get_max_children_per_line()} def on_popover_popup(self, parent):
@@ -240,6 +243,7 @@ class SearchMenu(panorama_panel.Applet):
app_infos = Gio.AppInfo.get_all() app_infos.sort(key=lambda app_info: app_info.get_display_name().lower()) self.cached_buttons = [] self.flowbox.remove_all()for app_info in app_infos: app_categories = app_info.get_categories()
@@ -252,7 +256,6 @@ class SearchMenu(panorama_panel.Applet):
app_button.set_tooltip_text(app_name) app_label = Gtk.Label(label=app_name) app_label.set_ellipsize(Pango.EllipsizeMode.END) app_label.set_max_width_chars(7)app_button_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) app_button_box.append(app_label) app_button.set_child(app_button_box)