GNOME Bugzilla – Bug 752342
Implement compositor-side animated cursors
Last modified: 2015-07-20 20:07:26 UTC
On the places where gnome-shell manages the cursor and has to show an animated one (eg. after launching an app), the cursor is static. I'm attaching some patches to make mutter theme cursors load the several images, and make the native backend trigger the cursor animations.
Created attachment 307361 [details] [review] backend: Store XcursorImages for theme cursors There's a chance the icon will be animated, so store the XcursorImages instead of the individual XcursorImage, and handle that as a nimages=1 special case. API to "tick" a cursor animation, and retrieve current frame timing information has been added.
Created attachment 307362 [details] [review] backend: Add meta_cursor_renderer_force_update() There will be times where additional updates will be needed, such as animated cursors. We should update the texture and redraw in that case.
Created attachment 307363 [details] [review] backends: Trigger animated cursor animations on the native backend We will need to update the timeout on either cursor changes, or right when ticking to the next cursor frame.
Created attachment 307368 [details] [review] backends: Trigger animated cursor animations on the native backend We will need to update the timeout on either cursor changes, or right when ticking to the next cursor frame.
Review of attachment 307368 [details] [review]: looks good
Review of attachment 307362 [details] [review]: fine
Review of attachment 307361 [details] [review]: looks good otherwise ::: src/backends/meta-cursor-private.h @@ +33,3 @@ +typedef struct _MetaCursorAnimation MetaCursorAnimation; + unused. leftover?
(In reply to Rui Matos from comment #7) > Review of attachment 307361 [details] [review] [review]: > > looks good otherwise > > ::: src/backends/meta-cursor-private.h > @@ +33,3 @@ > > +typedef struct _MetaCursorAnimation MetaCursorAnimation; > + > > unused. leftover? It indeed is :), removing and pushing.
Attachment 307361 [details] pushed as 1417600 - backend: Store XcursorImages for theme cursors Attachment 307362 [details] pushed as 74ca936 - backend: Add meta_cursor_renderer_force_update() Attachment 307368 [details] pushed as 8329e97 - backends: Trigger animated cursor animations on the native backend