Skip to content

Commit 05323e0

Browse files
committed
meldwindow: Save and restore window maximisation state (bgo#731693)
1 parent 59d2840 commit 05323e0

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

data/org.gnome.meld.gschema.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,16 @@
2929
<default>(-1, -1)</default>
3030
<summary>Default window size</summary>
3131
</key>
32+
33+
<key name="window-state" type="s">
34+
<choices>
35+
<choice value="normal"/>
36+
<choice value="maximized"/>
37+
</choices>
38+
<default>"normal"</default>
39+
<summary>Default window state</summary>
40+
</key>
41+
3242
<key name="toolbar-visible" type="b">
3343
<default>true</default>
3444
<summary>Show toolbar</summary>

meld/meldwindow.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,9 @@ def __init__(self):
210210
self.scheduler.connect("runnable", self.on_scheduler_runnable)
211211
window_size = settings.get_value('window-size')
212212
self.widget.set_default_size(window_size[0], window_size[1])
213+
window_state = settings.get_string('window-state')
214+
if window_state == 'maximized':
215+
self.widget.maximize()
213216
self.ui.ensure_update()
214217
self.diff_handler = None
215218
self.undo_handlers = tuple()
@@ -385,6 +388,10 @@ def on_configure_event(self, window, event):
385388
variant = GLib.Variant('(ii)', (event.width, event.height))
386389
settings.set_value('window-size', variant)
387390

391+
maximised = state & Gdk.WindowState.MAXIMIZED
392+
window_state = 'maximized' if maximised else 'normal'
393+
settings.set_string('window-state', window_state)
394+
388395
def on_menu_file_new_activate(self, menuitem):
389396
self.append_new_comparison()
390397

0 commit comments

Comments
 (0)