## GtkScrollbar

GtkScrollbar — A Scrollbar

## Functions

GtkWidget * | gtk_scrollbar_new ()

## Style Properties

gboolean | fixed-slider-length | Read
gboolean | has-backward-stepper | Read
gboolean | has-forward-stepper | Read
gboolean | has-secondary-backward-stepper | Read
gboolean | has-secondary-forward-stepper | Read
gint | min-slider-length | Read

## Types and Values

struct | GtkScrollbar

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkRange
                    ╰── GtkScrollbar
                        ├── GtkHScrollbar
                        ╰── GtkVScrollbar

## Implemented Interfaces

GtkScrollbar implements AtkImplementorIface, GtkBuildable and GtkOrientable.

## Includes

    #include <gtk/gtk.h>

## Description

The GtkScrollbar widget is a horizontal or vertical scrollbar, depending on the value of the “orientation” property.

Its position and movement are controlled by the adjustment that is passed to or created by `gtk_scrollbar_new()`. See GtkAdjustment for more details. The “value” field sets the position of the thumb and must be between “lower” and “upper” - “page-size”. The “page-size” represents the size of the visible scrollable area. The fields “step-increment” and “page-increment” fields are added to or subtracted from the “value” when the user asks to move by a step (using e.g. the cursor arrow keys or, if present, the stepper buttons) or by a page (using e.g. the Page Down/Up keys).

### CSS nodes

    1
    2
    3
    4
    5
    6
    7
    8

    scrollbar[.fine-tune]
    ╰── contents
        ├── [button.up]
        ├── [button.down]
        ├── trough
        │   ╰── slider
        ├── [button.up]
        ╰── [button.down]

GtkScrollbar has a main CSS node with name scrollbar and a subnode for its contents, with subnodes named trough and slider.

The main node gets the style class .fine-tune added when the scrollbar is in 'fine-tuning' mode.

If steppers are enabled, they are represented by up to four additional subnodes with name button. These get the style classes .up and .down to indicate in which direction they are moving.

Other style classes that may be added to scrollbars inside GtkScrolledWindow include the positional classes (.left, .right, .top, .bottom) and style classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering).

## Functions

### gtk_scrollbar_new ()

    GtkWidget *
    gtk_scrollbar_new (GtkOrientation orientation,
                       GtkAdjustment *adjustment);

Creates a new scrollbar with the given orientation.

#### Parameters

orientation | the scrollbar’s orientation. |
adjustment | the GtkAdjustment to use, or `NULL` to create a new adjustment. | [allow-none]

#### Returns

the new GtkScrollbar.

Since: 3.0

## Types and Values

### struct GtkScrollbar

    struct GtkScrollbar;

## Style Property Details

### The `“fixed-slider-length”` style property

      “fixed-slider-length”      gboolean

Don't change slider size, just lock it to the minimum length.

Flags: Read

Default value: FALSE

### The `“has-backward-stepper”` style property

      “has-backward-stepper”     gboolean

Display the standard backward arrow button.

Flags: Read

Default value: TRUE

### The `“has-forward-stepper”` style property

      “has-forward-stepper”      gboolean

Display the standard forward arrow button.

Flags: Read

Default value: TRUE

### The `“has-secondary-backward-stepper”` style property

      “has-secondary-backward-stepper” gboolean

Display a second backward arrow button on the opposite end of the scrollbar.

Flags: Read

Default value: FALSE

### The `“has-secondary-forward-stepper”` style property

      “has-secondary-forward-stepper” gboolean

Display a second forward arrow button on the opposite end of the scrollbar.

Flags: Read

Default value: FALSE

### The `“min-slider-length”` style property

      “min-slider-length”        gint

Minimum length of scrollbar slider.

`GtkScrollbar:min-slider-length` has been deprecated since version 3.20 and should not be used in newly-written code.

Use min-height/min-width CSS properties on the slider element instead. The value of this style property is ignored.

Flags: Read

Allowed values: >= 0

Default value: 21

## See Also

GtkAdjustment, GtkScrolledWindow