GtkSourceView 3 -> 4 Porting Guide

GTK dependency

Both GtkSourceView 3 and GtkSourceView 4 depend on GTK 3.

Preparation in GtkSourceView 3

GtkSourceView 3.24 is the latest stable GtkSourceView 3 version. Before continuing this porting guide, you should use the 3.24 version without using any deprecated API.

New pkg-config name

For GtkSourceView 4, the pkg-config name is: gtksourceview-4

To compile a program that uses GtkSourceView 4, you can for example use the following command:

$ gcc hello.c `pkg-config --cflags --libs gtksourceview-4` -o hello

GtkSourceView 3.99.1

  • All the deprecated APIs have been removed.

  • Only <gtksourceview/gtksource.h> can be included directly. There were already warnings about it in GtkSourceView 3. The warnings have been changed to errors.

  • Only the version 2 of the GtkSourceView language definition file format is supported (for *.lang files, used for syntax highlighting). The support for the version 1 has been dropped.

GtkSourceView 3.99.2

GtkSourceView 3.99.3

No API changes.

GtkSourceView 3.99.4

  • The API of the GtkSourceView::move-lines keybinding signal has been simplified: the copy parameter was deprecated and has been removed; and the count parameter has been replaced by the down boolean.

GtkSourceView 3.99.5 and 3.99.6

No API changes.

GtkSourceView 3.99.7

In order to have a better *.gir file and have less metadata to generate the *.vapi for Vala, the following change has been made:

  • gtk_source_completion_show() has been renamed to gtk_source_completion_start(). The function conflicted with the GtkSourceCompletion::show signal. Note that in Vala this doesn't require code changes because the method was already renamed to start() in GtkSourceView 3.

Other changes in 3.99.7: