From 96ce0178b2860b4ec12a17c366422093e1d8a0e1 Mon Sep 17 00:00:00 2001 From: RemixDev Date: Sun, 17 May 2020 19:00:04 +0200 Subject: [PATCH] Added save window position on app closing --- deemix_gui.py | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/deemix_gui.py b/deemix_gui.py index bddfaf7..b4bee27 100644 --- a/deemix_gui.py +++ b/deemix_gui.py @@ -3,6 +3,7 @@ import webview from threading import Thread, Lock import sys +import os.path as path from time import sleep from server import run_server from http.client import HTTPConnection @@ -20,6 +21,15 @@ def url_ok(url, port): print("Server not started") return False +def save_position(): + window = webview.windows[0] + x = window.x + y = window.y + w = window.width + h = window.height + with open(path.join(configFolder, '.UIposition'), 'w') as f: + f.write("|".join([str(x),str(y),str(w),str(h)])) + if __name__ == '__main__': url = "127.0.0.1" if len(sys.argv) >= 2: @@ -32,13 +42,34 @@ if __name__ == '__main__': while not url_ok(url, port): sleep(1) + configFolder = getConfigFolder() - window = webview.create_window('deemix', 'http://'+url+':'+str(port)) + if path.isfile(path.join(configFolder, '.UIposition')): + try: + with open(path.join(configFolder, '.UIposition'), 'r') as f: + (x,y,w,h) = f.read().strip().split("|") + x = int(x) + y = int(y) + w = int(w) + h = int(h) + except: + x = None + y = None + w = 800 + h = 600 + else: + x = None + y = None + w = 800 + h = 600 + window = webview.create_window('deemix', 'http://'+url+':'+str(port), + confirm_close=True, x=x, y=y, width=w, height=h) + window.closing += save_position if sys.platform == "win32": from webview.platforms.cef import settings settings.update({ 'persist_session_cookies': True, - 'cache_path': getConfigFolder() + 'cache_path': configFolder }) webview.start(gui='cef', debug=True) else: