diff options
author | António Fernandes <antoniof@gnome.org> | 2022-02-11 19:01:41 +0000 |
---|---|---|
committer | António Fernandes <antoniof@gnome.org> | 2022-02-11 19:01:41 +0000 |
commit | 1f4fd7c8ec8bbf387df7e6e4c3e1911bf5b289ed (patch) | |
tree | 604c5c739a8bbf5ee3a297d0f5d6f83f4bb41d75 | |
parent | 26b5cb0e9adb760b00c8641bdbb5b35d538f3ce0 (diff) | |
download | nautilus-1f4fd7c8ec8bbf387df7e6e4c3e1911bf5b289ed.tar.gz |
Revert "files-view: Drop NAUTILUS_SCRIPT_WINDOW_GEOMETRY envar"
This reverts commit 8d974ecc6043ee565f3f8924f66b54f47c0bca45.
-rw-r--r-- | eel/eel-gtk-extensions.c | 27 | ||||
-rw-r--r-- | eel/eel-gtk-extensions.h | 5 | ||||
-rw-r--r-- | src/nautilus-files-view.c | 6 |
3 files changed, 37 insertions, 1 deletions
diff --git a/eel/eel-gtk-extensions.c b/eel/eel-gtk-extensions.c index 2c3d8ac6d..45b072db3 100644 --- a/eel/eel-gtk-extensions.c +++ b/eel/eel-gtk-extensions.c @@ -46,6 +46,33 @@ #define MINIMUM_ON_SCREEN_HEIGHT 100 +/** + * eel_gtk_window_get_geometry_string: + * @window: a #GtkWindow + * + * Obtains the geometry string for this window, suitable for + * set_geometry_string(); assumes the window has NorthWest gravity + * + * Return value: geometry string, must be freed + **/ +char * +eel_gtk_window_get_geometry_string (GtkWindow *window) +{ + char *str; + int w, h, x, y; + + g_return_val_if_fail (GTK_IS_WINDOW (window), NULL); + g_return_val_if_fail (gtk_window_get_gravity (window) == + GDK_GRAVITY_NORTH_WEST, NULL); + + gtk_window_get_position (window, &x, &y); + gtk_window_get_size (window, &w, &h); + + str = g_strdup_printf ("%dx%d+%d+%d", w, h, x, y); + + return str; +} + GtkMenuItem * eel_gtk_menu_append_separator (GtkMenu *menu) { diff --git a/eel/eel-gtk-extensions.h b/eel/eel-gtk-extensions.h index afbd19631..0a5eac1dc 100644 --- a/eel/eel-gtk-extensions.h +++ b/eel/eel-gtk-extensions.h @@ -28,7 +28,10 @@ #include <gdk-pixbuf/gdk-pixbuf.h> #include <gtk/gtk.h> +/* GtkWindow */ +char * eel_gtk_window_get_geometry_string (GtkWindow *window); + /* GtkMenu and GtkMenuItem */ GtkMenuItem * eel_gtk_menu_append_separator (GtkMenu *menu); GtkMenuItem * eel_gtk_menu_insert_separator (GtkMenu *menu, - int index); + int index);
\ No newline at end of file diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c index bfb56bfd1..9b7578daa 100644 --- a/src/nautilus-files-view.c +++ b/src/nautilus-files-view.c @@ -5201,6 +5201,7 @@ set_script_environment_variables (NautilusFilesView *view, g_autofree gchar *file_paths = NULL; g_autofree gchar *uris = NULL; g_autofree gchar *uri = NULL; + g_autofree gchar *geometry_string = NULL; NautilusFilesViewPrivate *priv; priv = nautilus_files_view_get_instance_private (view); @@ -5213,6 +5214,10 @@ set_script_environment_variables (NautilusFilesView *view, uri = nautilus_directory_get_uri (priv->model); g_setenv ("NAUTILUS_SCRIPT_CURRENT_URI", uri, TRUE); + + geometry_string = eel_gtk_window_get_geometry_string + (GTK_WINDOW (nautilus_files_view_get_containing_window (view))); + g_setenv ("NAUTILUS_SCRIPT_WINDOW_GEOMETRY", geometry_string, TRUE); } /* Unset all the special script environment variables. */ @@ -5222,6 +5227,7 @@ unset_script_environment_variables (void) g_unsetenv ("NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"); g_unsetenv ("NAUTILUS_SCRIPT_SELECTED_URIS"); g_unsetenv ("NAUTILUS_SCRIPT_CURRENT_URI"); + g_unsetenv ("NAUTILUS_SCRIPT_WINDOW_GEOMETRY"); } static void |