diff options
author | infirit <[email protected]> | 2014-12-18 19:07:46 +0100 |
---|---|---|
committer | infirit <[email protected]> | 2014-12-18 19:07:46 +0100 |
commit | 89c2ba95156b8ccd9d7493121f4a691ffbe927c1 (patch) | |
tree | 1b169ab49596d727aa2afc895f044de4a1e4e951 | |
parent | 61a40499507138fd1620475487c1b6772be3e37a (diff) | |
download | mate-system-monitor-89c2ba95156b8ccd9d7493121f4a691ffbe927c1.tar.bz2 mate-system-monitor-89c2ba95156b8ccd9d7493121f4a691ffbe927c1.tar.xz |
Also remember the window position, not only the size
Taken from GSM commit: c123b59145d3b5aa9ba6f65985037b63bcdf2a67
From: Robert Roth <[email protected]>
Gnome bug: http://bugzilla.gnome.org/show_bug.cgi?id=343861
-rw-r--r-- | src/interface.cpp | 5 | ||||
-rw-r--r-- | src/org.mate.system-monitor.gschema.xml.in.in | 8 | ||||
-rw-r--r-- | src/procman.cpp | 7 | ||||
-rw-r--r-- | src/procman.h | 2 |
4 files changed, 21 insertions, 1 deletions
diff --git a/src/interface.cpp b/src/interface.cpp index 7b5b96f..3561ea2 100644 --- a/src/interface.cpp +++ b/src/interface.cpp @@ -635,7 +635,7 @@ void create_main_window (ProcData *procdata) { gint i; - gint width, height; + gint width, height, xpos, ypos; GtkWidget *app; GtkAction *action; GtkWidget *menubar; @@ -667,7 +667,10 @@ create_main_window (ProcData *procdata) width = procdata->config.width; height = procdata->config.height; + xpos = procdata->config.xpos; + ypos = procdata->config.ypos; gtk_window_set_default_size (GTK_WINDOW (app), width, height); + gtk_window_move(GTK_WINDOW (app), xpos, ypos); gtk_window_set_resizable (GTK_WINDOW (app), TRUE); /* create the menubar */ diff --git a/src/org.mate.system-monitor.gschema.xml.in.in b/src/org.mate.system-monitor.gschema.xml.in.in index 56e249f..df9e14f 100644 --- a/src/org.mate.system-monitor.gschema.xml.in.in +++ b/src/org.mate.system-monitor.gschema.xml.in.in @@ -9,6 +9,14 @@ <default>495</default> <_summary>Main Window height</_summary> </key> + <key name="x-position" type="i"> + <default>0</default> + <_summary>Main Window X position</_summary> + </key> + <key name="y-position" type="i"> + <default>0</default> + <_summary>Main Window Y position</_summary> + </key> <key name="show-tree" type="b"> <default>false</default> <_summary>Show process dependencies in tree form</_summary> diff --git a/src/procman.cpp b/src/procman.cpp index d11c7eb..c19edb7 100644 --- a/src/procman.cpp +++ b/src/procman.cpp @@ -251,6 +251,9 @@ procman_data_new (GSettings *settings) pd->config.width = g_settings_get_int (settings, "width"); pd->config.height = g_settings_get_int (settings, "height"); + pd->config.xpos = g_settings_get_int (settings, "x-position"); + pd->config.ypos = g_settings_get_int (settings, "y-position"); + pd->config.show_tree = g_settings_get_boolean (settings, "show-tree"); g_signal_connect (G_OBJECT(settings), "changed::show-tree", G_CALLBACK(tree_changed_cb), pd); @@ -546,9 +549,13 @@ procman_save_config (ProcData *data) data->config.width = gdk_window_get_width(gtk_widget_get_window(data->app)); data->config.height = gdk_window_get_height(gtk_widget_get_window(data->app)); + gtk_window_get_position(GTK_WINDOW(data->app), &data->config.xpos, &data->config.ypos); g_settings_set_int (settings, "width", data->config.width); g_settings_set_int (settings, "height", data->config.height); + g_settings_set_int (settings, "x-position", data->config.xpos); + g_settings_set_int (settings, "y-position", data->config.ypos); + g_settings_set_int (settings, "current-tab", data->config.current_tab); } diff --git a/src/procman.h b/src/procman.h index 6b934e3..f359667 100644 --- a/src/procman.h +++ b/src/procman.h @@ -74,6 +74,8 @@ struct ProcConfig { gint width; gint height; + gint xpos; + gint ypos; gboolean show_kill_warning; gboolean show_tree; gboolean show_all_fs; |