-
Pl
chevron_right
Gedit Technology: B2B Services around gedit and libgedit
news.movim.eu / PlanetGnome • 10:00 • 3 minutes
This article is also available in the B2B Services section on the gedit website .
Several business-to-business services are possible around gedit:
- Development of a new plugin.
- Development of a new text editor or Integrated Development Environment (IDE) based on the libgedit.
- Code maintenance.
- Training.
- Support.
- Creation of Long-Term Support (LTS) versions.
- Developer Experience (DX) guidance.
- […] Come with your own ideas to collaborate with the gedit project.
Target audience
- Operating System / Linux distributions: for your installed-by-default text editor.
- GTK-based desktop environments: to maintain a text editor or IDE, and to adhere to your Human Interface Guidelines (HIG).
- Scientific sector: to build developer tools.
- Education sector: to build easy-to-learn developer tools.
- New programming languages / development platforms: you're designing and implementing a new programming language, and you need developer tools for your users.
- Older programming languages users: you're a big organization and you have a lot of legacy code. You want better developer tools to be more productive.
- Markup or domain-specific languages: to better promote your language, you would like first-class support for it.
The libgedit shared libraries
gedit is not just a general-purpose text editor application, there is a “libgedit” underneath!
A lot of gedit features are implemented as re-usable code, as a set of shared libraries. So new apps - text editors and IDEs alike - can be built on top. There is an ongoing effort from the gedit project to make more code re-usable.
An example of an IDE based on the libgedit is Enter TeX .
The libgedit is in turn based on the very flexible GTK graphical toolkit .
GTK 3 or GTK 4
The libgedit currently targets GTK 3. If you want to develop with GTK 4, there is the GtkSourceView library (but it doesn't contain all the libgedit features). Another possibility is to first port the libgedit to GTK 4.
The plugin system
gedit has a powerful plugin system mechanism, to extend the application. You can leverage it for prototyping additional features, or as the final solution that requires less efforts than creating a new specialized text editor.
You can also combine the best of both approaches:
- First implement a feature that is based on libgedit.
- Then wrap your feature in a gedit plugin so it can readily be used.
- Finally, as an option, create a custom text editor app, re-using the same implementation of your feature(s), integrating everything well together.
Other developer tools
The text editor part is essential, it is the central feature of an IDE. But other developer tools can be developed as well.
For instance, Devhelp can be used for browsing and searching API documentation. Almost all its code is re-usable; like for gedit, there is a libdevhelp toolkit under the hood.
Advice to not start from scratch
A little advice: please don't create a new text editor or IDE from scratch, base your work on existing, high-level libraries like the libgedit. Even if it looks simple on paper, developing a feature-full text editor is a lot of work.
Use the libgedit from your preferred programming language
libgedit and GTK can be used from a wide range of programming languages, and the support for additional languages can be implemented too. This is thanks to GObject Introspection. See the list of language bindings for the GTK project.
Open-source or proprietary software
libgedit and GTK are licensed under the GNU Lesser General Public License (LGPL), which allows to develop proprietary software on top.
gedit plugins need to be distributed as free/ libre software, under the GPL license.
Who to collaborate with
- Sébastien Wilmet , the current maintainer and main developer of gedit and libgedit.
- You? If you're or work for a consultancy company specialized in GNOME, GLib or GTK, and want to be part of this project, don't hesitate to get in touch!