-
-
Notifications
You must be signed in to change notification settings - Fork 455
Add Animation and Sound / Fix Last Executed Position #810
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
Conversation
- Chnage Toggle/Hide Code for animation - Change Tray Open menu to toggle
- Change HideOnStartup using Animator
- add Save Position in onclosing - Remove Debug Log write
- Add Sound/Animation in Setting - Add related String
- Adjust String
- Change ShowMainWindow to using Show() (for Fix plugin install button)
- HotkeyMapper, CustomQueryHotkeySetting.
|
If we apply this pr, we should all use this code later. Visibility should not be used directly as possible, but should be toss to animation code. |
|
when started up, the search bar's position is moved to the right, and then readjusted after one deactivate-reactivate |
- Adjusting the delay time. - Delete unused code. - Process so that there is no delay when the animation settings are turned off. (Exclude erasing queries.)
| ChangeQueryText(string.Empty); | ||
| MainWindowOpacity = 0; // Trick for no delay | ||
| await Task.Delay(100); //Time for change to opacity | ||
| await Task.Delay(50); //Time for change to opacity |
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.
As you know, in this case, there should be a delay regardless of animation because the query should be erased.
|
If you toggle continuously very quickly with the animation setting on, there are cases where the frame is still wrong. (Blinking momentarily when the flow is turned on in this state.) It needs to be very fast, I think it's an unusual situation, and I think it's okay to leave it as it is. Overall, since the delay time was reduced, the response thought to be a little slow would have decreased. |
|
looks like the extra hide is gone when switching three times quickly. the old problem where it flickers when Settings window is opened or closed is back. |
This problem occurs when the window is opened in the "animation off state" and changed back to the "animation on state". This is because when the window is turned on in the animation off state, there is no delay, so it remains in the opacity 1 state. In other words, problems arise because it is not initialized when closing the window. Therefore, the window hiding during ondeactivation was modified to add a delay regardless of animation setting. |
case where without it the toggle hidden is fired and then ondeactivated is also fired but with delay, and hides the window again
Flow.Launcher/MainWindow.xaml.cs
Outdated
| sb.Completed += (_, _) => _animating = false; | ||
| _settings.WindowLeft = Left; | ||
| _settings.WindowTop = Top; | ||
| iconsb.Begin(SearchIcon); |
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.
is this change intended for this pr?
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.
yeah, for Icon animation.
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.
The search icon seems to just jump up a little as if to reposition itself to the right height. Is this the same case for you?
|
Is there anything else you want me to fix? |
|
i am still doing some testing with it and making minor updates, will push up later. |
|
what is WinToggleStatus used for exactly? Seems to function the same as Visibility check |
Logically, there's no problem. but there was a blinking problem. I added a variable for toggle separately because I saw an advice not to use visibility as a trigger when using this kind of animation. and I felt that the data was modulated because there were codes everywhere that changed visibility. I tested it once in the middle of this PR, and if all the visibility code is changed to opacity = 0 or 1, it will be updated even if it is not visible on the screen, so it will work even after removing all the delays, and logically, it will all work properly if I use trigger base visibility. In this method, a window exists in alt+tab, and consideration was canceled due to the problem of receiving input even if it was not visible on the screen. If we solve the alt tab and focus problem, I think this method is also good. In principle, if the UI is updated even in the hidden/visible state, the animation can be initialized, the delay can be eliminated, and all blinking problems disappear. It's the same issue as lastemptyquery. These codes were created because this method was not available. To solve a number of problems existing in this code, a method of updating the UI even if a window is hidden on the screen must be implemented first. Things such as background worker, dispatcher, and invoke are needed. This plan is one of the solutions already proposed in the lastemptyquery and has not been considered because it cannot be implemented. |
|
I just did some refinements based on extensive testing, mainly around delay and show/hide calls. In some extreme scenarios as you mentioned as well, there are still flickering, but those edge cases aside I think this now is good. |
|
Some points as a result of testing this change I want to record below for future reference incase needed:
|
bandicam.2021-11-12.11-07-08-371.mp4
ETC
Change Setting window Height to responsible (80% of Screen Height)