roundabout,
created on Tuesday, 12 August 2025, 20:42:28 (1755031348),
received on Tuesday, 12 August 2025, 20:42:32 (1755031352)
Author identity: Vlad <vlad.muntoiu@gmail.com>
60aa44462ee55dbaace47e26797006d3b8d6e2ae
config.yaml
@@ -4,6 +4,7 @@ panels:
size: 40 autohide: false hide_time: 300 can_capture_keyboard: falseapplets: left: - WFWindowList:
main.py
@@ -323,7 +323,7 @@ POSITION_TO_LAYER_SHELL_EDGE = {
class Panel(Gtk.Window): def __init__(self, application: Gtk.Application, monitor: Gdk.Monitor, position: Gtk.PositionType = Gtk.PositionType.TOP, size: int = 40, monitor_index: int = 0, autohide: bool = False, hide_time: int = 0):def __init__(self, application: Gtk.Application, monitor: Gdk.Monitor, position: Gtk.PositionType = Gtk.PositionType.TOP, size: int = 40, monitor_index: int = 0, autohide: bool = False, hide_time: int = 0, can_capture_keyboard: bool = False):super().__init__(application=application) self.drop_motion_controller = None self.motion_controller = None
@@ -332,6 +332,7 @@ class Panel(Gtk.Window):
self.autohide = None self.monitor_index = monitor_index self.hide_time = None self.can_capture_keyboard = can_capture_keyboardself.open_popovers: set[int] = set() Gtk4LayerShell.init_for_window(self)
@@ -339,6 +340,10 @@ class Panel(Gtk.Window):
Gtk4LayerShell.set_monitor(self, monitor) Gtk4LayerShell.set_layer(self, Gtk4LayerShell.Layer.TOP) if can_capture_keyboard: Gtk4LayerShell.set_keyboard_mode(self, Gtk4LayerShell.KeyboardMode.ON_DEMAND) else: Gtk4LayerShell.set_keyboard_mode(self, Gtk4LayerShell.KeyboardMode.NONE)box = Gtk.CenterBox()
@@ -581,8 +586,9 @@ class PanoramaPanel(Gtk.Application):
size = panel_data["size"] autohide = panel_data["autohide"] hide_time = panel_data["hide_time"] can_capture_keyboard = panel_data["can_capture_keyboard"]panel = Panel(self, monitor, position, size, monitor_index, autohide, hide_time)panel = Panel(self, monitor, position, size, monitor_index, autohide, hide_time, can_capture_keyboard)self.panels.append(panel) print(f"{size}px panel on {position} edge of monitor {monitor_index}, autohide is {autohide} ({hide_time}ms)")
@@ -618,6 +624,7 @@ class PanoramaPanel(Gtk.Application):
"size": panel.size, "autohide": panel.autohide, "hide_time": panel.hide_time, "can_capture_keyboard": panel.can_capture_keyboard,"applets": {} }