diff --git a/check-needles.py b/check-needles.py index f00c2fba..89d8b8d4 100755 --- a/check-needles.py +++ b/check-needles.py @@ -225,11 +225,13 @@ testtags.extend(f"anaconda_help_{fsys}" for fsys in ('install_destination', 'root_password', 'select_packages', 'installation_source', 'time_date', 'user_creation', 'language_selection', 'language', 'summary_link')) # for Gnome navigation test -for app in ("calculator", "clocks", "files", "terminal", "editor"): +for app in ("calculator", "clocks", "files", "terminal", "text_editor"): testtags.append(f"navigation_navibar_{app}") testtags.append("navigation_terminal_fullscreen") testtags.extend(f"anaconda_main_hub_{fsys}" for fsys in ('language_support', 'selec_packages', 'time_date', 'create_user','keyboard_layout')) +for selection in ("hide", "maximize", "restore"): + testtags.append(f"calculator_context_{selection}") # retcode tracker ret = 0 @@ -251,6 +253,7 @@ for needlepath in needlepaths: needletags.update(needlejson["tags"]) if any(tag in testtags for tag in needlejson["tags"]): continue + print(needlepath) unused.append(needlepath) # check for tags with no needle diff --git a/lib/utils.pm b/lib/utils.pm index c26f3c5b..68f2cc6f 100644 --- a/lib/utils.pm +++ b/lib/utils.pm @@ -1380,10 +1380,11 @@ sub menu_launch_type { # Launch an application in a graphical environment, by opening a # launcher, typing the specified string and hitting enter. Pass # the string to be typed to launch whatever it is you want. - my $app = shift; + my ($app, $maximize) = @_; + my $desktop = get_var("DESKTOP"); my $key = 'super'; - $key = 'alt-d' if (get_var("DESKTOP") eq "i3"); - if (get_var("DESKTOP") eq "kde") { + $key = 'alt-d' if ($desktop eq "i3"); + if ($desktop eq "kde") { # To overcome BZ2097208, let's move the mouse out of the way # and give the launcher some time to take the correct focus. diag("Moving the mouse away from the launcher."); @@ -1397,6 +1398,21 @@ sub menu_launch_type { wait_still_screen 2; send_key 'ret'; wait_still_screen 3; + diag("Launcher: The application $app should have been launched."); + # If we should maximize the application + if ($maximize) { + if ($desktop eq "kde") { + send_key('super-pgup'); + } + elsif ($desktop eq 'gnome') { + send_key('super-up'); + } + else { + diag('Maximizing in this desktop is not supported at the moment!'); + } + wait_still_screen 3; + diag("Maximizer: The application should have been maximized."); + } } sub tell_source { diff --git a/needles/console/root_logged_in-color-20240703.json b/needles/console/root_logged_in-color-20240703.json new file mode 100644 index 00000000..68447ea2 --- /dev/null +++ b/needles/console/root_logged_in-color-20240703.json @@ -0,0 +1,25 @@ +{ + "area": [ + { + "width": 38, + "ypos": 112, + "type": "match", + "height": 16, + "xpos": 1 + }, + { + "type": "match", + "height": 14, + "xpos": 104, + "width": 10, + "ypos": 113 + } + ], + "properties": [], + "tags": [ + "root_logged_in", + "root_console", + "ENV-DISTRI-fedora", + "ENV-FLAVOR-server" + ] +} \ No newline at end of file diff --git a/needles/console/root_logged_in-color-20240703.png b/needles/console/root_logged_in-color-20240703.png new file mode 100644 index 00000000..c99a0fe9 Binary files /dev/null and b/needles/console/root_logged_in-color-20240703.png differ diff --git a/needles/gnome/apps/apps_run_text_editor-20240703.json b/needles/gnome/apps/apps_run_text_editor-20240703.json new file mode 100644 index 00000000..c87a2f93 --- /dev/null +++ b/needles/gnome/apps/apps_run_text_editor-20240703.json @@ -0,0 +1,22 @@ +{ + "area": [ + { + "xpos": 457, + "height": 18, + "type": "match", + "ypos": 118, + "width": 110 + }, + { + "width": 60, + "ypos": 116, + "xpos": 172, + "type": "match", + "height": 18 + } + ], + "properties": [], + "tags": [ + "apps_run_text_editor" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_run_text_editor-20240703.png b/needles/gnome/apps/apps_run_text_editor-20240703.png new file mode 100644 index 00000000..3aee28fe Binary files /dev/null and b/needles/gnome/apps/apps_run_text_editor-20240703.png differ diff --git a/needles/gnome/apps/apps_run_text_editor.json b/needles/gnome/apps/apps_run_text_editor.json new file mode 100644 index 00000000..06835b9a --- /dev/null +++ b/needles/gnome/apps/apps_run_text_editor.json @@ -0,0 +1,22 @@ +{ + "area": [ + { + "xpos": 457, + "ypos": 118, + "width": 110, + "height": 18, + "type": "match" + }, + { + "xpos": 172, + "ypos": 116, + "width": 60, + "height": 18, + "type": "match" + } + ], + "properties": [], + "tags": [ + "apps_run_text_editor" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_run_text_editor.png b/needles/gnome/apps/apps_run_text_editor.png new file mode 100644 index 00000000..08654466 Binary files /dev/null and b/needles/gnome/apps/apps_run_text_editor.png differ diff --git a/needles/gnome/apps/clocks/clocks_location_access.json b/needles/gnome/apps/clocks/clocks_location_access.json new file mode 100644 index 00000000..e0a93002 --- /dev/null +++ b/needles/gnome/apps/clocks/clocks_location_access.json @@ -0,0 +1,16 @@ +{ + "properties": [], + "tags": [ + "clocks_location_access" + ], + "area": [ + { + "xpos": 383, + "ypos": 306, + "width": 138, + "height": 22, + "type": "match", + "match": "94" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/clocks/clocks_location_access.png b/needles/gnome/apps/clocks/clocks_location_access.png new file mode 100644 index 00000000..f8eee098 Binary files /dev/null and b/needles/gnome/apps/clocks/clocks_location_access.png differ diff --git a/needles/gnome/apps/navigation/apps_run_tuxracer.json b/needles/gnome/apps/navigation/apps_run_tuxracer.json new file mode 100644 index 00000000..140008f8 --- /dev/null +++ b/needles/gnome/apps/navigation/apps_run_tuxracer.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 422, + "ypos": 53, + "width": 68, + "height": 33, + "type": "match" + } + ], + "properties": [], + "tags": [ + "apps_run_tuxracer" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/apps_run_tuxracer.png b/needles/gnome/apps/navigation/apps_run_tuxracer.png new file mode 100644 index 00000000..c74f8a27 Binary files /dev/null and b/needles/gnome/apps/navigation/apps_run_tuxracer.png differ diff --git a/needles/gnome/apps/navigation/calculator_context_hide-20240624.json b/needles/gnome/apps/navigation/calculator_context_hide-20240624.json new file mode 100644 index 00000000..0881f56f --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_context_hide-20240624.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 335, + "ypos": 190, + "width": 35, + "height": 22, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_context_hide" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_context_hide-20240624.png b/needles/gnome/apps/navigation/calculator_context_hide-20240624.png new file mode 100644 index 00000000..ecd2b451 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_context_hide-20240624.png differ diff --git a/needles/gnome/apps/navigation/calculator_context_maximize.json b/needles/gnome/apps/navigation/calculator_context_maximize.json new file mode 100644 index 00000000..cb3fb1d3 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_context_maximize.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 336, + "ypos": 229, + "width": 68, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_context_maximize" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_context_maximize.png b/needles/gnome/apps/navigation/calculator_context_maximize.png new file mode 100644 index 00000000..d4a61c40 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_context_maximize.png differ diff --git a/needles/gnome/apps/navigation/calculator_context_restore-20240624.json b/needles/gnome/apps/navigation/calculator_context_restore-20240624.json new file mode 100644 index 00000000..6c4795fd --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_context_restore-20240624.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 516, + "ypos": 150, + "width": 56, + "height": 23, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_context_restore" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_context_restore-20240624.png b/needles/gnome/apps/navigation/calculator_context_restore-20240624.png new file mode 100644 index 00000000..e26909ee Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_context_restore-20240624.png differ diff --git a/needles/gnome/apps/navigation/calculator_maximized-nonet.json b/needles/gnome/apps/navigation/calculator_maximized-nonet.json new file mode 100644 index 00000000..5c8b2e45 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_maximized-nonet.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 5, + "height": 64, + "width": 89, + "xpos": 929, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_maximized" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_maximized-nonet.png b/needles/gnome/apps/navigation/calculator_maximized-nonet.png new file mode 100644 index 00000000..11347676 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_maximized-nonet.png differ diff --git a/needles/gnome/apps/navigation/calculator_maximized.json b/needles/gnome/apps/navigation/calculator_maximized.json new file mode 100644 index 00000000..38c24bed --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_maximized.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 929, + "ypos": 5, + "width": 89, + "height": 64, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_maximized" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_maximized.png b/needles/gnome/apps/navigation/calculator_maximized.png new file mode 100644 index 00000000..2ee24cf2 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_maximized.png differ diff --git a/needles/gnome/apps/navigation/calculator_select_hidden-20240624.json b/needles/gnome/apps/navigation/calculator_select_hidden-20240624.json new file mode 100644 index 00000000..c63e19f3 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_select_hidden-20240624.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "type": "match", + "height": 77, + "xpos": 433, + "width": 91, + "ypos": 436 + } + ], + "properties": [], + "tags": [ + "calculator_select_hidden" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_select_hidden-20240624.png b/needles/gnome/apps/navigation/calculator_select_hidden-20240624.png new file mode 100644 index 00000000..2285efd7 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_select_hidden-20240624.png differ diff --git a/needles/gnome/apps/navigation/calculator_select_hidden.json b/needles/gnome/apps/navigation/calculator_select_hidden.json new file mode 100644 index 00000000..f9a8df35 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_select_hidden.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 433, + "ypos": 436, + "width": 91, + "height": 77, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_select_hidden" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_select_hidden.png b/needles/gnome/apps/navigation/calculator_select_hidden.png new file mode 100644 index 00000000..ec20fb0e Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_select_hidden.png differ diff --git a/needles/gnome/apps/navigation/navigation_editor_fullscreen-20230929.json b/needles/gnome/apps/navigation/calculator_tiled_left-f41-20241010.json similarity index 51% rename from needles/gnome/apps/navigation/navigation_editor_fullscreen-20230929.json rename to needles/gnome/apps/navigation/calculator_tiled_left-f41-20241010.json index b40d47db..3d986c2d 100644 --- a/needles/gnome/apps/navigation/navigation_editor_fullscreen-20230929.json +++ b/needles/gnome/apps/navigation/calculator_tiled_left-f41-20241010.json @@ -1,15 +1,15 @@ { "area": [ { - "ypos": 1, + "ypos": 27, "type": "match", - "xpos": 6, - "height": 67, + "xpos": 470, + "height": 272, "width": 82 } ], "properties": [], "tags": [ - "navigation_editor_fullscreen" + "calculator_tiled_left" ] } \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_tiled_left-f41-20241010.png b/needles/gnome/apps/navigation/calculator_tiled_left-f41-20241010.png new file mode 100644 index 00000000..e200bb62 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_tiled_left-f41-20241010.png differ diff --git a/needles/gnome/apps/navigation/calculator_tiled_left.json b/needles/gnome/apps/navigation/calculator_tiled_left.json new file mode 100644 index 00000000..0eac66c4 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_tiled_left.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 470, + "ypos": 27, + "width": 59, + "height": 44, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_tiled_left" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_tiled_left.png b/needles/gnome/apps/navigation/calculator_tiled_left.png new file mode 100644 index 00000000..e71dc3fe Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_tiled_left.png differ diff --git a/needles/gnome/apps/navigation/calculator_tiled_right-20240624.json b/needles/gnome/apps/navigation/calculator_tiled_right-20240624.json new file mode 100644 index 00000000..ad7c2198 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_tiled_right-20240624.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "type": "match", + "height": 46, + "xpos": 506, + "width": 83, + "ypos": 25 + } + ], + "properties": [], + "tags": [ + "calculator_tiled_right" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_tiled_right-20240624.png b/needles/gnome/apps/navigation/calculator_tiled_right-20240624.png new file mode 100644 index 00000000..0db9f542 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_tiled_right-20240624.png differ diff --git a/needles/gnome/apps/navigation/calculator_tiled_right-20241010.json b/needles/gnome/apps/navigation/calculator_tiled_right-20241010.json new file mode 100644 index 00000000..5c0cfa15 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_tiled_right-20241010.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 25, + "type": "match", + "xpos": 464, + "height": 279, + "width": 83 + } + ], + "properties": [], + "tags": [ + "calculator_tiled_right" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_tiled_right-20241010.png b/needles/gnome/apps/navigation/calculator_tiled_right-20241010.png new file mode 100644 index 00000000..2b0f2bf0 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_tiled_right-20241010.png differ diff --git a/needles/gnome/apps/navigation/calculator_tiled_right-grey-20241016.json b/needles/gnome/apps/navigation/calculator_tiled_right-grey-20241016.json new file mode 100644 index 00000000..c4a67b66 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_tiled_right-grey-20241016.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "height": 279, + "ypos": 25, + "type": "match", + "xpos": 464, + "width": 83 + } + ], + "properties": [], + "tags": [ + "calculator_tiled_right" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_tiled_right-grey-20241016.png b/needles/gnome/apps/navigation/calculator_tiled_right-grey-20241016.png new file mode 100644 index 00000000..cabc0264 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_tiled_right-grey-20241016.png differ diff --git a/needles/gnome/apps/navigation/calculator_tiled_right.json b/needles/gnome/apps/navigation/calculator_tiled_right.json new file mode 100644 index 00000000..3139f9f0 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_tiled_right.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 506, + "ypos": 25, + "width": 83, + "height": 46, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_tiled_right" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_tiled_right.png b/needles/gnome/apps/navigation/calculator_tiled_right.png new file mode 100644 index 00000000..623ffc1d Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_tiled_right.png differ diff --git a/needles/gnome/apps/navigation/calculator_title_bar-20240624.json b/needles/gnome/apps/navigation/calculator_title_bar-20240624.json new file mode 100644 index 00000000..c569fa0d --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_title_bar-20240624.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "width": 49, + "ypos": 124, + "type": "match", + "height": 17, + "xpos": 280 + } + ], + "properties": [], + "tags": [ + "calculator_title_bar" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_title_bar-20240624.png b/needles/gnome/apps/navigation/calculator_title_bar-20240624.png new file mode 100644 index 00000000..6072fb1f Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_title_bar-20240624.png differ diff --git a/needles/gnome/apps/navigation/calculator_title_bar.json b/needles/gnome/apps/navigation/calculator_title_bar.json new file mode 100644 index 00000000..65c9e24e --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_title_bar.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 280, + "ypos": 124, + "width": 49, + "height": 17, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_title_bar" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_title_bar.png b/needles/gnome/apps/navigation/calculator_title_bar.png new file mode 100644 index 00000000..9dce3c3e Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_title_bar.png differ diff --git a/needles/gnome/apps/navigation/calculator_upper_edge-20240624.json b/needles/gnome/apps/navigation/calculator_upper_edge-20240624.json new file mode 100644 index 00000000..f0ef49be --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_upper_edge-20240624.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 124, + "width": 72, + "height": 19, + "type": "match", + "xpos": 208 + } + ], + "properties": [], + "tags": [ + "calculator_upper_edge" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_upper_edge-20240624.png b/needles/gnome/apps/navigation/calculator_upper_edge-20240624.png new file mode 100644 index 00000000..e253fec1 Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_upper_edge-20240624.png differ diff --git a/needles/gnome/apps/navigation/calculator_upper_edge.json b/needles/gnome/apps/navigation/calculator_upper_edge.json new file mode 100644 index 00000000..bcd711f3 --- /dev/null +++ b/needles/gnome/apps/navigation/calculator_upper_edge.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 209, + "ypos": 124, + "width": 72, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "calculator_upper_edge" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/calculator_upper_edge.png b/needles/gnome/apps/navigation/calculator_upper_edge.png new file mode 100644 index 00000000..631d51bb Binary files /dev/null and b/needles/gnome/apps/navigation/calculator_upper_edge.png differ diff --git a/needles/gnome/apps/navigation/editor_inactive-20240624.json b/needles/gnome/apps/navigation/editor_inactive-20240624.json new file mode 100644 index 00000000..e4e5b38c --- /dev/null +++ b/needles/gnome/apps/navigation/editor_inactive-20240624.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "width": 113, + "ypos": 44, + "type": "match", + "height": 21, + "xpos": 294, + "match": 94 + } + ], + "properties": [], + "tags": [ + "editor_inactive" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/editor_inactive-20240624.png b/needles/gnome/apps/navigation/editor_inactive-20240624.png new file mode 100644 index 00000000..40b5d9ec Binary files /dev/null and b/needles/gnome/apps/navigation/editor_inactive-20240624.png differ diff --git a/needles/gnome/apps/navigation/editor_inactive.json b/needles/gnome/apps/navigation/editor_inactive.json new file mode 100644 index 00000000..df770140 --- /dev/null +++ b/needles/gnome/apps/navigation/editor_inactive.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 294, + "ypos": 44, + "width": 113, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "editor_inactive" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/editor_inactive.png b/needles/gnome/apps/navigation/editor_inactive.png new file mode 100644 index 00000000..4d3a1a91 Binary files /dev/null and b/needles/gnome/apps/navigation/editor_inactive.png differ diff --git a/needles/gnome/apps/navigation/files_inactive-20241010.json b/needles/gnome/apps/navigation/files_inactive-20241010.json new file mode 100644 index 00000000..56b87faf --- /dev/null +++ b/needles/gnome/apps/navigation/files_inactive-20241010.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 102, + "xpos": 794, + "type": "match", + "width": 48, + "height": 153 + } + ], + "properties": [], + "tags": [ + "files_inactive" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/files_inactive-20241010.png b/needles/gnome/apps/navigation/files_inactive-20241010.png new file mode 100644 index 00000000..0861bcbe Binary files /dev/null and b/needles/gnome/apps/navigation/files_inactive-20241010.png differ diff --git a/needles/gnome/apps/navigation/files_inactive.json b/needles/gnome/apps/navigation/files_inactive.json new file mode 100644 index 00000000..89978362 --- /dev/null +++ b/needles/gnome/apps/navigation/files_inactive.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 794, + "ypos": 102, + "width": 48, + "height": 153, + "type": "match" + } + ], + "properties": [], + "tags": [ + "files_inactive" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/files_inactive.png b/needles/gnome/apps/navigation/files_inactive.png new file mode 100644 index 00000000..d5bb4330 Binary files /dev/null and b/needles/gnome/apps/navigation/files_inactive.png differ diff --git a/needles/gnome/apps/navigation/firefox-20240610.json b/needles/gnome/apps/navigation/firefox-20240610.json new file mode 100644 index 00000000..11aa6c45 --- /dev/null +++ b/needles/gnome/apps/navigation/firefox-20240610.json @@ -0,0 +1,31 @@ +{ + "area": [ + { + "xpos": 88, + "type": "match", + "ypos": 89, + "width": 17, + "height": 18 + }, + { + "xpos": 991, + "type": "match", + "ypos": 88, + "width": 17, + "height": 18 + }, + { + "xpos": 380, + "height": 17, + "type": "match", + "width": 19, + "ypos": 124 + } + ], + "properties": [], + "tags": [ + "firefox", + "browser", + "apps_run_firefox" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/firefox-20240610.png b/needles/gnome/apps/navigation/firefox-20240610.png new file mode 100644 index 00000000..9fbf0d79 Binary files /dev/null and b/needles/gnome/apps/navigation/firefox-20240610.png differ diff --git a/needles/gnome/apps/navigation/gnome_filedialogue_videos.json b/needles/gnome/apps/navigation/gnome_filedialogue_videos.json new file mode 100644 index 00000000..26d491a2 --- /dev/null +++ b/needles/gnome/apps/navigation/gnome_filedialogue_videos.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 14, + "ypos": 320, + "width": 69, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "gnome_filedialogue_videos" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/gnome_filedialogue_videos.png b/needles/gnome/apps/navigation/gnome_filedialogue_videos.png new file mode 100644 index 00000000..433ff4d7 Binary files /dev/null and b/needles/gnome/apps/navigation/gnome_filedialogue_videos.png differ diff --git a/needles/gnome/apps/navigation/navigation_details_notloaded.json b/needles/gnome/apps/navigation/navigation_details_notloaded.json new file mode 100644 index 00000000..089ae069 --- /dev/null +++ b/needles/gnome/apps/navigation/navigation_details_notloaded.json @@ -0,0 +1,22 @@ +{ + "area": [ + { + "ypos": 723, + "width": 103, + "height": 27, + "type": "match", + "xpos": 534 + }, + { + "type": "match", + "height": 34, + "xpos": 561, + "width": 40, + "ypos": 424 + } + ], + "properties": [], + "tags": [ + "navigation_details_notloaded" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/navigation_details_notloaded.png b/needles/gnome/apps/navigation/navigation_details_notloaded.png new file mode 100644 index 00000000..d6c16c97 Binary files /dev/null and b/needles/gnome/apps/navigation/navigation_details_notloaded.png differ diff --git a/needles/gnome/apps/navigation/navigation_details_shown-20240610.json b/needles/gnome/apps/navigation/navigation_details_shown-20240610.json new file mode 100644 index 00000000..fdfb259e --- /dev/null +++ b/needles/gnome/apps/navigation/navigation_details_shown-20240610.json @@ -0,0 +1,22 @@ +{ + "area": [ + { + "xpos": 530, + "ypos": 558, + "type": "match", + "width": 103, + "height": 27 + }, + { + "width": 40, + "type": "match", + "ypos": 424, + "height": 34, + "xpos": 561 + } + ], + "properties": [], + "tags": [ + "navigation_details_shown" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/navigation_details_shown-20240610.png b/needles/gnome/apps/navigation/navigation_details_shown-20240610.png new file mode 100644 index 00000000..9550a1e8 Binary files /dev/null and b/needles/gnome/apps/navigation/navigation_details_shown-20240610.png differ diff --git a/needles/gnome/apps/navigation/navigation_details_shown-20240624.json b/needles/gnome/apps/navigation/navigation_details_shown-20240624.json new file mode 100644 index 00000000..98c091aa --- /dev/null +++ b/needles/gnome/apps/navigation/navigation_details_shown-20240624.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 554, + "ypos": 528, + "width": 78, + "height": 220, + "type": "match" + } + ], + "properties": [], + "tags": [ + "navigation_details_shown" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/navigation_details_shown-20240624.png b/needles/gnome/apps/navigation/navigation_details_shown-20240624.png new file mode 100644 index 00000000..eb51b37f Binary files /dev/null and b/needles/gnome/apps/navigation/navigation_details_shown-20240624.png differ diff --git a/needles/gnome/apps/navigation/navigation_editor_fullscreen-20230929.png b/needles/gnome/apps/navigation/navigation_editor_fullscreen-20230929.png deleted file mode 100644 index f9d8a12a..00000000 Binary files a/needles/gnome/apps/navigation/navigation_editor_fullscreen-20230929.png and /dev/null differ diff --git a/needles/gnome/apps/navigation/navigation_files_fullscreen-20240408.json b/needles/gnome/apps/navigation/navigation_files_fullscreen-20240408.json deleted file mode 100644 index cfdd9222..00000000 --- a/needles/gnome/apps/navigation/navigation_files_fullscreen-20240408.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "xpos": 4, - "ypos": 4, - "width": 124, - "height": 65, - "type": "match" - } - ], - "properties": [], - "tags": [ - "navigation_files_fullscreen" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/navigation_files_fullscreen-20240408.png b/needles/gnome/apps/navigation/navigation_files_fullscreen-20240408.png deleted file mode 100644 index 96dc285d..00000000 Binary files a/needles/gnome/apps/navigation/navigation_files_fullscreen-20240408.png and /dev/null differ diff --git a/needles/gnome/apps/navigation/navigation_files_fullscreen-20240424.json b/needles/gnome/apps/navigation/navigation_files_fullscreen-20240424.json deleted file mode 100644 index ac7ef442..00000000 --- a/needles/gnome/apps/navigation/navigation_files_fullscreen-20240424.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "ypos": 4, - "type": "match", - "height": 65, - "xpos": 4, - "width": 124 - } - ], - "properties": [], - "tags": [ - "navigation_files_fullscreen" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/navigation_files_fullscreen-20240424.png b/needles/gnome/apps/navigation/navigation_files_fullscreen-20240424.png deleted file mode 100644 index 2b3a7477..00000000 Binary files a/needles/gnome/apps/navigation/navigation_files_fullscreen-20240424.png and /dev/null differ diff --git a/needles/gnome/apps/navigation/navigation_navibar_editor-20240409.json b/needles/gnome/apps/navigation/navigation_navibar_editor-20240409.json deleted file mode 100644 index 4c2d57d7..00000000 --- a/needles/gnome/apps/navigation/navigation_navibar_editor-20240409.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "area": [ - { - "width": 121, - "type": "match", - "height": 50, - "xpos": 728, - "ypos": 353 - } - ], - "properties": [], - "tags": [ - "navigation_navibar_editor" - ] -} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/navigation_navibar_editor-20240409.png b/needles/gnome/apps/navigation/navigation_navibar_editor-20240409.png deleted file mode 100644 index 169568d1..00000000 Binary files a/needles/gnome/apps/navigation/navigation_navibar_editor-20240409.png and /dev/null differ diff --git a/needles/gnome/apps/navigation/navigation_navibar_text_editor.json b/needles/gnome/apps/navigation/navigation_navibar_text_editor.json new file mode 100644 index 00000000..b9d7824f --- /dev/null +++ b/needles/gnome/apps/navigation/navigation_navibar_text_editor.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 746, + "ypos": 362, + "width": 89, + "height": 45, + "type": "match" + } + ], + "properties": [], + "tags": [ + "navigation_navibar_text_editor" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/navigation_navibar_text_editor.png b/needles/gnome/apps/navigation/navigation_navibar_text_editor.png new file mode 100644 index 00000000..54cabc9d Binary files /dev/null and b/needles/gnome/apps/navigation/navigation_navibar_text_editor.png differ diff --git a/needles/gnome/apps/navigation/navigation_three_workspaces-20240610.json b/needles/gnome/apps/navigation/navigation_three_workspaces-20240610.json new file mode 100644 index 00000000..c09f475d --- /dev/null +++ b/needles/gnome/apps/navigation/navigation_three_workspaces-20240610.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 447, + "height": 38, + "type": "match", + "width": 127, + "ypos": 98 + } + ], + "properties": [], + "tags": [ + "navigation_three_workspaces" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/navigation_three_workspaces-20240610.png b/needles/gnome/apps/navigation/navigation_three_workspaces-20240610.png new file mode 100644 index 00000000..acdf7e0b Binary files /dev/null and b/needles/gnome/apps/navigation/navigation_three_workspaces-20240610.png differ diff --git a/needles/gnome/apps/navigation/navigation_three_workspaces-20241010.json b/needles/gnome/apps/navigation/navigation_three_workspaces-20241010.json new file mode 100644 index 00000000..e85e8a35 --- /dev/null +++ b/needles/gnome/apps/navigation/navigation_three_workspaces-20241010.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "height": 38, + "width": 127, + "xpos": 448, + "type": "match", + "ypos": 96 + } + ], + "properties": [], + "tags": [ + "navigation_three_workspaces" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/navigation_three_workspaces-20241010.png b/needles/gnome/apps/navigation/navigation_three_workspaces-20241010.png new file mode 100644 index 00000000..383de735 Binary files /dev/null and b/needles/gnome/apps/navigation/navigation_three_workspaces-20241010.png differ diff --git a/needles/gnome/apps/navigation/terminal_prompt-20240703.json b/needles/gnome/apps/navigation/terminal_prompt-20240703.json new file mode 100644 index 00000000..9b9139bd --- /dev/null +++ b/needles/gnome/apps/navigation/terminal_prompt-20240703.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 2, + "ypos": 246, + "width": 88, + "height": 14, + "type": "match" + } + ], + "properties": [], + "tags": [ + "terminal_prompt" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/terminal_prompt-20240703.png b/needles/gnome/apps/navigation/terminal_prompt-20240703.png new file mode 100644 index 00000000..d0c73625 Binary files /dev/null and b/needles/gnome/apps/navigation/terminal_prompt-20240703.png differ diff --git a/needles/gnome/apps/navigation/terminal_prompt.json b/needles/gnome/apps/navigation/terminal_prompt.json new file mode 100644 index 00000000..5a84827d --- /dev/null +++ b/needles/gnome/apps/navigation/terminal_prompt.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 3, + "ypos": 244, + "width": 88, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "terminal_prompt" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/terminal_prompt.png b/needles/gnome/apps/navigation/terminal_prompt.png new file mode 100644 index 00000000..aa7f341f Binary files /dev/null and b/needles/gnome/apps/navigation/terminal_prompt.png differ diff --git a/needles/gnome/apps/navigation/tuxracer_bunnyhill-smaller.json b/needles/gnome/apps/navigation/tuxracer_bunnyhill-smaller.json new file mode 100644 index 00000000..dddef6f8 --- /dev/null +++ b/needles/gnome/apps/navigation/tuxracer_bunnyhill-smaller.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 318, + "ypos": 367, + "width": 91, + "height": 23, + "type": "match" + } + ], + "properties": [], + "tags": [ + "tuxracer_bunnyhill" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/tuxracer_bunnyhill-smaller.png b/needles/gnome/apps/navigation/tuxracer_bunnyhill-smaller.png new file mode 100644 index 00000000..dee32cc8 Binary files /dev/null and b/needles/gnome/apps/navigation/tuxracer_bunnyhill-smaller.png differ diff --git a/needles/gnome/apps/navigation/tuxracer_bunnyhill.json b/needles/gnome/apps/navigation/tuxracer_bunnyhill.json new file mode 100644 index 00000000..3b59f819 --- /dev/null +++ b/needles/gnome/apps/navigation/tuxracer_bunnyhill.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 257, + "ypos": 308, + "width": 120, + "height": 32, + "type": "match" + } + ], + "properties": [], + "tags": [ + "tuxracer_bunnyhill" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/tuxracer_bunnyhill.png b/needles/gnome/apps/navigation/tuxracer_bunnyhill.png new file mode 100644 index 00000000..4e9f7fb4 Binary files /dev/null and b/needles/gnome/apps/navigation/tuxracer_bunnyhill.png differ diff --git a/needles/gnome/apps/navigation/tuxracer_menu-smaller.json b/needles/gnome/apps/navigation/tuxracer_menu-smaller.json new file mode 100644 index 00000000..b202be1b --- /dev/null +++ b/needles/gnome/apps/navigation/tuxracer_menu-smaller.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 316, + "ypos": 180, + "width": 108, + "height": 74, + "type": "match" + } + ], + "properties": [], + "tags": [ + "tuxracer_menu" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/tuxracer_menu-smaller.png b/needles/gnome/apps/navigation/tuxracer_menu-smaller.png new file mode 100644 index 00000000..2a4c4064 Binary files /dev/null and b/needles/gnome/apps/navigation/tuxracer_menu-smaller.png differ diff --git a/needles/gnome/apps/navigation/tuxracer_menu.json b/needles/gnome/apps/navigation/tuxracer_menu.json new file mode 100644 index 00000000..1960e9dd --- /dev/null +++ b/needles/gnome/apps/navigation/tuxracer_menu.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 329, + "ypos": 69, + "width": 147, + "height": 97, + "type": "match" + } + ], + "properties": [], + "tags": [ + "tuxracer_menu" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/tuxracer_menu.png b/needles/gnome/apps/navigation/tuxracer_menu.png new file mode 100644 index 00000000..669c9b5d Binary files /dev/null and b/needles/gnome/apps/navigation/tuxracer_menu.png differ diff --git a/needles/gnome/apps/navigation/video_add_button.json b/needles/gnome/apps/navigation/video_add_button.json new file mode 100644 index 00000000..c4a17205 --- /dev/null +++ b/needles/gnome/apps/navigation/video_add_button.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 962, + "ypos": 45, + "width": 37, + "height": 22, + "type": "match" + } + ], + "properties": [], + "tags": [ + "video_add_button" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_add_button.png b/needles/gnome/apps/navigation/video_add_button.png new file mode 100644 index 00000000..72438743 Binary files /dev/null and b/needles/gnome/apps/navigation/video_add_button.png differ diff --git a/needles/gnome/apps/navigation/video_add_local_video.json b/needles/gnome/apps/navigation/video_add_local_video.json new file mode 100644 index 00000000..9f1bafd2 --- /dev/null +++ b/needles/gnome/apps/navigation/video_add_local_video.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 26, + "ypos": 105, + "width": 107, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "video_add_local_video" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_add_local_video.png b/needles/gnome/apps/navigation/video_add_local_video.png new file mode 100644 index 00000000..079ae38f Binary files /dev/null and b/needles/gnome/apps/navigation/video_add_local_video.png differ diff --git a/needles/gnome/apps/navigation/video_add_video.json b/needles/gnome/apps/navigation/video_add_video.json new file mode 100644 index 00000000..4f6bb32a --- /dev/null +++ b/needles/gnome/apps/navigation/video_add_video.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 14, + "ypos": 44, + "width": 22, + "height": 22, + "type": "match" + } + ], + "properties": [], + "tags": [ + "video_add_video" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_add_video.png b/needles/gnome/apps/navigation/video_add_video.png new file mode 100644 index 00000000..d0cdd440 Binary files /dev/null and b/needles/gnome/apps/navigation/video_add_video.png differ diff --git a/needles/gnome/apps/navigation/video_first_stop.json b/needles/gnome/apps/navigation/video_first_stop.json new file mode 100644 index 00000000..a0628eb8 --- /dev/null +++ b/needles/gnome/apps/navigation/video_first_stop.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 434, + "ypos": 684, + "width": 149, + "height": 46, + "type": "match" + } + ], + "properties": [], + "tags": [ + "video_first_stop" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_first_stop.png b/needles/gnome/apps/navigation/video_first_stop.png new file mode 100644 index 00000000..4293bfdd Binary files /dev/null and b/needles/gnome/apps/navigation/video_first_stop.png differ diff --git a/needles/gnome/apps/navigation/video_fullscreen_off-1438-20241010.json b/needles/gnome/apps/navigation/video_fullscreen_off-1438-20241010.json new file mode 100644 index 00000000..6efee6ad --- /dev/null +++ b/needles/gnome/apps/navigation/video_fullscreen_off-1438-20241010.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 44, + "type": "match", + "height": 62, + "width": 80, + "xpos": 472 + } + ], + "properties": [], + "tags": [ + "video_fullscreen_off" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_fullscreen_off-1438-20241010.png b/needles/gnome/apps/navigation/video_fullscreen_off-1438-20241010.png new file mode 100644 index 00000000..c759a7fb Binary files /dev/null and b/needles/gnome/apps/navigation/video_fullscreen_off-1438-20241010.png differ diff --git a/needles/gnome/apps/navigation/video_fullscreen_off-20240626.json b/needles/gnome/apps/navigation/video_fullscreen_off-20240626.json new file mode 100644 index 00000000..6ad59464 --- /dev/null +++ b/needles/gnome/apps/navigation/video_fullscreen_off-20240626.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "width": 80, + "ypos": 6, + "type": "match", + "height": 107, + "xpos": 879 + } + ], + "properties": [], + "tags": [ + "video_fullscreen_off" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_fullscreen_off-20240626.png b/needles/gnome/apps/navigation/video_fullscreen_off-20240626.png new file mode 100644 index 00000000..0476fe17 Binary files /dev/null and b/needles/gnome/apps/navigation/video_fullscreen_off-20240626.png differ diff --git a/needles/gnome/apps/navigation/video_fullscreen_off-20240704.json b/needles/gnome/apps/navigation/video_fullscreen_off-20240704.json new file mode 100644 index 00000000..37b12a3b --- /dev/null +++ b/needles/gnome/apps/navigation/video_fullscreen_off-20240704.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "type": "match", + "height": 107, + "ypos": 6, + "xpos": 879, + "width": 80 + } + ], + "properties": [], + "tags": [ + "video_fullscreen_off" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_fullscreen_off-20240704.png b/needles/gnome/apps/navigation/video_fullscreen_off-20240704.png new file mode 100644 index 00000000..966c2274 Binary files /dev/null and b/needles/gnome/apps/navigation/video_fullscreen_off-20240704.png differ diff --git a/needles/gnome/apps/navigation/video_fullscreen_off.json b/needles/gnome/apps/navigation/video_fullscreen_off.json new file mode 100644 index 00000000..396d5eb5 --- /dev/null +++ b/needles/gnome/apps/navigation/video_fullscreen_off.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 472, + "ypos": 44, + "width": 80, + "height": 62, + "type": "match" + } + ], + "properties": [], + "tags": [ + "video_fullscreen_off" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_fullscreen_off.png b/needles/gnome/apps/navigation/video_fullscreen_off.png new file mode 100644 index 00000000..85d6122d Binary files /dev/null and b/needles/gnome/apps/navigation/video_fullscreen_off.png differ diff --git a/needles/gnome/apps/navigation/video_fullscreen_on-20240610.json b/needles/gnome/apps/navigation/video_fullscreen_on-20240610.json new file mode 100644 index 00000000..18d68093 --- /dev/null +++ b/needles/gnome/apps/navigation/video_fullscreen_on-20240610.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 471, + "type": "match", + "ypos": 5, + "width": 85, + "height": 21 + } + ], + "properties": [], + "tags": [ + "video_fullscreen_on" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_fullscreen_on-20240610.png b/needles/gnome/apps/navigation/video_fullscreen_on-20240610.png new file mode 100644 index 00000000..46fe4597 Binary files /dev/null and b/needles/gnome/apps/navigation/video_fullscreen_on-20240610.png differ diff --git a/needles/gnome/apps/navigation/video_fullscreen_on.json b/needles/gnome/apps/navigation/video_fullscreen_on.json new file mode 100644 index 00000000..adc19c24 --- /dev/null +++ b/needles/gnome/apps/navigation/video_fullscreen_on.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 471, + "ypos": 5, + "width": 85, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "video_fullscreen_on" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_fullscreen_on.png b/needles/gnome/apps/navigation/video_fullscreen_on.png new file mode 100644 index 00000000..c2000e89 Binary files /dev/null and b/needles/gnome/apps/navigation/video_fullscreen_on.png differ diff --git a/needles/gnome/apps/navigation/video_grid_shown-20240610.json b/needles/gnome/apps/navigation/video_grid_shown-20240610.json new file mode 100644 index 00000000..a8d9cb95 --- /dev/null +++ b/needles/gnome/apps/navigation/video_grid_shown-20240610.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 30, + "height": 278, + "ypos": 102, + "type": "match", + "width": 251 + } + ], + "properties": [], + "tags": [ + "video_grid_shown" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_grid_shown-20240610.png b/needles/gnome/apps/navigation/video_grid_shown-20240610.png new file mode 100644 index 00000000..ede93788 Binary files /dev/null and b/needles/gnome/apps/navigation/video_grid_shown-20240610.png differ diff --git a/needles/gnome/apps/navigation/video_grid_shown-20240624.json b/needles/gnome/apps/navigation/video_grid_shown-20240624.json new file mode 100644 index 00000000..e930e22b --- /dev/null +++ b/needles/gnome/apps/navigation/video_grid_shown-20240624.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "ypos": 105, + "width": 251, + "height": 278, + "type": "match", + "xpos": 29 + } + ], + "properties": [], + "tags": [ + "video_grid_shown" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_grid_shown-20240624.png b/needles/gnome/apps/navigation/video_grid_shown-20240624.png new file mode 100644 index 00000000..cd989df7 Binary files /dev/null and b/needles/gnome/apps/navigation/video_grid_shown-20240624.png differ diff --git a/needles/gnome/apps/navigation/video_grid_shown.json b/needles/gnome/apps/navigation/video_grid_shown.json new file mode 100644 index 00000000..2aac7418 --- /dev/null +++ b/needles/gnome/apps/navigation/video_grid_shown.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 30, + "ypos": 103, + "width": 251, + "height": 278, + "type": "match" + } + ], + "properties": [], + "tags": [ + "video_grid_shown" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_grid_shown.png b/needles/gnome/apps/navigation/video_grid_shown.png new file mode 100644 index 00000000..5faa8250 Binary files /dev/null and b/needles/gnome/apps/navigation/video_grid_shown.png differ diff --git a/needles/gnome/apps/navigation/video_second_stop-20240610.json b/needles/gnome/apps/navigation/video_second_stop-20240610.json new file mode 100644 index 00000000..9d7b83bd --- /dev/null +++ b/needles/gnome/apps/navigation/video_second_stop-20240610.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "height": 107, + "type": "match", + "ypos": 342, + "width": 92, + "xpos": 103 + } + ], + "properties": [], + "tags": [ + "video_second_stop" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_second_stop-20240610.png b/needles/gnome/apps/navigation/video_second_stop-20240610.png new file mode 100644 index 00000000..41eccd6d Binary files /dev/null and b/needles/gnome/apps/navigation/video_second_stop-20240610.png differ diff --git a/needles/gnome/apps/navigation/video_second_stop.json b/needles/gnome/apps/navigation/video_second_stop.json new file mode 100644 index 00000000..d922e7f3 --- /dev/null +++ b/needles/gnome/apps/navigation/video_second_stop.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 464, + "ypos": 178, + "width": 92, + "height": 107, + "type": "match" + } + ], + "properties": [], + "tags": [ + "video_second_stop" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_second_stop.png b/needles/gnome/apps/navigation/video_second_stop.png new file mode 100644 index 00000000..2404cb82 Binary files /dev/null and b/needles/gnome/apps/navigation/video_second_stop.png differ diff --git a/needles/gnome/apps/navigation/video_third_stop.json b/needles/gnome/apps/navigation/video_third_stop.json new file mode 100644 index 00000000..00c7a0e2 --- /dev/null +++ b/needles/gnome/apps/navigation/video_third_stop.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 319, + "ypos": 164, + "width": 83, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "video_third_stop" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/navigation/video_third_stop.png b/needles/gnome/apps/navigation/video_third_stop.png new file mode 100644 index 00000000..dc8e3e4a Binary files /dev/null and b/needles/gnome/apps/navigation/video_third_stop.png differ diff --git a/tests/applications/navigation/aaa_setup.pm b/tests/applications/navigation/aaa_setup.pm index c6e45132..baaf89f5 100644 --- a/tests/applications/navigation/aaa_setup.pm +++ b/tests/applications/navigation/aaa_setup.pm @@ -7,25 +7,29 @@ use utils; sub run { my $self = shift; + my $version = get_release_number(); + my $user = get_var("USER_LOGIN", "test"); + my $canned = get_var("CANNED"); # Let us wait here for a couple of seconds to give the VM time to settle. # Starting right over might result in erroneous behavior. sleep(5); # Set the update notification timestamp set_update_notification_timestamp(); - # Start Firefox - menu_launch_type("nautilus"); - assert_screen "apps_run_files", 45; - # let it settle a bit - wait_still_screen(stilltime => 5, similarity_level => 45); - send_key("super-up"); - assert_screen("navigation_files_fullscreen"); - - # Start Gnome Text Editor - menu_launch_type("text-editor"); - assert_screen("apps_run_editor"); - wait_still_screen(2); - send_key("super-up"); - assert_screen("navigation_editor_fullscreen"); + # Change to root console, install a game package, + # download testdata, and return to the desktop environment. + $self->root_console(tty => 3); + if ($canned) { + assert_script_run('flatpak install -y net.sourceforge.ExtremeTuxRacer', timeout => 300); + # On Silverblue, Totem is not installed by default. Install it. + assert_script_run('flatpak install -y org.gnome.Totem', timeout => 300); + } + else { + assert_script_run("dnf install -y extremetuxracer", timeout => 180); + } + assert_script_run("curl -O https://pagure.io/fedora-qa/openqa_testdata/blob/thetree/f/video/video.ogv", timeout => 120); + # Put the downloaded video in the Videos folder + assert_script_run("mv video.ogv /home/$user/Videos/"); + desktop_vt(); } sub test_flags { diff --git a/tests/applications/navigation/full_screen.pm b/tests/applications/navigation/full_screen.pm new file mode 100644 index 00000000..67744a23 --- /dev/null +++ b/tests/applications/navigation/full_screen.pm @@ -0,0 +1,51 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This will test that +# - application can be toggled between full screen and normal view + +sub run { + my $self = shift; + # Settle in for a while + sleep(5); + # The full screen is not supported by any application, but it + # is supported by several, such as Terminal. + menu_launch_type("terminal", "maximize"); + # If we see prompt, everything is ok. + assert_screen("terminal_prompt"); + + # When the application is maximised but not full screen, + # the panel controls should be visible. + assert_screen("panel_controls"); + + # F11 will trigger the full screen mode, the panel controls + # should no longer be visible, but the page content should + # still be visible. + send_key("f11"); + + # We still need to see the prompt. + assert_screen("terminal_prompt"); + # But we should not see the panels. + if (check_screen("panel_controls")) { + die("It seems that full screen mode has not been triggered correctly."); + } + + # Another F11 will trigger that full screen mode off. The panel + # controls will be visible again and the page content, too. + send_key("f11"); + assert_screen("terminal_prompt"); + assert_screen("panel_controls"); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: + + + diff --git a/tests/applications/navigation/navigation_details.pm b/tests/applications/navigation/navigation_details.pm index cf00119c..1ca9af54 100644 --- a/tests/applications/navigation/navigation_details.pm +++ b/tests/applications/navigation/navigation_details.pm @@ -11,6 +11,10 @@ sub run { # Let us wait here for a couple of seconds to give the VM time to settle. # Starting right over might result in erroneous behavior. sleep(5); + menu_launch_type("text editor", "maximize"); + assert_screen("apps_run_texteditor"); + menu_launch_type("files", "maximize"); + assert_screen("apps_run_files"); # If we are at Nautilus switch to editor if (check_screen("apps_run_files")) { @@ -24,7 +28,16 @@ sub run { hold_key("alt"); send_key("tab"); send_key("~"); - assert_screen("navigation_details_shown"); + # Sometimes, the details take a time to load, + # if that happens, fail softly. + unless (check_screen('navigation_details_shown', timeout => 30)) { + if (check_screen('navigation_details_notloaded')) { + record_soft_failure('Window details not loaded in time.'); + } + } + else { + assert_screen("navigation_details_shown", timeout => 60); + } release_key("alt"); } diff --git a/tests/applications/navigation/play_game.pm b/tests/applications/navigation/play_game.pm new file mode 100644 index 00000000..407c6ae7 --- /dev/null +++ b/tests/applications/navigation/play_game.pm @@ -0,0 +1,112 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This will test that +# - a game can be played both full screen or normal + +sub send_tab_to_select { + my $times = shift; + foreach (1 .. $times) { + send_key("tab"); + sleep(1); + } + send_key("ret"); + sleep(2); +} + +sub go_tux { + my $time = shift // 20; + while ($time > 0) { + hold_key("up"); + sleep(1); + release_key("up"); + sleep(3); + $time -= 1; + } +} + +sub run { + my $self = shift; + + # Open the game + menu_launch_type("tux racer"); + assert_screen("apps_run_tuxracer"); + + # Check that it has started in the fullscreen mode. + if (check_screen("panel_controls")) { + record_soft_failure("The game should have started in full screen mode."); + } + # Select new game. The background changes like hell, + # and the mouse does not work particularly well + # without 3d acceleration, so we need to rely + # on keyboard. + # Take what is offered. + send_tab_to_select(2); + assert_screen('tuxracer_menu'); + # Navigate to start the practice + send_tab_to_select(1); + assert_screen('tuxracer_bunnyhill'); + # Navigate to start the race. + send_tab_to_select(6); + # Wait a little bit to start the race + sleep(5); + + # Try to play the game. + # This is sending a forward key intermittently + # to slide to slope towards the finish. As it is difficult + # to make sure Tux finishes in the right place and because + # the game graphics changes a lot, we need to check whether + # the screen changes and when it stops changing for some + # time, we could assume that we have finished the game. + assert_screen_change(sub { go_tux(30) }, timeout => 10); + # Then hit to come back to the Race settings. + send_key('esc'); + assert_screen('tuxracer_bunnyhill'); + sleep(2); + # One more escape to come to the menu. + send_key('esc'); + assert_screen('tuxracer_menu'); + # Navigate to Configuration and switch off full screen. + send_tab_to_select(2); + # Hit space to switch off full screen. + send_key('spc'); + sleep(1); + # Go and press OK. + send_tab_to_select(7); + + # Now the application should be in non-fs mode, + # so we should be able to see the Gnome panel + assert_screen("panel_controls"); + + # Start the game again. + send_tab_to_select(1); + assert_screen('tuxracer_bunnyhill'); + send_tab_to_select(6); + sleep(5); + + # Play it as before. + assert_screen_change(sub { go_tux(30) }, timeout => 10); + + # Send Esc + send_key('esc'); + assert_screen('tuxracer_bunnyhill'); + + send_key('esc'); + assert_screen('tuxracer_menu'); + + # Quit game + send_tab_to_select(6); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: + + + diff --git a/tests/applications/navigation/play_video.pm b/tests/applications/navigation/play_video.pm new file mode 100644 index 00000000..c59da609 --- /dev/null +++ b/tests/applications/navigation/play_video.pm @@ -0,0 +1,79 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This will test that +# - a video can be played both full screen or normal + +sub run { + my $self = shift; + # Start the Video player + menu_launch_type("videos"); + assert_screen("apps_run_videos"); + # The Video player should start with a grid view + # of videos, check that it runs and that the + # video is displayed in that view or we will add + # the video to the grid. + unless (check_screen("video_grid_shown")) { + assert_and_click("video_add_video"); + assert_and_click("video_add_local_video"); + wait_still_screen(3); + assert_and_click("gnome_filedialogue_videos"); + assert_and_click("video_add_button"); + } + assert_screen("video_grid_shown"); + # We will start the Video by clicking on the icon + click_lastmatch(); + # The Video should not start in the full screen mode + # therefore, we check for panel controls. + assert_screen("panel_controls"); + # We wait for a couple of seconds and then we try + # to stop the video to make some screen assertion. + sleep(3); + # Stop the Video + send_key("spc"); + # Check that correct picture is shown. + assert_screen("video_first_stop"); + # Continue, wait three seconds, stop and repeat. + send_key("spc"); + sleep(3); + # Stop the video for the second time. + send_key("spc"); + assert_screen("video_second_stop"); + # Continue and switch to full screen + send_key("spc"); + sleep(1); + send_key("f"); + # And stop the video + send_key("spc"); + # We should be in the full screen + # mode and no panels should be visible. + assert_screen("video_fullscreen_on"); + # Start the video again. + send_key("spc"); + sleep(2); + send_key("spc"); + assert_screen("video_third_stop"); + # Continue playing, make video not + # full screen again, check the panels. + send_key("spc"); + sleep(1); + send_key("f"); + send_key("spc"); + assert_screen("video_fullscreen_off", timeout => 3); + # Finish the video and check the content + send_key("spc"); + assert_screen_change(sub { sleep(1) }, timeout => 2); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: + + + diff --git a/tests/applications/navigation/switch_application.pm b/tests/applications/navigation/switch_application.pm index 18634e32..b90d22ba 100644 --- a/tests/applications/navigation/switch_application.pm +++ b/tests/applications/navigation/switch_application.pm @@ -6,25 +6,12 @@ use utils; # This will test that user can switch between two applications # using the navigation combo Alt-tab. -sub start_maxed { - my $app = shift; - menu_launch_type($app); - assert_screen ["apps_run_$app", "grant_access"]; - # give access rights if asked - if (match_has_tag "grant_access") { - click_lastmatch; - assert_screen "apps_run_$app"; - } - wait_still_screen(3); - wait_screen_change { send_key("super-up"); }; - wait_still_screen(2); -} - sub switch_to_app { # This will use Alt-tab to switch to the desired application. # Use the name of the application and the direction in which # the search should be performed, either forward or backward. my ($application, $dir, $fullscreen) = @_; + $application =~ s/ /_/g; # If we want to search backwards, we will hold the shift key. if ($dir eq "backward") { hold_key("shift"); @@ -33,7 +20,7 @@ sub switch_to_app { # key combo. hold_key("alt"); # We will send tab, until we have arrived at the correct icon - send_key_until_needlematch("navigation_navibar_$application", "tab", 10); + send_key_until_needlematch("navigation_navibar_$application", "tab", 10, 2); # We will release the alt key. release_key("alt"); # @@ -62,6 +49,10 @@ sub run { my $self = shift; ### Switch between two applications + menu_launch_type("files"); + assert_screen("apps_run_files"); + menu_launch_type("text editor"); + assert_screen('apps_run_texteditor'); # From the setup script, we should be seeing the editor # window. # Switch to the other application. @@ -70,14 +61,28 @@ sub run { # Switch back send_key("alt-tab"); - assert_screen("apps_run_editor"); + assert_screen("apps_run_text_editor"); + + # Switch by clicking on the certain application. + assert_and_click("files_inactive"); + assert_screen("apps_run_files"); + assert_and_click("editor_inactive"); + assert_screen("apps_run_text_editor"); ### Switch between more applications # Start more applications. - start_maxed("clocks"); - start_maxed("calculator"); - start_maxed("terminal"); + menu_launch_type("clocks", "maximize"); + # Sometime, Clocks start with an access request, + # deny it. + if (check_screen('clocks_location_access')) { + send_key('ret'); + } + assert_screen('apps_run_clocks'); + menu_launch_type("calculator", "maximize"); + assert_screen('apps_run_calculator'); + menu_launch_type("terminal", "maximize"); + assert_screen('apps_run_terminal'); ## Going forwards # Switch to Calculator using alt-tab @@ -94,21 +99,22 @@ sub run { ### Switch to and from a full screen application # We will make Terminal to full screen send_key("f11"); + wait_still_screen(3); # Switch to Editor - switch_to_app("editor", "forward"); + switch_to_app("text editor", "forward"); # Switch to Terminal (fullscreen) switch_to_app("terminal", "backward", 1); # Switch to Editor - switch_to_app("editor", "forward"); + switch_to_app("text editor", "forward"); ### Switch between minimised apps. # Minimise Editor send_key("super-h"); # Check that the application has minimised. - check_hidden("editor"); + check_hidden("text editor"); # Switch to Clocks switch_to_app("clocks", "forward"); @@ -118,7 +124,7 @@ sub run { check_hidden("clocks"); # Switch to Editor - switch_to_app("editor", "forward"); + switch_to_app("text editor", "forward"); # Switch to Clocks switch_to_app("clocks", "forward"); diff --git a/tests/applications/navigation/switch_workplaces.pm b/tests/applications/navigation/switch_workplaces.pm index e16f0568..7235d7da 100644 --- a/tests/applications/navigation/switch_workplaces.pm +++ b/tests/applications/navigation/switch_workplaces.pm @@ -27,6 +27,10 @@ sub run { # Let us wait here for a couple of seconds to give the VM time to settle. # Starting right over might result in erroneous behavior. sleep(5); + menu_launch_type("files", "maximize"); + assert_screen('apps_run_files'); + menu_launch_type("text editor", "maximize"); + assert_screen('apps_run_texteditor'); # The focused application should be the Editor, so let's check it is # visible on the beginning screen. Then switch to another workplace. diff --git a/tests/applications/navigation/window_operations.pm b/tests/applications/navigation/window_operations.pm new file mode 100644 index 00000000..c0f11fac --- /dev/null +++ b/tests/applications/navigation/window_operations.pm @@ -0,0 +1,103 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This will test that +# - window can be maximized +# - window can be minimized +# - window can be restored to the previous size +# - window can be moved across screen +# - window can be tiled left, right, up, down +# - window can be resized +# - window can be closed + +sub use_menu { + my $selection = shift; + assert_and_click("calculator_title_bar", button => 'right'); + assert_and_click("calculator_context_$selection"); + wait_still_screen(2); +} + +sub run { + my $self = shift; + my $version = get_release_number(); + sleep(5); + + # Let's start a new application. We'll go with Calculator, + # because it has a small window that fits nicely into + # a small screen we use in openQA. + menu_launch_type("calculator"); + assert_screen("apps_run_calculator"); + + # Maximize the application - right click and select from + # the context menu. + use_menu('maximize'); + assert_screen("calculator_maximized"); + + # Restore the application - right click and select from + # the context menu. + use_menu('restore'); + # If we are still maximized, it did not work -> die + if (check_screen('calculator_maximized', timeout => 5)) { + die("The application should have been restored via menu, but is not."); + } + + # Hide the application - right click and select from + # the context menu. + use_menu('hide'); + # Check that we see the application, if so, it did not work + # and we die. + if (check_screen('apps_run_calculator', timeout => 5)) { + die("The application should have been hidden via menu, but is not."); + } + + # Unhide the application + send_key('super'); + sleep(2); + assert_and_click('calculator_select_hidden'); + assert_screen('apps_run_calculator'); + + # Maximise the application using a double click. + assert_and_dclick("calculator_upper_edge"); + assert_screen("calculator_maximized"); + + # Restore using a double click. + assert_and_dclick("calculator_upper_edge"); + if (check_screen("calculator_maximized", timeout => 5)) { + die("The application should have been restored via click, but is not."); + } + + # Maximise the application using a short cut + send_key("super-up"); + assert_screen('calculator_maximized'); + + # Restore using short cut + send_key("super-down"); + if (check_screen("calculator_maximized")) { + die("The application should have been restored via keyboard, but is not."); + } + + # Tile the application to left side + send_key("super-left"); + assert_screen("calculator_tiled_left"); + + # Tile the application to the right side + send_key("super-right"); + assert_screen("calculator_tiled_right"); + + # Close the window. + send_key("alt-f4"); + check_desktop(); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; + +# vim: set sw=4 et: + + +