GtkTextTag

GtkTextTag — A tag that can be applied to text in a GtkTextBuffer

Properties

gboolean accumulative-margin Read / Write
gboolean allow-breaks Read / Write
gboolean allow-breaks-set Read / Write
gchar * background Write
gboolean background-full-height Read / Write
gboolean background-full-height-set Read / Write
GdkRGBA * background-rgba Read / Write
gboolean background-set Read / Write
GtkTextDirection direction Read / Write
gboolean editable Read / Write
gboolean editable-set Read / Write
gboolean fallback Read / Write
gboolean fallback-set Read / Write
gchar * family Read / Write
gboolean family-set Read / Write
gchar * font Read / Write
PangoFontDescription * font-desc Read / Write
gchar * font-features Read / Write
gboolean font-features-set Read / Write
gchar * foreground Write
GdkRGBA * foreground-rgba Read / Write
gboolean foreground-set Read / Write
gint indent Read / Write
gboolean indent-set Read / Write
gboolean insert-hyphens Read / Write
gboolean insert-hyphens-set Read / Write
gboolean invisible Read / Write
gboolean invisible-set Read / Write
GtkJustification justification Read / Write
gboolean justification-set Read / Write
gchar * language Read / Write
gboolean language-set Read / Write
gint left-margin Read / Write
gboolean left-margin-set Read / Write
gint letter-spacing Read / Write
gboolean letter-spacing-set Read / Write
gchar * name Read / Write / Construct Only
PangoOverline overline Read / Write
GdkRGBA * overline-rgba Read / Write
gboolean overline-rgba-set Read / Write
gboolean overline-set Read / Write
gchar * paragraph-background Write
GdkRGBA * paragraph-background-rgba Read / Write
gboolean paragraph-background-set Read / Write
gint pixels-above-lines Read / Write
gboolean pixels-above-lines-set Read / Write
gint pixels-below-lines Read / Write
gboolean pixels-below-lines-set Read / Write
gint pixels-inside-wrap Read / Write
gboolean pixels-inside-wrap-set Read / Write
gint right-margin Read / Write
gboolean right-margin-set Read / Write
gint rise Read / Write
gboolean rise-set Read / Write
gdouble scale Read / Write
gboolean scale-set Read / Write
PangoShowFlags show-spaces Read / Write
gboolean show-spaces-set Read / Write
gint size Read / Write
gdouble size-points Read / Write
gboolean size-set Read / Write
PangoStretch stretch Read / Write
gboolean stretch-set Read / Write
gboolean strikethrough Read / Write
GdkRGBA * strikethrough-rgba Read / Write
gboolean strikethrough-rgba-set Read / Write
gboolean strikethrough-set Read / Write
PangoStyle style Read / Write
gboolean style-set Read / Write
PangoTabArray * tabs Read / Write
gboolean tabs-set Read / Write
PangoUnderline underline Read / Write
GdkRGBA * underline-rgba Read / Write
gboolean underline-rgba-set Read / Write
gboolean underline-set Read / Write
PangoVariant variant Read / Write
gboolean variant-set Read / Write
gint weight Read / Write
gboolean weight-set Read / Write
GtkWrapMode wrap-mode Read / Write
gboolean wrap-mode-set Read / Write

Types and Values

struct GtkTextTag

Object Hierarchy

    GObject
    ╰── GtkTextTag

Includes

#include <gtk/gtk.h>

Description

You may wish to begin by reading the text widget conceptual overview which gives an overview of all the objects and data types related to the text widget and how they work together.

Tags should be in the GtkTextTagTable for a given GtkTextBuffer before using them with that buffer.

gtk_text_buffer_create_tag() is the best way to create tags. See “gtk4-demo” for numerous examples.

For each property of GtkTextTag, there is a “set” property, e.g. “font-set” corresponds to “font”. These “set” properties reflect whether a property has been set or not. They are maintained by GTK+ and you should not set them independently.

Functions

gtk_text_tag_new ()

GtkTextTag *
gtk_text_tag_new (const gchar *name);

Creates a GtkTextTag. Configure the tag using object arguments, i.e. using g_object_set().

Parameters

name

tag name, or NULL.

[allow-none]

Returns

