roundabout,
created on Saturday, 13 September 2025, 15:39:25 (1757777965),
received on Saturday, 13 September 2025, 15:39:29 (1757777969)
Author identity: Vlad <vlad.muntoiu@gmail.com>
d5405c968501f8a79d4e88f26b15a1438bb3981b
main.py
@@ -78,6 +78,42 @@ FITTING_MODES_REVERSE = {
Gtk.ContentFit.SCALE_DOWN: "scale_down", } TRANSITION_MODES = { "fade": Gtk.StackTransitionType.CROSSFADE, "stack_down": Gtk.StackTransitionType.OVER_DOWN, "stack_up": Gtk.StackTransitionType.OVER_UP, "stack_left": Gtk.StackTransitionType.OVER_LEFT, "stack_right": Gtk.StackTransitionType.OVER_RIGHT, "take_down": Gtk.StackTransitionType.UNDER_DOWN, "take_up": Gtk.StackTransitionType.UNDER_UP, "take_left": Gtk.StackTransitionType.UNDER_LEFT, "take_right": Gtk.StackTransitionType.UNDER_RIGHT, "push_down": Gtk.StackTransitionType.SLIDE_DOWN, "push_up": Gtk.StackTransitionType.SLIDE_UP, "push_left": Gtk.StackTransitionType.SLIDE_LEFT, "push_right": Gtk.StackTransitionType.SLIDE_RIGHT, "cube_left": Gtk.StackTransitionType.ROTATE_LEFT, "cube_right": Gtk.StackTransitionType.ROTATE_RIGHT, } TRANSITION_MODES_REVERSE = { Gtk.StackTransitionType.CROSSFADE: "fade", Gtk.StackTransitionType.OVER_DOWN: "stack_down", Gtk.StackTransitionType.OVER_UP: "stack_up", Gtk.StackTransitionType.OVER_LEFT: "stack_left", Gtk.StackTransitionType.OVER_RIGHT: "stack_right", Gtk.StackTransitionType.UNDER_DOWN: "take_down", Gtk.StackTransitionType.UNDER_UP: "take_up", Gtk.StackTransitionType.UNDER_LEFT: "take_left", Gtk.StackTransitionType.UNDER_RIGHT: "take_right", Gtk.StackTransitionType.SLIDE_DOWN: "push_down", Gtk.StackTransitionType.SLIDE_UP: "push_up", Gtk.StackTransitionType.SLIDE_LEFT: "push_left", Gtk.StackTransitionType.SLIDE_RIGHT: "push_right", Gtk.StackTransitionType.ROTATE_LEFT: "cube_left", Gtk.StackTransitionType.ROTATE_RIGHT: "cube_right", } class PanoramaBG(Gtk.Application): def __init__(self):
@@ -116,6 +152,7 @@ class PanoramaBG(Gtk.Application):
background_window.put_sources(yaml_file["monitors"][monitor.get_connector()]["sources"]) background_window.picture1.set_content_fit(FITTING_MODES[yaml_file["monitors"][monitor.get_connector()]["fitting_mode"]]) background_window.picture2.set_content_fit(FITTING_MODES[yaml_file["monitors"][monitor.get_connector()]["fitting_mode"]]) background_window.stack.set_transition_type(TRANSITION_MODES[yaml_file["monitors"][monitor.get_connector()]["transition_mode"]])background_window.present()
@@ -192,7 +229,9 @@ class PanoramaBG(Gtk.Application):
data["monitors"][monitor.get_connector()] = { "sources": window.sources, "time_per_image": window.time_per_image, "fitting_mode": FITTING_MODES_REVERSE[window.picture.get_content_fit()],"fitting_mode": FITTING_MODES_REVERSE[window.picture1.get_content_fit()], "transition_ms": window.stack.get_transition_duration(), "transition_mode": TRANSITION_MODES_REVERSE[window.stack.get_transition_type()],} yaml_writer.dump(data, config_file)
@@ -223,7 +262,6 @@ class BackgroundWindow(Gtk.Window):
self.picture1 = Gtk.Picture() self.picture2 = Gtk.Picture() self.stack = Gtk.Stack() self.stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE)self.stack.add_child(self.picture1) self.stack.add_child(self.picture2)