* 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.
This avoid slow loading for some weird slow spaced out input stream.
(one input every 250ms).
Not sure what use-case this fixes.
This fix does cause a noticable slow-down on very large lists.
Issue: #1680
* Don´t refilter on each key-press.
* Make sure refiltering is not completely starved.
* Force refilter before accepting entry
* Go into 'timeout' refilter mode only after certain # elements.
* [DMenu] threading with getdelim to speed up reading.
* [View] Remove debug output.
* [dmenu] Fix pre-read.
* [DMenu] Make sure that async mode cannot block
* Remove mutex for IPC via pipes.
* [Dmenu] Small cleanup.
* [Scrollbar] Fix scrollbar overflowing on big lists.
* Fix stack overflow by creating to many filter jobs.
* [Doc] Add new option to manpage