Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
thunar:dev:build_and_run [2020/02/28 08:01] – created alexxconsthunar:dev:build_and_run [2024/03/13 16:05] (current) – [Thunar - build, test, and debugging suggestions] alexxcons
Line 1: Line 1:
-TODOAdd instructions on how to build+~~NOTOC~~ 
 +{{ :thunar:dev:xfce.thunar.png?nolink|}} 
 +====== Thunar - build, test, and debugging suggestions ===== 
 + 
 +  * **[[#Building Thunar|Building Thunar]]** 
 +  * **[[#Debugging Thunar|Debugging Thunar]]** 
 +  * **[[#Thunar Build Flags|Thunar Build Flags]]** 
 + 
 +---- 
 + 
 +=== Building Thunar === 
 + 
 +First of all, check the [[https://gitlab.xfce.org/xfce/thunar/-/blob/master/README.md|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   #!/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   THUNAR_TEST_FOLDER=/path/to/thunar/testing/folder
   echo "./thunar/thunar -q;./thunar/thunar $THUNAR_TEST_FOLDER"   echo "./thunar/thunar -q;./thunar/thunar $THUNAR_TEST_FOLDER"
   ./thunar/thunar -q;G_MESSAGES_DEBUG=all ./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
 +
 +----
 +
 +=== Debugging 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!
 +
 +=== Thunar Build Flags ===
 +Here is a small collection of useful flags which can be passed to ''./autogen.sh'' :
 +
 +<code>--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</code>
 +
 +Some flags need to be passed to the thunar binary:
 +<code>--g-fatal-warnings : Lets thunar crash an any warning/error. Useful to get a backtrace / locate a warning/error/critical</code>
 +
 +You might want to run that via gdb to get a backtrace:
 +<code>gdb --args thunar/.libs/thunar --g-fatal-warnings</code>
 +[[|Back To Top]]
 +----
 +[[ https://docs.xfce.org/xfce/thunar/start|Return to Main thunar documentation page]]