Unity8 mouse cursor never changes when moving over widgets in app windows

Bug #1447839 reported by kevin gunn
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
Undecided
Michał Sawicz
Mir
Fix Released
Undecided
Robert Carr
mir (Ubuntu)
Fix Released
Undecided
Unassigned
qtmir (Ubuntu)
Fix Released
Undecided
Daniel d'Andrada
unity-system-compositor (Ubuntu)
Invalid
Undecided
Unassigned
unity8 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Mouse cursor never changes when moving over widgets in app windows (e.g. 'I' cursor for a text editor).

Related branches

Revision history for this message
Michał Sawicz (saviq) wrote :

Yeah, this requires us to resolve the cursor situation between unity8 and unity-system-compositor.

As previously discussed, having it drawn by u-s-c (aka "hardware" cursor) is nice for performance reasons, at least until the shell can leverage hwc. But then having to communicate to u-s-c how it should be drawn would be too weird.

I was wondering then, could we have a small separate surface that unity8 draws the cursor to, that u-s-c then picks up and puts in a layer above the shell as applicable? We'd need to communicate the location of the cursor "point" relative to the surface to make it happen, though.

Thoughts?

Changed in unity8 (Ubuntu):
status: New → Confirmed
Michał Sawicz (saviq)
summary: - mouse edge of window drag handles
+ Support dynamic mouse cursor icons
kevin gunn (kgunn72)
tags: added: desktop
Revision history for this message
Launchpad Janitor (janitor) wrote : Re: Support dynamic mouse cursor icons

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

Changed in unity-system-compositor (Ubuntu):
status: New → Confirmed
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

There are two distinct tasks involved on the Mir side:

1. Forward cursor requests from Unity8 clients to USC (in general, from nested clients to host servers). Support for this was recently added to lp:mir (r2515).

2. Enable Unity8 handle input in relation to windows, grab handles etc. Although this should be doable with what released versions of Mir currently offer, the new window management interface should make it more straightforward.

The main blocker for this feature is (1), so I am going to marki this as 'fix commited' on the Mir side.

Changed in mir:
status: New → Fix Committed
assignee: nobody → Robert Carr (robertcarr)
milestone: none → 0.13.0
Changed in mir:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.13.1+15.10.20150520-0ubuntu1

---------------
mir (0.13.1+15.10.20150520-0ubuntu1) wily; urgency=medium

  [ Cemil Azizoglu ]
  * New upstream release 0.13.1 (https://launchpad.net/mir/+milestone/0.13.1)
    - ABI summary: No ABI break. Servers and clients do not need rebuilding.
      . Mirclient ABI unchanged at 8
      . Mircommon ABI unchanged at 4
      . Mirplatform ABI unchanged at 7
      . Mirserver ABI unchanged at 31
    - Bug fixes:
      . Can't load app purchase UI without a U1 account (LP: #1450377)
      . Crash because uncaught exception in mir::events::add_touch (LP: #1437357)

 -- CI Train Bot <email address hidden> Wed, 20 May 2015 21:20:15 +0000

Changed in mir (Ubuntu):
status: New → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Mouse cursor never changes when moving over apps in Unity8

Just noticed this in Xmir too. Although Xmir and Mir demo servers seem to change the mouse cursor fine now, Unity8 hasn't implemented the same yet.

Just try running "gedit" and expect the cursor to change between text selection and arrow as you move it around.

summary: - Support dynamic mouse cursor icons
+ Mouse cursor never changes when moving over apps in Unity8
summary: - Mouse cursor never changes when moving over apps in Unity8
+ Mouse cursor never changes when moving widgets in app windows
summary: - Mouse cursor never changes when moving widgets in app windows
+ Mouse cursor never changes when moving over widgets in app windows
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Mouse cursor never changes when moving over widgets in app windows

Although in my case, running Xmir in Unity8 the cursor gets stuck on the text selection "I" one.

Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

This should work fine already in regular apps, not sure about xmir

Changed in unity8 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Nope, Unity8 still lacks cursor-changing support (for arbitrary Mir clients, not Qt).

Try Xmir or just try this simple test case:

1. mir_demo_client_cursors -- --desktop_file_hint=unity8
2. Leave your mouse cursor over the new window.

Expected: Cursor changes every second.
Observed: Cursor never changes when run under Unity8.

Changed in unity8 (Ubuntu):
status: Fix Released → Confirmed
Changed in qtmir:
status: New → Confirmed
Changed in qtmir (Ubuntu):
status: New → Confirmed
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Another test case:
   mir_demo_client_animated_cursor -- --desktop_file_hint=unity8

This one shows Unity8 gets the first frame OK, but never updates.

summary: - Mouse cursor never changes when moving over widgets in app windows
+ Unity8 mouse cursor never changes when moving over widgets in app
+ windows
tags: added: xmir
Changed in qtmir (Ubuntu):
assignee: nobody → Daniel d'Andrada (dandrader)
status: Confirmed → In Progress
Changed in qtmir:
assignee: nobody → Daniel d'Andrada (dandrader)
status: Confirmed → In Progress
Changed in unity-system-compositor (Ubuntu):
status: Confirmed → Invalid
Changed in unity8 (Ubuntu):
status: Confirmed → Invalid
Michał Sawicz (saviq)
Changed in canonical-devices-system-image:
status: New → In Progress
assignee: nobody → Michał Sawicz (saviq)
milestone: none → 11
tags: added: cursor
Changed in canonical-devices-system-image:
milestone: 11 → 12
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtmir - 0.4.8+16.10.20160520.1-0ubuntu1

---------------
qtmir (0.4.8+16.10.20160520.1-0ubuntu1) yakkety; urgency=medium

  [ Alan Griffiths ]
  * Reduce coupling to MirServer - it has been misused as a context
    object.

  [ Daniel d'Andrada ]
  * Also interpret the cursor names used by Mir client API (LP:
    #1447839)
  * Application: Don't respawn if closed while still starting up (LP:
    #1575577)

  [ Daniel d'Andrada, Michał Sawicz ]
  * Centralize logging categories

  [ Gerry Boland ]
  * UAL can throw on creating Application if invalid appId, catch
    instead of aborting (LP: #1578258)

  [ Timo Jyrinki ]
  * Use FindQt5PlatformSupport to find platform support, other methods
    not available on Qt 5.6 anymore. (LP: #1554404)

 -- Michał Sawicz <email address hidden> Fri, 20 May 2016 08:41:51 +0000

Changed in qtmir (Ubuntu):
status: In Progress → Fix Released
Changed in qtmir:
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Note this bug wasn't really fixed.

New bugs covering the same issues are still pending -> bug 1605078 and bug 1604701

Michał Sawicz (saviq)
no longer affects: qtmir
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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