Mir

Nested server needs full control over cursor position

Bug #1600220 reported by Daniel d'Andrada
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Mir
Confirmed
Medium
Andreas Pokorny
mir (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Unity 8, a nested server of unity-system-compositor, needs full control over the cursor position.

Mir doesn't have the needed context information to know how to move or position the cursor in all situations. Only Unity 8 has this information, which lives mainly in its QML scene.

Once this is granted Unity 8 can dump its QML cursor implementation and move to use the more performant hardware cursor that mir has access to.

Related to bug 1513883.

Tags: cursor
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Last time we discussed this I suggested the Mir client API just needed something like mir_warp_cursor_to(x, y) [where x,y might be relative to a surface, which might be a fullscreen Unity8 surface]. And you could limit the operation to the currently focussed surface too, so there are no privilege concerns.

Since Unity8 is just a client of USC I feel like that should resolve this...?

tags: added: cursor
Changed in mir:
assignee: nobody → Andreas Pokorny (andreas-pokorny)
milestone: none → 0.25.0
importance: Undecided → Medium
status: New → In Progress
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

And the cursor would only move in response to mir_warp_cursor_to(x, y) calls when in such mode?

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I'm sure that there are multiple discussions about controlling the cursor from a nested server. These ought to be collated to ensure we have an overview of all the requirements before implementing piecemeal solutions.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It's more complicated than I thought, as I forgot we need to pass through cursor bitmaps, buffer streams and hotspot information. This bug isn't really about just a position.

Also anpok is already working on it...

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mir (Ubuntu):
status: New → Confirmed
Changed in mir:
milestone: 0.25.0 → 0.26.0
Changed in mir:
milestone: 0.26.0 → 1.0.0
Changed in mir:
milestone: 0.27.0 → 0.28.0
Changed in mir:
milestone: 0.28.0 → none
status: In Progress → Confirmed
Revision history for this message
Michał Sawicz (saviq) wrote :

Syncing task from Mir.

Changed in mir (Ubuntu):
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.