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 (10945)
---
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\]
ChangeLog
Thunar.pot
Makefile
Makefile.in
aclocal.m4
autom4te.cache
compile
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
configure.in
depcomp
install-sh
intltool-*
libtool
ltmain.sh
mkinstalldirs
missing
stamp-h1
.*.swp
[Tt]hunar-*.tar.bz2
[Tt]hunar-*.tar.gz
core.*
core
*.core
*.desktop
*.service
*.policy
org.xfce.thunar.appdata.xml
thunar.appdata.xml
gtk-doc.make
Thunar.spec
docs/.*.swp
docs/*.1
docs/manual/.*.swp
docs/manual/*/.*.swp
docs/manual/*/Thunar.xml
docs/manual/*/html
docs/manual/*/*.stamp
docs/manual/*/images/.*.swp
docs/reference/.*.swp
docs/reference/thunarx/xml
docs/reference/thunarx/html
docs/reference/thunarx/*.stamp
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-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
docs/reference/thunarx/thunarx.signals
docs/reference/thunarx/version.xml
docs/reference/thunarx/tmpl/*.bak
docs/reference/thunarx/tmpl/.*.swp
docs/reference/thunarx/tmpl/thunarx-unused.sgml
examples/.*.swp
examples/tex-open-terminal/.*.swp
icons/.*.swp
icons/16x16/.*.swp
icons/24x24/.*.swp
icons/48x48/.*.swp
icons/scalable/.*.swp
pixmaps/.*.swp
plugins/.*.swp
plugins/thunar-apr/.*.swp
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.[ch]
plugins/thunar-tpa/thunar-tpa.desktop
plugins/thunar-tpa/.*.swp
plugins/thunar-tpa/thunar-tpa
plugins/thunar-uca/.*.swp
plugins/thunar-uca/uca.xml
plugins/thunar-uca/thunar-uca.gresource.c
po-doc/.*.swp
po-doc/.xml2po.mo
po/Makefile.in.in
po/.*.swp
po/*.gmo
po/*.mo
po/POTFILES
po/.intltool-merge-cache*
po/stamp-*
tests/*.loT
tests/.*.swp
tests/core.*
tests/*.core
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
thunar/thunar-thumbnail-cache-proxy.[ch]
thunar/thunar-thumbnail-frame.c
thunar/thunar-thumbnailer-manager-proxy.h
thunar/thunar-thumbnailer-proxy.[ch]
thunar/thunar-marshal.[ch]
thunar/thunar-resources.[ch]
thunar/Thunar
thunar/core.*
thunar/*.core
thunar/thunar-*-ui.h
thunar/stamp-thunar-*.*
thunarx/.*.swp
thunarx/*.pc
thunarx/*.gir
thunarx/*.typelib
thunarx/thunarx-visibility.[ch]
thunarx/thunarx-config.h
*~
*.o
*.lo
*.la
.libs
.deps
thunar-vfs
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\]
Benedikt Meurer <benny@xfce.org>
Jannis Pohlmann <jannis@xfce.org>
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 tdb library, which is included with the Thunar distribution, was originally
written as part of the Samba suite. My understanding is that the majority of
the code was written by Andrew Trigell <tridge@linuxcare.com> with the help of
Paul "Rusty" Russell <rusty@linuxcare.com>. Luke Kenneth Casson Leighton
<luke@samba.org> also contributed a few patches. Sorted freelist merge code
added by Jeremy Allison <jeremy@valinux.com>.
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>,
Rodney Dawes <dobey@novell.com>, Luca Ferretti <elle.uca@libero.it>,
Tuomas Kuosmanen <tigert@gimp.org>, Andreas Nilsson <nisses.mail@home.se>
and Jakub Steiner <jimmac@novell.com>. The icons are licensed under GPL.
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.
......@@ -133,7 +133,7 @@ such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
......
This diff is collapsed.
This diff is collapsed.
......@@ -27,14 +27,7 @@ appropriate answers to these questions.
3. Where does Thunar store the metadata associated with files?
==============================================================
Thunar associates various settings with files/folders, which we call metadata.
This metadata for all files is stored in tdb database file, which is called
the metafile. The database file is stored in
$XDG_CACHE_HOME/Thunar/metafile.tdb
and can be examined using the tdbtool, which is part of the Thunar
distribution (located in the tdb/ subdirectory).
Thunar uses the metadata daemon provided by GVFS.
4. Where does Thunar store its preferences?
......@@ -64,3 +57,47 @@ appropriate answers to these questions.
* Right - opens the next visited folder
* Down - reload the current folder
6. How do I assign different keyboard shortcuts?
================================================
If you want to rebind a shortcut, Thunar supports the standard GTK+ way
of changing shortcuts: simply hover over the menu option with the mouse
pointer and press the keyboard shortcut you want to rebind it to.
To delete a keyboard assignment, press the Backspace key while you are
on the menu entry.
If the shortcut doesn't change, then you need to enable the feature in
GTK+. This can be achieved in 3 ways:
1. If you are running Xfce 4.3 or above then you can enable "Editable
menu accelerators" in the "User Interface Preferences" dialog.
2. If you are running GNOME then you can enable "Editable menu
accelerators" in the "Menu and Toolbars" control center dialog.
3. Otherwise put the following in your ~/.gtkrc-2.0 file (create the
file if it doesn't exist):
gtk-can-change-accels=1
7. Where does Thunar store the keyboard shortcuts?
==================================================
The custom keyboard shortcuts are stored in the standard Gtk accel map
format in a file located at
$XDG_CONFIG_HOME/Thunar/accels.scm
Lines starting with ; are comments. See the GTK+ documentation for details
about the file format. If you are a packager or a system administrator and
want to provide a system-wide default for the keyboard shortcuts, that is
different from the default shortcuts in Thunar, you can create a file
Thunar/accels.scm in one of the $XDG_CONFIG_DIRS. For example, if /etc/xdg
is part of $XDG_CONFIG_DIRS (most likely for most Linux distributions), you
can install system-wide defaults to
/etc/xdg/Thunar/accels.scm
Thunar will then load shortcuts from this file on first startup.
Bug tracking system
===================
Thunar uses the Xfce bug tracking system at http://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 Subversion trunk branch are most preferable. You can always
access the trunk branch from
Please base on work against the master branch of this package. You can always
clone the Thunar repository from
http://svn.xfce.org/svn/xfce/thunar/trunk
or using an installed Subversion client
svn co http://svn.xfce.org/svn/xfce/thunar/trunk thunar
https://gitlab.xfce.org/xfce/thunar
Feature requests
================
Please file feature requests to the Xfce bug tracking system
(http://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
......@@ -67,4 +60,4 @@ Coding Style
Release process
===============
Yet to be defined!
Refer to https://www.xfce.org/about/releasemodel
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004 Free
Software Foundation, Inc.
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation
==================
These are generic installation instructions.
Briefly, the shell command `./autogen.sh && make && make install'
should configure, build, and install this package.
Note that './autogen.sh' creates a './configure' script from
'configure.ac.in' and runs it automatically.
You will not need to run './configure' yourself.
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.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
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
......@@ -23,42 +41,59 @@ debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.)
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.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You only need
`configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
`./autogen.sh' to configure the package for your system.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
Running `./autogen.sh' might take a while. While running, it prints
some messages telling which features it is checking for.
Probably ./autogen.sh will list some/many missing packages.
Install the related packages in dev-version and run ./autogen.sh again,
until all required dependencies are resolved.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
the package, generally using the just-built uninstalled binaries.
4. After that it is possible to run thunar directly from the source-folder:
./thunar/thunar -q;./thunar/thunar
The -q argument will quit any running thunar-daemon.
However if you want to make use of thunar-plugin, you will need to
run 'make install':
5. Type `make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
6. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed
correctly.
7. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
......@@ -67,69 +102,124 @@ The simplest way to compile this package is:
all sorts of other programs in order to regenerate files that came
with the distribution.
8. Often, you can also type `make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
9. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that the
`configure' script does not know about. Run `./configure --help' for
details on some of the pertinent environment variables.
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single `-arch' option to the preprocessor. Like
this:
If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a
time in the source code directory. After you have installed the
package for one architecture, use `make distclean' before reconfiguring
for another architecture.
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo' tool if you have problems.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PREFIX'.
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PREFIX', the package will
use PREFIX as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
Some packages pay attention to `--enable-FEATURE' options to
`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
......@@ -137,14 +227,58 @@ find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems
==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./autogen.sh CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved. Use GNU `make'
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
to try
./autogen.sh CC="cc"
and if that doesn't work, try
./autogen.sh CC="cc -nodtk"
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'. It is recommended to use the following options:
./autogen.sh --prefix=/boot/common
Specifying the System Type
==========================
There may be some features `configure' cannot figure out automatically,
but needs to determine by the type of machine the package will run on.
Usually, assuming the package is built to be run on the _same_
architectures, `configure' can figure that out, but if it prints a
message saying it cannot guess the machine type, give it the
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
......@@ -152,14 +286,15 @@ type, such as `sun4', or a canonical name which has the form:
where SYSTEM can have one of these forms:
OS KERNEL-OS
OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the `--target=TYPE' option to select the type of system they will
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
......@@ -170,9 +305,9 @@ eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share, you
can create a site shell script called `config.site' that gives default
values for variables like `CC', `cache_file', and `prefix'.
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
......@@ -181,25 +316,39 @@ A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
./autogen.sh CC=/usr/local2/bin/gcc
will cause the specified gcc to be used as the C compiler (unless it is
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf limitation. Until the limitation is lifted, you can use
this workaround:
CONFIG_SHELL=/bin/bash ./autogen.sh CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
`configure' recognizes the following options to control how it operates.
`configure' recognizes the following options to control how it
operates.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
Print a summary of all of the options to `configure', and exit.
`--help=short'
`--help=recursive'
Print a summary of the options unique to this package's
`configure', and exit. The `short' variant lists options used
only in the top level, while the `recursive' variant lists options
also present in any nested packages.
`--version'
`-V'
......@@ -226,6 +375,15 @@ overridden in the site shell script).
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
`--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
`--no-create'
`-n'
Run the configure checks, but stop before creating any output
files.
`configure' also accepts some other, not widely useful, options. Run
`./autogen.sh --help' for more details.
# $Id$
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
# -
# Copyright (c) 2010 Jannis Pohlmann <jannis@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
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# 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., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
if ENABLE_UCA_PLUGIN
SUBDIRS_THUNAR_UCA = thunar-uca
endif
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = \
icons \
pixmaps \
po \
po-doc \
tdb \
thunarx \
thunar-vfs \
thunar \
tests \
docs \
examples \
$(SUBDIRS_THUNAR_UCA)
AUTOMAKE_OPTIONS = \
1.8 \
dist-bzip2
plugins \
po
distclean-local:
rm -rf *.spec *.cache *~
rm -rf *.cache *~
find . -type f -name Makefile -delete
find . -type f -name Makefile.in -delete
distuninstallcheck_listfiles = \
find . -type f -print | grep -v ./share/icons/hicolor/icon-theme.cache
rpm: dist
rpmbuild -ta $(PACKAGE)-$(VERSION).tar.gz
@rm -f $(PACKAGE)-$(VERSION).tar.gz
.PHONY: ChangeLog
libexec_SCRIPTS = \
ThunarHelp
ChangeLog: Makefile
(GIT_DIR=$(top_srcdir)/.git git log > .changelog.tmp \
&& mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) \
|| (touch ChangeLog; echo 'Git directory not found: installing possibly empty changelog.' >&2)
ThunarHelp: ThunarHelp.in Makefile
rm -f ThunarHelp.gen ThunarHelp
sed -e "s,\@datadir\@,$(datadir),g" \
< $(srcdir)/ThunarHelp.in \
> ThunarHelp.gen
mv ThunarHelp.gen ThunarHelp
dist-hook: ChangeLog
desktopdir = $(datadir)/applications
desktop_in_files = Thunar.desktop.in Thunar-folder-handler.desktop.in
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
#
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 $@
if HAVE_DBUS
servicedir = $(datadir)/dbus-1/services
service_in_files = org.xfce.FileManager.service.in org.xfce.Thunar.service.in
service_in_files = org.xfce.FileManager.service.in \
org.xfce.Thunar.service.in \
org.xfce.Thunar.FileManager1.service.in
service_DATA = $(service_in_files:.service.in=.service)
%.service: %.service.in
systemd_userdir = $(prefix)/lib/systemd/user
systemd_user_in_files = thunar.service.in
systemd_user_DATA = $(systemd_user_in_files:.service.in=.service)
%.service: %.service.in Makefile
$(AM_V_GEN) $(SED) -e "s,\@bindir\@,$(bindir),g" < $< > $@
polkit_policydir = $(datadir)/polkit-1/actions
polkit_in_in_files = \
org.xfce.thunar.policy.in.in
polkit_in_files = $(polkit_in_in_files:.policy.in.in=.policy.in)
%.policy.in: %.policy.in.in Makefile
sed -e "s,\@bindir\@,$(bindir),g" < $< > $@
endif
polkit_policy_DATA = $(polkit_in_files:.policy.in=.policy)
# 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 \
ThunarHelp.in \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
README.md \
$(desktop_in_files) \
$(service_in_files)
$(service_in_files) \
$(systemd_user_in_files) \
$(appdata_in_files) \
$(polkit_in_in_files) \
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 = \
ThunarHelp \
intltool-extract \
intltool-merge \
intltool-update \
$(desktop_DATA) \
$(service_DATA)
$(service_DATA) \
$(systemd_user_DATA) \
$(polkit_in_files) \
$(polkit_policy_DATA)
DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--enable-xml2po \
--enable-xsltproc
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
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+ 2.6.0 or above
- libexo 0.3.1 or above
- intltool 0.30 or above
- libpng12 1.2.0 or above
- shared-mime-info 0.15 or above
- desktop-file-utils 0.10 or above
Thunar can optionally use the following packages:
- D-BUS 0.34 or above (strongly suggested)
- HAL 0.5.0 or above (esp. the libhal-storage devel package)
- gamin 0.1.0 or above
- gconf 2.4 or above
- libjpeg 6 or above
- libstartup-notification 0.4 or above
Installation
============
The file 'INSTALL' contains generic installation instructions. For more
detailed information, visit the Thunar website at http://thunar.xfce.org/.
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
http://freedesktop.org/wiki/Standards_2fbasedir_2dspec
* Shared MIME Database Specification
http://freedesktop.org/wiki/Standards_2fshared_2dmime_2dinfo_2dspec
* X Direct Save (XDS) Protocol for the X Window System
http://freedesktop.org/wiki/Standards_2fdirect_2dsave
* Icon Theme Specification
http://freedesktop.org/wiki/Standards_2ficon_2dtheme_2dspec
* Thumbnail Managing Standard
http://jens.triq.net/thumbnail-spec/index.html
* File URI Specification
http://freedesktop.org/wiki/Standards_2ffile_2duri_2dspec
How to report bugs?
===================
Bugs should be reported to the Xfce bug tracking system
(http://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.
......@@ -16,24 +16,87 @@ Translators (sorted by language):
----------------------------------
These people have translated Thunar to foreign languages.
Mohamed Magdy <mohamed.m.k@gmail.com>
* ar translations
Alexander Nyakhaychyk <nyakhaychyk@gmail.com>
* be translations
Carles Muñoz Gorriz <carlesmu@internautas.org>
* ca translations
Pau Rul·lan Ferragut <paurullan@bulma.net>
* ca translations
Michal Várady <miko.vaji@gmail.com>
* cs translations
Benedikt Meurer <benny@xfce.org>
* de translations
Fabian Nowak <timystery@arcor.de>
* de translations
Jannis Pohlmann <jannis@xfce.org>
* de translations
Sonam Pelden <sonaa_peldn@yahoo.com>
* dz translations
Stathis Kamperis <ekamperi@auth.gr>
* el translations
Stavros Giannouris <stavrosg2002@freemail.gr>
* el translations
Jeff Bailes <thepizzaking@gmail.com>
* en_GB translations
Antono Vasiljev <antono.vasiljev@gmail.com>
* eo translations
Sylvain Vedrenne <gnu_sylvain@xfce.org>
* eo translations
Daniel Fuertes Pérez <danifp25@yahoo.es>
* es translations
Miguel Angel Ruiz Manzano <debianized@gmail.com>
* es translations
Pablo Hernández-M. Saiz <homeless3d@gmail.com>
* es translations
Peeter Vois <Peeter.Vois@proekspert.ee>
* et translations
Piarres Beobide <pi@beobide.net>
* eu translations
Jari Rahkonen <jari.rahkonen@pp1.inet.fi>
* fi translations
Gérald Barré <g.barre@free.fr>
* fr translations
Maximilian Schleiss <maxschleiss@bluewin.ch>
* fr translations
Rafaël Carré <wavael@yahoo.fr>
* fr translations
Stephane Roy <sroy@j2n.net>
* fr translations
Iván Seoane Pardo <talivan.ivan@gmail.com>
* gl translations
Yo'av Moshe <bjesus@gmail.com>
* he translations
Yuval Tanny <tanai@int.gov.il>
* he translations
Szervác Attila <sas@321.hu>
* hu translations
......@@ -43,24 +106,118 @@ These people have translated Thunar to foreign languages.
Daichi Kawahata <daichi@xfce.org>
* ja translations
Dimitri Gogelia <delphi.knight@gmail.com>
* ka translations
ByungHyun Choi <byunghyun.choi@debianusers.org>
* ko translations
Mantas Zapolskas <mantaz@users.sourceforge.net>
* lt translations
Rihards Prieditis <rprieditis@inbox.lv>
* lv translations
Vincent Tunru <imnotb@gmail.com>
* nl translations
Jovan Naumovski <jovan@lugola.net>
* mk translations
Viktor Stojanovski <viktor@lugola.net>
* mk translations
Terje Uriansrud <ter@operamail.com>
* nb_NO translations
Stephan Arts <psybsd@gmail.com>
* nl translations
Vincent Tunru <imnotb@gmail.com>
* nl translations
Amanpreet Singh Alam <aalam@users.sf.net>
* pa translations
Piotr Maliński <admin@rk.edu.pl>
* pl translations
Szymon Kałasz <szymon_maestro@gazeta.pl>
* pl translations
Tomasz Michał Łukaszewski <T.Lukaszewski@aster.pl>
* pl translations
Adriano Winter Bess <awbess@gmail.com>
* pt_BR translations
William Koch <wkromani@gmail.com>
* pt_BR translations
Fábio Nogueira <deb-user-ba@ubuntu.com>
* pt_BR translations
Joao Pedrosa <joaopedrosa@gmail.com>
* pt_BR translations
Rodrigo Coacci <rcoacci@gmail.com>
* pt_BR translations
Nuno Miguel <nunis@netcabo.pt>
* pt_PT translations
Misu Moldovan <dumol@gnome.ro>
* ro translations
Andrey Fedoseev <andrey.fedoseev@gmail.com>
* ru translations
Sergey Fedoseev <fedoseev.sergey@gmail.com>
* ru translations
Ivan Masár <helix84@centrum.sk>
* sk translations
Besnik Bleta <besnik@programeshqip.org>
* sq translations
Alexander Toresson <alexander.toresson@gmail.com>
* sv translations
Daniel Nylander <po@danielnylander.se>
* sv translations
Türker Sezer <turkersezer@tsdesign.info>
* tr translations
Eren Türkay <turkay.eren@gmail.com>
* tr translations
Cem Ünal <admincemunal@gmail.com>
* tr translations
Maxim V. Dziumanenko <mvd@mylinux.ua>
* uk translations
Dmitry Nikitin <luckas_fb@mail.ru>
* uk translations
Muhammad Ali Makki <makki.ma@gmail.com>
* ur translations
kangkang <kanger@gmail.com>
* zh_CN translations
Li Linxiao <linxiao.li@gmail.com>
* zh_CN translations
Hydonsingore Cia <hydonsingore@mail.educities.edu.tw>
* zh_TW translations
Cosmo Chene <cosmolax@gmail.com>
* zh_TW translations
Other contributors (sorted by name):
------------------------------------
......@@ -77,6 +234,11 @@ Other contributors (sorted by name):
Danny Milosavljevic <danny.milo@gmx.net>
* patches
Matt McClinch <mattmcclinch@gmail.com>
* patches
Nick Schermer <nick@xfce.org>
* patches
Peter de Ridder <peter@xfce.org>
* patches
Important for Thunar 1.0
========================
- Add ThunarVfsFlags, which specifies various flags for the job starters
(like thunar_vfs_copy_files, etc.). One important flag would be
THUNAR_VFS_FLAG_ERROR_ON_OVERWRITE, which tells the job not to ask the
user when the target exists, but to fail directly (the flags could also
be part of thunar-vfs-interactive-job.h, as they're only interesting
for interactive jobs).
- We need a way to "refresh" folders after a "Cut"-operation with Nautilus.
With local folders - with not many files inside - the move is too fast!
- Use better way to handle system flavours than simply (mis)using
AC_CONFIG_LINKS(), which is pretty messy for this purpose.
- Check getmntinfo() or getfsstat() for ThunarVfsVolumeManagerBSD, which
might be faster than several statfs() calls.
- 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 ThunarTreePane framework must be developed and later
be implemented.
- 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.