summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntónio Fernandes <antoniof@gnome.org>2022-02-11 19:01:52 +0000
committerAntónio Fernandes <antoniof@gnome.org>2022-02-11 19:23:35 +0000
commit1de4bf03753d8a123829e3245ce32a2606fc1e0c (patch)
treebe391220240778483e8b58e9f3da728856f50326
parentc4e54b97e76a196d77e69789df163080d90bb81c (diff)
downloadnautilus-1de4bf03753d8a123829e3245ce32a2606fc1e0c.tar.gz
Revert "program-choosing: Replace GdkScreen with GdkDisplay"
This reverts commit 363f3ed1ebc3242adc20c75a271566b74a09fefe.
-rw-r--r--src/nautilus-files-view.c22
-rw-r--r--src/nautilus-mime-actions.c8
-rw-r--r--src/nautilus-program-choosing.c26
-rw-r--r--src/nautilus-program-choosing.h9
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