Commit graph

3962 commits

Author SHA1 Message Date
Dave Davenport
3b0f2b43f9 [config] Set filebrowser as default completer. 2024-06-27 21:32:39 +02:00
giomatfois62
75ae2a41f0
[WIP] xdg thumbnails fetching with fallback on mimetype icons (#1939)
* 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>
2024-06-21 18:47:38 +02:00
Istvan Petres
5133f50f30
Add -transient-window mode (#1988)
* Add -transient-window mode

This will add a new mode for the rofi window so when you run it with
-transient-window

instead of
-normal-window

it will get the currently focused window and then use that as the parent window and set itself as transient of that window.  It is useful so that when you  use a keyboard shortcut to start rofi it will always popup on the window you are working on and so it doesn't make you refocus/move your head on large monitors :)

* Fixed other windows to be focusable in transient mode

and added print_help_msg for this new -transient-window option.

* Added -transient-window option to doc too
2024-06-09 18:57:29 +02:00
Nikita Zlobin
bd0ba45db8 Fix scrolling for vertical layout with horizontal packing
Current scrolling effect looks interesting, but impractical, when with
multiple columns.

Signed-off-by: Dave Davenport <qball@gmpclient.org>
2024-06-06 18:42:55 +02:00
Nikita Zlobin
753cd1e9e1 Place continuous scroll center in middle column
Signed-off-by: Dave Davenport <qball@gmpclient.org>
2024-06-06 18:42:55 +02:00
Qball Cow
dee97eb540 [Script] Fix keep-selection add keep-filter
Fixes: #1962
2024-05-12 21:35:26 +02:00
Qball Cow
9580c4a191 [RecursiveBrowser] Make implementation not recursive.
Do stat when DT_UNKNOWN is given back when reading directory.

Issue: #1954
2024-05-12 13:41:32 +02:00
ortango
5b9939b287
Add border_width to window coordinates (#1969)
* Update xcb.c

window coors relative to border_width.

* Add border_width to window coordinates

Normalize the geometry between reparenting and non- window managers.

* remove WM_ROOT_WINDOW_OFFSET

* remove WM_ROOT_WINDOW_OFFSET
* only translate reparent
2024-04-25 16:14:39 +02:00
Dave Davenport
9b6e70b365 [IconFetcher] Don't check for extension for image file.
Issue: 1977
2024-04-18 22:32:50 +02:00
martinsifrar
4f098751cd
[IconFetcher] Fix failing decode of animated GIFs. (#1975) 2024-04-15 12:56:09 +02:00
Dave Davenport
6c38a49d54 [Doc] Fix typo, thx to @Nickwiz 2024-03-16 11:53:12 +01:00
Dave Davenport
94f8c88336 [github] update lock config. 2024-03-15 10:29:04 +01:00
Qball Cow
81e06d7157 [github] bump lock-threads flow version 2024-03-13 07:18:08 +01:00
Dave Davenport
839ee0d7d9 [Doc] Fix copy/paste error in template. 2024-03-11 15:49:19 +01:00
Dave Davenport
76154cc1ff [Doc] Fix typo in issue template. 2024-03-11 15:48:25 +01:00
Dave Davenport
1063b6ec05 [Run] Store display and exec string 2024-03-11 12:32:12 +01:00
Dave Davenport
04f16052a9 [Run] Don't re-quote history items. 2024-03-11 12:04:08 +01:00
lbonn
9cae4a9b61
[Modes] Remove dead code in mode implems (#1960)
NEXT, PREVIOUS and QUICK_SWITCH are handled in mode.c since
96cd34d24f (#1184)
2024-03-11 11:07:29 +01:00
Dave Davenport
af6fb83a51 [View] Work around GThreadPool 1 pointer bug.
* Also fix typo in icon fetcher.
2024-03-08 09:38:15 +01:00
Dave Davenport
0bf0c51827 [Github] Bump checkout to v4 2024-03-08 09:16:29 +01:00
lbonn
433f9664e9
[Doc] Switch to pandoc and remove generated files (#1955)
* [Build] Add missing dist files from libnkutils

* [Doc] Switch to pandoc and remove generated files

* [Doc] Rewrite markdown for conversion to man

* convert existing markup to use definition list (a bit hacky...)
* rewrite title to pandoc man metadata
* reduce heading nesting to match most man pages
* inline code displayed as bold, also common man style

* [Doc] New installation with autoconf and meson

- autoconf:
  * generate in source directory if pandoc found
  * install from source directory

- meson:
  * generate and install with build directory if pandoc found
  * try to install from source directory if pandoc not found
  * bail otherwise

* [Doc] Make pandoc filter 2.9 compatible

Man pages look better with pandoc >= 2.17
2024-03-05 16:22:47 +01:00
Dave Davenport
3d29715e1e [IconFetcher] Don't free on removal from thread-pool 2024-03-02 19:38:05 +01:00
Dave Davenport
8061e4e7c2 Add an item-free method to the thread-pool 2024-03-01 15:28:48 +01:00
Qball Cow
42d6bb9af4 [Window] write code so clang-check does not complain about leak.
Does not solve the possible, but very unlikely leak, but keeps
clang-check happy.
2024-02-29 00:00:36 +01:00
Dave Davenport
afc65ac125 [script|dmenu] Add option to make row permanent.
fixes: #1952
2024-02-28 20:47:18 +01:00
Qball Cow
f2c0f75fd2 [run] fix missing doxygen and add explanation. 2024-02-28 00:54:23 +01:00
Qball Cow
ee1b68aea6 [Run] When passing raw entry, pass it unquoted to history
fixes: #1951
2024-02-28 00:46:23 +01:00
Dave Davenport
eae65b2c07 Replace deprecated g_memdup by g_memdup2 2024-02-27 20:53:26 +01:00
Dave Davenport
3a97e0cb91 Replace deprecated by g_memdup to g_memdup2 2024-02-27 20:47:51 +01:00
Dave Davenport
1c41c36488 Bump glib version to 2.72 2024-02-27 20:46:34 +01:00
lbonn
aa193c3be6
[Build] Bump minimal meson version to 0.59.0 (#1947)
To remove some deprecated invocations.

0.47.0 (2018-07-02) -> 0.59.0 (2021-07-18)
2024-02-27 20:42:50 +01:00
Qball Cow
43790b3eda Fix compiler warnings in window mode. 2024-02-25 23:39:05 +01:00
Qball Cow
2bbaa36b7a Fix some compiler warnings. 2024-02-25 23:33:22 +01:00
Qball Cow
058aac887f Small indent 2024-02-25 22:24:58 +01:00
Qball Cow
2d35397195 [RUN] shell escape command before processing it further. 2024-02-22 09:13:05 +01:00
Qball Cow
118e3a4df4 Revert "[config] By default escape run command."
This reverts commit 83ecbfe127.
2024-02-22 08:51:04 +01:00
Qball Cow
83ecbfe127 [config] By default escape run command. 2024-02-22 08:45:04 +01:00
Dave Davenport
1c8159c4c8 [DRun] Drun read url field from cache. 2024-02-18 11:35:39 +01:00
lbonn
f539a08222
[Build] Reduce amount of warnings (#1944)
* one unused parameter in recursivebrowser.c
* overlength strings are overly pedantic, modern compilers support large
  strings
* __FUNCTION__ creeped back in after #288
2024-02-16 18:41:07 +01:00
Dave Davenport
3a5f95d69e [View] Don't use xcb surface to render to png, but create surface. 2024-02-16 13:36:21 +01:00
Dave Davenport
831bddc68b [Box] When estimating height, set correct width on children
Issue: #1943
2024-02-15 09:13:37 +01:00
Qball Cow
13c2a61766 [ThreadPool] Sort items in the queue based on priority 2024-02-11 14:00:03 +01:00
Dave Davenport
3dc3e2d616 [Doc] Fix broken ``` guards. 2024-02-10 22:14:08 +01:00
Dave Davenport
dc43ee7d5b [Doc] Remove reddit link from config.yml. 2024-02-10 21:52:20 +01:00
Dave Davenport
c3023b399b [Doc] Clarify in build instructions what release to use. 2024-02-10 21:41:40 +01:00
Dave Davenport
1c7ff16add Add extra documentation issue template. 2024-02-10 21:36:27 +01:00
Igor
689d72f1dc
Fix typo in dynamic_themes.md (#1941)
Add missing "P" in "PREVIEW=true"
2024-01-29 16:29:52 +01:00
Dave Davenport
e74c2dc253 [DOC] Add explanation to PATTERN of brackets
Fixes: #1933
2024-01-09 11:46:25 +01:00
Dave Davenport
1a5e9e9af6 [Doc] Update manpage to clarify meta property. 2024-01-04 11:26:07 +01:00
Qball Cow
11d801ea9e [View] On mode switch force refilter instead of queuing.
issue: #1928
2023-12-17 17:26:34 +01:00