Bug 415417 - Task won't activate until raise animation completes, if hidden
Summary: Task won't activate until raise animation completes, if hidden
Status: RESOLVED FIXED
Alias: None
Product: lattedock
Classification: Plasma
Component: application (show other bugs)
Version: git (master)
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Michail Vourlakos
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-21 00:10 UTC by Lasath Fernando
Modified: 2020-03-06 06:29 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 0.9.6


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lasath Fernando 2019-12-21 00:10:45 UTC
SUMMARY


STEPS TO REPRODUCE
1. Assign global shortcut to Activate Entry 1
2. Set dock to auto-hide, or ensure that it's hidden in some way
3. Press the shortcut

OBSERVED RESULT
A (half second or so) delay between keypress and task activating. The dock has to rise first.

EXPECTED RESULT
The task activates as soon as the shortcut is triggered. 

SOFTWARE/OS VERSIONS
All of them, I think

ADDITIONAL INFORMATION
Comment 1 Michail Vourlakos 2019-12-21 10:31:05 UTC
yep that is correct... The reasons about that implementation is the following:

1. If a shortcut triggers an applet and the dock is hidden then the applet popup looks out of place in the end
2. Under wayland we cant know if a modifier key is still pressed so things become a little strange
3. easy to implement and does not add complicated code

---

What I am imagining for the next implementation is the following:

1. In globalshortcuts.h class ALL the qml communication part will be moved in a Latte::View subclass called Latte::View::ContainmentInterface
2. After [1] has completed then a new communication function will be added that will be used in order to inform globalshortcuts if delayed execution is needed or not based on Latte::View::ContainmentInterface feedback. If it is not needed then the shortcut is executed immediately.

From [2] applets could also benefit, for example FullScreen Application Launcher does not have to wait for the dock to show.

Question: What is the optimal behavior concerning shortcut immediate triggering, the dock should be slide-in after the shortcut has been activated or it should not?
Comment 2 Michail Vourlakos 2019-12-21 21:37:06 UTC
Git commit 45b37050d1267927d0326373f0462037dbb1e12b by Michail Vourlakos.
Committed on 21/12/2019 at 18:21.
Pushed by mvourlakos into branch 'v0.9'.

dont wait for dock to show for activate shortcuts

--when the application launcher is not a popup then
we do not have to wait for the dock show we can execute
the activation code immediately
--when Latte activates an entry can now understand
if a popup is going to be shown in order to delay
the execution. If a popup is NOT going to show either
for a latte task or an applet then the code is executed
immediately
FIXED-IN:0.9.6

M  +24   -8    app/shortcuts/globalshortcuts.cpp
M  +2    -2    app/shortcuts/globalshortcuts.h
M  +38   -0    app/view/containmentinterface.cpp
M  +3    -0    app/view/containmentinterface.h
M  +19   -0    app/view/view.cpp
M  +1    -0    app/view/view.h
M  +7    -2    containment/package/contents/ui/applet/AppletItem.qml
M  +35   -2    containment/package/contents/ui/main.qml

https://commits.kde.org/latte-dock/45b37050d1267927d0326373f0462037dbb1e12b
Comment 3 Michail Vourlakos 2019-12-21 21:38:02 UTC
Git commit d31d7afb9d354f30f2b95ca4955ffaf53a439f91 by Michail Vourlakos.
Committed on 21/12/2019 at 21:37.
Pushed by mvourlakos into branch 'master'.

dont wait for dock to show for activate shortcuts

--when the application launcher is not a popup then
we do not have to wait for the dock show we can execute
the activation code immediately
--when Latte activates an entry can now understand
if a popup is going to be shown in order to delay
the execution. If a popup is NOT going to show either
for a latte task or an applet then the code is executed
immediately
FIXED-IN:0.9.6

M  +24   -8    app/shortcuts/globalshortcuts.cpp
M  +2    -2    app/shortcuts/globalshortcuts.h
M  +38   -0    app/view/containmentinterface.cpp
M  +3    -0    app/view/containmentinterface.h
M  +19   -0    app/view/view.cpp
M  +1    -0    app/view/view.h
M  +7    -2    containment/package/contents/ui/applet/AppletItem.qml
M  +35   -2    containment/package/contents/ui/main.qml

https://commits.kde.org/latte-dock/d31d7afb9d354f30f2b95ca4955ffaf53a439f91
Comment 4 Michail Vourlakos 2019-12-21 21:38:21 UTC
feel free to test it out...
Comment 5 Lasath Fernando 2020-03-06 06:29:45 UTC
Hey, sorry I just realized that I completely forgot to respond to this.

Yes, it works beautifully! Thank you so much for the quick turnaround, as well as all your amazing work so far! :)