First of all, check the Thunar README
Clone the sources (required packages: git):
git clone https://gitlab.xfce.org/xfce/thunar
Enter build folder:
cd thunar
Execute autogen (required packages: build-essential, automake, gobject-introspection):
./autogen.sh
If any dependencies are missing, autogen will tell you. Depending on your distribution, installing the “dev” version of the dependent packages might be sufficient. (e.g. package: libexo-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:
make
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) Here is my personal script for starting thunar from source:
#!/bin/bash # Quit any running thunar instance and start a new thunar from source. Enable debug messages THUNAR_TEST_FOLDER=/path/to/thunar/testing/folder echo "./thunar/thunar -q;./thunar/thunar $THUNAR_TEST_FOLDER" ./thunar/thunar -q;G_MESSAGES_DEBUG=all ./thunar/thunar $THUNAR_TEST_FOLDER
Here a workaround to as well test thunar plugin changes (thunar-sbr in this example) without the need to install thunar:
./autogen.sh --with-custom-thunarx-dirs-enabled make THUNARX_DIRS=~/git/thunar/plugins/thunar-sbr/.libs ./thunar/thunar
For debugging Thunar, I use the following:
#!/bin/bash echo "./thunar/thunar -q; gdb thunar/.libs/thunar" ./thunar/thunar -q; gdb thunar/.libs/thunar
If you want to test thunar-plugins, it is required to install thunar.
You can install Thunar with:
sudo make install
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:
sudo make uninstall
For more infoormation, check the INSTALL file in the source code!
Here is a small collection of useful flags which can be passed to ./autogen.sh
:
--enable-gtk-doc : Creates html documentation inside /doc/reference/thunarx/html --enable-introspection : for usage of the GtkInspector --prefix <install_dir>: install thunar to install_dir --enable-maintainer-mode --enable-debug=full|yes|minimum|no
Some flags need to be passed to the thunar binary:
--g-fatal-warnings : Lets thunar crash an any warning/error. Useful to get a backtrace / locate a warning/error/critical
You might want to run that via gdb to get a backtrace:
gdb --args thunar/.libs/thunar --g-fatal-warnings