(Python_backup tool) Fixing the Problem Where the App Looked Frozen When You Clicked Quit
Overview
We cleaned up two usability issues together: cleanup of network connections on program exit made the screen look frozen for a few seconds, and part of the window was getting cut off in the built executable.
The Problems
1. Window too small
Running the plain script was fine, but after building it into an executable, a specific section near the bottom would sometimes get cut off outside the window and become invisible. We fixed this by setting a more generous default/minimum window size.
2. Looking "frozen" on exit
When the program exited, the main screen would stay unresponsive for a few seconds while the system command that tears down the network connection ran to completion. It was actually working fine the whole time, but from the user's perspective, it was easy to mistake this for "the program has frozen."
The Fix
Right before calling the disconnect logic, instead of popping up a whole new dialog window, we reused the existing status bar at the bottom and the window title to immediately reflect "quitting now" on screen.
Quit button clicked:
Window title -> "Quitting..."
Status bar -> "Disconnecting. Please wait a moment." (highlighted color)
Refresh the screen immediately
-> Only then run the actual disconnect logic
Because we reused the existing status bar instead of adding a new UI element, we were able to provide natural feedback without much implementation overhead.
Retrospective
- We confirmed again that any operation that takes even a few seconds needs to show a "something is in progress" signal up front. Just reordering when the screen updates — without touching the actual logic at all — made a big difference in perceived stability.
- We were also reminded that a packaged executable can render subtly differently from the dev environment, so it's worth double-checking the actual layout against a real build output.