Focus is lost completely when the focussed window closes
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
| Mir |
Won't Fix
|
High
|
Unassigned | ||
MirAL | Status tracked in Trunk | |||||
| Release |
High
|
Alan Griffiths | |||
| Trunk |
High
|
Alan Griffiths |
Bug Description
When a child surface is created, we get two MirSurfaceEvents with the attribute mir_surface_
When the focused child is released, the parent doesn't re-acquire the focus, i.e. we only get a MirSurfaceEvent unfocusing the child. Here's a sample event log:
SURFACE
Attribute focus
Value 0
SURFACE
Attribute focus
Value 1
MOTION
Device 12
Action up
Modifiers
Button State
Offset (164.000000, 70.000000)
Event Time 1436820860654839000
MOTION
Device 12
Action motion
Modifiers
Button State
Offset (164.000000, 70.000000)
Event Time 1436820860654839000
KEY
Device 11
Action down
Modifiers
Key Code 65307
Scan Code 1
Event Time 1436820867212029000
SURFACE
Attribute focus
Value 0
SURFACE
Attribute 5
Value 0
Related branches
- Mir CI Bot: Approve (continuous-integration) on 2016-05-03
- Kevin DuBois (community): Approve on 2016-05-02
- Daniel van Vugt: Abstain on 2016-05-02
- Cemil Azizoglu (community): Approve on 2016-04-29
- Chris Halse Rogers: Pending requested 2016-04-29
-
Diff: 101 lines (+35/-9)3 files modifiedexamples/server_example_canonical_window_manager.cpp (+12/-3)
examples/server_example_tiling_window_manager.cpp (+11/-3)
src/server/shell/canonical_window_manager.cpp (+12/-3)
- Cemil Azizoglu (community): Approve on 2016-04-19
-
Diff: 364 lines (+82/-123)8 files modifiedinclude/miral/window_management_policy.h (+2/-0)
miral-kiosk/kiosk_window_manager.cpp (+1/-36)
miral-kiosk/kiosk_window_manager.h (+2/-1)
miral-shell/canonical_window_manager.cpp (+14/-45)
miral-shell/canonical_window_manager.h (+2/-1)
miral-shell/tiling_window_manager.cpp (+1/-36)
miral-shell/tiling_window_manager.h (+2/-1)
miral/basic_window_manager.cpp (+58/-3)
tags: | added: input |
tags: | added: gtk-mir |
Changed in mir: | |
assignee: | nobody → Alberto Aguirre (albaguirre) |
Changed in mir: | |
assignee: | Alberto Aguirre (albaguirre) → nobody |
Daniel van Vugt (vanvugt) wrote : | #1 |
Changed in mir: | |
status: | New → Confirmed |
importance: | Undecided → High |
tags: | added: xmir |
Daniel van Vugt (vanvugt) wrote : | #2 |
So two things are required here:
1. More sane demo server behaviour, such that we're never left with zero focussed surfaces.
2. A client API for setting/
summary: |
- Parent surfaces don't re-acquire input focus when a focused child is - released + Focus is lost completely when the focussed window closes |
Changed in mir: | |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
Changed in mir: | |
milestone: | none → 0.22.0 |
status: | Confirmed → In Progress |
Changed in mir: | |
milestone: | 0.22.0 → 0.23.0 |
Changed in miral: | |
status: | New → Fix Committed |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
importance: | Undecided → High |
Changed in mir: | |
milestone: | 0.23.0 → 0.24.0 |
Mir CI Bot (mir-ci-bot) wrote : | #3 |
Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.24.0
Changed in mir: | |
status: | In Progress → Fix Committed |
Changed in mir: | |
status: | Fix Committed → In Progress |
Changed in mir: | |
milestone: | 0.24.0 → 0.25.0 |
Changed in mir: | |
status: | In Progress → Fix Committed |
status: | Fix Committed → In Progress |
Changed in mir: | |
assignee: | Alan Griffiths (alan-griffiths) → nobody |
milestone: | 0.25.0 → none |
status: | In Progress → Won't Fix |
Daniel van Vugt (vanvugt) wrote : | #4 |
I'm a bit concerned if Mir isn't getting a fix for this. How long before the fix in MirAL is the fix in Mir?
In the case of Xmir, clients (the X server) need to be able to specify what sibling window/surface should be focused next.
App's are quite frustrating to use with the keyboard while we can't implement XSetInputFocus() and focus regularly gets lost completely.