Reopen process window maximized when closed maximized

This commit is contained in:
Waldemar Zimpel
2023-09-12 21:31:42 +00:00
committed by Gaël Bonithon
parent c5714580a9
commit 250a424754
2 changed files with 16 additions and 3 deletions

View File

@@ -299,6 +299,10 @@ xtm_process_window_init (XtmProcessWindow *window)
if (window->width >= 1 && window->height >= 1)
gtk_window_set_default_size (GTK_WINDOW (window->window), window->width, window->height);
/* If the window was closed maximized, reopen it maximized again */
if (xfconf_channel_get_bool (window->channel, SETTING_WINDOW_MAXIMIZED, FALSE))
gtk_window_maximize (GTK_WINDOW (window->window));
g_signal_connect_swapped (window->window, "destroy", G_CALLBACK (emit_destroy_signal), window);
window->handler = g_signal_connect (window->window, "size-allocate", G_CALLBACK (xtm_process_window_size_allocate), window);
g_signal_connect_swapped (window->window, "key-press-event", G_CALLBACK(xtm_process_window_key_pressed), window);
@@ -401,9 +405,17 @@ xtm_process_window_finalize (GObject *object)
static void
emit_destroy_signal (XtmProcessWindow *window)
{
/* Store window size */
xfconf_channel_set_int (window->channel, SETTING_WINDOW_WIDTH, window->width);
xfconf_channel_set_int (window->channel, SETTING_WINDOW_HEIGHT, window->height);
gboolean maximized = gtk_window_is_maximized (GTK_WINDOW (window->window));
/* Store whether window is maximized */
xfconf_channel_set_bool (window->channel, SETTING_WINDOW_MAXIMIZED, maximized);
if (!maximized)
{
/* Store window size */
xfconf_channel_set_int (window->channel, SETTING_WINDOW_WIDTH, window->width);
xfconf_channel_set_int (window->channel, SETTING_WINDOW_HEIGHT, window->height);
}
g_signal_emit_by_name (window, "destroy", G_TYPE_NONE);
}

View File

@@ -26,6 +26,7 @@
/* general settings */
#define SETTING_SHOW_STATUS_ICON "/show-status-icon"
#define SETTING_PROMPT_TERMINATE_TASK "/prompt-terminate-task"
#define SETTING_WINDOW_MAXIMIZED "/window-maximized"
#define SETTING_WINDOW_WIDTH "/window-width"
#define SETTING_WINDOW_HEIGHT "/window-height"