-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix: save window maximized state #536
Fix: save window maximized state #536
Conversation
@martinsefcik it's working for me now on Ubuntu/macOS (but those ones also didn't save negative positions for me), I wasn't able to test on Windows as I don't have a Windows environment here. If you have some time, it'd be great if you could confirm the bug fixed. |
Just tested it on Windows 11, works there too! Nice work! |
packages/bruno-electron/src/index.js
Outdated
mainWindow.on('resize', () => saveBounds(mainWindow)); | ||
mainWindow.on('move', () => saveBounds(mainWindow)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would do small enhancement here
mainWindow.on('resize', () => {
if (!mainWindow.isMaximized()) {
saveBounds(mainWindow)
}
});
mainWindow.on('move', () => {
if (!mainWindow.isMaximized()) {
saveBounds(mainWindow)
}
});
(probably some code cleanup would be fine to minimize duplicity in my snippet)
So window bounds would be saved only in case window is not maximized. And why?
Imagine case that you resize and move window to x=0, y=0, width=100, height=100. This bounds are saved. Then you maximize window. Maximation flag is saved, but also bounds are replaced with some values which are not important when window is maximized. Then you close app. After starting app again I would expect it starts as maximized, but in case I unmaximize it then bounds will be restored to x=0, y=0, width=100, height=100. If you apply my change then It will happen. If not then after unmaximize action window position is restored to default value because it has negative x, y values on Windows and on Linux and Mac (in case there are no negative values after maximize action) window position and size I guess would be very similar if not the same as when window is maximized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your detailed explanation, makes absolutely sense, I'll change the implementation to work this way.
Fix for #452 (comment): save if the window is maximized in the window state and maximize on start if it was before.