a new GtkTextTag


gtk_text_tag_get_priority ()

gint
gtk_text_tag_get_priority (GtkTextTag *tag);

Get the tag priority.

Parameters

tag

a GtkTextTag

 

Returns

The tag’s priority.


gtk_text_tag_set_priority ()

void
gtk_text_tag_set_priority (GtkTextTag *tag,
                           gint priority);

Sets the priority of a GtkTextTag. Valid priorities start at 0 and go to one less than gtk_text_tag_table_get_size(). Each tag in a table has a unique priority; setting the priority of one tag shifts the priorities of all the other tags in the table to maintain a unique priority for each tag. Higher priority tags “win” if two tags both set the same text attribute. When adding a tag to a tag table, it will be assigned the highest priority in the table by default; so normally the precedence of a set of tags is the order in which they were added to the table, or created with gtk_text_buffer_create_tag(), which adds the tag to the buffer’s table automatically.

Parameters

tag

a GtkTextTag

 

priority

the new priority

 

gtk_text_tag_changed ()

void
gtk_text_tag_changed (GtkTextTag *tag,
                      gboolean size_changed);

Emits the “tag-changed” signal on the GtkTextTagTable where the tag is included.

The signal is already emitted when setting a GtkTextTag property. This function is useful for a GtkTextTag subclass.

Parameters

tag

a GtkTextTag.

 

size_changed

whether the change affects the GtkTextView layout.

 

Types and Values

struct GtkTextTag

struct GtkTextTag;

Property Details

The “accumulative-margin” property

  “accumulative-margin”      gboolean

Whether the margins accumulate or override each other.

When set to TRUE the margins of this tag are added to the margins of any other non-accumulative margins present. When set to FALSE the margins override one another (the default).

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “allow-breaks” property

  “allow-breaks”             gboolean

Whether breaks are allowed.

Owner: GtkTextTag

Flags: Read / Write

Default value: TRUE


The “allow-breaks-set” property

  “allow-breaks-set”         gboolean

Whether this tag affects line breaks.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “background” property

  “background”               gchar *

Background color as a string.

Owner: GtkTextTag

Flags: Write

Default value: NULL


The “background-full-height” property

  “background-full-height”   gboolean

Whether the background color fills the entire line height or only the height of the tagged characters.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “background-full-height-set” property

  “background-full-height-set” gboolean

Whether this tag affects background height.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “background-rgba” property

  “background-rgba”          GdkRGBA *

Background color as a GdkRGBA.

Owner: GtkTextTag

Flags: Read / Write


The “background-set” property

  “background-set”           gboolean

Whether this tag affects the background color.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “direction” property

  “direction”                GtkTextDirection

Text direction, e.g. right-to-left or left-to-right.

Owner: GtkTextTag

Flags: Read / Write

Default value: GTK_TEXT_DIR_NONE


The “editable” property

  “editable”                 gboolean

Whether the text can be modified by the user.

Owner: GtkTextTag

Flags: Read / Write

Default value: TRUE


The “editable-set” property

  “editable-set”             gboolean

Whether this tag affects text editability.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “fallback” property

  “fallback”                 gboolean

Whether font fallback is enabled.

When set to TRUE, other fonts will be substituted where the current font is missing glyphs.

Owner: GtkTextTag

Flags: Read / Write

Default value: TRUE


The “fallback-set” property

  “fallback-set”             gboolean

Whether this tag affects font fallback.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “family” property

  “family”                   gchar *

Name of the font family, e.g. Sans, Helvetica, Times, Monospace.

Owner: GtkTextTag

Flags: Read / Write

Default value: NULL


The “family-set” property

  “family-set”               gboolean

Whether this tag affects the font family.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “font” property

  “font”                     gchar *

Font description as string, e.g. \"Sans Italic 12\".

Note that the initial value of this property depends on the internals of PangoFontDescription.

Owner: GtkTextTag

Flags: Read / Write

Default value: NULL


The “font-desc” property

  “font-desc”                PangoFontDescription *

Font description as a PangoFontDescription struct.

Owner: GtkTextTag

Flags: Read / Write


The “font-features” property

  “font-features”            gchar *

OpenType font features, as a string.

Owner: GtkTextTag

