Xfce Wiki

Sub domains
 

Thunar - build, test, and debugging suggestions

Building Thunar

First of all, check the Thunar README

Clone the sources (required packages: git):

git clone https://gitlab.xfce.org/xfce/thunar

Enter the cloned folder:

cd thunar

Execute meson (required packages: meson, gobject-introspection):

meson setup build

If any dependencies are missing, meson will tell you. Depending on your distribution, installing the “dev” version of the dependent packages might be sufficient. (e.g. package: libxfc4eutil-2-dev, libxfce4ui-2-dev, … (naming might differ between distributions)) If that does not help, you will need to build and install the dependencies from source as well.

When autogen has finished successfully (all required dependencies have been installed), you can build thunar:

meson compile -C build

For testing only thunar itself, you don't need to install it. You can run it directly from the source folder. (Though if you want to test thunar plugins, you will need to install):

build/thunar/thunar -q;G_MESSAGES_DEBUG=all build/thunar/thunar

Here a workaround to as well test thunar plugin changes (thunar-sbr in this example) without the need to install thunar:

meson compile -C build -Dthunarx-dirs-envvar=true
THUNARX_DIRS=~/git/thunar/plugins/thunar-sbr/.libs ./thunar/thunar

Debugging Thunar

For debugging Thunar, I use:

build/thunar/thunar -q; gdb --args build/thunar/thunar

Usually a good idea to bail out on the first warning:

build/thunar/thunar -q; gdb --args build/thunar/thunar --g-fatal-warnings

On a freeze, get a backtrace of all threads via

thread apply all bt

If you want to test thunar-plugins, it is required to install thunar.

You can install Thunar with:

meson install -C build

Note that, per default, Thunar will be installed in parallel to the Thunar of your distribution, into the “/usr” folder. You can uninstall it with:

cd build && ninja uninstall

Thunar Build Flags

Here is a small collection of useful flags which can be passed to meson setup :

-Dgtk-doc=true : Creates html documentation inside /doc/reference/thunarx/html
-Dintrospection=true
--buildtype=debug|release|plain

A full list can be found here: https://gitlab.xfce.org/xfce/thunar/-/blob/master/meson_options.txt?ref_type=heads

Back To Top


Return to Main thunar documentation page