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

A set of intermediate tarballs to ease the transition

When porting to GtkSourceView 4, instead of doing everything in one step, you can compile intermediate 3.99.x tarballs of GtkSourceView, so that you can compile your code regularly and run the tests. Not doing all at once in one big commit, but instead doing smaller and testable commits.

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: