Please add + (NSCursor *) busyButClickableCursor;

Originator:lordpixel
Number:rdar://12939978 Date Originated:12/31/2012
Status:Open Resolved:
Product:Mac OS X Product Version:10.8
Classification: Reproducible:Yes
 
Summary:

Please expose the following method in NSCursor, which I suspect already exists as a private API but is not generally available

+ (NSCursor *) busyButClickableCursor;

This should show the cursor pictured here: https://dl.dropbox.com/u/45534011/BusyCursor.png (also attached)

Filing this in RADAR was suggested here: http://lists.apple.com/archives/cocoa-dev/2012/Dec/msg00366.html

Rationale

1) The cursor is really useful because it informs the user the application is working but willing to respond to more requests, and the indication is displayed right where the user's point of attention is. It is extremely effective feedback that sets the user's expectations.

2) Safari, Apple Java, Oracle Java and the Finder all display this cursor already. The cursor is implicitly a part of the API of OS X as there are 2 unsatisfactory ways to display it

a) For 32 bit only, use the deprecated Carbon call from Appearance.h SetAnimatedThemeCursor(kThemeSpinningCursor), or,

b) Unnecessarily link your application to JavaRuntimeSupport.framework to enable one to call the extremely obscure /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Headers/JRSCursor.h API 

@interface NSCursor (JavaRuntimeSupport)
+ (NSCursor *) javaBusyButClickableCursor;

There should be a simple way for all applications to access this cursor without needing these workarounds.

3) The cursor is expected to exist by CSS and by extension HTML 5 apps. (see http://www.w3.org/TR/CSS21/ui.html#propdef-cursor). Safari displays the cursor pictured above when it encounters a cursor:wait or cursor:progress declarations. The lack of access to Apple's standard cursor degrades the OS X platform user experience for users who choose to use other browsers.

4) Similarly Java apps assume this cursor exists (http://docs.oracle.com/javase/6/docs/api/java/awt/Cursor.html#WAIT_CURSOR).

5) The concept is very familiar to people switching from Windows where it is 'pointer + hourglass'

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!