Flags: Read / Write

Default value: NULL


The “font-features-set” property

  “font-features-set”        gboolean

Whether this tag affects font features.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “foreground” property

  “foreground”               gchar *

Foreground color as a string.

Owner: GtkTextTag

Flags: Write

Default value: NULL


The “foreground-rgba” property

  “foreground-rgba”          GdkRGBA *

Foreground color as a GdkRGBA.

Owner: GtkTextTag

Flags: Read / Write


The “foreground-set” property

  “foreground-set”           gboolean

Whether this tag affects the foreground color.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “indent” property

  “indent”                   gint

Amount to indent the paragraph, in pixels.

Owner: GtkTextTag

Flags: Read / Write

Default value: 0


The “indent-set” property

  “indent-set”               gboolean

Whether this tag affects indentation.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “insert-hyphens” property

  “insert-hyphens”           gboolean

Whether to insert hyphens at breaks.

Owner: GtkTextTag

Flags: Read / Write

Default value: TRUE


The “insert-hyphens-set” property

  “insert-hyphens-set”       gboolean

Whether this tag affects insertion of hyphens.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “invisible” property

  “invisible”                gboolean

Whether this text is hidden.

Note that there may still be problems with the support for invisible text, in particular when navigating programmatically inside a buffer containing invisible segments.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “invisible-set” property

  “invisible-set”            gboolean

Whether this tag affects text visibility.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “justification” property

  “justification”            GtkJustification

Left, right, or center justification.

Owner: GtkTextTag

Flags: Read / Write

Default value: GTK_JUSTIFY_LEFT


The “justification-set” property

  “justification-set”        gboolean

Whether this tag affects paragraph justification.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “language” property

  “language”                 gchar *

The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If not set, an appropriate default will be used.

Note that the initial value of this property depends on the current locale, see also gtk_get_default_language().

Owner: GtkTextTag

Flags: Read / Write

Default value: NULL


The “language-set” property

  “language-set”             gboolean

Whether this tag affects the language the text is rendered as.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “left-margin” property

  “left-margin”              gint

Width of the left margin in pixels.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “left-margin-set” property

  “left-margin-set”          gboolean

Whether this tag affects the left margin.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “letter-spacing” property

  “letter-spacing”           gint

Extra spacing between graphemes, in Pango units.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “letter-spacing-set” property

  “letter-spacing-set”       gboolean

Whether this tag affects letter spacing.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “name” property

  “name”                     gchar *

Name used to refer to the text tag. NULL for anonymous tags.

Owner: GtkTextTag

Flags: Read / Write / Construct Only

Default value: NULL


The “overline” property

  “overline”                 PangoOverline

Style of overline for this text.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_OVERLINE_NONE


The “overline-rgba” property

  “overline-rgba”            GdkRGBA *

Color of overline for this text.

Owner: GtkTextTag

Flags: Read / Write


The “overline-rgba-set” property

  “overline-rgba-set”        gboolean

Whether this tag affects overlining color.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “overline-set” property

  “overline-set”             gboolean

Whether this tag affects overlining.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “paragraph-background” property

  “paragraph-background”     gchar *

The paragraph background color as a string.

Owner: GtkTextTag

Flags: Write

Default value: NULL


The “paragraph-background-rgba” property

  “paragraph-background-rgba” GdkRGBA *

The paragraph background color as a GdkRGBA.

Owner: GtkTextTag

Flags: Read / Write


The “paragraph-background-set” property

  “paragraph-background-set” gboolean

Whether this tag affects the paragraph background color.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “pixels-above-lines” property

  “pixels-above-lines”       gint

Pixels of blank space above paragraphs.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “pixels-above-lines-set” property

  “pixels-above-lines-set”   gboolean

Whether this tag affects the number of pixels above lines.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “pixels-below-lines” property

  “pixels-below-lines”       gint

Pixels of blank space below paragraphs.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “pixels-below-lines-set” property

  “pixels-below-lines-set”   gboolean

Whether this tag affects the number of pixels above lines.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “pixels-inside-wrap” property

  “pixels-inside-wrap”       gint

Pixels of blank space between wrapped lines in a paragraph.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “pixels-inside-wrap-set” property

  “pixels-inside-wrap-set”   gboolean

