### Signal

# Gtk Label::move-cursor

since: 4.0

#### Declaration

    void
    move_cursor (
      GtkLabel* self,
      GtkMovementStep* step,
      gint count,
      gboolean extend_selection,
      gpointer user_data
    )

#### Description [src]

Gets emitted when the user initiates a cursor movement.

The ::move-cursor signal is a keybinding signal. If the cursor is not visible in `entry`, this signal causes the viewport to be moved instead.

Applications should not connect to it, but may emit it with `g_signal_emit_by_name()` if they need to control the cursor programmatically.

The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here.

- `←`, `→`, `↑`, `↓` move by individual characters/lines
- `Ctrl`+`←`, etc. move by words/paragraphs
- `Home` and `End` move to the ends of the buffer.

Default handler: The default handler is called after the handlers added via `g_signal_connect()`.
Signal can be directly emitted on objects from user code
Available since: 4.0

#### Parameters

`step`

  Type: `GtkMovementStep`

  The granularity of the move, as a `GtkMovementStep`

  The data is owned by the caller of the function.

`count`

  Type: `gint`

  The number of `step` units to move.

`extend_selection`

  Type: `gboolean`

  `TRUE` if the move should extend the selection.