From e069a253965ac2c468ccfdf740f892bf594629d2 Mon Sep 17 00:00:00 2001 From: Lukas Ruzicka Date: Feb 23 2024 11:38:42 +0000 Subject: Create a workaround for Flatpak Fonts start up. On Silverblue, Fonts cannot be started using the menu_launch_type for the first time, or it starts and crashes immediately. However, if Fonts are started with flatpak run org.gnome.font-viewer, it seems that the application starts and holds. Let's start it using this workaround and when it still crashes, let's restart. --- diff --git a/needles/gnome/apps/fonts/fonts_liberation_font_found-20240223.json b/needles/gnome/apps/fonts/fonts_liberation_font_found-20240223.json new file mode 100644 index 0000000..e052478 --- /dev/null +++ b/needles/gnome/apps/fonts/fonts_liberation_font_found-20240223.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "height": 162, + "type": "match", + "xpos": 236, + "ypos": 165, + "width": 159 + } + ], + "properties": [], + "tags": [ + "fonts_liberation_font_found" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/fonts/fonts_liberation_font_found-20240223.png b/needles/gnome/apps/fonts/fonts_liberation_font_found-20240223.png new file mode 100644 index 0000000..8b3532f Binary files /dev/null and b/needles/gnome/apps/fonts/fonts_liberation_font_found-20240223.png differ diff --git a/tests/applications/fonts/aaa_setup.pm b/tests/applications/fonts/aaa_setup.pm index 2847849..e0d4c08 100644 --- a/tests/applications/fonts/aaa_setup.pm +++ b/tests/applications/fonts/aaa_setup.pm @@ -11,10 +11,25 @@ sub run { # set the update notification timestamp set_update_notification_timestamp(); - # Start the application - menu_launch_type("fonts"); + my $crash = 1; + + # Workaround on Silverblue + # https://gitlab.gnome.org/GNOME/gnome-font-viewer/-/issues/78 + if (get_var("SUBVARIANT") eq "Silverblue") { + # Open the command line + send_key("alt-f2"); + sleep(2); + # Start the application with a command and let it crash + type_very_safely("flatpak run org.gnome.font-viewer\n"); + # In case it does not crash, remember it. + if (check_screen("apps_run_fonts", timeout => 30)) { + $crash = 0; + } + } + # Start the application, unless already running. + menu_launch_type("fonts") if ($crash == 1); # Check that is started - assert_screen 'apps_run_fonts'; + assert_screen('apps_run_fonts', timeout => 60); # Fullsize the window. send_key("super-up");