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
Showing
with 704 additions and 41 deletions
@PACKAGE_VERSION@
......@@ -5,7 +5,7 @@ DOC_MODULE=thunarx
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="EXO_DISABLE_DEPRECATED"
SCAN_OPTIONS=
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=$(top_srcdir)/thunarx
......@@ -21,7 +21,10 @@ HFILE_GLOB=
CFILE_GLOB=
# Header files to ignore when scanning
IGNORE_HFILES=thunarx-alias.h
IGNORE_HFILES = \
thunarx-private.h \
thunarx-visibility.h \
$(NULL)
# Extra files to add when scanning (relative to $srcdir)
EXTRA_HFILES=
......@@ -50,4 +53,17 @@ GTKDOC_LIBS = \
include $(top_srcdir)/gtk-doc.make
$(top_builddir)/docs/reference/$(DOC_MODULE)-docs.xml: $(DOC_MODULE)-docs.xml.in
$(AM_V_GEN) $(SED) -e "s,\@COPYRIGHT_YEAR\@,@COPYRIGHT_YEAR@,g" $< >$@
EXTRA_DIST += \
gtkdocentities.ent.in \
$(DOC_MODULE)-docs.xml.in \
meson.build \
$(NULL)
DISTCLEANFILES = \
$(DOC_MODULE)-docs.xml \
$(NULL)
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
<!ENTITY package_name @PACKAGE_NAME@>
<!ENTITY package_version @PACKAGE_VERSION@>
<!ENTITY package_string @PACKAGE_STRING@>
thunarx_doc_name = 'thunarx'
configure_file(
configuration: configuration_data({
'PACKAGE_NAME': '"@0@"'.format(thunarx_doc_name),
'PACKAGE_VERSION': '"@0@"'.format(meson.project_version()),
'PACKAGE_STRING': '"@0@"'.format('@0@-@1@'.format(thunarx_doc_name, meson.project_version())),
}),
input: 'gtkdocentities.ent.in',
output: 'gtkdocentities.ent',
)
configure_file(
configuration: configuration_data({
'COPYRIGHT_YEAR': copyright_year,
}),
input: 'thunarx-docs.xml.in',
output: 'thunarx-docs.xml',
install: false,
)
gnome.gtkdoc(
thunarx_doc_name,
src_dir: 'thunarx',
ignore_headers: [
'thunarx-private.h',
'thunarx-visibility.h',
],
main_xml: meson.project_build_root() / 'docs' / 'reference' / 'thunarx' / 'thunarx-docs.xml',
html_assets: [
'images' / 'abstraction.png',
'images' / 'bulk-rename.png',
'images' / 'menu-provider.png',
'images' / 'say-hello.png',
],
dependencies: libthunarx_dep,
include_directories: [
meson.project_source_root(),
meson.project_build_root(),
],
gobject_typesfile: 'thunarx.types',
install: true,
check: false,
)
......@@ -28,7 +28,7 @@
<ulink role="online-location" url="https://developer.xfce.org/&package_name;/index.html">https://developer.xfce.org/&package_name;/</ulink>.
</releaseinfo>
<copyright>
<year>2021</year>
<year>@COPYRIGHT_YEAR@</year>
<holder>The Xfce Development Team</holder>
</copyright>
</bookinfo>
......
......@@ -17,10 +17,12 @@ thunarx_file_info_get_filesystem_info
thunarx_file_info_get_location
thunarx_file_info_changed
thunarx_file_info_renamed
THUNARX_TYPE_FILE_INFO_LIST
thunarx_file_info_list_copy
thunarx_file_info_list_free
THUNARX_FILESYSTEM_INFO_NAMESPACE
THUNARX_FILE_INFO_NAMESPACE
<SUBSECTION Standard>
THUNARX_TYPE_FILE_INFO_LIST
THUNARX_TYPE_FILE_INFO
THUNARX_FILE_INFO
THUNARX_IS_FILE_INFO
......@@ -162,6 +164,24 @@ THUNARX_PROVIDER_FACTORY_GET_CLASS
thunarx_provider_factory_get_type
</SECTION>
<SECTION>
<FILE>thunarx-provider-module</FILE>
<TITLE>ThunarxProviderModule</TITLE>
ThunarxProviderModule
thunarx_provider_module_list_types
thunarx_provider_module_new
thunarx_provider_module_unuse
<SUBSECTION Standard>
thunarx_provider_module_get_type
THUNARX_IS_PROVIDER_MODULE
THUNARX_IS_PROVIDER_MODULE_CLASS
THUNARX_PROVIDER_MODULE
THUNARX_PROVIDER_MODULE_CLASS
THUNARX_PROVIDER_MODULE_GET_CLASS
THUNARX_TYPE_PROVIDER_MODULE
ThunarxProviderModuleClass
</SECTION>
<SECTION>
<FILE>thunarx-provider-plugin</FILE>
<TITLE>ThunarxProviderPlugin</TITLE>
......@@ -203,6 +223,7 @@ thunarx_renamer_save
thunarx_renamer_get_menu_items
thunarx_renamer_changed
<SUBSECTION Standard>
ThunarxRenamerPrivate
THUNARX_TYPE_RENAMER
THUNARX_RENAMER
THUNARX_RENAMER_CLASS
......@@ -239,5 +260,7 @@ THUNARX_MAJOR_VERSION
THUNARX_MINOR_VERSION
THUNARX_MICRO_VERSION
THUNARX_CHECK_VERSION
<SUBSECTION Standard>
G_GNUC_WARN_UNUSED_RESULT
THUNARX_INSIDE_THUNARX_H
</SECTION>
@PACKAGE_VERSION@
......@@ -30,12 +30,14 @@ tex_open_terminal_la_LIBADD = \
tex_open_terminal_la_LDFLAGS = \
-avoid-version \
-export-dynamic \
-export-symbols-regex="^thunar_extension_(shutdown|initialize|list_types)" \
-export-symbols-regex "^thunar_extension_(shutdown|initialize|list_types)" \
-module \
$(PLATFORM_LDFLAGS)
EXTRA_DIST = \
README.md
README.md \
meson.build \
$(NULL)
# Don't install/uninstall examples by default
install:
......
shared_module(
'tex-open-terminal',
[
'tex-open-terminal-plugin.c',
'tex-open-terminal.c',
'tex-open-terminal.h',
],
name_prefix: '',
gnu_symbol_visibility: 'hidden',
c_args: [
'-DG_LOG_DOMAIN="@0@"'.format('TexOpenTerminal'),
],
include_directories: [
include_directories('..'),
include_directories('..' / '..'),
],
dependencies: [
glib,
gtk,
libxfce4ui,
],
link_with: [
libthunarx,
],
install: false,
# install_dir: get_option('prefix') / get_option('libdir') / 'thunarx-@0@'.format(thunarx_version_api),
)
......@@ -26,11 +26,13 @@
G_MODULE_EXPORT void thunar_extension_initialize (ThunarxProviderPlugin *plugin);
G_MODULE_EXPORT void thunar_extension_shutdown (void);
G_MODULE_EXPORT void thunar_extension_list_types (const GType **types,
gint *n_types);
G_MODULE_EXPORT void
thunar_extension_initialize (ThunarxProviderPlugin *plugin);
G_MODULE_EXPORT void
thunar_extension_shutdown (void);
G_MODULE_EXPORT void
thunar_extension_list_types (const GType **types,
gint *n_types);
......@@ -77,4 +79,3 @@ thunar_extension_list_types (const GType **types,
*types = type_list;
*n_types = G_N_ELEMENTS (type_list);
}
......@@ -34,15 +34,19 @@
static void tex_open_terminal_menu_provider_init (ThunarxMenuProviderIface *iface);
static GList *tex_open_terminal_get_file_menu_items (ThunarxMenuProvider *provider,
GtkWidget *window,
GList *files);
static GList *tex_open_terminal_get_folder_menu_items (ThunarxMenuProvider *provider,
GtkWidget *window,
ThunarxFileInfo *folder);
static void tex_open_terminal_activated (ThunarxMenuItem *item,
GtkWidget *window);
static void
tex_open_terminal_menu_provider_init (ThunarxMenuProviderIface *iface);
static GList *
tex_open_terminal_get_file_menu_items (ThunarxMenuProvider *provider,
GtkWidget *window,
GList *files);
static GList *
tex_open_terminal_get_folder_menu_items (ThunarxMenuProvider *provider,
GtkWidget *window,
ThunarxFileInfo *folder);
static void
tex_open_terminal_activated (ThunarxMenuItem *item,
GtkWidget *window);
......@@ -91,7 +95,7 @@ tex_open_terminal_menu_provider_init (ThunarxMenuProviderIface *iface)
static GList*
static GList *
tex_open_terminal_get_file_menu_items (ThunarxMenuProvider *provider,
GtkWidget *window,
GList *files)
......@@ -105,7 +109,7 @@ tex_open_terminal_get_file_menu_items (ThunarxMenuProvider *provider,
static GList*
static GList *
tex_open_terminal_get_folder_menu_items (ThunarxMenuProvider *provider,
GtkWidget *window,
ThunarxFileInfo *folder)
......@@ -153,10 +157,10 @@ tex_open_terminal_activated (ThunarxMenuItem *item,
return;
/* build up the command line for the terminal */
command = g_strdup_printf ("exo-open --launch TerminalEmulator --working-directory \"%s\"", path);
command = g_strdup_printf ("xfce-open --launch TerminalEmulator --working-directory \"%s\"", path);
/* try to run the terminal command */
if (!xfce_spawn_command_line_on_screen (gtk_widget_get_screen (window), command, FALSE, FALSE, &error))
if (!xfce_spawn_command_line (NULL, command, FALSE, FALSE, TRUE, &error))
{
/* display an error dialog */
xfce_dialog_show_error (GTK_WINDOW (window), error, "Failed to open terminal in folder %s.", path);
......
......@@ -28,15 +28,17 @@ G_BEGIN_DECLS;
typedef struct _TexOpenTerminalClass TexOpenTerminalClass;
typedef struct _TexOpenTerminal TexOpenTerminal;
#define TEX_TYPE_OPEN_TERMINAL (tex_open_terminal_get_type ())
#define TEX_OPEN_TERMINAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TEX_TYPE_OPEN_TERMINAL, TexOpenTerminal))
#define TEX_OPEN_TERMINAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TEX_TYPE_OPEN_TERMINAL, TexOpenTerminalClass))
#define TEX_IS_OPEN_TERMINAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TEX_TYPE_OPEN_TERMINAL))
#define TEX_TYPE_OPEN_TERMINAL (tex_open_terminal_get_type ())
#define TEX_OPEN_TERMINAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TEX_TYPE_OPEN_TERMINAL, TexOpenTerminal))
#define TEX_OPEN_TERMINAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TEX_TYPE_OPEN_TERMINAL, TexOpenTerminalClass))
#define TEX_IS_OPEN_TERMINAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TEX_TYPE_OPEN_TERMINAL))
#define TEX_IS_OPEN_TERMINAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TEX_TYPE_OPEN_TERMINAL))
#define TEX_OPEN_TERMINAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TEX_TYPE_OPEN_TERMINAL, TexOpenTerminalClass))
#define TEX_OPEN_TERMINAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TEX_TYPE_OPEN_TERMINAL, TexOpenTerminalClass))
GType tex_open_terminal_get_type (void) G_GNUC_CONST;
void tex_open_terminal_register_type (ThunarxProviderPlugin *plugin);
GType
tex_open_terminal_get_type (void) G_GNUC_CONST;
void
tex_open_terminal_register_type (ThunarxProviderPlugin *plugin);
G_END_DECLS;
......
......@@ -18,4 +18,8 @@ install-data-hook:
echo "***"; \
fi
EXTRA_DIST = \
meson.build \
$(NULL)
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
sizes = [16, 24]
names = [
'stock_folder-copy',
'stock_folder-move',
]
foreach name : names
foreach size : sizes
install_data(
'@0@x@0@'.format(size) / '@0@.png'.format(name),
install_dir: get_option('prefix') / get_option('datadir') / 'icons' / 'hicolor' / '@0@x@0@'.format(size) / 'stock' / 'navigation',
)
endforeach
endforeach
sizes = [16, 48, 128]
names = [
'org.xfce.thunar',
]
foreach name : names
foreach size : sizes
install_data(
'@0@x@0@'.format(size) / '@0@.png'.format(name),
install_dir: get_option('prefix') / get_option('datadir') / 'icons' / 'hicolor' / '@0@x@0@'.format(size) / 'apps',
)
endforeach
install_data(
'scalable' / '@0@.svg'.format(name),
install_dir: get_option('prefix') / get_option('datadir') / 'icons' / 'hicolor' / 'scalable' / 'apps',
)
endforeach
<?xml version="1.0"?>
<its:rules xmlns:its="http://www.w3.org/2005/11/its"
version="2.0">
<its:translateRule selector="//*" translate="no"/>
<its:translateRule selector="//actions/action/description |
//actions/action/name |
//actions/action/commands/command/name"
translate="yes"/>
</its:rules>
<?xml version="1.0"?>
<locatingRules>
<locatingRule name="xfce-action" pattern="*-actions.xml">
<documentRule localName="actions" target="xfce.its"/>
</locatingRule>
<locatingRule name="xfce-action" pattern="uca.xml" target="xfce.its" />
</locatingRules>
project(
'thunar',
'c',
version : '4.21.0-dev',
license : 'GPL-2.0-or-later',
meson_version : '>= 0.61.0',
default_options : ['c_std=gnu11', 'buildtype=debugoptimized', 'warning_level=2']
)
project_namespace = 'xfce'
pkgdatadir = get_option('prefix') / get_option('datadir') / meson.project_name()
copyright_year = '2025'
thunarx_version_api = '3'
cc = meson.get_compiler('c')
pkgconfig = import('pkgconfig')
gnome = import('gnome')
i18n = import('i18n')
fs = import('fs')
dependency_versions = {
'glib': '>= 2.72.0',
'gtk': '>= 3.24.0',
'gdk-pixbuf': '>= 2.42.8',
'libxfce4ui': '>= 4.21.0',
'libxfce4util': '>= 4.17.2',
'xfconf': '>= 4.12.0',
'pango': '>= 1.38.0',
'libx11': '>= 1.6.7',
'libsm': '>= 1.2.3',
'libice': '>= 1.0.10',
'gir': '>= 1.72.0',
'gudev': '>= 145',
'libnotify': '>= 0.7.0',
'exif': '>= 0.6.0',
'pcre2': '>= 10.0',
'libxfce4panel': '>= 4.14.0',
}
glib = dependency('glib-2.0', version: dependency_versions['glib'])
gio = dependency('gio-2.0', version: dependency_versions['glib'])
gthread = dependency('gthread-2.0', version: dependency_versions['glib'])
gmodule = dependency('gmodule-2.0', version: dependency_versions['glib'])
gtk = dependency('gtk+-3.0', version: dependency_versions['gtk'])
gdk_pixbuf = dependency('gdk-pixbuf-2.0', version: dependency_versions['gdk-pixbuf'])
libxfce4ui = dependency('libxfce4ui-2', version: dependency_versions['libxfce4ui'])
libxfce4kbd = dependency('libxfce4kbd-private-3', version: dependency_versions['libxfce4ui'])
libxfce4util = dependency('libxfce4util-1.0', version: dependency_versions['libxfce4util'])
xfconf = dependency('libxfconf-0', version: dependency_versions['xfconf'])
pango = dependency('pango', version: dependency_versions['pango'])
xdt_gen_visibility = find_program('xdt-gen-visibility', required: true)
xsltproc = find_program('xsltproc', required: true)
x11_deps = []
x11_deps += dependency('gdk-x11-3.0', version: dependency_versions['gtk'], required: get_option('x11'))
x11_deps += dependency('x11', version: dependency_versions['libx11'], required: get_option('x11'))
feature_cflags = []
enable_x11 = not get_option('x11').disabled()
foreach dep : x11_deps
enable_x11 = enable_x11 and dep.found()
endforeach
if enable_x11
feature_cflags += '-DENABLE_X11=1'
libsm = dependency('sm', version: dependency_versions['libsm'], required: get_option('session-management'))
if libsm.found()
libice = dependency('ice', version: dependency_versions['libice'], required: get_option('session-management'))
if libice.found()
feature_cflags += '-DENABLE_LIBSM=1'
x11_deps += [libsm, libice]
endif
endif
endif
gio_unix = dependency('gio-unix-2.0', version: dependency_versions['glib'], required: get_option('gio-unix'))
if gio_unix.found()
feature_cflags += '-DHAVE_GIO_UNIX=1'
endif
gudev = dependency('gudev-1.0', version: dependency_versions['gudev'], required: get_option('gudev'))
if gudev.found()
feature_cflags += '-DHAVE_GUDEV=1'
endif
libnotify = dependency('libnotify', version: dependency_versions['libnotify'], required: get_option('libnotify'))
if libnotify.found()
feature_cflags += '-DHAVE_LIBNOTIFY=1'
endif
gir = dependency('gobject-introspection-1.0', version: dependency_versions['gir'], required: get_option('introspection'))
exif = dependency('libexif', version: dependency_versions['exif'], required: get_option('exif'))
if exif.found()
feature_cflags += '-DHAVE_EXIF=1'
endif
pcre2 = dependency('libpcre2-8', version: dependency_versions['pcre2'], required: get_option('pcre2'))
if pcre2.found()
feature_cflags += '-DHAVE_PCRE2=1'
endif
libxfce4panel = dependency('libxfce4panel-2.0', version: dependency_versions['libxfce4panel'], required: get_option('thunar-tpa'))
gnu_symbol_visibility = 'default'
if get_option('visibility')
gnu_symbol_visibility = 'hidden'
feature_cflags += '-DENABLE_SYMBOL_VISIBILITY=1'
endif
helper_path_prefix = get_option('helper-path-prefix')
if helper_path_prefix == ''
helper_path_prefix = get_option('prefix') / get_option('libdir')
endif
thunarx_dirs = get_option('thunarx-dirs')
if thunarx_dirs == ''
thunarx_dirs = get_option('prefix') / get_option('libdir') / 'thunarx-@0@'.format(thunarx_version_api)
endif
if cc.has_function('bind_textdomain_codeset')
feature_cflags += '-DHAVE_BIND_TEXTDOMAIN_CODESET=1'
libintl = dependency('', required: false)
else
libintl = cc.find_library('intl', required: false)
if libintl.found() and cc.has_function('bind_textdomain_codeset', dependencies: libintl)
feature_cflags += '-DHAVE_BIND_TEXTDOMAIN_CODESET=1'
endif
endif
functions = [
'atexit',
'mkdtemp',
'setgroupent',
'setpassent',
'statx',
'strptime',
]
foreach function : functions
if cc.has_function(function)
feature_cflags += '-DHAVE_@0@=1'.format(function.to_upper())
endif
endforeach
headers = [
'sys/param.h',
'sys/stat.h',
'sys/types.h',
'sys/wait.h',
'errno.h',
'fcntl.h',
'grp.h',
'libintl.h',
'limits.h',
'locale.h',
'malloc.h',
'memory.h',
'paths.h',
'pwd.h',
'signal.h',
'stdarg.h',
'stdio.h',
'stdlib.h',
'string.h',
'strings.h',
'time.h',
'unistd.h',
]
foreach header : headers
if cc.check_header(header)
feature_cflags += '-DHAVE_@0@=1'.format(header.underscorify().to_upper())
endif
endforeach
extra_cflags = []
extra_cflags_check = [
'-Wmissing-declarations',
'-Wmissing-noreturn',
'-Wold-style-definition',
'-Wredundant-decls',
'-Wpointer-arith',
'-Wcast-align',
'-Winit-self',
'-Wshadow',
'-Wmissing-include-dirs',
'-Wundef',
'-Wformat',
'-Wformat-security',
'-Wformat-y2k',
'-Wnested-externs',
'-Wno-unused-parameter',
'-Wno-declaration-after-statement',
'-Wno-missing-field-initializers',
'-Werror=implicit-function-declaration',
'-Wno-error=deprecated-declarations',
]
optimization = get_option('optimization')
if get_option('debug') and optimization in ['0', 'g']
extra_cflags_check += '-fstack-protector-strong'
extra_cflags += [
'-DDEBUG=1',
'-DDEBUG_TRACE=1',
'-DG_ENABLE_DEBUG',
]
elif optimization in ['3', 'minsize']
extra_cflags += [
'-DNDEBUG',
'-DG_DISABLE_CAST_CHECKS',
'-DG_DISABLE_ASSERT',
]
endif
if dependency_versions.has_key('glib')
glib_version_parts = dependency_versions['glib'].split(' ')
glib_min_version_parts = glib_version_parts[1].split('.')
glib_min_version_define = 'GLIB_VERSION_@0@_@1@'.format(glib_min_version_parts[0], glib_min_version_parts[1])
extra_cflags += [
'-DGLIB_VERSION_MIN_REQUIRED=@0@'.format(glib_min_version_define),
'-DGLIB_VERSION_MAX_ALLOWED=@0@'.format(glib_min_version_define),
'-DG_LOG_USE_STRUCTURED=1',
]
endif
version_parts = meson.project_version().split('-dev')[0].split('.')
version_short = '@0@.@1@'.format(version_parts[0], version_parts[1])
extra_cflags += [
'-DPACKAGE="@0@"'.format(meson.project_name()),
'-DPACKAGE_NAME="@0@"'.format(meson.project_name()),
'-DPACKAGE_VERSION="@0@"'.format(meson.project_version()),
'-DVERSION="@0@"'.format(meson.project_version()),
'-DVERSION_SHORT="@0@"'.format(version_short),
'-DPACKAGE_STRING="@0@ @1@"'.format(meson.project_name(), meson.project_version()),
'-DPACKAGE_DATADIR="@0@"'.format(pkgdatadir),
'-DCOPYRIGHT_YEAR="@0@"'.format(copyright_year),
'-DPACKAGE_LOCALE_DIR="@0@"'.format(get_option('prefix') / get_option('localedir')),
'-DPACKAGE_BUGREPORT="https://gitlab.xfce.org/@0@/@1@/-/issues"'.format(project_namespace, meson.project_name()),
'-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()),
'-DPREFIX="@0@"'.format(get_option('prefix')),
'-DBINDIR="@0@"'.format(get_option('prefix') / get_option('bindir')),
'-DDATADIR="@0@"'.format(get_option('prefix') / get_option('datadir')),
'-DINCLUDEDIR="@0@"'.format(get_option('prefix') / get_option('includedir')),
'-DLIBDIR="@0@"'.format(get_option('prefix') / get_option('libdir')),
'-DLIBEXECDIR="@0@"'.format(get_option('prefix') / get_option('libexecdir')),
'-DLOCALEDIR="@0@"'.format(get_option('prefix') / get_option('localedir')),
'-DLOCALSTATEDIR="@0@"'.format(get_option('prefix') / get_option('localstatedir')),
'-DSBINDIR="@0@"'.format(get_option('prefix') / get_option('sbindir')),
'-DSYSCONFDIR="@0@"'.format(get_option('prefix') / get_option('sysconfdir')),
'-DHAVE_XFCE_REVISION_H=1',
]
add_project_arguments(cc.get_supported_arguments(extra_cflags_check), language: 'c')
add_project_arguments(extra_cflags, language: 'c')
add_project_arguments(feature_cflags, language: 'c')
xfce_revision_h = vcs_tag(
command: ['git', 'rev-parse', '--short', 'HEAD'],
fallback: 'UNKNOWN',
input: 'xfce-revision.h.in',
output: 'xfce-revision.h',
replace_string: '@REVISION@',
)
service_files = [
'org.xfce.FileManager.service.in',
'org.xfce.Thunar.FileManager1.service.in',
'org.xfce.Thunar.service.in',
'thunar.service.in',
]
foreach file : service_files
if file == 'thunar.service.in'
install_dir = get_option('prefix') / 'lib' / 'systemd' / 'user'
else
install_dir = get_option('prefix') / get_option('datadir') / 'dbus-1' / 'services'
endif
configure_file(
configuration: configuration_data({
'bindir': get_option('prefix') / get_option('bindir'),
}),
input: file,
output: fs.stem(file),
install: true,
install_dir: install_dir,
)
endforeach
desktop_files = [
'thunar-bulk-rename.desktop.in',
'thunar.desktop.in',
]
foreach file : desktop_files
i18n.merge_file(
input: file,
output: fs.stem(file),
po_dir: 'po',
type: 'desktop',
install: true,
install_dir: get_option('prefix') / get_option('datadir') / 'applications',
)
endforeach
thunar_policy_in = configure_file(
configuration: configuration_data({
'bindir': get_option('prefix') / get_option('bindir'),
}),
input: 'org.xfce.thunar.policy.in.in',
output: 'org.xfce.thunar.policy.in',
install: false,
)
i18n.merge_file(
input: thunar_policy_in,
output: 'org.xfce.thunar.policy',
po_dir: 'po',
type: 'xml',
install: true,
install_dir: get_option('prefix') / get_option('datadir') / 'polkit-1' / 'actions',
)
i18n.merge_file(
input: 'org.xfce.thunar.appdata.xml.in',
output: 'org.xfce.thunar.appdata.xml',
po_dir: 'po',
type: 'xml',
install: true,
install_dir: get_option('prefix') / get_option('datadir') / 'metainfo',
)
subdir('docs')
subdir('thunarx')
if get_option('gtk-doc')
subdir('docs' / 'reference' / 'thunarx')
endif
subdir('examples' / 'tex-open-terminal')
subdir('icons')
if not get_option('thunar-apr').disabled()
subdir('plugins' / 'thunar-apr')
endif
if not get_option('thunar-sbr').disabled()
subdir('plugins' / 'thunar-sbr')
endif
subdir('plugins' / 'thunar-sendto-email')
if not get_option('thunar-tpa').disabled() and libxfce4panel.found()
subdir('plugins' / 'thunar-tpa')
endif
if not get_option('thunar-uca').disabled()
subdir('plugins' / 'thunar-uca')
endif
if not get_option('thunar-wallpaper').disabled()
subdir('plugins' / 'thunar-wallpaper')
endif
subdir('po')
subdir('thunar')
option(
'gtk-doc',
type: 'boolean',
value: false,
description: 'Build gtk-doc HTML',
)
option(
'introspection',
type: 'boolean',
value: true,
description: 'Build gobject-introspection files',
)
option(
'visibility',
type: 'boolean',
value: true,
description: 'Build with GNU symbol visibility',
)
option(
'x11',
type: 'feature',
value: 'auto',
description: 'Support for the X11 windowing system',
)
option(
'session-management',
type: 'feature',
value: 'auto',
description: 'Session management support (X11 only)',
)
option(
'gio-unix',
type: 'feature',
value: 'auto',
description: 'GIO-Unix support',
)
option(
'gudev',
type: 'feature',
value: 'auto',
description: 'GUDev support (required for thunar-volman)',
)
option(
'libnotify',
type: 'feature',
value: 'auto',
description: 'Libnotify support (required for mount notifications)',
)
option(
'thunar-apr',
type: 'feature',
value: 'auto',
description: 'Build the thunar-apr plugin, see plugins/thunar-apr/README.md',
)
option(
'thunar-sbr',
type: 'feature',
value: 'auto',
description: 'Build the thunar-sbr plugin, see plugins/thunar-sbr/README.md',
)
option(
'exif',
type: 'feature',
value: 'auto',
description: 'Exif support (optional for thunar-apr and thunar-sbr plugins)',
)
option(
'pcre2',
type: 'feature',
value: 'auto',
description: 'Pcre2 support (optional for the thunar-sbr plugin)',
)
option(
'thunar-tpa',
type: 'feature',
value: 'auto',
description: 'Build the thunar-tpa plugin, see plugins/thunar-tpa/README.md',
)
option(
'thunar-uca',
type: 'feature',
value: 'auto',
description: 'Build the thunar-uca plugin, see plugins/thunar-uca/README.md',
)
option(
'thunar-wallpaper',
type: 'feature',
value: 'auto',
description: 'Build the thunar-wallpaper plugin, see plugins/thunar-wallpaper/README.md',
)
option(
'helper-path-prefix',
type: 'string',
value: '',
description: 'Path prefix under which helper executables will be installed (default: $libdir)',
)
option(
'thunarx-dirs',
type: 'string',
value: '',
description: 'Used to set different default paths (separated by colon) for thunarx plugin lookup (default: $libdir/thunarx-$THUNARX_VERSION_API)',
)
option(
'thunarx-dirs-envvar',
type: 'boolean',
value: false,
description: 'Enables the posibillity to set custom thunarx directories by using the environment variable THUNARX_DIRS',
)
......@@ -2,24 +2,29 @@
<!-- Copyright 2014 Ryan Lerch <rlerch@redhat.com> -->
<component type="desktop-application">
<id type="desktop">org.xfce.Thunar</id>
<id>org.xfce.thunar</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0</project_license>
<launchable type="desktop-id">thunar.desktop</launchable>
<name>Thunar</name>
<summary>File Browser</summary>
<description>
<_p>
<p>
Thunar is a file browser specifically designed for the Xfce Desktop, but also can
serve as an alternate file browser for other Desktop environments. It has a simple,
clean two-pane design for browsing all your files.
</_p>
</p>
</description>
<url type="homepage">https://xfce.org/projects</url>
<url type="homepage">https://xfce.org</url>
<url type="bugtracker">https://gitlab.xfce.org/xfce/thunar</url>
<url type="help">https://docs.xfce.org/xfce/thunar/start</url>
<url type="contact">https://docs.xfce.org/contribute/dev/start#communication_with_the_xfce_development_team</url>
<screenshots>
<screenshot type="default">https://docs.xfce.org/_media/xfce/thunar/file-manager-window.png</screenshot>
<screenshot type="default">
<image width="759" height="424">https://docs.xfce.org/_media/xfce/thunar/file-manager-window.png</image>
<caption>Screenshot of the XFCE Thunar File Browser User Interface</caption>
</screenshot>
</screenshots>
<categories>
......@@ -27,6 +32,7 @@
</categories>
<project_group>Xfce</project_group>
<updatecontact>xfce4-dev@xfce.org</updatecontact>
<update_contact>xfce4-dev@xfce.org</update_contact>
<translation type="gettext">Thunar</translation>
<content_rating type="oars-1.1"/>
</component>