* implemented xdg thumbnails fetching with fallback on mimetype icons for menu entries in filebrowser mode
* included original license text
* added md5 header and source file
* implemented xdg compatible thumbnail's creation
* added -preview-cmd string option to program settings
* support custom command to create images for entries with thumbnail:// prefix
* fix custom thumbnailer command crash caused by null uri when entry is not a valid filename
* check entry_name is not NULL or empty when generating thumbnails;
use snprintf to avoid static analyzer complains
* avoid using gstrvbuilder to build thumbnailer command args
* fixed static analyzer complain about always wrong condition
* use g_spawn_check_exit_status to avoid bump to glib 2.70
* removed md5-c dependency and use glib checksum implementation
* fixed meson build after md5-c library removal
* support thumbnail generation in recursivebrowser mode
* restored check rofi_icon_fetcher_file_is_image
* create thumbnail directories if not existing
* use g_malloc0, g_strdup and g_strdup_printf
* fixed formatting with clang-format
* don't wait for jobs in execution when finalizing the icon fetcher worker threadpool
* destroy and rebuild the icon fetcher worker threadpool when the current page is changed
* added query_started boolean member to IconFetcherEntry;
check if an icon fetcher query was started on an IconFetcherEntry and submit the query again otherwise
* force icon cache lookup even if the item has a valid icon_fetch_uid (the fetching job could have been discarded before starting)
* search binaries in PATH when executing thumbnailer command
* mark icon query as not started in threadpool item free_func
* added listview page_changed_callback; rebuild icon fetcher threadpool in page_changed_callback
* [listview] Add missing code documentation param
* Create rofi-thumbnails.5.markdown
* Updated documentation with apparmor issues and workaround
* [Doc] Ship rofi-thumbnails.5
With some formatting fixes
* use a more compact thumbnailer example
---------
Co-authored-by: giomatfois62 <giomatfois62@yahoo.it>
Co-authored-by: Dave Davenport <DaveDavenport@users.noreply.github.com>
Co-authored-by: lbonn <github@lbonnans.net>
Squashed commit of the following:
commit 92e730076d
Author: Dave Davenport <qball@gmpclient.org>
Date: Sun Jun 11 18:17:12 2023 +0200
[Doc] Add regex filtering to recursivebrowser.
commit ee80c8487f
Author: Dave Davenport <qball@gmpclient.org>
Date: Sun Jun 11 17:49:29 2023 +0200
[recursivebrowser] Update manpage.
commit a24b68f523
Author: Dave Davenport <qball@gmpclient.org>
Date: Sun Jun 11 17:37:56 2023 +0200
[Mode] Add some extra validating of the mode selected to complete.
commit cf497e8685
Author: Dave Davenport <qball@gmpclient.org>
Date: Sun Jun 4 15:12:31 2023 +0200
[Recursive browser] Make completer selectable.
commit 722f07a803
Author: Dave Davenport <qball@gmpclient.org>
Date: Sun Jun 4 14:36:14 2023 +0200
Add methods for completer to modes.
commit 7972420c30
Author: Qball Cow <qball@blame.services>
Date: Thu Jun 1 21:56:06 2023 +0200
Prepare updates for new APIs.
commit dd3035a1a6
Author: Dave Davenport <qball@gmpclient.org>
Date: Wed May 10 19:24:48 2023 +0200
[RB] Fix regex and cleanups
commit 4d2941caf3
Author: Dave Davenport <qball@blame.services>
Date: Wed May 10 18:09:54 2023 +0200
[RB] Add (unfinished regex test)
commit 848277001f
Author: Dave Davenport <qball@blame.services>
Date: Wed May 10 17:49:16 2023 +0200
[RB] Pull the scanning into a separate thread.
commit f369a7f63f
Author: Dave Davenport <qball@gmpclient.org>
Date: Wed May 3 18:35:15 2023 +0200
[Recursive File Browser] First test version.
Add an option to show hidden files by looking up the "show-hidden" filebrowser property and modifying the relevant logic in "filebrowser.c".
Co-authored-by: Dave Davenport <DaveDavenport@users.noreply.github.com>
When compiling on macOS, an error message will pop up:
```
error: no member named 'st_atim' in 'struct stat'
```
This is because `st_atim`, `st_ctim` and `st_mtim` does not exist on
macOS, instead it uses `st_atimespec`, `st_ctimespec` and
`st_mtimespec`.
In this commit, 3 macros are defined to try to fix this problem.
Reference: https://github.com/hboetes/mg/issues/7