roundabout,
created on Saturday, 13 December 2025, 21:17:52 (1765660672),
received on Saturday, 13 December 2025, 21:17:55 (1765660675)
Author identity: Vlad <vlad.muntoiu@gmail.com>
74b1bdcada824d7bb0b7e22e959111d68e50e063
applets/app-menu/__init__.py
@@ -71,6 +71,7 @@ _ = lambda x: locale.dgettext("panorama-app-menu", x)
class AppMenu(panorama_panel.Applet):
name = _("App menu")
description = _("Show apps installed on your system, grouped by category")
icon = Gio.ThemedIcon.new("start-here")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__(orientation=orientation, config=config)
applets/battery/__init__.py
@@ -28,7 +28,7 @@ from pydbus import SystemBus, SessionBus
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk, Gdk, GLib
from gi.repository import Gtk, Gdk, GLib, Gio
module_directory = Path(__file__).resolve().parent
@@ -60,6 +60,7 @@ def get_battery_icon(fraction, charging):
class BatteryMonitor(panorama_panel.Applet):
name = _("Laptop battery")
description = _("Check laptop battery charge")
icon = Gio.ThemedIcon.new("battery")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__(orientation=orientation, config=config)
applets/clock/__init__.py
@@ -49,6 +49,7 @@ class ClockOptions(Gtk.Window):
class ClockApplet(panorama_panel.Applet):
name = _("Clock")
description = _("Read the current time and date")
icon = Gio.ThemedIcon.new("preferences-system-time")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__(orientation=orientation, config=config)
applets/file-listing/__init__.py
@@ -181,6 +181,7 @@ class FileMenu(Gio.MenuModel, GObject.Object):
class FileListingApplet(panorama_panel.Applet):
name = _("File listing")
description = _("View a nesting menu of your files")
icon = Gio.ThemedIcon.new("system-file-manager")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__(orientation=orientation, config=config)
applets/indicators/__init__.py
@@ -137,6 +137,7 @@ class StatusIcon(Gtk.MenuButton):
class IndicatorApplet(panorama_panel.Applet):
name = _("Indicators")
description = _("Show application status icons")
icon = Gio.ThemedIcon.new("dialog-warning")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__(orientation=orientation, config=config or {})
applets/launchers/__init__.py
@@ -30,6 +30,7 @@ from gi.repository import Gtk, GLib, Gio, GioUnix, Gdk
class CommandButton(panorama_panel.Applet):
name = "Command button"
description = "Run a command when clicked"
icon = Gio.ThemedIcon.new("utilities-terminal")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__(orientation=orientation, config=config)
@@ -61,6 +62,7 @@ class CommandButton(panorama_panel.Applet):
class DesktopFileButton(panorama_panel.Applet):
name = "Desktop file button"
description = "Launch a desktop file when clicked"
icon = Gio.ThemedIcon.new("applications-other")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__(orientation=orientation, config=config)
applets/notifier/__init__.py
@@ -28,7 +28,7 @@ from pydbus import SessionBus
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk, Gdk, GLib
from gi.repository import Gtk, Gdk, GLib, Gio
module_directory = Path(__file__).resolve().parent
@@ -186,6 +186,7 @@ class DetailedNotification(Gtk.ListBoxRow):
class NotifierApplet(panorama_panel.Applet):
name = _("Notification centre")
description = _("Get desktop notifications")
icon = Gio.ThemedIcon.new("preferences-desktop-notifications")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__(orientation=orientation, config=config)
applets/search-menu/__init__.py
@@ -147,6 +147,7 @@ class MenuItemButton(Gtk.Button):
class SearchMenu(panorama_panel.Applet):
name = "Searchable menu"
description = "Flowbox app menu"
icon = Gio.ThemedIcon.new("start-here")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__()
applets/volume/__init__.py
@@ -28,7 +28,7 @@ import panorama_panel
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk, Gdk, GLib
from gi.repository import Gtk, Gdk, GLib, Gio
import asyncio
import pulsectl
@@ -37,6 +37,7 @@ import pulsectl_asyncio
class Volume(panorama_panel.Applet):
name = "Volume"
description = "Volume applet"
icon = Gio.ThemedIcon.new("audio-speakers")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__()
applets/wf-window-list/__init__.py
@@ -416,6 +416,7 @@ class TooltipMedia(Gtk.Picture):
class WFWindowList(panorama_panel.Applet):
name = _("Wayfire window list")
description = _("Traditional window list (for Wayfire and other wlroots compositors)")
icon = Gio.ThemedIcon.new("preferences-system-windows")
def __init__(self, orientation=Gtk.Orientation.HORIZONTAL, config=None):
super().__init__(orientation=orientation, config=config)
main.py
@@ -281,6 +281,8 @@ class AppletChoice(Gtk.Box):
super().__init__(**kwargs, orientation=Gtk.Orientation.VERTICAL)
self.label = Gtk.Label(label=applet_class.name, halign=Gtk.Align.CENTER, xalign=0.5, wrap_mode=Pango.WrapMode.WORD)
self.icon = Gtk.Image(gicon=applet_class.icon, icon_size=Gtk.IconSize.LARGE, halign=Gtk.Align.CENTER, hexpand=False)
self.append(self.icon)
self.append(self.label)
self.AppletClass = applet_class
@@ -291,16 +293,14 @@ class AppletChoice(Gtk.Box):
def provide_drag_data(self, source: Gtk.DragSource, x: float, y: float):
app = self.get_root().get_application()
print(self.AppletClass.name)
app.drags[id(self)] = self.AppletClass
value = GObject.Value()
value.init(GObject.TYPE_UINT64)
value.set_uint64(id(self))
print(value)
return Gdk.ContentProvider.new_for_value(value)
def drag_begin(self, source: Gtk.DragSource, drag: Gdk.Drag):
paintable = Gtk.WidgetPaintable.new(self).get_current_image()
paintable = Gtk.WidgetPaintable.new(self.icon)
source.set_icon(paintable, 0, 0)
shared/panorama_panel.py
@@ -7,6 +7,7 @@ from gi.repository import Gtk, Gdk, Gio, GObject, GLib
class Applet(Gtk.Box):
name = "Generic applet"
description = ""
icon = Gio.ThemedIcon.new("applications-system")
__gsignals__ = {
"config-changed": (GObject.SIGNAL_RUN_FIRST, None, ())