Whether this tag affects the number of pixels between wrapped lines.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “right-margin” property

  “right-margin”             gint

Width of the right margin in pixels.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “right-margin-set” property

  “right-margin-set”         gboolean

Whether this tag affects the right margin.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “rise” property

  “rise”                     gint

Offset of text above the baseline (below the baseline if rise is negative) in Pango units.

Owner: GtkTextTag

Flags: Read / Write

Default value: 0


The “rise-set” property

  “rise-set”                 gboolean

Whether this tag affects the rise.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “scale” property

  “scale”                    gdouble

Font size as a scale factor relative to the default font size. This properly adapts to theme changes etc. so is recommended. Pango predefines some scales such as PANGO_SCALE_X_LARGE.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 1


The “scale-set” property

  “scale-set”                gboolean

Whether this tag scales the font size by a factor.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “show-spaces” property

  “show-spaces”              PangoShowFlags

How to render invisible characters.

Owner: GtkTextTag

Flags: Read / Write


The “show-spaces-set” property

  “show-spaces-set”          gboolean

Whether this tag affects rendering of invisible characters.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “size” property

  “size”                     gint

Font size in Pango units.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “size-points” property

  “size-points”              gdouble

Font size in points.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 0


The “size-set” property

  “size-set”                 gboolean

Whether this tag affects the font size.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “stretch” property

  “stretch”                  PangoStretch

Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_STRETCH_NORMAL


The “stretch-set” property

  “stretch-set”              gboolean

Whether this tag affects the font stretch.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “strikethrough” property

  “strikethrough”            gboolean

Whether to strike through the text.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “strikethrough-rgba” property

  “strikethrough-rgba”       GdkRGBA *

This property modifies the color of strikeouts. If not set, strikeouts will use the forground color.

Owner: GtkTextTag

Flags: Read / Write


The “strikethrough-rgba-set” property

  “strikethrough-rgba-set”   gboolean

If the “strikethrough-rgba” property has been set.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “strikethrough-set” property

  “strikethrough-set”        gboolean

Whether this tag affects strikethrough.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “style” property

  “style”                    PangoStyle

Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_STYLE_NORMAL


The “style-set” property

  “style-set”                gboolean

Whether this tag affects the font style.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “tabs” property

  “tabs”                     PangoTabArray *

Custom tabs for this text.

Owner: GtkTextTag

Flags: Read / Write


The “tabs-set” property

  “tabs-set”                 gboolean

Whether this tag affects tabs.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “underline” property

  “underline”                PangoUnderline

Style of underline for this text.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_UNDERLINE_NONE


The “underline-rgba” property

  “underline-rgba”           GdkRGBA *

This property modifies the color of underlines. If not set, underlines will use the forground color.

If “underline” is set to PANGO_UNDERLINE_ERROR, an alternate color may be applied instead of the foreground. Setting this property will always override those defaults.

Owner: GtkTextTag

Flags: Read / Write


The “underline-rgba-set” property

  “underline-rgba-set”       gboolean

If the “underline-rgba” property has been set.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “underline-set” property

  “underline-set”            gboolean

Whether this tag affects underlining.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “variant” property

  “variant”                  PangoVariant

Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS.

Owner: GtkTextTag

Flags: Read / Write

Default value: PANGO_VARIANT_NORMAL


The “variant-set” property

  “variant-set”              gboolean

Whether this tag affects the font variant.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “weight” property

  “weight”                   gint

Font weight as an integer, see predefined values in PangoWeight; for example, PANGO_WEIGHT_BOLD.

Owner: GtkTextTag

Flags: Read / Write

Allowed values: >= 0

Default value: 400


The “weight-set” property

  “weight-set”               gboolean

Whether this tag affects the font weight.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE


The “wrap-mode” property

  “wrap-mode”                GtkWrapMode

Whether to wrap lines never, at word boundaries, or at character boundaries.

Owner: GtkTextTag

Flags: Read / Write

Default value: GTK_WRAP_NONE


The “wrap-mode-set” property

  “wrap-mode-set”            gboolean

Whether this tag affects line wrap mode.

Owner: GtkTextTag

Flags: Read / Write

Default value: FALSE