diff --git a/data/icons/hicolor/scalable/apps/au.stevetech.yafi.svg b/data/icons/hicolor/scalable/apps/au.stevetech.yafi.svg
index 425bb1b..c76849b 100644
--- a/data/icons/hicolor/scalable/apps/au.stevetech.yafi.svg
+++ b/data/icons/hicolor/scalable/apps/au.stevetech.yafi.svg
@@ -1,36 +1,92 @@
-
-
-
+
+
+
+
diff --git a/data/icons/hicolor/symbolic/apps/au.stevetech.yafi-symbolic.svg b/data/icons/hicolor/symbolic/apps/au.stevetech.yafi-symbolic.svg
index 425bb1b..1a96af2 100644
--- a/data/icons/hicolor/symbolic/apps/au.stevetech.yafi-symbolic.svg
+++ b/data/icons/hicolor/symbolic/apps/au.stevetech.yafi-symbolic.svg
@@ -1,36 +1,21 @@
-
-
-
+
+
+
+
diff --git a/logo.svg b/logo.svg
new file mode 100644
index 0000000..6c14479
--- /dev/null
+++ b/logo.svg
@@ -0,0 +1,159 @@
+
+
+
+
diff --git a/pyinstaller/splash.png b/pyinstaller/splash.png
new file mode 100644
index 0000000..c14a5b9
Binary files /dev/null and b/pyinstaller/splash.png differ
diff --git a/pyinstaller/splash.svg b/pyinstaller/splash.svg
new file mode 100644
index 0000000..ce9602d
--- /dev/null
+++ b/pyinstaller/splash.svg
@@ -0,0 +1,384 @@
+
+
+
+
diff --git a/pyinstaller/yafi.spec b/pyinstaller/yafi.spec
index 4e2a5e4..0d6d8ae 100755
--- a/pyinstaller/yafi.spec
+++ b/pyinstaller/yafi.spec
@@ -20,12 +20,23 @@ a = Analysis(
optimize=2,
)
pyz = PYZ(a.pure)
+splash = Splash(
+ 'splash.png',
+ binaries=a.binaries,
+ datas=a.datas,
+ text_pos=[4, 480],
+ text_size=6,
+ minify_script=True,
+ always_on_top=True,
+)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
+ splash,
+ splash.binaries,
[],
name='YAFI',
debug=False,
diff --git a/yafi/main.py b/yafi/main.py
index 4497a2d..97760d4 100644
--- a/yafi/main.py
+++ b/yafi/main.py
@@ -66,6 +66,11 @@ class YafiApplication(Adw.Application):
if not self.win:
self.win = YafiWindow(application=self)
+ # Update the splash screen
+ if getattr(sys, 'frozen', False):
+ import pyi_splash
+ pyi_splash.update_text("Detecting EC")
+
try:
self.cros_ec = get_cros_ec()
pass
@@ -81,9 +86,16 @@ class YafiApplication(Adw.Application):
+ "If you are using a Framework Laptop, there are additional troubleshooting steps in the README."
)
self.show_error("EC Initalisation Error", message)
+
+ if getattr(sys, 'frozen', False):
+ pyi_splash.close()
+
self.win.present()
return
+ if getattr(sys, 'frozen', False):
+ pyi_splash.update_text("Building Interface")
+
self.change_page(self.win.content, ThermalsPage())
pages = (
@@ -111,6 +123,9 @@ class YafiApplication(Adw.Application):
self.win.navbar.connect("row-activated", lambda box, row: switch_page(row.get_index()))
+ if getattr(sys, 'frozen', False):
+ pyi_splash.close()
+
self.win.present()
def on_about_action(self, *args):
diff --git a/yafi/yafi.gresource b/yafi/yafi.gresource
index 619346c..4526015 100644
Binary files a/yafi/yafi.gresource and b/yafi/yafi.gresource differ