summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Deslauriers <[email protected]>2025-01-30 09:14:01 -0500
committerLuke from DC <[email protected]>2025-02-11 03:26:58 +0000
commit727e610a808e9490ca007cd9a5551f76f48d2329 (patch)
treec86c53630a3a26c149d9e949aa3faf517a7c3211
parent75032aef04ba5326d29c7b594abe1d51491c376e (diff)
downloadpluma-727e610a808e9490ca007cd9a5551f76f48d2329.tar.bz2
pluma-727e610a808e9490ca007cd9a5551f76f48d2329.tar.xz
Fix window size saving when maximizedHEADmaster
It is expected when maximizing a window, that the unmaximized size should be remembered, and restored again when the window is unmaximized. The current behaviour was saving the maximized size, in addition to the maximized state, which is unexpected. In addition, there is no reason to hardcode a default size, as the schema contains a default size.
-rw-r--r--pluma/pluma-app.c15
-rw-r--r--pluma/pluma-window.c33
-rw-r--r--pluma/pluma-window.h3
3 files changed, 12 insertions, 39 deletions
diff --git a/pluma/pluma-app.c b/pluma/pluma-app.c
index 53de32e1..5060ec97 100644
--- a/pluma/pluma-app.c
+++ b/pluma/pluma-app.c
@@ -552,23 +552,18 @@ pluma_app_create_window_real (PlumaApp *app,
GdkWindowState state;
gint w, h;
+ g_settings_get (app->priv->window_settings,
+ PLUMA_SETTINGS_WINDOW_SIZE,
+ "(ii)", &w, &h);
+ gtk_window_set_default_size (GTK_WINDOW (window), w, h);
+
state = g_settings_get_int (app->priv->window_settings,
PLUMA_SETTINGS_WINDOW_STATE);
if ((state & GDK_WINDOW_STATE_MAXIMIZED) != 0)
- {
- _pluma_window_get_default_size (&w, &h);
- gtk_window_set_default_size (GTK_WINDOW (window), w, h);
gtk_window_maximize (GTK_WINDOW (window));
- }
else
- {
- g_settings_get (app->priv->window_settings,
- PLUMA_SETTINGS_WINDOW_SIZE,
- "(ii)", &w, &h);
- gtk_window_set_default_size (GTK_WINDOW (window), w, h);
gtk_window_unmaximize (GTK_WINDOW (window));
- }
if ((state & GDK_WINDOW_STATE_STICKY ) != 0)
gtk_window_stick (GTK_WINDOW (window));
diff --git a/pluma/pluma-window.c b/pluma/pluma-window.c
index a613beb0..f141ccb9 100644
--- a/pluma/pluma-window.c
+++ b/pluma/pluma-window.c
@@ -68,9 +68,6 @@
#define LANGUAGE_DATA "PlumaWindowLanguageData"
#define FULLSCREEN_ANIMATION_SPEED 4
-#define PLUMA_WINDOW_DEFAULT_WIDTH 650
-#define PLUMA_WINDOW_DEFAULT_HEIGHT 500
-
/* Local variables */
static gboolean cansave = TRUE;
@@ -130,8 +127,9 @@ save_panes_state (PlumaWindow *window)
pluma_debug (DEBUG_WINDOW);
- g_settings_set (window->priv->editor_settings, PLUMA_SETTINGS_WINDOW_SIZE,
- "(ii)", window->priv->width, window->priv->height);
+ if ((window->priv->window_state & GDK_WINDOW_STATE_MAXIMIZED) == 0)
+ g_settings_set (window->priv->editor_settings, PLUMA_SETTINGS_WINDOW_SIZE,
+ "(ii)", window->priv->width, window->priv->height);
g_settings_set_int (window->priv->editor_settings, PLUMA_SETTINGS_WINDOW_STATE,
window->priv->window_state);
@@ -2076,22 +2074,14 @@ clone_window (PlumaWindow *origin)
screen = gtk_window_get_screen (GTK_WINDOW (origin));
window = pluma_app_create_window (app, screen);
- if ((origin->priv->window_state & GDK_WINDOW_STATE_MAXIMIZED) != 0)
- {
- gint w, h;
+ gtk_window_set_default_size (GTK_WINDOW (window),
+ origin->priv->width,
+ origin->priv->height);
- _pluma_window_get_default_size (&w, &h);
- gtk_window_set_default_size (GTK_WINDOW (window), w, h);
+ if ((origin->priv->window_state & GDK_WINDOW_STATE_MAXIMIZED) != 0)
gtk_window_maximize (GTK_WINDOW (window));
- }
else
- {
- gtk_window_set_default_size (GTK_WINDOW (window),
- origin->priv->width,
- origin->priv->height);
-
gtk_window_unmaximize (GTK_WINDOW (window));
- }
if ((origin->priv->window_state & GDK_WINDOW_STATE_STICKY ) != 0)
gtk_window_stick (GTK_WINDOW (window));
@@ -4803,12 +4793,3 @@ pluma_window_get_message_bus (PlumaWindow *window)
return window->priv->message_bus;
}
-void
-_pluma_window_get_default_size (gint *width, gint *height)
-{
- g_return_if_fail (width != NULL && height != NULL);
-
- *width = PLUMA_WINDOW_DEFAULT_WIDTH;
- *height = PLUMA_WINDOW_DEFAULT_HEIGHT;
-}
-
diff --git a/pluma/pluma-window.h b/pluma/pluma-window.h
index 55479d0a..c7133c5f 100644
--- a/pluma/pluma-window.h
+++ b/pluma/pluma-window.h
@@ -188,9 +188,6 @@ void _pluma_recent_add (PlumaWindow *window,
void _pluma_recent_remove (PlumaWindow *window,
const gchar *uri);
-void _pluma_window_get_default_size (gint *width,
- gint *height);
-
G_END_DECLS
#endif /* __PLUMA_WINDOW_H__ */