From 973ff26fa7aaafa1c1f6ed33dcb1b0690f0ae431 Mon Sep 17 00:00:00 2001 From: Stephen Horvath Date: Wed, 17 Sep 2025 21:12:35 +1000 Subject: [PATCH] Fix stutter when opening About dialogue --- yafi/battery.py | 4 +--- yafi/battery_limiter.py | 4 +--- yafi/hardware.py | 4 +--- yafi/leds.py | 3 +-- yafi/main.py | 12 ++++++++---- yafi/thermals.py | 4 +--- yafi/window.py | 3 +-- 7 files changed, 14 insertions(+), 20 deletions(-) diff --git a/yafi/battery.py b/yafi/battery.py index 18f52dc..cdfbd7d 100644 --- a/yafi/battery.py +++ b/yafi/battery.py @@ -18,9 +18,7 @@ # # SPDX-License-Identifier: GPL-2.0-or-later -from gi.repository import Adw -from gi.repository import Gtk -from gi.repository import GLib +from gi.repository import Gtk, Adw, GLib import cros_ec_python.commands as ec_commands import cros_ec_python.exceptions as ec_exceptions diff --git a/yafi/battery_limiter.py b/yafi/battery_limiter.py index 7cfa672..d1342ed 100644 --- a/yafi/battery_limiter.py +++ b/yafi/battery_limiter.py @@ -18,9 +18,7 @@ # # SPDX-License-Identifier: GPL-2.0-or-later -from gi.repository import Adw -from gi.repository import Gtk -from gi.repository import GLib +from gi.repository import Gtk, Adw, GLib import cros_ec_python.commands as ec_commands import cros_ec_python.exceptions as ec_exceptions diff --git a/yafi/hardware.py b/yafi/hardware.py index ee3a50d..fc25f2e 100644 --- a/yafi/hardware.py +++ b/yafi/hardware.py @@ -18,9 +18,7 @@ # # SPDX-License-Identifier: GPL-2.0-or-later -from gi.repository import Adw -from gi.repository import Gtk -from gi.repository import GLib +from gi.repository import Gtk, Adw, GLib import cros_ec_python.commands as ec_commands import cros_ec_python.exceptions as ec_exceptions diff --git a/yafi/leds.py b/yafi/leds.py index 4e003aa..ac84255 100644 --- a/yafi/leds.py +++ b/yafi/leds.py @@ -18,8 +18,7 @@ # # SPDX-License-Identifier: GPL-2.0-or-later -from gi.repository import Adw -from gi.repository import Gtk +from gi.repository import Gtk, Adw, GLib import cros_ec_python.commands as ec_commands import cros_ec_python.exceptions as ec_exceptions diff --git a/yafi/main.py b/yafi/main.py index 97760d4..7212ed8 100644 --- a/yafi/main.py +++ b/yafi/main.py @@ -20,13 +20,13 @@ import sys import traceback +import threading import gi -from gi.repository import Gio gi.require_version('Gtk', '4.0') gi.require_version('Adw', '1') -from gi.repository import Gtk, Gio, Adw +from gi.repository import Gtk, Gio, Adw, GLib from .window import YafiWindow from .thermals import ThermalsPage from .leds import LedsPage @@ -136,9 +136,8 @@ class YafiApplication(Adw.Application): comments="YAFI is another GUI for the Framework Laptop Embedded Controller.\n" + "It is written in Python with a GTK3 theme, and uses the `CrOS_EC_Python` library to communicate with the EC.", copyright="© 2025 Stephen Horvath", - debug_info=self.generate_debug_info(), developer_name="Stephen Horvath", - developers=["Stephen Horvath"], + developers=["Stephen Horvath https://github.com/Steve-Tech"], issue_url="https://github.com/Steve-Tech/YAFI/issues", license_type=Gtk.License.GPL_2_0, version="0.5", @@ -147,6 +146,11 @@ class YafiApplication(Adw.Application): about.add_acknowledgement_section(None, ["Framework Computer Inc. https://frame.work/"]) about.present(self.props.active_window) + if hasattr(self, 'debug_info'): + about.set_debug_info(self.debug_info) + else: + threading.Thread(target=lambda: GLib.idle_add(about.set_debug_info, self.generate_debug_info())).start() + def show_error(self, heading, message): dialog = Adw.AlertDialog(heading=heading, body=message) dialog.add_response("exit", "Exit") diff --git a/yafi/thermals.py b/yafi/thermals.py index a1d6883..ce85c51 100644 --- a/yafi/thermals.py +++ b/yafi/thermals.py @@ -18,9 +18,7 @@ # # SPDX-License-Identifier: GPL-2.0-or-later -from gi.repository import Adw -from gi.repository import Gtk -from gi.repository import GLib +from gi.repository import Gtk, Adw, GLib import cros_ec_python.commands as ec_commands import cros_ec_python.exceptions as ec_exceptions diff --git a/yafi/window.py b/yafi/window.py index a6dd1c1..5388668 100644 --- a/yafi/window.py +++ b/yafi/window.py @@ -18,8 +18,7 @@ # # SPDX-License-Identifier: GPL-2.0-or-later -from gi.repository import Adw -from gi.repository import Gtk +from gi.repository import Gtk, Adw @Gtk.Template(resource_path='/au/stevetech/yafi/ui/yafi.ui') class YafiWindow(Adw.ApplicationWindow):