Shell needs to unfocus app when greeter is shown
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| touch-preview-images |
Fix Released
|
High
|
Michał Sawicz | |
| unity8 (Ubuntu) |
Undecided
|
Unassigned |
Bug Description
When the greeter is shown, either from screen timeout trigger or user pressing the power button, the shell needs to unfocus the currently focused app. Otherwise, if the app has focus and the keyboard is displayed it will stay displayed when the greeter is shown on power button event.
According to ricmm, the following needs to be done:
Shell needs to call unfocusCurrentA
ricmm:
This comes in addition to a QtUbuntu branch that will cause a dismissal of the QInputPanel in the delegate for transition to the SUSPENDED state, effectively dismissing the keyboard and removing input focus from any active text field.
Related branches
- Michael Frey (community): Approve on 2013-05-30
- PS Jenkins bot: Approve (continuous-integration) on 2013-05-30
-
Diff: 14 lines (+2/-2)1 file modifiedsrc/platforms/ubuntu/integration.cc (+2/-2)
- PS Jenkins bot (community): Approve (continuous-integration) on 2013-05-31
- Sergio Schvezov: Approve on 2013-05-31
- Ricardo Mendoza (community): Approve on 2013-05-31
-
Diff: 33 lines (+22/-1)1 file modifiedShell.qml (+22/-1)
Changed in touch-preview-images: | |
milestone: | none → ubuntu-13.05 |
assignee: | nobody → Gerry Boland (gerboland) |
importance: | Undecided → High |
Changed in unity: | |
assignee: | nobody → Gerry Boland (gerboland) |
description: | updated |
Michał Sawicz (saviq) wrote : | #1 |
Changed in unity: | |
status: | New → Confirmed |
assignee: | Gerry Boland (gerboland) → Michał Sawicz (saviq) |
Changed in touch-preview-images: | |
status: | New → Confirmed |
assignee: | Gerry Boland (gerboland) → Michał Sawicz (saviq) |
Ricardo Mendoza (ricmm) wrote : | #2 |
@saviq The reason for that is that we indeed do *not* support an unfocusCurrentA
As I said in my comment in the description, the naming of this bug might be misleading. The right way is to dismiss input contexts when an application is about to be unfocused (either by means of returning to shell, or focusing another application). This is done via a delegate call, now that the new API code has landed I will propose a branch for this today.
Michał Sawicz (saviq) wrote : | #3 |
(I'm off until Monday, btw...)
Hey ricmm, so what is it that we need to do in the shell still? I have a preliminary diff that unfocuses (but not refocuses yet) the app on greeter shown:
=== modified file 'Shell.qml'
--- Shell.qml 2013-05-28 08:38:45 +0000
+++ Shell.qml 2013-05-31 08:30:45 +0000
@@ -353,7 +353,12 @@
width: parent.width
height: parent.height - panel.panelHeight
- onShownChanged: if (shown) greeter.
+ onShownChanged: {
+ if (shown) {
+ greeter.
+ applicationMana
+ }
+ }
Changed in touch-preview-images: | |
status: | Confirmed → Fix Committed |
Changed in unity: | |
status: | Confirmed → Fix Committed |
Changed in unity: | |
status: | Fix Committed → Confirmed |
Changed in touch-preview-images: | |
status: | Fix Committed → Confirmed |
Changed in unity: | |
status: | Confirmed → In Progress |
Changed in touch-preview-images: | |
status: | Confirmed → In Progress |
PS Jenkins bot (ps-jenkins) wrote : | #4 |
Fix committed into lp:unity/phablet at revision 721, scheduled for release in unity, milestone 13.05
Changed in unity: | |
status: | In Progress → Fix Committed |
Changed in touch-preview-images: | |
status: | In Progress → Fix Released |
no longer affects: | unity |
no longer affects: | unity/phablet |
Changed in unity8: | |
status: | New → Fix Released |
affects: | unity8 → unity8 (Ubuntu) |
@ricmm I had a quick look and calling unfocusCurrentA pplication( ) nor unfocusCurrentA pplication( ApplicationInfo ::MainStage) actually did unfocus the app (it was still there in ApplicationMana ger.mainStageFo cusedApplicatio n).
Any ideas?