Skip to content

Development Environment

This page covers the tools that make MATE development comfortable: API documentation, editors, and utilities.

API documentation with Devhelp

Devhelp gives you searchable, offline API documentation for GTK, GLib, GObject, and all installed development libraries. It is the fastest way to look up function signatures and struct members without leaving the desktop.

sudo apt install devhelp libgtk-3-doc libglib2.0-doc

Start Devhelp and use Ctrl+F to search, or invoke it from the terminal:

devhelp --search g_signal_connect

Editors and IDEs

ToolNotes
PlumaMATE’s own text editor — lightweight, ships with MATE
VS CodeGreat C/C++ extension, clangd support, ctags navigation
GNOME BuilderDeep GLib/GTK integration, GObject introspection, Flatpak build support
GeanyLightweight IDE, fast symbol lookup, built-in terminal

For VS Code, install the C/C++ and clangd extensions. Generate compile_commands.json via bear make for accurate code navigation.

Essential CLI tools

ToolPurpose
pkg-configQuery compiler flags: pkg-config --cflags --libs gtk+-3.0
gsettingsRead/write GSettings keys at runtime
dconf-editorBrowse all GSettings keys graphically
xdpyinfo / xwininfoInspect X display and window properties
gitg / gitkGraphical git history browser
meldVisual diff and merge tool
bearWraps make to produce compile_commands.json for clangd

Virtual machine workflow

Working inside a VM keeps your main system clean and lets you snapshot before risky operations:

  1. Install a MATE distribution iinside VirtManager, GNOME Boxes or VirtualBox.
  2. Use shared folders or sshfs to edit files from your host editor.
  3. Do all builds and sudo make install inside the VM.
  4. Snapshot before installing — reset if anything breaks.
Last updated on • mbkma