from PySide6.QtGui import QGuiApplication

def set_window_size_by_screen(window, percent=0.75, min_size=(800, 600)):
    screen = QGuiApplication.primaryScreen()
    size = screen.availableGeometry()
    w = max(int(size.width() * percent), min_size[0])
    h = max(int(size.height() * percent), min_size[1])
    window.setMinimumSize(*min_size)
    window.resize(w, h)

    if hasattr(window, 'setSizeGripEnabled'):
        window.setSizeGripEnabled(True)