summaryrefslogtreecommitdiff
path: root/tumblerd
Commit message (Collapse)AuthorAgeFilesLines
* i18n: Add missing initializationHEADmasterGaël Bonithon2022-03-171-0/+5
|
* Fix missing mutex unlock in group schedulerGaël Bonithon2022-03-171-1/+1
| | | | | | | | Tumbler could get stuck if a previous request was cancelled because of this. An obsolete assert is also removed which may prevent an error signal from being sent. Fixes #56.
* Rename service files according to the chosen service name prefixGaël Bonithon2022-01-091-2/+8
| | | | Completes previous commit, related to !21.
* Allow to choose an alternative service name prefixGaël Bonithon2022-01-0913-41/+45
| | | | | | | | | This is primarily for Flatpak packaging, where a "private service" is desirable, although one could imagine using it in other contexts. The prefix must be specified via the environment variable `TUMBLER_SERVICE_NAME_PREFIX`. Related to xfconf#27, see !21 for more details.
* Build: Check for best possible grep, egrep, sedGaël Bonithon2022-01-091-3/+4
| | | | | In particular, $EGREP was introduced in d82e509551db98ff70e47d1990f759948ee7fecd whithout check.
* Fix wrong parameters in error signalGaël Bonithon2021-12-291-1/+1
| | | | An oversight in 49ffba98d7cf9626a1470bc49a53596300fe3550.
* Debug: Display data side-by-side when appropriateGaël Bonithon2021-12-292-9/+7
|
* Debug: Write on stderr if possibleGaël Bonithon2021-12-291-0/+8
|
* desktop-thumbnailer: Allow to override configuration in desktop filesGaël Bonithon2021-12-292-49/+38
| | | | | | | The "X-Tumbler Settings" group is searched in each desktop file with the same keys as in `tumbler.rc`, where the default configuration is now. Closes #52.
* Cleanup: Avoid code duplicationGaël Bonithon2021-12-291-48/+3
|
* Try all available thumbnailers before declaring failureGaël Bonithon2021-12-297-56/+113
| | | | | | | | | | | | | The request thumbnailer array no longer contains one thumbnailer per URI, but the list of available thumbnailers for this URI (after applying the filters of the configuration file), sorted by priority. For a given URI, we browse the thumbnailer list until we succeed in generating a thumbnail. An error signal is only issued if the last thumbnailer has failed. Intermediate errors are only displayed if debug logging is enabled. Closes #50.
* Add a corresponding systemd user service for the D-Bus session servicesSimon McVittie2021-12-275-0/+19
| | | | | | | | | | | | | | When running under a systemd user session, this results in tumblerd being placed in in its own cgroup, whereas previously it would be a child of dbus-daemon in the dbus.service cgroup. It also avoids races between up to three separate instances of the same executable being started for its three names, which could result in spurious activation failures if they are used in quick succession, similar to <https://bugs.freedesktop.org/show_bug.cgi?id=53220> in telepathy-mission-control. Closes #14.
* Debug: Add some config-file-related messagesGaël Bonithon2021-12-261-3/+11
| | | | Closes #23.
* Error handling: Fit to the spec and complete message if neededGaël Bonithon2021-12-266-17/+49
| | | | | | | | | | | | | A parameter is added to Tumbler's internal error signals to account for the error domain, and the error code `TUMBLER_ERROR_OTHER_ERROR_DOMAIN` is added to indicate that the error originated from a third-party API. When sending the error signal via D-Bus, cancelling errors are filtered out, and when the error originates from a third-party API, the error message is prefixed with the domain and code of that error, in a possibly parsable format. Fixes #49.
* Debug: Add or adjust some traces and dumpsGaël Bonithon2021-12-265-35/+57
|
* Debug: Convert dump functions to `GString, g_debug()`Gaël Bonithon2021-12-262-13/+27
|
* Debug: Prefer runtime to compile-time check for loggingGaël Bonithon2021-12-262-59/+43
| | | | | | | This is more convenient for both the developer and the user, especially when it comes to providing logs in a bug report. As for the loss in terms of performance, it is minimal, and this is normally not an issue where these functions are used.
* Cleanup: Use `g_file_peek_path()` when appropriateGaël Bonithon2021-12-261-37/+16
| | | | | This simplifies the code, fixes leaks in `g_debug()` calls, and GLib 2.56 will be required when moving to Xfce 4.18.
* Set the priority of external thumbnailers to 0Gaël Bonithon2021-12-231-7/+16
| | | | | | | If their priority is equal to that of another plugin, there is no way to know in advance which one will be prioritized in case of a mime type match (more precisely, it depends on the order in which `g_dir_read_name()` goes through the plugin directory).
* Revert "Set Max file sizes."Gaël Bonithon2021-12-231-10/+10
| | | | | | | | | | | | | This reverts commit 8f0234a4a14bfec9f0a1ef5c1c8b94fb523f5d41. There was no particular justification for this change, and since then there have been several interventions in bug reports or on the forum from users wondering why Tumbler does not generate thumbnails for certain files, especially video. There should not be a default size limitation, or only for a particular plugin, with a justification in the comments, and only if the problem cannot be fixed in the code.
* Cache cleanup when a request for a URI failsGaël Bonithon2021-12-201-0/+6
| | | | Fixes #22.
* Do not translate warning messagesGaël Bonithon2021-12-183-20/+17
| | | | Completes d6aeb7d65acf6e41738c78b9d137fab3502d1c58.
* Define error messages in `tumbler/tumbler-error.h`Gaël Bonithon2021-12-173-3/+3
|
* Fix some priority issuesGaël Bonithon2021-12-122-9/+4
| | | | | | | | | * Preserve the directory order in $XDG_DATA_DIRS and the priority of $XDG_DATA_HOME over $XDG_DATA_DIRS for desktop thumbnailers. * Fix some logical errors in `tumbler_registry_compare()`. * Keep the priority of the pixbuf thumbnailer plugin higher than that of the desktop thumbnailer plugin by default in `tumbler.rc` (it was lowered in 6935184665902097511db1708eaaf78015ff61ac).
* pixbuf-thumbnailer: Use a mime-type-specific loader when possibleGaël Bonithon2021-12-111-4/+5
| | | | | | | | | | | | | | | | This allows to fully use the capabilities of the specific pixbuf loader for the considered mime type according to the installed optional libraries. This is especially necessary to load some SVG or HEIF thumbnails. On the other hand, if this specific loader doesn't work properly, it may be even more noticeable. This is the case for libopenraw, for which a dedicated plugin using another API has fortunately been implemented. So we just have to prioritize it in `tumbler.rc`. Fixes #20, #32, #36, see !18 for more details. Co-authored-by: @Krifa75 (Gitlab ID)
* Fix warnings from scan-build (Clang 13.0)Gaël Bonithon2021-12-111-1/+1
|
* Fix compilation warningsGaël Bonithon2021-11-108-85/+31
|
* Support shared thumbnail repositories of the freedesktop.org thumbnail specSergios - Anestis Kefalidis2021-07-242-118/+4
| | | | | | | Related: https://gitlab.xfce.org/xfce/libxfce4util/-/merge_requests/18 https://gitlab.xfce.org/xfce/thunar/-/merge_requests/126 https://gitlab.xfce.org/xfce/thunar/-/issues/262
* Remove GSourceFunc castsOlaf Hering2020-12-231-4/+4
| | | | | | Convert the callback into a real GSourceFunc. Signed-off-by: Olaf Hering <olaf@aepfle.de>
* Remove GLIB_CHECK_VERSION IFDEFs which are obsolete after glib bumpAlexander Schwinn2020-12-152-20/+0
| | | Current glib minimum is 2.50.0
* Merge branch 'OlivierDuchateau/tumbler-gepub-thumbnailer'Ali Abdallah2020-11-151-0/+8
|\
| * Add libgepub thumbnailer pluginOlivier Duchateau2020-11-051-0/+8
| |
* | Fix documentation URLOlivierDuchateau2020-11-101-1/+1
|/
* Merge branch 'OlivierDuchateau/tumbler-GTimeVal-deprecation'Ali Abdallah2020-08-111-32/+5
|\
| * Drop support of GLib < 2.32Olivier Duchateau2020-08-091-29/+0
| |
| * Fix GTimeVal deprecationOlivier Duchateau2020-08-091-3/+5
| |
* | tumbler.rc: (trivial) fix spelling errorRobby Workman2020-08-111-2/+2
|/
* Use guint32 for request handleAli Abdallah2020-05-176-25/+25
| | | | | | | As the D-Bus data type "u" indicates 32 bit unsigned integer, explicily use guint32 instead of guint. See Bug #16833 for more details.
* Fix type of handle and handle further occurrences of 0Anton Danilkin2020-05-101-1/+3
|
* Fix handles starting from zeroafdw2020-05-081-1/+1
|
* This commit implements Excludes pathsAli Abdallah2020-05-012-1/+23
| | | | | Any path found in a plugin Excludes will be ignored, code contributed by Markus Kolb xfce@tower-net.de Bug #16130.
* Fix typoAndre Miranda2019-11-021-1/+1
|
* Fix g_type_class_add_private is deprecatedAndre Miranda2019-04-161-8/+2
|
* Set Max file sizes.Ali Abdallah2018-11-131-9/+9
| | | | 2 Gb for video files and 200 Mb for photo/pdf files.
* Check for sparse video files only on plugin side.Ali Abdallah2018-10-211-56/+26
| | | | Move the sparse video files check to ffmpeg and gstreamer plugins.
* Test sparse files only on regular onesAli Abdallah2018-09-121-6/+7
| | | | This commit fixes #14693 to allow thumbnailing of folders.
* Fix uninitialized variableOlivier Duchateau2018-09-111-1/+1
| | | | Signed-off-by: Ali Abdallah <ali@xfce.org>
* Added stat check to try to skip sparse files.Ali Abdallah2018-09-081-1/+31
| | | | | | | | | | | | | | | | Sparse files, especially sparse video files, cause high cpu and memory load when trying to get a thumbnail image out of them, using gst or ffmpeg plugins. For non sparse files, usually ((double)S_BLKSIZE * sb.st_blocks / sb.st_size) = 1.0, but this is not always true, for example on file systems that support compression, the ratio can be lower (ex. on ZFS), but not by too much for already compressed video and image files. We assume video files with ratio lower than 0.8 to be sparse and we avoid them. Video files with ratio higher than 0.8 usually have enough valid video frames, so getting a thumbnail out of them always succeeds. This commit should fix bug #12259.
* Fix wrong variant signature in g_variant_get.Ali Abdallah2017-07-171-1/+1
|
* Don't ref the variant before sending a signal and let itAli Abdallah2017-07-171-20/+13
| | | | be consumed by the gdbus signal emission.