Re: Adjusting the 2.4 schedule (cursors)
- From: Matthias Clasen <maclas gmx de>
- To: gtk-devel-list gnome org
- Subject: Re: Adjusting the 2.4 schedule (cursors)
- Date: 25 Jun 2003 19:34:09 +0200
Am Die, 2003-06-24 um 19.29 schrieb Keith Packard:
> Around 11 o'clock on Jun 24, Owen Taylor wrote:
>
> > - X cursor support for GTK+
>
> I'd like to see at least a preliminary outline of a spec for a set of
> standard cursor names and how they map to the existing core cursor
> numbers. Without that, we're left with the current disaster where cursor
> themes require far too many cursors to implement reasonably. We'll need
> rough semantic descriptions for the HIG as well. Here's a short list,
> perhaps we can keep it brief and reduce the number of different cursors
> that appear on the screen for most application uses:
>
> Pointer. Default cursor. Indicates the interface is idle and prepared
> to accept commands from the user. Used to manipulate basic
> user interface elements like buttons and scrollbars.
>
> Text. Text input cursor. Indicates the cursor is in a region which
> can select text and possibly edit text.
>
> Busy. Busy cursor. Indicates the interface is not prepared to
> accept commands from the user and is blocked on some
> external resource.
>
> Pointer+Busy. Default cursor + busy cursor. Indicates a pending activity
> which may asycnhronously affect the interface but which
> is not blocking commands from the user.
>
> Grab. Manipulation cursor. Indicates the interface is engaged in
> direct manipulation of some visible representation of
> an object.
>
> Silly. Ridiculous cursor. Indicates that the interface is intent
> on provoking the user with arbitrary and capricious responses.
>
> A simple mapping from X cursors to these names:
>
> Pointer <-> left_ptr
> Text <-> xterm
> Busy <-> watch
> Pointer+Busy <-> left_ptr
> Grab <-> hand1
> Silly <-> gumby
I compiled a little table of named cursors available on various systems
(Windows, Java, Qt, X). I've attached it instead of pasting it here
inline, since it is a little wide. There seem to be four groups:
* The first group are those which are found on all systems. You've named
all of these except for one: "Move".
* The second group are those which are not present in Java, but seem to
be generally useful: Help Select (arrow+?), Working in background
(arrow+busy), Unavailable (circle+diagonal), Alternate Select.
* The third group are the resize cursors. There are two clearly
different families here, "projective" systems which don't distinguish
between up and down or left and right (Windows, Qt) and the others,
which have separate resize cursors for all 8 directions (Java, X). I'd
vote for going with the "non-projective" approach, since a theme can
easily identify up and down by using the same image for both.
* Finally there are a few cursors which are only present on a single
system, and are probably too specialized for our purposes:
"Handwriting", "SplitVCursor", "SplitHCursor", "BlankCursor" (the last
one obviously shouldn't be themed at all).
Matthias
Win32 Java Qt X Description (visual)
Normal Select Default ArrowCursor arrow Normal arrow
Precision Select CrossHair CrossCursor crosshair Crosshair
Link Select Hand PointingHandCursor hand1/hand2 Pointing hand
Move Move SizeAllCursor fleur Crosshair with arrow tips
Text Select Text IbeamCursor xterm I-beam
Busy Wait WaitCursor watch Hourglass
Help Select WhatsThisCursor question_arrow Arrow + ?
Working in Background Arrow + hourglass
Unavailable ForbiddenCursor pirate(?) Circle + diagonal
Alternate Select UpArrowCursor (many arrows) Upwards pointing arrow
Handwriting pencil Pen
SplitVCursor Split doubleheaded arrow
SplitHCursor Split doubleheaded arrow
BlankCursor Empty
Vertical Resize SizeVerCursor Doubleheaded arrow
Horizontal Resize SizeHorCursor Doubleheaded arrow
Diagonal Resize 1 SizeBDiagCursor Doubleheaded arrow
Diagonal Resize 2 SizeFDiagCursor Doubleheaded arrow
NResize top_side Arrow pointing to a bar
SResize bottom_size Arrow pointing to a bar
WResize left_side Arrow pointing to a bar
EResize right_side Arrow pointing to a bar
NWResize bottom_left_corner Arrow pointing in a corner
NEResize bottom_right_corner Arrow pointing in a corner
SWResize top_left_corner Arrow pointing in a corner
SEResize top_right_corner Arrow pointing in a corner
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]