roundabout,
created on Wednesday, 20 August 2025, 09:26:40 (1755682000),
received on Wednesday, 20 August 2025, 09:26:42 (1755682002)
Author identity: Vlad <vlad.muntoiu@gmail.com>
27e1512c8fed951d965fd996503030e5cf6393a7
applets/soreaus-menu/__init__.py
@@ -35,8 +35,8 @@ from gi.repository import Gtk, GLib, Gtk4LayerShell, Gio, Gdk, Pango
import subprocess LOGOUT_BUTTON_SIZE = 125LOGOUT_BUTTON_MARGIN = 10LOGOUT_BUTTON_SIZE = 128 LOGOUT_BUTTON_MARGIN = 12def create_logout_ui_button(icon_name, label_text): layout = Gtk.Box()
@@ -149,14 +149,16 @@ class SoreausMenu(panorama_panel.Applet):
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None): super().__init__() if config is None: config = {}self.button = Gtk.MenuButton() self.menu_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) image = Gtk.Image.new_from_icon_name("wayfire")image.set_icon_size(Gtk.IconSize.LARGE)self.image = Gtk.Image.new_from_icon_name(config.get("icon_name", "wayfire")) self.image.set_pixel_size(config.get("icon_size", 24))self.append(self.button) self.button.set_child(image)self.button.set_child(self.image)self.popover = Gtk.Popover() self.popover.set_parent(self) self.flowbox = Gtk.FlowBox()
@@ -165,7 +167,7 @@ class SoreausMenu(panorama_panel.Applet):
self.flowbox_item_focus_signal = self.flowbox.connect("selected-children-changed", self.on_flowbox_item_focus) self.app_buttons = [] self.scrolled_window = Gtk.ScrolledWindow() self.scrolled_window.set_size_request(-1, 360)self.scrolled_window.set_size_request(-1, config.get("height", 360))self.scrolled_window.set_child(self.flowbox) self.logout_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) self.logout_button = Gtk.Button()
@@ -184,7 +186,7 @@ class SoreausMenu(panorama_panel.Applet):
self.menu_box.append(self.scrolled_window) self.menu_box.append(self.logout_box) self.popover.set_child(self.menu_box) self.popover.set_size_request(400, 400)self.popover.set_size_request(config.get("width", 400), -1)self.popover.connect("show", self.on_popover_popup) self.button.set_popover(self.popover) self.logout_ui = WayfireLogoutUI()
@@ -209,6 +211,14 @@ class SoreausMenu(panorama_panel.Applet):
if len(selected_children) >= 1: selected_children[0].get_child().grab_focus() def get_config(self): return { "width": self.popover.get_size_request()[0], "height": self.scrolled_window.get_size_request()[1], "icon_name": self.image.get_icon_name(), "icon_size": self.image.get_pixel_size(), } def on_popover_popup(self, parent): for child in self.flowbox.get_selected_children(): self.flowbox.unselect_child(child)
config.yaml
@@ -7,7 +7,11 @@ panels:
can_capture_keyboard: false applets: left: - SoreausMenu: {}- SoreausMenu: width: 400 height: 576 icon_name: start-here-symbolic icon_size: 24- AppMenu: category_mappings: Utility: