The original Comix Cursors sources README
#########################################

The official ComixCursors releases can be found on opendesktop.org:
<http://opendesktop.org/content/show.php/ComixCursors?content=32627>

COPYRIGHT
=========

Refer to the ‘COPYING’ file for copyright statement and grant of
license.


INSTALLATION
============

Refer to the ‘INSTALL’ file for requirements and detailed instructions
to build and install.


KNOWN ISSUES
============

* nVIDIA graphics cards:

  If you experience the cursor shadow looking strange, e.g. with the i
  christmas theme, or the whole cursor appear gray when it's supposed to be
  white, disable hardware cursor rendering.

  In the xorg.conf file in the device section insert the HWCursor line
  below::

      Section "Device"
      Driver "nvidia"
      ...
      Option "HWCursor" "off"
      EndSection

* If you are using KDE version prior to 4.0 you might experience that
  KDE's control center Mouse Theme Installation does not support symlinks
  in the packed archives (tar). Consider updating KDE.

* Gnome supports multiple cursor sizes in one cursor theme, but only
  distinct sizes: 16, 24, 32, and 48 pixels.

  There is no known Gnome 3 application for setting the size of the mouse
  cursor. You need to set the desired size in pixels as the value of the
  DConf setting ‘org.gnome.desktop.interface.cursor-size’. You can use
  ‘dconf-editor’ (from the ‘dconf-tools’ package) or ‘gsettings’ to change
  DConf settings.

* If you are missing some cursors issue "# export XCURSOR_DISCOVER=1"
  and re-start the application to find the corresponding cursor hash.
  Report it to us or link it yourself in the ~/.icons directory.


NAMING CURSORS
==============

The cursors are named according to the current freedesktop.org cursor
conventions specification (draft):

    <http://www.freedesktop.org/Standards/cursor-spec>

Other cursors are provided as symlinks by name or hash.


    X-cursor           The X window system logo.
    default            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. Usually a left pointing diagonal arrow.
    right-arrow        Inverted version of the default cursor. This cursor is used in Motif when a popup menu or a drop down combo-box is open, to indicate that the widget has grabbed the mouse. Typically rendered as a right pointing diagonal arrow.
    up-arrow           Up pointing arrow cursor. This cursor is typically used to identify an insertion point.
    text               Text input cursor. Indicates that the cursor is in a region in which horizontal text can be selected and possibly edited. Typically rendered as a vertical I-beam.
    vertical-text      Text input cursor. Indicates that the cursor is in a region in which vertical text can be selected and possibly edited. Typically rendered as a horizontal I-beam.
    pointer            Indicates that the object below the cursor is clickable. This cursor is typically used for links in web browsers. It shouldn't be abused for pushbuttons and other UI elements where it's otherwise apparent by the design of the widget that it's a clickable object. Often rendered as a pointing hand.
    crosshair          Crosshair cursor. Typically used for precision drawing or manipulation of an area.
    help               Help cursor. Indicates that the system is in a context help mode, and if the user clicks an object a small window will open up to provide usage information for that object. The context help mode is typically activated by clicking a help button on the titlebar of a window that provides context help. Often rendered as the default cursor with a question mark symbol next to it.
    progress           Default cursor + busy cursor. Indicates a pending activity which may asynchronously affect the interface but which is not blocking commands from the user.
    wait               Busy cursor. Indicates that the interface is not prepared to accept commands from the user and is blocked on some external resource. Often rendered as a watch or an hourglass.
    copy               !DnD copy cursor. Indicates that a copy of the dragged object will be created in the area below the cursor if dropped. Typically rendered as the default cursor with a small plus sign next to it.
    alias              !DnD link cursor. Indicates that a link to the original location of the dragged object will be created in the area below the cursor if dropped. Typically rendered as the default cursor with a small curved arrow next to it.
    no-drop            !DnD no-drop cursor. Indicates that the dragged object can't be dropped in the region below the cursor. Typically rendered as the default cursor with a small circle with a diagonal line through it. Can be identical to not-allowed.
    not-allowed        Forbidden cursor. Indicates that a particular region is invalid for the current operation. Often rendered as circle with a diagonal line through it.
    cell               The thick plus sign cursor that's typically used in spread-sheet applications to select cells.
    all-scroll         Scroll/move cursor. Used to indicate that moving the mouse will also move the UI element below the cursor. Often rendered as a combined vertical and horizontal twin-headed arrow.
    context-menu       Indicates that a context menu is available for the object underneath the cursor. Typically rendered as the default cursor with a small menu-like graphic next to it.
    row-resize         Horizontal splitter bar cursor. Indicates that the bar below the cursor can be moved up and down to resize the objects it separates. Used when it's not apparent if the object below the cursor is just a visual separator between two other UI elements, or an object that can be manipulated. Usually rendered as a vertical twin-headed arrow, split in the middle by a horizontal line.
    col-resize         Vertical splitter bar cursor. Indicates that the bar below the cursor can be moved left and right to resize the objects it separates. Used when it's not apparent if the object below the cursor is just a visual separator between two other UI elements, or an object that can be manipulated. Usually rendered as a horizonal twin-headed arrow, split in the middle by a vertical line.
    e-resize           Indicates that the cursor is over the right edge of a window, and that the edge can be clicked and dragged in order to resize the window horizontally.
    ne-resize          Indicates that the cursor is over the top-right edge of a window, and that the edge can be clicked and dragged in order to resize the window diagonally.
    nw-resize          Indicates that the cursor is over the top-left edge of a window, and that the edge can be clicked and dragged in order to resize the window diagonally.
    n-resize           Indicates that the cursor is over the top edge of a window, and that the edge can be clicked and dragged in order to resize the window vertically.
    se-resize          Indicates that the cursor is over the bottom-right edge of a window, and that the edge can be clicked and dragged in order to resize the window diagonally.
    sw-resize          Indicates that the cursor is over the bottom-left edge of a window, and that the edge can be clicked and dragged in order to resize the window diagonally.
    s-resize           Indicates that the cursor is over the bottom edge of a window, and that the edge can be clicked and dragged in order to resize the window vertically.
    w-resize           Indicates that the cursor is over the left edge of a window, and that the edge can be clicked and dragged in order to resize the window horizontally.
    ew-resize          Horizontal resizing cursor. Indicates that cursor is over the the left or right edge of a window, and that ithe edge can be clicked and dragged to resize the window horizontally. Typically rendered as a horizontal twin-headed arrow.
    ns-resize          Vertical resizing cursor. Indicates that cursor is over the the top or bottom edge of a window, and that the edge can be clicked and dragged to resize the window vertically. Typically rendered as a verticaly twin-headed arrow.
    nesw-resize        Back-diagonal resizing cursor. Indicates that the UI element below the cursor is the top-right or bottom-left corner of a window, and that it can be clicked and dragged to resize the window diagonally. Typically a twin-headed arrow.
    nwse-resize        Forward-diagonal resizing cursor. Indicates that the UI element below the cursor is the top-left or bottom-right corner of a window, and that it can be clicked and dragged to resize the window diagonally. Typically a twin-headed arrow.

This is the current xorg naming convention (CursorName.c, cursor.bdf):

    x_cursor           XC_X_cursor
    arrow              XC_arrow
    based_arrow_down   XC_based_arrow_down
    based_arrow_up     XC_based_arrow_up
    boat               XC_boat
    bogosity           XC_bogosity
    bottom_left_corner XC_bottom_left_corner
    bottom_right_corner XC_bottom_right_corner
    bottom_side        XC_bottom_side
    bottom_tee         XC_bottom_tee
    box_spiral         XC_box_spiral
    center_ptr         XC_center_ptr
    circle             XC_circle
    clock              XC_clock
    coffee_mug         XC_coffee_mug
    cross              XC_cross
    cross_reverse      XC_cross_reverse
    crosshair          XC_crosshair
    diamond_cross      XC_diamond_cross
    dot                XC_dot
    dotbox             XC_dotbox
    double_arrow       XC_double_arrow
    draft_large        XC_draft_large
    draft_small        XC_draft_small
    draped_box         XC_draped_box
    exchange           XC_exchange
    fleur              XC_fleur
    gobbler            XC_gobbler
    gumby              XC_gumby
    hand1              XC_hand1
    hand2              XC_hand2
    heart              XC_heart
    icon               XC_icon
    iron_cross         XC_iron_cross
    left_ptr           XC_left_ptr
    left_side          XC_left_side
    left_tee           XC_left_tee
    leftbutton         XC_leftbutton
    ll_angle           XC_ll_angle
    lr_angle           XC_lr_angle
    man                XC_man
    middlebutton       XC_middlebutton
    mouse              XC_mouse
    pencil             XC_pencil
    pirate             XC_pirate
    plus               XC_plus
    question_arrow     XC_question_arrow
    right_ptr          XC_right_ptr
    right_side         XC_right_side
    right_tee          XC_right_tee
    rightbutton        XC_rightbutton
    rtl_logo           XC_rtl_logo
    sailboat           XC_sailboat
    sb_down_arrow      XC_sb_down_arrow
    sb_h_double_arrow  XC_sb_h_double_arrow
    sb_left_arrow      XC_sb_left_arrow
    sb_right_arrow     XC_sb_right_arrow
    sb_up_arrow        XC_sb_up_arrow
    sb_v_double_arrow  XC_sb_v_double_arrow
    shuttle            XC_shuttle
    sizing             XC_sizing
    spider             XC_spider
    spraycan           XC_spraycan
    star               XC_star
    target             XC_target
    tcross             XC_tcross
    top_left_arrow     XC_top_left_arrow
    top_left_corner    XC_top_left_corner
    top_right_corner   XC_top_right_corner
    top_side           XC_top_side
    top_tee            XC_top_tee
    trek               XC_trek
    ul_angle           XC_ul_angle
    umbrella           XC_umbrella
    ur_angle           XC_ur_angle
    watch              XC_watch
    xterm              XC_xterm

This is the current (Qt4) cursor name scheme (qcursor.cpp, qcursor_x11.cpp):

    Qt::ArrowCursor    left_ptr
    Qt::UpArrowCursor  up_arrow
    Qt::CrossCursor    cross
    Qt::WaitCursor     wait
    Qt::BusyCursor     left_ptr_watch
    Qt::IBeamCursor    ibeam
    Qt::SizeVerCursor  size_ver
    Qt::SizeHorCursor  size_hor
    Qt::SizeBDiagCursor size_bdiag
    Qt::SizeFDiagCursor size_fdiag
    Qt::SizeAllCursor  size_all
    Qt::SplitVCursor   split_v
    Qt::SplitHCursor   split_h
    Qt::PointingHandCursor pointing_hand
    Qt::ForbiddenCursor forbidden
    Qt::WhatsThisCursor whats_this

My denominated map of QCursor to XCursor:

    Qt::ArrowCursor    XC_left_ptr;
    Qt::UpArrowCursor  XC_center_ptr;
    Qt::CrossCursor    XC_crosshair;
    Qt::WaitCursor     XC_watch;
    Qt::IBeamCursor    XC_xterm;
    Qt::SizeAllCursor  XC_fleur;
    Qt::PointingHandCursor XC_hand2;
    Qt::SizeBDiagCursor XC_top_right_corner;
    Qt::SizeFDiagCursor XC_bottom_right_corner;
    Qt::BlankCursor
    Qt::SizeVerCursor  XC_sb_v_double_arrow;
    Qt::SplitVCursor   XC_sb_v_double_arrow;
    Qt::SizeHorCursor  XC_sb_h_double_arrow;
    Qt::SplitHCursor   XC_sb_h_double_arrow;
    Qt::WhatsThisCursor XC_question_arrow;
    Qt::ForbiddenCursor XC_circle;
    Qt::BusyCursor     XC_watch;

This is the current Gnome curser names (gdk_enums.def)

    # x-cursor         GDK_X_CURSOR
    arrow              GDK_ARROW
    based-arrow-down   GDK_BASED_ARROW_DOWN
    based-arrow-up     GDK_BASED_ARROW_UP
    boat               GDK_BOAT
    bogosity           GDK_BOGOSITY
    bottom-left-corner GDK_BOTTOM_LEFT_CORNER
    bottom-right-corner GDK_BOTTOM_RIGHT_CORNER
    bottom-side        GDK_BOTTOM_SIDE
    bottom-tee         GDK_BOTTOM_TEE
    box-spiral         GDK_BOX_SPIRAL
    center-ptr         GDK_CENTER_PTR
    circle             GDK_CIRCLE
    clock              GDK_CLOCK
    coffee-mug         GDK_COFFEE_MUG
    cross              GDK_CROSS
    cross-reverse      GDK_CROSS_REVERSE
    crosshair          GDK_CROSSHAIR
    diamond-cross      GDK_DIAMOND_CROSS
    dot                GDK_DO
    dotbox             GDK_DOTBOX
    double-arrow       GDK_DOUBLE_ARROW
    draft-large        GDK_DRAFT_LARGE
    draft-small        GDK_DRAFT_SMALL
    draped-box         GDK_DRAPED_BOX
    exchange           GDK_EXCHANGE
    fleur              GDK_FLEUR
    gobbler            GDK_GOBBLER
    gumby              GDK_GUMBY
    hand1              GDK_HAND1
    hand2              GDK_HAND2
    heart              GDK_HEART
    icon               GDK_ICON
    iron-cross         GDK_IRON_CROSS
    left-ptr           GDK_LEFT_PTR
    left-side          GDK_LEFT_SIDE
    left-tee           GDK_LEFT_TEE
    leftbutton         GDK_LEFTBUTTON
    ll-angle           GDK_LL_ANGLE
    lr-angle           GDK_LR_ANGLE
    man                GDK_MAN
    middlebutton       GDK_MIDDLEBUTTON
    mouse              GDK_MOUSE
    pencil             GDK_PENCIL
    pirate             GDK_PIRATE
    plus               GDK_PLUS
    question-arrow     GDK_QUESTION_ARROW
    right-ptr          GDK_RIGHT_PTR
    right-side         GDK_RIGHT_SIDE
    right-tee          GDK_RIGHT_TEE
    rightbutton        GDK_RIGHTBUTTON
    rtl-logo           GDK_RTL_LOGO
    sailboat           GDK_SAILBOAT
    sb-down-arrow      GDK_SB_DOWN_ARROW
    sb-h-double-arrow  GDK_SB_H_DOUBLE_ARROW
    sb-left-arrow      GDK_SB_LEFT_ARROW
    sb-right-arrow     GDK_SB_RIGHT_ARROW
    sb-up-arrow        GDK_SB_UP_ARROW
    sb-v-double-arrow  GDK_SB_V_DOUBLE_ARROW
    shuttle            GDK_SHUTTLE
    sizing             GDK_SIZING
    spider             GDK_SPIDER
    spraycan           GDK_SPRAYCAN
    star               GDK_STAR
    target             GDK_TARGET
    tcross             GDK_TCROSS
    top-left-arrow     GDK_TOP_LEFT_ARROW
    top-left-corner    GDK_TOP_LEFT_CORNER
    top-right-corner   GDK_TOP_RIGHT_CORNER
    top-side           GDK_TOP_SIDE
    top-tee            GDK_TOP_TEE
    trek               GDK_TREK
    ul-angle           GDK_UL_ANGLE
    umbrella           GDK_UMBRELLA
    ur-angle           GDK_UR_ANGLE
    watch              GDK_WATCH
    xterm              GDK_XTERM
    last-cursor        GDK_LAST_CURSOR
    # cursor-is-pixmap GDK_CURSOR_IS_PIXMAP

