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
Reduce window flicker and loss of focus #9311
Conversation
If using the quick commands, I do not expect the dialog to be opened unless there are conflicts. |
This is what causes the flicker and the loss of focus.
|
But I find the opening of the window more annoying... |
Loss of focus is an accessibility issue. We are showing the progress dialog
anyway, so can't see your argument here.
|
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 can get used to the extra popup, then the fixed loss of focus for rebase is an improvement
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.
🎉 Rebasing without Alt+Tab
. Thank you!
1. Force child window ownership to FormBrowse 2. Show the rebase dialog *before* starting any operations. This is what appears to be the main cause of the loss of focus. The dialog isn't yet shown when we invoke the progress dialog, which is then gets closed but the window that spawned it is not visible. MS Windows gets confused and pushes another window to the foreground, thus causing the app to lose focus.
I rolled all "Owner" related changes as in some scenarios those could lead to the active top window could get under another window with the same parent. Since now the rebase dialog is visible and lives longer any of its children, the existing ownership model is correct. |
(cherry picked from commit 8f9d901)
Proposed changes
Reduce window flicker and loss of focus
Force child window ownership to FormBrowse
Show the rebase dialog before starting any operations. This is what appears to be the main cause of the loss of focus. The dialog isn't yet shown when we invoke the progress dialog, which is then gets closed but the window that spawned it is not visible. MS Windows gets confused and pushes another window to the foreground, thus causing the app to lose focus.
Screenshots
Before
After
✒️ I contribute this code under The Developer Certificate of Origin.