Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • xfce/thunar
  • alexxcons/thunar
  • lastonestanding/thunar
  • StormByte/thunar
  • Manideep/thunar
  • ikem-krueger/thunar
  • Levitating/thunar
  • correctmost/thunar
  • ncfavier/thunar
  • sgn/thunar
  • aslezar/thunar
  • drsudo/thunar
  • prertik/thunar
  • entwicklerseite/thunar
  • sarahjjust/thunar
  • joebonrichie/thunar
  • raultel/thunar
  • Zetta1_Reid0/thunar
  • RAZOR_99/thunar
  • konsolebox/thunar
  • sulincix/thunar
  • bobby285271/thunar
  • jensenr30/thunar
  • radioactiveman/thunar
  • psydbernz/thunar-contrib
  • landry/thunar
  • stealthninja/thunar
  • kressb-gitlab/thunar
  • keszybz/thunar
29 results
Show changes
Commits on Source (5762)
---
Language: Cpp
BasedOnStyle: GNU
AlignEscapedNewlines: DontAlign
AlignTrailingComments: true
AlignConsecutiveDeclarations: true
AllowAllParametersOfDeclarationOnNextLine: false
AlwaysBreakAfterReturnType: All
BinPackParameters: false
AlignAfterOpenBracket: true
BreakBeforeBinaryOperators: NonAssignment
ColumnLimit: 0
ContinuationIndentWidth: 0
IncludeBlocks: Regroup
IndentGotoLabels: false
InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 3
SpaceAfterCStyleCast: true
WhitespaceSensitiveMacros:
# Avoid breaking formatting in the code parameter
- G_DEFINE_TYPE_WITH_CODE
- G_DEFINE_TYPE_EXTENDED
- G_DEFINE_ABSTRACT_TYPE_WITH_CODE
# Buggy workaround to add exceptions to 'SpaceBeforeParens: Always' (see below)
- _
# Workaround to avoid some alignment bugs when adding a macro to WhitespaceSensitiveMacros,
# see https://github.com/llvm/llvm-project/issues/55443#issuecomment-1953268337
# This doesn't fix all alignment bugs though, so I'd rather make an exception only for '_',
# and not also for 'N_' or 'I_' for example.
# See also https://github.com/llvm/llvm-project/issues/82288
Macros:
- _(x)=x
...
# action_mgr->n_files_to_process > 0 ensures that action_mgr->files_to_process != NULL
thunar-action-manager.c:[0-9]+:[0-9]+: warning: dereference of NULL .+\*action_mgr.files_to_process.+ \[CWE-476\] \[-Wanalyzer-null-dereference\]
# perhaps a bit questionable, but it's been working for a long time, and it seems
# a bit pointless to add a lot of cast to silence this warning
thunar-dbus-service.c:[0-9]+:[0-9]+: warning: .+va_arg.+ expected .+void \*\*.+ but received .+gboolean \(\*\)\(ThunarDBusFileManager \*, GDBusMethodInvocation \*, const gchar \*, gboolean, gboolean, const gchar \*, const gchar \*, ThunarDBusService \*\).+ \{aka .+int \(\*\)\(struct _ThunarDBusFileManager \*, struct _GDBusMethodInvocation \*, const char \*, int, int, const char \*, const char \*, struct _ThunarDBusService \*\).+\} for variadic argument 2 of .+ap.+ \[CWE-686\] \[-Wanalyzer-va-arg-type-mismatch\]
thunar-dbus-service.c:[0-9]+:[0-9]+: warning: .+va_arg.+ expected .+void \*\*.+ but received .+gboolean \(\*\)\(ThunarDBusTrash \*, GDBusMethodInvocation \*, const gchar \*, const gchar \*, ThunarDBusService \*\).+ \{aka .+int \(\*\)\(struct _ThunarDBusTrash \*, struct _GDBusMethodInvocation \*, const char \*, const char \*, struct _ThunarDBusService \*\).+\} for variadic argument 2 of .+ap.+ \[CWE-686\] \[-Wanalyzer-va-arg-type-mismatch\]
thunar-dbus-service.c:[0-9]+:[0-9]+: warning: .+va_arg.+ expected .+void \*\*.+ but received .+gboolean \(\*\)\(ThunarDBusThunar \*, GDBusMethodInvocation \*, const gchar \*, gchar \*\*, gboolean, const gchar \*, const gchar \*, ThunarDBusService \*\).+ \{aka .+int \(\*\)\(struct _ThunarDBusThunar \*, struct _GDBusMethodInvocation \*, const char \*, char \*\*, int, const char \*, const char \*, struct _ThunarDBusService \*\).+\} for variadic argument 2 of .+ap.+ \[CWE-686\] \[-Wanalyzer-va-arg-type-mismatch\]
thunar-dbus-service.c:[0-9]+:[0-9]+: warning: .+va_arg.+ expected .+void \*\*.+ but received .+gboolean \(\*\)\(ThunarOrgFreedesktopFileManager1 \*, GDBusMethodInvocation \*, gchar \*\*, const gchar \*, ThunarDBusService \*\).+ \{aka .+int \(\*\)\(struct _ThunarOrgFreedesktopFileManager1 \*, struct _GDBusMethodInvocation \*, char \*\*, const char \*, struct _ThunarDBusService \*\).+\} for variadic argument 2 of .+ap.+ \[CWE-686\] \[-Wanalyzer-va-arg-type-mismatch\]
# not super obvious, but if we get there and err == NULL then target_filenames[0] != NULL
# and there is at least one file in target_file_list
thunar-dbus-service.c:[0-9]+:[0-9]+: warning: dereference of NULL .+target_file_list.+ \[CWE-476\] \[-Wanalyzer-null-dereference\]
thunar-dbus-service.c:[0-9]+:[0-9]+: warning: dereference of NULL .+target_file_list.+ \[CWE-476\] \[-Wanalyzer-null-dereference\]
thunar-dbus-service.c:[0-9]+:[0-9]+: warning: dereference of NULL .+target_file_list.+ \[CWE-476\] \[-Wanalyzer-null-dereference\]
# this is from plugins/thunar-uca/thunar-uca-model.c:285:11:
# g_warning ("Failed to load `%s': %s", filename, error->message);
# in normal operating mode (i.e. no g_return_val_if_fail()) error is set
glib-2.0/glib/gmessages.h:[0-9]+:[0-9]+: warning: dereference of NULL .+error.+ \[CWE-476\] \[-Wanalyzer-null-dereference\]
......@@ -28,7 +28,6 @@ core.*
core
*.core
*.desktop
*.desktop.in
*.service
*.policy
org.xfce.thunar.appdata.xml
......@@ -37,14 +36,12 @@ gtk-doc.make
Thunar.spec
docs/.*.swp
docs/*.1
docs/design/.*.swp
docs/manual/.*.swp
docs/manual/*/.*.swp
docs/manual/*/Thunar.xml
docs/manual/*/html
docs/manual/*/*.stamp
docs/manual/*/images/.*.swp
docs/papers/.*.swp
docs/reference/.*.swp
docs/reference/thunarx/xml
docs/reference/thunarx/html
......@@ -53,11 +50,12 @@ docs/reference/thunarx/.*.swp
docs/reference/thunarx/*.bak
docs/reference/thunarx/thunarx-decl-list.txt
docs/reference/thunarx/thunarx-decl.txt
docs/reference/thunarx/thunarx-overrides.txt
docs/reference/thunarx/thunarx-docs.xml
docs/reference/thunarx/thunarx-undeclared.txt
docs/reference/thunarx/thunarx-undocumented.txt
docs/reference/thunarx/thunarx-unused.txt
docs/reference/thunarx/thunarx.args
docs/reference/thunarx/thunarx.actions
docs/reference/thunarx/thunarx.hierarchy
docs/reference/thunarx/thunarx.interfaces
docs/reference/thunarx/thunarx.prerequisites
......@@ -80,9 +78,8 @@ plugins/thunar-sbr/.*.swp
plugins/thunar-sendto-email/thunar-sendto-email
plugins/thunar-sendto-email/thunar-sendto-email.desktop
plugins/thunar-sendto-email/.*.swp
plugins/thunar-tpa/thunar-tpa-bindings.*
plugins/thunar-tpa/thunar-tpa-bindings.[ch]
plugins/thunar-tpa/thunar-tpa.desktop
plugins/thunar-tpa/thunar-tpa.desktop.in
plugins/thunar-tpa/.*.swp
plugins/thunar-tpa/thunar-tpa
plugins/thunar-uca/.*.swp
......@@ -105,6 +102,7 @@ tests/data/.*.swp
thunar/*.loT
thunar/.*.swp
thunar/thunar
thunar/thunar.a
thunar/thunar-dbus-freedesktop-interfaces.[ch]
thunar/thunar-dbus-service-infos.[ch]
thunar/thunar-fallback-icon.c
......@@ -123,17 +121,29 @@ thunarx/.*.swp
thunarx/*.pc
thunarx/*.gir
thunarx/*.typelib
thunarx/thunarx-alias*.[ch]
thunarx/thunarx-visibility.[ch]
thunarx/thunarx-config.h
*~
*.o
*.lo
*.la
.libs
.deps
thunar-vfs
config.h.in~
configure.ac
gtk-doc.m4
test-driver
m4/*
!m4/introspection.m4
ABOUT-NLS
config.rpath
po/Makevars.template
po/Rules-quot
po/boldquot.sed
po/en@boldquot.header
po/en@quot.header
po/insert-header.sin
po/quot.sed
po/remove-potcdate.sin
thunar/libthunar.a
po/remove-potcdate.sed
po/thunar.pot
<!-- Please drop all sections which are not relevant for your concrete use-case -->
<!-- For enhancements and new features only the section 'Version information' might be relevant -->
## Version information
<!-- Which version of this software are you using? -->
<!-- Which distribution are you using? -->
## Steps to reproduce
<!-- Please, explain as detailed as possible the sequence of actions necessary to reproduce the issue -->
1. ...
2. ...
3. ...
## Current behavior
<!-- Please describe the current behaviour -->
## Expected outcome
<!-- Please describe the expected outcome -->
## Backtrace
<!--
For crashes, it's best to get a backtrace to see which method failed to execute.
To get a meaningful backtrace, you will need to install debug symbols. Check the Xfce wiki to see how to do so:
https://docs.xfce.org/contribute/bugs/start#backtraces
It's basically `ulimit -c unlimited` to produce coredumps on crashes and then using gdb on it to get the backtrace out of the coredump.
-->
## Additional information
<!--
- Screenshots are useful for visual errors
- Please report any warning or message printed on the terminal
-->
\ No newline at end of file
# generated code
Thunarx-3.0.c:[0-9]+:[0-9]+: warning: Access to field 'message' results in a dereference of a null pointer \(loaded from variable 'error'\) \[core.NullDereference\]
thunar-tpa-bindings.c:[0-9]+:[0-9]+: warning: Value stored to 'skeleton' during its initialization is never read \[deadcode.DeadStores\]
thunar-dbus-freedesktop-interfaces.c:[0-9]+:[0-9]+: warning: Value stored to 'skeleton' during its initialization is never read \[deadcode.DeadStores\]
thunar-thumbnailer-proxy.c:[0-9]+:[0-9]+: warning: Value stored to 'skeleton' during its initialization is never read \[deadcode.DeadStores\]
thunar-dbus-service-infos.c:[0-9]+:[0-9]+: warning: Value stored to 'skeleton' during its initialization is never read \[deadcode.DeadStores\]
thunar-dbus-service-infos.c:[0-9]+:[0-9]+: warning: Value stored to 'skeleton' during its initialization is never read \[deadcode.DeadStores\]
thunar-dbus-service-infos.c:[0-9]+:[0-9]+: warning: Value stored to 'skeleton' during its initialization is never read \[deadcode.DeadStores\]
thunar-thumbnail-cache-proxy.c:[0-9]+:[0-9]+: warning: Value stored to 'skeleton' during its initialization is never read \[deadcode.DeadStores\]
# n_files = g_list_length (file_infos) so files[n] is initialized for all n
thunar-uca-model.c:[0-9]+:[0-9]+: warning: The left operand of '&' is a garbage value \[core.UndefinedBinaryOperatorResult\]
thunar-uca-model.c:[0-9]+:[0-9]+: warning: 1st function call argument is an uninitialized value \[core.CallAndMessage\]
# not super obvious, but if we get there and err == NULL then target_filenames[0] != NULL
# and there is at least one file in target_file_list
thunar-dbus-service.c:[0-9]+:[0-9]+: warning: Access to field 'data' results in a dereference of a null pointer \(loaded from variable 'target_file_list'\) \[core.NullDereference\]
# item_count = g_list_length (toolbar_items) so target_order[i] and current_order[j] are initialized for all i,j
thunar-toolbar-editor.c:[0-9]+:[0-9]+: warning: Assigned value is garbage or undefined \[core.uninitialized.Assign\]
thunar-toolbar-editor.c:[0-9]+:[0-9]+: warning: Assigned value is garbage or undefined \[core.uninitialized.Assign\]
# the only case where new_name isn't reassigned is the else branch, where there is a g_assert
thunar-util.c:[0-9]+:[0-9]+: warning: Use of memory after it is freed \[unix.Malloc\]
# needed to avoid -Wunused-result
thunar-window.c:[0-9]+:[0-9]+: warning: Value stored to 'list' is never read \[deadcode.DeadStores\]
# zero size array is a legal thing and is consistent with i < item_count in for loops
thunar-window.c:[0-9]+:[0-9]+: warning: Declared variable-length array \(VLA\) has zero size \[core.VLASize\]
thunar-window.c:[0-9]+:[0-9]+: warning: Declared variable-length array \(VLA\) has zero size \[core.VLASize\]
# item_count = g_list_length (toolbar_items) so current_order[j] is initialized for all j
thunar-window.c:[0-9]+:[0-9]+: warning: Assigned value is garbage or undefined \[core.uninitialized.Assign\]
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
......@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
......@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
......@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
......@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
......@@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
......@@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
......@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
......@@ -303,17 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
......@@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
......@@ -21,12 +21,12 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = \
icons \
po \
thunarx \
thunar \
docs \
examples \
plugins
plugins \
po
distclean-local:
rm -rf *.cache *~
......@@ -46,22 +46,21 @@ ChangeLog: Makefile
dist-hook: ChangeLog
desktopdir = $(datadir)/applications
desktop_in_in_files = \
thunar.desktop.in.in \
thunar-bulk-rename.desktop.in.in
desktop_in_files = $(desktop_in_in_files:.desktop.in.in=.desktop.in)
%.desktop.in: %.desktop.in.in Makefile
$(AM_V_GEN) $(SED) -e "s,\@HELPERDIR\@,$(HELPER_PATH_PREFIX),g" < $< > $@
desktop_in_files = \
thunar.desktop.in \
thunar-bulk-rename.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
%.desktop: %.desktop.in Makefile
$(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
#
# .appdata
#
@INTLTOOL_XML_RULE@
appdatadir = $(datadir)/metainfo
appdata_DATA = $(appdata_in_files:.xml.in=.xml)
appdata_in_files = org.xfce.thunar.appdata.xml.in
%.appdata.xml: %.appdata.xml.in Makefile
$(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
servicedir = $(datadir)/dbus-1/services
service_in_files = org.xfce.FileManager.service.in \
......@@ -83,36 +82,41 @@ polkit_in_files = $(polkit_in_in_files:.policy.in.in=.policy.in)
%.policy.in: %.policy.in.in Makefile
sed -e "s,\@bindir\@,$(bindir),g" < $< > $@
polkit_policy_DATA = $(polkit_in_files:.policy.in=.policy)
@INTLTOOL_POLICY_RULE@
# Not using HAVE_POLKIT because a lot of distributions put
# polkit.{its,loc} in binary package instead of development package.
# E.g. Debian puts in polkitd instead of libpolkit-gobject-1-dev
%.policy: %.policy.in Makefile
$(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ || \
cp $< $@
EXTRA_DIST = \
FAQ \
HACKING \
README.md \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
$(desktop_in_in_files) \
$(desktop_in_files) \
$(service_in_files) \
$(systemd_user_in_files) \
$(appdata_in_files) \
$(polkit_in_in_files) \
m4/introspection.m4
its/xfce.loc \
its/xfce.its \
m4/introspection.m4 \
po/meson.build \
meson_options.txt \
meson.build \
xfce-revision.h.in \
$(NULL)
CLEANFILES = $(appdata_DATA)
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update \
$(desktop_in_files) \
$(desktop_DATA) \
$(service_DATA) \
$(systemd_user_DATA) \
$(systemd_user_DATA) \
$(polkit_in_files) \
$(polkit_policy_DATA)
DISTCHECK_CONFIGURE_FLAGS = \
AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--enable-gen-doc \
--enable-introspection
This diff is collapsed.
## What is it?
[![License](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://gitlab.xfce.org/xfce/thunar/COPYING)
Thunar is a modern file manager for the Unix/Linux desktop, aiming to be easy-to-use and fast.
# thunar
## Required packages
Thunar is a modern file manager for the Xfce Desktop Environment. Thunar has been designed from the ground up to be fast and easy to use. Its user interface is clean and intuitive and does not include any confusing or useless options by default. Thunar starts up quickly and navigating through files and folders is fast and responsive.
Thunar depends on the following packages:
----
- perl 5.6 or above
- GTK+ 3.22.0 or above
- GLib 2.42.0 or above
- exo 0.12.0 or above
- intltool 0.30 or above
### Homepage
Thunar can optionally use the following packages:
[Thunar documentation](https://docs.xfce.org/xfce/thunar/start)
- D-Bus 0.34 or above (strongly suggested)
- xfce4-panel 4.14.0 or above (for the trash applet)
- xfconf-query
### Changelog
See [NEWS](https://gitlab.xfce.org/xfce/thunar/-/blob/master/NEWS) for details on changes and fixes made in the current release.
## Installation
### Source Code Repository
The file [`INSTALL`](INSTALL) contains generic installation instructions. For more general information, check the [Thunar documentation](https://docs.xfce.org/xfce/thunar/start).
[Thunar source code](https://gitlab.xfce.org/xfce/thunar)
### Download a Release Tarball
## Debugging Support
[Thunar archive](https://archive.xfce.org/src/xfce/thunar)
or
[Thunar tags](https://gitlab.xfce.org/xfce/thunar/-/tags)
Thunar currently supports four different levels of debugging support, which can be setup using the configure flag `--enable-debug` (check the output of `configure --help`):
### Installation
| Argument | Description |
| ------- | ----------- |
| `full` | Use this if you want to debug Thunar to locate a bug. The build will most probably be noticably slower. This is also recommended for people that want to develop Thunar stuff. |
| `yes` | Adds all kinds of checks to the code, and is therefore likely to run slower. Use this if you want to develop for Thunar (e.g. writing Thunar extensions and such). |
| `minimum` | This is the default for release builds, and presents the recommended behaviour. |
| `no` | Disables all sanity checks. Don't use this unless you know exactly what you do. |
From source:
% git clone https://gitlab.xfce.org/xfce/thunar
% git checkout <branch|tag> #optional step. Per default master is checked out
% cd thunar
% ./autogen.sh
% make
# make install
## Standards compliance
From release tarball:
Thunar supports the following standards/specifications:
% tar xf thunar-<version>.tar.bz2
% cd thunar-<version>
% ./configure
% make
# make install
* [XDG Base Directory Specification](https://freedesktop.org/wiki/Specifications/basedir-spec)
* [Shared MIME Database Specification](https://freedesktop.org/wiki/Specifications/shared-mime-info-spec)
* [X Direct Save (XDS) Protocol for the X Window System](https://freedesktop.org/wiki/Specifications/direct-save)
* [Icon Theme Specification](https://freedesktop.org/wiki/Specifications/icon-theme-spec)
* [Thumbnail Managing Standard](https://freedesktop.org/wiki/Specifications/thumbnails)
* [File URI Specification](https://freedesktop.org/wiki/Specifications/file-uri-spec)
* [Desktop Trash Can Specification](https://freedesktop.org/wiki/Specifications/trash-spec)
Both autogen.sh and configure will list missing dependencies.
If your distribution provides development versions of the related packages,
install them. Otherwise you will need to build and install the missing dependencies from source.
For additional build & debug hints, check the [Thunar wiki pages](https://wiki.xfce.org/thunar/dev) and the [detailed building wiki manual](https://docs.xfce.org/xfce/building).
## How to report bugs?
### Reporting Bugs
Bugs should be reported to [Xfce's GitLab](https://gitlab.xfce.org/xfce/thunar). You will need to create an account for yourself.
Visit the [reporting bugs](https://docs.xfce.org/xfce/thunar/bugs) page to view currently open bug reports and instructions on reporting new bugs or submitting bugfixes.
Please read [how to report bugs ](https://docs.xfce.org/contribute/start#bug_reporting_and_testing) for information on where to send changes or bugfixes.
Important for Thunar 1.2
========================
- The layouting code for ThunarLocationButtons is still buggy. Problem shows
with paths that include a very long directory; you cannot scroll to the
last path component then.
- A design for the ThunarDesktopView module must be developed and later
be implemented.
- We need a suite of unit tests and probably high-level tests, that enable
us to test parts of the file manager automatically and isolate bugs
early.
- Setup gtk-doc to present developers with the internal API of Thunar
to ease development of core modules (and later plugins).
- Write good user documentation. Must be both precise and complete.
- We need some easy way to manage diagrams and related developer
information, which also includes results from discussions on
thunar-dev.
- The HACKING file must be updated with strict rules about how
development of Thunar core modules is to be done, and what
material each developer in addition to the source code.
......@@ -13,7 +13,7 @@ dnl # should be built and installed.
dnl #
AC_DEFUN([BM_THUNAR_PLUGIN_APR],
[
AC_ARG_ENABLE([apr-plugin], [AC_HELP_STRING([--disable-apr-plugin], [Don't build the thunar-apr plugin, see plugins/thunar-apr/README.md])],
AC_ARG_ENABLE([apr-plugin], [AS_HELP_STRING([--disable-apr-plugin], [Don't build the thunar-apr plugin, see plugins/thunar-apr/README.md])],
[ac_bm_thunar_plugin_apr=$enableval], [ac_bm_thunar_plugin_apr=yes])
AC_MSG_CHECKING([whether to build the thunar-apr plugin])
AM_CONDITIONAL([THUNAR_PLUGIN_APR], [test x"$ac_bm_thunar_plugin_apr" = x"yes"])
......@@ -32,14 +32,14 @@ dnl # should be built and installed.
dnl #
AC_DEFUN([BM_THUNAR_PLUGIN_SBR],
[
AC_ARG_ENABLE([sbr-plugin], AC_HELP_STRING([--disable-sbr-plugin], [Don't build the thunar-sbr plugin, see plugins/thunar-sbr/README.md]),
AC_ARG_ENABLE([sbr-plugin], AS_HELP_STRING([--disable-sbr-plugin], [Don't build the thunar-sbr plugin, see plugins/thunar-sbr/README.md]),
[ac_bm_thunar_plugin_sbr=$enableval], [ac_bm_thunar_plugin_sbr=yes])
AC_MSG_CHECKING([whether to build the thunar-sbr plugin])
AM_CONDITIONAL([THUNAR_PLUGIN_SBR], [test x"$ac_bm_thunar_plugin_sbr" = x"yes"])
AC_MSG_RESULT([$ac_bm_thunar_plugin_sbr])
dnl Check for PCRE (for the "Search & Replace" renamer)
XDT_CHECK_OPTIONAL_PACKAGE([PCRE], [libpcre], [6.0], [pcre], [Regular expression support])
dnl Check for PCRE2 (for the "Search & Replace" renamer)
XDT_CHECK_OPTIONAL_PACKAGE([PCRE2], [libpcre2-8], [10.0], [pcre2], [Regular expression support])
])
......@@ -52,10 +52,10 @@ dnl # for the Xfce panel, not for Thunar).
dnl #
AC_DEFUN([BM_THUNAR_PLUGIN_TPA],
[
AC_ARG_ENABLE([tpa-plugin], AC_HELP_STRING([--disable-tpa-plugin], [Don't build the thunar-tpa plugin, see plugins/thunar-tpa/README.md]),
AC_ARG_ENABLE([tpa-plugin], AS_HELP_STRING([--disable-tpa-plugin], [Don't build the thunar-tpa plugin, see plugins/thunar-tpa/README.md]),
[ac_bm_thunar_plugin_tpa=$enableval], [ac_bm_thunar_plugin_tpa=yes])
if test x"$ac_bm_thunar_plugin_tpa" = x"yes"; then
XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-2.0], [4.12.0],
XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-2.0], [4.14.0],
[
ac_bm_thunar_plugin_tpa=yes
],
......@@ -80,7 +80,7 @@ dnl # should be built and installed.
dnl #
AC_DEFUN([BM_THUNAR_PLUGIN_UCA],
[
AC_ARG_ENABLE([uca-plugin], AC_HELP_STRING([--disable-uca-plugin], [Don't build the thunar-uca plugin, see plugins/thunar-uca/README.md]),
AC_ARG_ENABLE([uca-plugin], AS_HELP_STRING([--disable-uca-plugin], [Don't build the thunar-uca plugin, see plugins/thunar-uca/README.md]),
[ac_bm_thunar_plugin_uca=$enableval], [ac_bm_thunar_plugin_uca=yes])
AC_MSG_CHECKING([whether to build the thunar-uca plugin])
AM_CONDITIONAL([THUNAR_PLUGIN_UCA], [test x"$ac_bm_thunar_plugin_uca" = x"yes"])
......@@ -94,7 +94,7 @@ dnl # should be built and installed.
dnl #
AC_DEFUN([BM_THUNAR_PLUGIN_WALLPAPER],
[
AC_ARG_ENABLE([wallpaper-plugin], AC_HELP_STRING([--disable-wallpaper-plugin], [Don't build the thunar-wallpaper plugin, see plugins/thunar-wallpaper/README.md]),
AC_ARG_ENABLE([wallpaper-plugin], AS_HELP_STRING([--disable-wallpaper-plugin], [Don't build the thunar-wallpaper plugin, see plugins/thunar-wallpaper/README.md]),
[ac_bm_thunar_plugin_wallpaper=$enableval], [ac_bm_thunar_plugin_wallpaper=yes])
AC_MSG_CHECKING([whether to build the thunar-wallpaper plugin])
AM_CONDITIONAL([THUNAR_PLUGIN_WALLPAPER], [test x"$ac_bm_thunar_plugin_wallpaper" = x"yes"])
......
......@@ -29,4 +29,4 @@ EOF
exit 1
}
XDT_AUTOGEN_REQUIRED_VERSION="4.14.0" exec xdt-autogen $@
XDT_AUTOGEN_REQUIRED_VERSION="4.19.2" exec xdt-autogen "$@"
......@@ -2,7 +2,7 @@
#-
# Copyright (c) 2004-2007 Benedikt Meurer <benny@xfce.org>
# Copyright (c) 2009-2011 Jannis Pohlmann <jannis@xfce.org>
# Copyright (c) 2004-2015 Xfce Development Team <xfce4-dev@xfce.org>
# Copyright (c) 2004-2024 Xfce Development Team <xfce4-dev@xfce.org>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
......@@ -24,28 +24,23 @@ dnl *** Version information ***
dnl ***************************
m4_define([thunarx_verinfo], [0:0:0])
m4_define([thunarx_version_api], [3])
m4_define([thunar_version_major], [4])
m4_define([thunar_version_minor], [15])
m4_define([thunar_version_micro], [2])
m4_define([thunar_version_nano], [])
m4_define([thunar_version_build], [@REVISION@])
m4_define([thunar_version_tag], [git])
m4_define([thunar_version], [thunar_version_major().thunar_version_minor().thunar_version_micro()ifelse(thunar_version_nano(), [], [], [.thunar_version_nano()])ifelse(thunar_version_tag(), [git], [thunar_version_tag()-thunar_version_build()], [thunar_version_tag()])])
m4_define([copyright_year], [2025])
dnl *******************************************
dnl *** Debugging support for GIT snapshots ***
dnl *******************************************
m4_define([thunar_debug_default], [ifelse(thunar_version_tag(), [git], [yes], [minimum])])
XDT_VERSION_INIT([4.21.0], [git])
dnl ***************************
dnl *** Initialize autoconf ***
dnl ***************************
AC_COPYRIGHT([Copyright (c) 2004-2020 The Thunar development team. All rights reserved.])
AC_INIT([thunar], [thunar_version], [https://gitlab.xfce.org/xfce/thunar], [thunar])
AC_PREREQ([2.60])
AC_COPYRIGHT([Copyright (c) 2004-copyright_year() The Thunar development team. All rights reserved.])
AC_INIT([thunar], [xdt_version], [https://gitlab.xfce.org/xfce/thunar], [thunar])
AC_PREREQ([2.69])
AC_CONFIG_MACRO_DIRS([m4])
AC_CANONICAL_TARGET()
AC_REVISION([thunar_version_build])
AC_REVISION([xdt_version_build])
AC_DEFINE([VERSION_FULL], [PACKAGE_VERSION], [Alias for VERSION and PACKAGE_VERSION for meson compatibility])
COPYRIGHT_YEAR=copyright_year()
AC_DEFINE_UNQUOTED([COPYRIGHT_YEAR], ["$COPYRIGHT_YEAR"], [Copyright year])
AC_SUBST([COPYRIGHT_YEAR])
dnl ***************************
dnl *** Initialize automake ***
......@@ -58,23 +53,16 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
dnl *******************************
dnl *** Check for UNIX variants ***
dnl *******************************
AC_AIX()
AC_ISC_POSIX()
AC_MINIX()
if test "x$target_os" = "xlinux-gnu"; then
AC_DEFINE([HAVE_LINUX], [], [Whether we are building on Linux or not])
fi
AC_USE_SYSTEM_EXTENSIONS
dnl ********************************
dnl *** Check for basic programs ***
dnl ********************************
AC_PROG_CC()
AC_PROG_LD()
LT_PATH_LD()
AM_PROG_CC_C_O()
AC_PROG_INSTALL()
IT_PROG_INTLTOOL()
AC_CHECK_PROGS([PERL], [perl5 perl])
AC_PATH_PROG([XDT_GEN_VISIBILITY], [xdt-gen-visibility])
m4_ifdef([AC_PROG_SED], [AC_PROG_SED], [AC_CHECK_PROG(SED, sed, sed)])
dnl **************************
......@@ -88,9 +76,9 @@ dnl *** Substitute version information ***
dnl **************************************
THUNARX_VERINFO=thunarx_verinfo()
THUNARX_VERSION_API=thunarx_version_api()
THUNAR_VERSION_MAJOR=thunar_version_major()
THUNAR_VERSION_MINOR=thunar_version_minor()
THUNAR_VERSION_MICRO=thunar_version_micro()
THUNAR_VERSION_MAJOR=xdt_version_major()
THUNAR_VERSION_MINOR=xdt_version_minor()
THUNAR_VERSION_MICRO=xdt_version_micro()
AC_SUBST([THUNARX_VERINFO])
AC_SUBST([THUNARX_VERSION_API])
AC_SUBST([THUNAR_VERSION_MAJOR])
......@@ -101,12 +89,32 @@ dnl ******************************
dnl *** Set helper path prefix ***
dnl ******************************
AC_ARG_WITH([helper-path-prefix],
[AC_HELP_STRING([--with-helper-path-prefix=PATH],
[AS_HELP_STRING([--with-helper-path-prefix=PATH],
[Path prefix under which helper executables will be installed (default: $libdir)])],
[HELPER_PATH_PREFIX="$withval"],
[HELPER_PATH_PREFIX="$libdir"])
AC_SUBST([HELPER_PATH_PREFIX])
dnl ***************************************
dnl *** Set default thunarx directories ***
dnl ***************************************
AC_ARG_WITH([thunarx-dirs],
[AS_HELP_STRING([--with-thunarx-dirs=PATH],
[Used to set different default paths (separated by colon) for thunarx plugin lookup])],
[DEFAULT_THUNARX_DIRS="$withval"],
[DEFAULT_THUNARX_DIRS="$libdir/thunarx-$THUNARX_VERSION_API"])
AC_SUBST([DEFAULT_THUNARX_DIRS])
dnl *******************************************************
dnl *** Optional support for custom thunarx directories ***
dnl *******************************************************
AC_ARG_WITH([custom-thunarx-dirs-enabled],
[AS_HELP_STRING([--with-custom-thunarx-dirs-enabled],
[Enables the posibillity to set custom thunarx directories by using the environment variable THUNARX_DIRS])],
[CUSTOM_THUNARX_DIRS_ENABLED="TRUE"],
[CUSTOM_THUNARX_DIRS_ENABLED="FALSE"])
AC_SUBST([CUSTOM_THUNARX_DIRS_ENABLED])
dnl ***********************************************
dnl *** Work-around system-specific limitations ***
dnl ***********************************************
......@@ -115,7 +123,7 @@ AC_SYS_LARGEFILE()
dnl **********************************
dnl *** Check for standard headers ***
dnl **********************************
AC_CHECK_HEADERS([ctype.h errno.h fcntl.h grp.h limits.h locale.h memory.h \
AC_CHECK_HEADERS([ctype.h errno.h fcntl.h grp.h limits.h locale.h malloc.h memory.h \
paths.h pwd.h sched.h signal.h stdarg.h stdlib.h string.h \
sys/mman.h sys/param.h sys/stat.h sys/time.h sys/types.h \
sys/uio.h sys/wait.h time.h])
......@@ -125,17 +133,20 @@ dnl *** Check for standard functions ***
dnl ************************************
AC_FUNC_MMAP()
AC_CHECK_FUNCS([localeconv mkdtemp pread pwrite sched_yield setgroupent \
setpassent strcoll strlcpy strptime symlink atexit])
setpassent strcoll strlcpy strptime symlink atexit realpath \
statx])
dnl ******************************
dnl *** Check for i18n support ***
dnl ******************************
XDT_I18N([@LINGUAS@])
dnl *********************
dnl *** Check for X11 ***
dnl *********************
XDT_CHECK_LIBX11_REQUIRE()
GETTEXT_PACKAGE="$PACKAGE"
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Name of default gettext domain])
AC_SUBST([GETTEXT_PACKAGE])
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.19.8])
AC_SEARCH_LIBS([bind_textdomain_codeset], [intl],
[AC_DEFINE([HAVE_BIND_TEXTDOMAIN_CODESET], [1], [Define to 1 if you have the 'bind_textdomain_codeset' function.])],
[])
dnl *************************
dnl *** Check for gtk-doc ***
......@@ -145,34 +156,50 @@ GTK_DOC_CHECK([1.9])
dnl ***********************************
dnl *** Check for required packages ***
dnl ***********************************
XDT_CHECK_PACKAGE([EXO], [exo-2], [0.12.0])
XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.42.0])
XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.42.0])
XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.42.0])
XDT_CHECK_PACKAGE([GMODULE], [gmodule-2.0], [2.42.0])
XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.22.0])
XDT_CHECK_PACKAGE([GDK_PIXBUF], [gdk-pixbuf-2.0], [2.14.0])
XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.15.2])
XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.15.3])
XDT_CHECK_PACKAGE([LIBXFCE4KBD_PRIVATE], [libxfce4kbd-private-3], [4.12.0])
XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.72.0])
XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.72.0])
XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.72.0])
XDT_CHECK_PACKAGE([GMODULE], [gmodule-2.0], [2.72.0])
XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.24.0])
XDT_CHECK_PACKAGE([GDK_PIXBUF], [gdk-pixbuf-2.0], [2.42.8])
XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.17.2])
XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.21.0])
XDT_CHECK_PACKAGE([LIBXFCE4KBD_PRIVATE], [libxfce4kbd-private-3], [4.17.2])
XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.12.0])
XDT_CHECK_PACKAGE([PANGO], [pango], [1.38.0])
dnl ******************************
dnl *** GObject Instrospection ***
dnl ******************************
GOBJECT_INTROSPECTION_CHECK([1.30.0])
GOBJECT_INTROSPECTION_CHECK([1.72.0])
dnl ********************************************
dnl *** Check for session management support ***
dnl ********************************************
XDT_CHECK_LIBSM()
dnl **********************************
dnl *** Optional X11 dependencies ***
dnl **********************************
XDT_CHECK_OPTIONAL_FEATURE([X11],
[x11],
[
XDT_FEATURE_DEPENDENCY([GDK_X11], [gdk-x11-3.0], [3.24.0])
XDT_FEATURE_DEPENDENCY([LIBX11], [x11], [1.6.7])
],
[the X11 windowing system])
if test x"$ENABLE_X11" != x"yes"; then
dnl Do not check for optional X11 packages if X11 is disabled
enable_libsm=no
fi
XDT_CHECK_OPTIONAL_FEATURE([LIBSM],
[libsm],
[
XDT_FEATURE_DEPENDENCY([LIBICE], [ice], [1.0.10])
XDT_FEATURE_DEPENDENCY([LIBSM], [sm], [1.2.3])
],
[session management library])
dnl **********************************
dnl *** Optional GIO UNIX features ***
dnl **********************************
XDT_CHECK_OPTIONAL_PACKAGE([GIO_UNIX], [gio-unix-2.0],
[2.30.0], [gio-unix], [GIO UNIX features])
[2.72.0], [gio-unix], [GIO UNIX features])
dnl ***************************************************************
dnl *** Optional support for GUDev (required for thunar-volman) ***
......@@ -183,13 +210,13 @@ XDT_CHECK_OPTIONAL_PACKAGE([GUDEV], [gudev-1.0], [145], [gudev],
dnl **************************************
dnl *** Optional support for libnotify ***
dnl **************************************
XDT_CHECK_OPTIONAL_PACKAGE([LIBNOTIFY], [libnotify], [0.4.0], [notifications],
XDT_CHECK_OPTIONAL_PACKAGE([LIBNOTIFY], [libnotify], [0.7.0], [notifications],
[Mount notification support], [yes])
dnl ***********************************
dnl *** Check for debugging support ***
dnl ***********************************
XDT_FEATURE_DEBUG([thunar_debug_default])
XDT_FEATURE_DEBUG([xdt_debug_default])
dnl **************************************
dnl *** Check for linker optimizations ***
......@@ -199,7 +226,41 @@ XDT_FEATURE_LINKER_OPTS()
dnl dnl ****************************************
dnl dnl *** Check for ELF visibility support ***
dnl dnl ****************************************
dnl XDT_FEATURE_VISIBILITY()
AC_ARG_ENABLE([visibility],
AS_HELP_STRING([--disable-visibility],
[Do not use ELF visibility attributes]),
[enable_visibility=$enableval], [enable_visibility=yes])
have_gnuc_visibility=no
if test "x$enable_visibility" != "xno"; then
XDT_SUPPORTED_FLAGS([xdt_vis_test_cflags], [-Wall -Werror -Wno-unused-parameter -fvisibility=hidden])
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $xdt_vis_test_cflags"
AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
AC_COMPILE_IFELSE([AC_LANG_SOURCE(
[
void test_default(void);
void test_hidden(void);
void __attribute__((visibility("default"))) test_default(void) {}
void __attribute__((visibility("hidden"))) test_hidden(void) {}
int main(int argc, char **argv) {
test_default();
test_hidden();
return 0;
}
])],
[
have_gnuc_visibility=yes
AC_MSG_RESULT([yes])
],
[
AC_MSG_RESULT([no])
])
CFLAGS="$saved_CFLAGS"
fi
if test "x$have_gnuc_visibility" = "xyes"; then
CPPFLAGS="$CPPFLAGS -DENABLE_SYMBOL_VISIBILITY=1"
CFLAGS="$CFLAGS -fvisibility=hidden"
fi
dnl *********************************
dnl *** Substitute platform flags ***
......@@ -223,14 +284,11 @@ BM_THUNAR_PLUGIN_TPA()
BM_THUNAR_PLUGIN_UCA()
BM_THUNAR_PLUGIN_WALLPAPER()
AC_OUTPUT([
AC_CONFIG_FILES([
Makefile
docs/Makefile
docs/design/Makefile
docs/papers/Makefile
docs/reference/Makefile
docs/reference/thunarx/Makefile
docs/reference/thunarx/version.xml
examples/Makefile
examples/tex-open-terminal/Makefile
icons/Makefile
......@@ -252,6 +310,7 @@ thunarx/Makefile
thunarx/thunarx-3.pc
thunarx/thunarx-config.h
])
AC_OUTPUT
dnl ***************************
dnl *** Print configuration ***
......
SUBDIRS = \
design \
papers \
reference
doc_DATA = \
......@@ -17,6 +15,8 @@ endif
EXTRA_DIST = \
$(doc_DATA) \
$(man_MANS) \
Thunar.xml
Thunar.xml \
meson.build \
$(NULL)
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
......@@ -5,6 +5,8 @@
<refentry id="Thunar">
<refmeta>
<refentrytitle>Thunar</refentrytitle>
<refmiscinfo class="manual">User Commands</refmiscinfo>
<refmiscinfo class="source"> </refmiscinfo>
<manvolnum>1</manvolnum>
</refmeta>
......@@ -49,8 +51,8 @@
<title>Invocation</title>
<para>
<command>Thunar</command> takes a list of <replaceable>URI</replaceable>s for folders that should be
opened in new file manager windows or files that should be run using the default application for their
types. The <replaceable>URI</replaceable>s may be specified as either <emphasis role="bold">file:</emphasis>
opened in new file manager windows or files that should be selected in new file manager windows.
The <replaceable>URI</replaceable>s may be specified as either <emphasis role="bold">file:</emphasis>
or <emphasis role="bold">trash:</emphasis> URIs, absolute paths or paths relative to the current directory
from which <command>Thunar</command> is being invoked. If no <replaceable>URI</replaceable>s are specified,
the current folder will be opened in a new file manager window.
......
EXTRA_DIST = \
mime.xmi \
overview.xmi
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
This diff is collapsed.
This diff is collapsed.
custom_target(
'Thunar.1',
input: 'Thunar.xml',
output: 'Thunar.1',
command: [xsltproc, '--nonet', '--output', '@OUTPUT@', 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl', '@INPUT@'],
install: true,
install_dir: get_option('prefix') / get_option('datadir') / 'man' / 'man1',
)
install_data(
'README.gtkrc',
install_dir: get_option('prefix') / get_option('datadir') / 'doc' / 'thunar',
)
File deleted