CSS3 Cursors (http://www.w3.org/TR/css3-ui/#cursor0)

    auto               The UA determines the cursor to display based on the current context.
    default            The platform-dependent default cursor. Often rendered as an arrow.
    none               No cursor is rendered for the element.
    context-menu       A context menu is available for the object under the cursor. Often rendered as an arrow with a small menu-like graphic next to it.
    help               Help is available for the object under the cursor. Often rendered as a question mark or a balloon.
    pointer            The cursor is a pointer that indicates a link.
    progress           A progress indicator. The program is performing some processing, but is different from 'wait' in that the user may still interact with the program. Often rendered as a spinning beach ball, or an arrow with a watch or hourglass.
    wait               Indicates that the program is busy and the user should wait. Often rendered as a watch or hourglass.
    cell               Indicates that a cell or set of cells may be selected. Often rendered as a thick plus-sign with a dot in the middle.
    crosshair          A simple crosshair (e.g., short line segments resembling a "+" sign). Often used to indicate a two dimensional bitmap selection mode.
    text               Indicates text that may be selected. Often rendered as a vertical I-beam. User agents may automatically display a horizontal I-beam/cursor (e.g. same as the 'vertical-text' keyword) for vertical text, or for that matter, any angle of I-beam/cursor for text that is rendered at any particular angle.
    vertical-text      Indicates vertical-text that may be selected. Often rendered as a horizontal I-beam.
    alias              Indicates an alias of/shortcut to something is to be created. Often rendered as an arrow with a small curved arrow next to it.
    copy               Indicates something is to be copied. Often rendered as an arrow with a small plus sign next to it.
    move               Indicates something is to be moved.
    no-drop            Indicates that the dragged item cannot be dropped at the current cursor location. Often rendered as a hand or pointer with a small circle with a line through it.
    not-allowed        Indicates that the requested action will not be carried out. Often rendered as a circle with a line through it.
    e-resize
    n-resize
    ne-resize
    nw-resize
    s-resize
    se-resize
    sw-resize,
    w-resize           Indicates that some edge is to be moved. For example, the 'se-resize' cursor is used when the movement starts from the south-east corner of the box.
    ew-resize
    ns-resize
    nesw-resize
    nwse-resize        Indicates a bidirectional resize cursor.
    col-resize         Indicates that the item/column can be resized horizontally. Often rendered as arrows pointing left and right with a vertical bar separating them.
    row-resize         Indicates that the item/row can be resized vertically. Often rendered as arrows pointing up and down with a horizontal bar separating them.
    all-scroll         Indicates that the something can be scrolled in any direction. Often rendered as arrows pointing up, down, left, and right with a dot in the middle.


..
    Local variables:
    coding: utf-8
    mode: text
    mode: rst
    End:
    vim: fileencoding=utf-8 filetype=rst :
