Follow https://wiki.gnome.org/HowDoI/SaveWindowState * Use tuples in gsetting schema to save size and position * Save changes to variable instead of saving to gsettings after every timemout * Save the changes back to gsettings when the window is finalized.