diff options
author | António Fernandes <antoniof@gnome.org> | 2022-02-11 19:01:52 +0000 |
---|---|---|
committer | António Fernandes <antoniof@gnome.org> | 2022-02-11 19:23:35 +0000 |
commit | 1de4bf03753d8a123829e3245ce32a2606fc1e0c (patch) | |
tree | be391220240778483e8b58e9f3da728856f50326 | |
parent | c4e54b97e76a196d77e69789df163080d90bb81c (diff) | |
download | nautilus-1de4bf03753d8a123829e3245ce32a2606fc1e0c.tar.gz |
Revert "program-choosing: Replace GdkScreen with GdkDisplay"
This reverts commit 363f3ed1ebc3242adc20c75a271566b74a09fefe.
-rw-r--r-- | src/nautilus-files-view.c | 22 | ||||
-rw-r--r-- | src/nautilus-mime-actions.c | 8 | ||||
-rw-r--r-- | src/nautilus-program-choosing.c | 26 | ||||
-rw-r--r-- | src/nautilus-program-choosing.h | 9 |
4 files changed, 39 insertions, 26 deletions
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c index b48c3c5dc..554199774 100644 --- a/src/nautilus-files-view.c +++ b/src/nautilus-files-view.c @@ -5243,7 +5243,7 @@ run_script (GSimpleAction *action, g_autofree gchar *old_working_dir = NULL; g_autolist (NautilusFile) selection = NULL; g_auto (GStrv) parameters = NULL; - GdkDisplay *display; + GdkScreen *screen; launch_parameters = (ScriptLaunchParameters *) user_data; priv = nautilus_files_view_get_instance_private (launch_parameters->directory_view); @@ -5260,12 +5260,12 @@ run_script (GSimpleAction *action, parameters = get_file_names_as_parameter_array (selection, priv->model); - display = gtk_widget_get_display (GTK_WIDGET (launch_parameters->directory_view)); + screen = gtk_widget_get_screen (GTK_WIDGET (launch_parameters->directory_view)); DEBUG ("run_script, script_path=“%s” (omitting script parameters)", local_file_path); - nautilus_launch_application_from_command_array (display, quoted_path, FALSE, + nautilus_launch_application_from_command_array (screen, quoted_path, FALSE, (const char * const *) parameters); unset_script_environment_variables (); @@ -6473,7 +6473,7 @@ action_run_in_terminal (GSimpleAction *action, g_autofree char *executable_path = NULL; g_autofree char *quoted_path = NULL; GtkWindow *parent_window; - GdkDisplay *display; + GdkScreen *screen; g_assert (NAUTILUS_IS_FILES_VIEW (user_data)); @@ -6493,11 +6493,11 @@ action_run_in_terminal (GSimpleAction *action, quoted_path = g_shell_quote (executable_path); parent_window = nautilus_files_view_get_containing_window (view); - display = gtk_widget_get_display (GTK_WIDGET (parent_window)); + screen = gtk_widget_get_screen (GTK_WIDGET (parent_window)); DEBUG ("Launching in terminal %s", quoted_path); - nautilus_launch_application_from_command (display, quoted_path, TRUE, NULL); + nautilus_launch_application_from_command (screen, quoted_path, TRUE, NULL); g_chdir (old_working_dir); } @@ -8930,7 +8930,7 @@ nautilus_files_view_move_copy_items (NautilusFilesView *view, { char *command, *quoted_uri, *tmp; const GList *l; - GdkDisplay *display; + GdkScreen *screen; /* Handle dropping onto a file-roller archiver file, instead of starting a move/copy */ @@ -8951,13 +8951,13 @@ nautilus_files_view_move_copy_items (NautilusFilesView *view, g_free (quoted_uri); } - display = gtk_widget_get_display (GTK_WIDGET (view)); - if (display == NULL) + screen = gtk_widget_get_screen (GTK_WIDGET (view)); + if (screen == NULL) { - display = gdk_display_get_default (); + screen = gdk_screen_get_default (); } - nautilus_launch_application_from_command (display, command, FALSE, NULL); + nautilus_launch_application_from_command (screen, command, FALSE, NULL); g_free (command); return; diff --git a/src/nautilus-mime-actions.c b/src/nautilus-mime-actions.c index 255055b7d..4c2fede9a 100644 --- a/src/nautilus-mime-actions.c +++ b/src/nautilus-mime-actions.c @@ -1605,7 +1605,7 @@ activate_files_internal (ActivateParameters *parameters) NautilusFile *file; ApplicationLaunchParameters *one_parameters; g_autofree char *old_working_dir = NULL; - GdkDisplay *display; + GdkScreen *screen; GList *l; if (parameters->activation_directory && @@ -1616,7 +1616,7 @@ activate_files_internal (ActivateParameters *parameters) g_chdir (parameters->activation_directory); } - display = gtk_widget_get_display (GTK_WIDGET (parameters->parent_window)); + screen = gtk_widget_get_screen (GTK_WIDGET (parameters->parent_window)); for (l = g_queue_peek_head_link (parameters->launch_files); l != NULL; l = l->next) { g_autofree char *uri = NULL; @@ -1631,7 +1631,7 @@ activate_files_internal (ActivateParameters *parameters) DEBUG ("Launching file path %s", quoted_path); - nautilus_launch_application_from_command (display, quoted_path, FALSE, NULL); + nautilus_launch_application_from_command (screen, quoted_path, FALSE, NULL); } for (l = g_queue_peek_head_link (parameters->launch_in_terminal_files); l != NULL; l = l->next) @@ -1648,7 +1648,7 @@ activate_files_internal (ActivateParameters *parameters) DEBUG ("Launching in terminal file quoted path %s", quoted_path); - nautilus_launch_application_from_command (display, quoted_path, TRUE, NULL); + nautilus_launch_application_from_command (screen, quoted_path, TRUE, NULL); } if (old_working_dir != NULL) diff --git a/src/nautilus-program-choosing.c b/src/nautilus-program-choosing.c index ceaee0a63..47362a3f7 100644 --- a/src/nautilus-program-choosing.c +++ b/src/nautilus-program-choosing.c @@ -143,6 +143,12 @@ get_launch_context (GtkWindow *parent_window) launch_context = gdk_display_get_app_launch_context (display); + if (parent_window != NULL) + { + gdk_app_launch_context_set_screen (launch_context, + gtk_window_get_screen (parent_window)); + } + return launch_context; } @@ -231,7 +237,7 @@ nautilus_launch_application_by_uri (GAppInfo *application, static void launch_application_from_command_internal (const gchar *full_command, - GdkDisplay *display, + GdkScreen *screen, gboolean use_terminal) { GAppInfoCreateFlags flags; @@ -245,11 +251,14 @@ launch_application_from_command_internal (const gchar *full_command, } app = g_app_info_create_from_commandline (full_command, NULL, flags, &error); - if (app != NULL && !(use_terminal && display == NULL)) + if (app != NULL && !(use_terminal && screen == NULL)) { + GdkDisplay *display; g_autoptr (GdkAppLaunchContext) context = NULL; + display = gdk_screen_get_display (screen); context = gdk_display_get_app_launch_context (display); + gdk_app_launch_context_set_screen (context, screen); g_app_info_launch (app, NULL, G_APP_LAUNCH_CONTEXT (context), &error); } @@ -271,7 +280,7 @@ launch_application_from_command_internal (const gchar *full_command, * @...: Passed as parameters to the application after quoting each of them. */ void -nautilus_launch_application_from_command (GdkDisplay *display, +nautilus_launch_application_from_command (GdkScreen *screen, const char *command_string, gboolean use_terminal, ...) @@ -297,7 +306,7 @@ nautilus_launch_application_from_command (GdkDisplay *display, va_end (ap); - launch_application_from_command_internal (full_command, display, use_terminal); + launch_application_from_command_internal (full_command, screen, use_terminal); g_free (full_command); } @@ -313,7 +322,7 @@ nautilus_launch_application_from_command (GdkDisplay *display, * @parameters: Passed as parameters to the application after quoting each of them. */ void -nautilus_launch_application_from_command_array (GdkDisplay *display, +nautilus_launch_application_from_command_array (GdkScreen *screen, const char *command_string, gboolean use_terminal, const char * const *parameters) @@ -337,13 +346,14 @@ nautilus_launch_application_from_command_array (GdkDisplay *display, } } - launch_application_from_command_internal (full_command, display, use_terminal); + launch_application_from_command_internal (full_command, screen, use_terminal); g_free (full_command); } void -nautilus_launch_desktop_file (const char *desktop_file_uri, +nautilus_launch_desktop_file (GdkScreen *screen, + const char *desktop_file_uri, const GList *parameter_uris, GtkWindow *parent_window) { @@ -432,6 +442,8 @@ nautilus_launch_desktop_file (const char *desktop_file_uri, context = gdk_display_get_app_launch_context (gtk_widget_get_display (GTK_WIDGET (parent_window))); /* TODO: Ideally we should accept a timestamp here instead of using GDK_CURRENT_TIME */ gdk_app_launch_context_set_timestamp (context, GDK_CURRENT_TIME); + gdk_app_launch_context_set_screen (context, + gtk_window_get_screen (parent_window)); if (count == total) { /* All files are local, so we can use g_app_info_launch () with diff --git a/src/nautilus-program-choosing.h b/src/nautilus-program-choosing.h index 00ac6fe3b..51881ff17 100644 --- a/src/nautilus-program-choosing.h +++ b/src/nautilus-program-choosing.h @@ -39,15 +39,16 @@ void nautilus_launch_application_by_uri (GAppInfo void nautilus_launch_application_for_mount (GAppInfo *app_info, GMount *mount, GtkWindow *parent_window); -void nautilus_launch_application_from_command (GdkDisplay *display, +void nautilus_launch_application_from_command (GdkScreen *screen, const char *command_string, gboolean use_terminal, ...) G_GNUC_NULL_TERMINATED; -void nautilus_launch_application_from_command_array (GdkDisplay *display, +void nautilus_launch_application_from_command_array (GdkScreen *screen, const char *command_string, gboolean use_terminal, const char * const * parameters); -void nautilus_launch_desktop_file (const char *desktop_file_uri, +void nautilus_launch_desktop_file (GdkScreen *screen, + const char *desktop_file_uri, const GList *parameter_uris, GtkWindow *parent_window); void nautilus_launch_default_for_uri_async (const char *uri, @@ -56,4 +57,4 @@ void nautilus_launch_default_for_uri_async (const char GAsyncReadyCallback callback, gpointer callback_data); gboolean nautilus_launch_default_for_uri_finish (GAsyncResult *result, - GError **error); + GError **error);
\ No newline at end of file |