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 |
Fix Released
|
High
|
Alan Griffiths | |||
Trunk |
Fix Released
|
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)
- Kevin DuBois (community): Approve
- Daniel van Vugt: Abstain
- Cemil Azizoglu (community): Approve
- Chris Halse Rogers: Pending requested
-
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
-
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 |
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 |
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 |
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.