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
  • Rishabh705/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 (6353)
---
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
......@@ -95,7 +92,7 @@ po/.*.swp
po/*.gmo
po/*.mo
po/POTFILES
po/.intltool-merge-cache
po/.intltool-merge-cache*
po/stamp-*
tests/*.loT
tests/.*.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
include:
- project: 'xfce/xfce4-dev-tools'
file: '/ci/build_project.yml'
<!-- 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\]
......@@ -4,6 +4,7 @@ Jeffs Franks <jcfranks@xfce.org>
Nick Schermer <nick@xfce.org>
Harald Judt <hjudt@xfce.org>
Andre Miranda <andreldm@xfce.org>
Alexander Schwinn <alexxcons@xfce.org>
The stock_folder-copy and stock_folder-move icons where taken from
gnome-icon-theme 2.18.0 whose authors are Lapo Calamandrei <calamandrei@gmail.com>,
......
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.
Bug tracking system
===================
Thunar uses the Xfce bug tracking system at https://bugzilla.xfce.org/,
Thunar uses the Xfce bug tracking system at https://gitlab.xfce.org/xfce/thunar,
hosted and maintained by the Xfce project.
Patches
=======
Please submit patches to the Xfce bug tracking system or to the thunar-dev
mailinglist. Your patch should be in unified diff format (the -u option
to GNU diff) and it must comply with the coding style described below.
Please submit merge requests to the Xfce GitLab instance.
Your code must comply with the coding style described below.
Please send a patch against a recent version of this package. Patches
against the Git master branch are most preferable. You can always
Please base on work against the master branch of this package. You can always
clone the Thunar repository from
https://git.xfce.org/xfce/thunar
https://gitlab.xfce.org/xfce/thunar
Feature requests
================
Please file feature requests to the Xfce bug tracking system
(https://buzilla.xfce.org, product Thunar) with a Severity of
enhancement. Make sure that your feature request wasn't reported
already before; requesting a feature several times won't increase
the changed that it gets added!
Please file feature requests to the Xfce's GitLab
(https://gitlab.xfce.org/xfce/thunar).
Make sure that your feature request wasn't reported already before; requesting
a feature several times won't increase the changed that it gets added!
Coding Style
......@@ -63,4 +60,4 @@ Coding Style
Release process
===============
Yet to be defined!
Refer to https://www.xfce.org/about/releasemodel
......@@ -23,7 +23,7 @@ Autotools has be installed on your system in order to run './autogen.sh'
The following text originally referred to './configure' ... usually you
can just replace all calls of './configure' directly with './autogen.sh'.
The following more-detailed instructions are generic; see the `README'
The following more-detailed instructions are generic; see the `README.md'
file for instructions specific to this package. Some packages provide
this `INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
......@@ -47,7 +47,7 @@ cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
diffs or instructions to the address given in the `README.md' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
......@@ -219,7 +219,7 @@ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
`README.md' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
......
......@@ -21,13 +21,12 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = \
icons \
pixmaps \
po \
thunarx \
thunar \
docs \
examples \
plugins
plugins \
po
distclean-local:
rm -rf *.cache *~
......@@ -47,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 \
......@@ -84,35 +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 \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
$(desktop_in_in_files) \
README.md \
$(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?
===========
Thunar is a modern file manager for the Unix/Linux desktop, aiming to be
easy-to-use and fast.
Required packages
=================
Thunar depends on the following packages:
- perl 5.6 or above
- GTK+ 3.20.0 or above
- GLib 2.30.0 or above
- exo 0.10.0 or above
- intltool 0.30 or above
Thunar can optionally use the following packages:
- D-Bus 0.34 or above (strongly suggested)
- libstartup-notification 0.4 or above
- xfce4-panel 4.10.0 or above (for the trash applet)
- xfconf-query
Installation
============
The file 'INSTALL' contains generic installation instructions. For more
detailed information, visit https://docs.xfce.org/xfce/thunar/start.
Debugging Support
=================
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'):
`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' This is the default for SVN snapshot builds. It 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.
Standards compliance
====================
Thunar supports the following standards/specifications:
* 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
How to report bugs?
===================
Bugs should be reported to the Xfce bug tracking system
(https://bugzilla.xfce.org, product Thunar). You will need to
create an account for yourself.
Please read the HACKING file for information on where to send
changes or bugfixes for this package.
[![License](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://gitlab.xfce.org/xfce/thunar/COPYING)
# thunar
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.
----
### Homepage
[Thunar documentation](https://docs.xfce.org/xfce/thunar/start)
### Changelog
See [NEWS](https://gitlab.xfce.org/xfce/thunar/-/blob/master/NEWS) for details on changes and fixes made in the current release.
### Source Code Repository
[Thunar source code](https://gitlab.xfce.org/xfce/thunar)
### Download a Release Tarball
[Thunar archive](https://archive.xfce.org/src/xfce/thunar)
or
[Thunar tags](https://gitlab.xfce.org/xfce/thunar/-/tags)
### Installation
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
From release tarball:
% tar xf thunar-<version>.tar.bz2
% cd thunar-<version>
% ./configure
% make
# make install
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).
### Reporting Bugs
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.
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])],
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]),
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]),
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]),
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]),
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"])
......
......@@ -24,11 +24,9 @@
autogen.sh: You don't seem to have the Xfce development tools installed on
your system, which are required to build this software.
Please install the xfce4-dev-tools package first, it is available
from https://www.xfce.org/.
from your distribution or https://www.xfce.org/.
EOF
exit 1
}
test -d m4 || mkdir m4
XDT_AUTOGEN_REQUIRED_VERSION="4.7.2" 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], [1])
m4_define([thunar_version_minor], [8])
m4_define([thunar_version_micro], [5])
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-2019 The Thunar development team. All rights reserved.])
AC_INIT([thunar], [thunar_version], [https://bugzilla.xfce.org/], [thunar])
AC_PREREQ([2.60])
AC_CONFIG_MACRO_DIR([m4])
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,33 +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.12.0])
XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.12.0])
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) ***
......@@ -182,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 ***
......@@ -198,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 ***
......@@ -222,24 +284,19 @@ 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
icons/16x16/Makefile
icons/24x24/Makefile
icons/48x48/Makefile
icons/64x64/Makefile
icons/128x128/Makefile
icons/scalable/Makefile
pixmaps/Makefile
plugins/Makefile
plugins/thunar-apr/Makefile
plugins/thunar-sbr/Makefile
......@@ -253,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.
......