Gtef - GTK+ Text Editor Framework
=================================

This is version 1.99.2 of Gtef.

Gtef is a library that eases the development of GtkSourceView-based text
editors and IDEs.

The Gtef website:

    https://wiki.gnome.org/Projects/Gtef

Some background on why this project has been created:

    https://wiki.gnome.org/Apps/Gedit/ReusableCode
    https://wiki.gnome.org/Projects/GtkSourceView/TdiFramework

The final goal is to create a Tabbed Document Interface (TDI) framework
suitable for text editors.

But the first short-term goal is to have a higher-level API to load and save a
file. All the errors would be handled by Gtef, showing GtkInfoBars etc.

Maybe some of the Gtef features will be moved to GtkSourceView when it's
considered more stable. So Gtef can also be seen as an incubator for some
GtkSourceView features.

The Gtef library is free software and is released under the terms of the
GNU Lesser General Public License.

Warning - API/ABI stability
---------------------------

Gtef uses the same versioning *scheme* as GNOME, but not the same version
*numbers* at the same time. The package version has the form
'major.minor.micro'. If 'minor' is an even number, it means that it is a stable
version and that API/ABI stability is guaranteed, and that it is
backward-compatible with previous stable minor versions that have the same
major version (e.g. 1.2.x is backward-compatible with 1.0.x). When a new major
version is released, it means that the API or ABI is not backward-compatible
with previous major versions. Different major versions can be installed in
parallel.

To learn more about the GNOME versioning scheme:
https://developer.gnome.org/programming-guidelines/stable/versioning.html.en

Gtef contains more experimental APIs than GtkSourceView, sometimes even
unfinished features. It means that - if needed - new major versions are
released every 6 months, breaking the API to improve and design it
incrementally.

Dependencies
------------

- GLib >= 2.51.5
- GTK+ >= 3.20
- GtkSourceView >= 3.22
- libxml2 >= 2.5
- uchardet

Since uchardet is a fairly new library, here is the URL:
https://www.freedesktop.org/wiki/Software/uchardet/

Installation
------------

Simple install procedure:

  $ ./configure
  $ make
  [ Become root if necessary ]
  $ make install

See the file 'INSTALL' for more detailed information.

From the Git repository, the 'configure' script and the 'INSTALL' file are not
yet generated, so you need to run 'autogen.sh' instead, which takes the same
arguments as 'configure'.

To build the latest version of Gtef plus its dependencies from Git, Jhbuild is
recommended:

    https://wiki.gnome.org/Projects/Jhbuild

Applications that use Gtef
--------------------------

- gCSVedit: http://gcsvedit.sourceforge.net/
- LaTeXila: https://wiki.gnome.org/Apps/LaTeXila
