Commit Graph

144 Commits

Author SHA1 Message Date
Qball Cow
5d77a9bb33 [Helper] Add a rofi_fallthrough macro to tell compiler fallthrough is intentional 2025-02-20 09:59:53 +01: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
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
Dave Davenport
b68f64ccee Small memory leaks fixed and other cleanups. 2023-04-21 12:50:55 +02:00
Dave Davenport
c1f63350f4 Fix to pointless or's. 2023-03-26 23:37:44 +02:00
Dave Davenport
bb5868199f Re-indent the code using clang-format 2023-03-26 13:19:58 +02:00
notuxic
c870d512ff Add support for adding textbox widgets to listview elements (#1792)
* Add support for adding textbox-widgets to listview entries

* Add support for adding icons and buttons to listview elements
2023-03-05 11:17:25 +01:00
Dave Davenport
727d7c579d Update copyright dates. 2023-01-14 13:02:35 +01:00
Dave Davenport
d47b1515b5 [listview] Don't calculate infinite rows on empty height.
Issue: #1769
2022-12-29 18:41:51 +01:00
Dave Davenport
063195922f [DMenu] Add -ellipsize-mode option. 2022-11-19 21:03:22 +01:00
Dave Davenport
66d782e0e7 Move config.h
small updates

Tweak header a bit

[CI] Add lto build to sh ci.

[CI] Fix artifact upload

[CI] no wildcard for artifact
2022-11-19 20:35:52 +01:00
Dave Davenport
c6ba962673 [listview] Set ellipsize mode on creation of textbox
So if rows are added, they behave correctily.

Issue: #1746
2022-11-18 08:46:16 +01:00
Dave Davenport
858d6c030c [listview] Add extra checks before resolving pointer.
Issue: #1703
2022-09-10 17:42:49 +02:00
Dave Davenport
77af850200 [textbox] Implement text-transform add upper/lower/capitalize transform
fixes: #1010
2022-07-30 14:50:05 +02:00
Dave Davenport
be6fe8ac61 [Textbox] Remove the dot indicator.
Weird hack from dmenu that dripped through rofi code-base for multi-select.
Change it so it is just a prefix to the string of ☐ and ☑.
2022-07-23 20:21:00 +02:00
Dave Davenport
8ee05a718e [View] Add textbox-current-entry widget. 2022-06-27 16:56:59 +02:00
Dave Davenport
f5fce95330 [#1079]: Option to hide listview elements when not filtered (#1622)
* [listview] Optional don't show elements when not filtered (#1079)

* [Listview] Fix auto-complete error.
2022-04-20 23:24:52 +02:00
Dave Davenport
47d785758a [listview] Allow settings of flow direction of elements (#1605)
* [Listview] Initial implementation for left to right packing.
* [Listview] fix movement in pack-left-to-right.
* Add element-next/prev keybinding and remap tab.
* [Listview] Change option name to 'flow' and use rofi orientation type.
* [Listview] Make listview work with reverse property.
* Update test for 2 new keybindings.

fixes: #1058
2022-03-07 20:37:58 +01:00
Dave Davenport
eff3b86c94 Bump copyright date. 2022-02-07 23:17:15 +01:00
Dave Davenport
85c6545a43 Merge List and Array type into one. (#1572)
* Merge list and array into one.

* [Lexer] Only use string without " in list

* Some cleanups

* Cleanups based on feedback.
2022-01-25 09:57:59 +01:00
Dave Davenport
dac09b8728 Cleanups based on cppcheck. 2021-12-01 13:14:36 +01:00
Dave Davenport
c10ee955bd #1437 - Fix sizing logic for widgets and textboxes. (#1444)
* [I1437] Textbox make get_desired_width depend on width.

Should fix some weird sizing issues on creation of widgest.


* [i1437] [View] Do the sizing based on the desired window width.

issue: #1437

* [i1437] Fix header documentation.
2021-09-07 19:40:07 +02:00
Dave Davenport
f4e5fd328a Revert "[I1437] Textbox make get_desired_width depend on width."
This reverts commit 154e03efc1.
2021-09-06 22:47:35 +02:00
Dave Davenport
154e03efc1 [I1437] Textbox make get_desired_width depend on width.
Should fix some weird sizing issues on creation of widgest.

Issue: #1437
2021-09-06 22:36:21 +02:00
Dave Davenport
137417dc6c [listview] Correctly check if hovered item is highlighted.
issue: 1423
2021-09-03 09:32:18 +02:00
Dave Davenport
954fc728b2 [Cleanup] Using clang-tidy 2021-08-18 01:16:45 +02:00
a1346054
c62137f8ab Simple maintenance improvements (#1370)
* rofi moved to libera.chat

* unify some theme headers and whitespace

* consistently use the same hashbang for bash

* improve obsolete way of testing equality

see https://github.com/koalaman/shellcheck/wiki/SC2268 for explanation

* use consistent function definitions in bash scripts

* remove duplicated author and fix whitespace

* quote all variables in scripts

fixes many warnings identified through shellcheck

* fix whitespace in scripts

* fix whitespace in non-source files

* fix spelling in non-source files

* fix whitespace and indentation in source files

* fix spelling in source files
2021-08-14 13:03:16 +02:00
Dave Davenport
0c3d24136d [Listview] Fix wrong widget name.
Fixes: #1349
2021-07-08 15:55:38 +02:00
Dave Davenport
9d85bcb914 Update copyright header. 2021-06-09 14:50:39 +02:00
Dave Davenport
af8e2865c1 [Theme] Allow theme to set icon independent of show-icons option. 2021-06-09 01:17:16 +02:00
Dave Davenport
1a9dac80a9 Remove some deprecated options.
* lines
 * columns
 * width
2021-06-08 22:33:23 +02:00
rahulaggarwal965
e304dbc883 Added -hover-select option that automatically selects the entry under the cursor (#1234) 2021-04-13 11:45:20 +02:00
Dave Davenport
8ac9890e8b [Listview] Check max_rows on nav_right/left.
Fixes: #1297
2021-04-10 22:26:37 +02:00
Dave Davenport
30735791b4 Run indenter. 2020-08-28 16:41:59 +02:00
Dave Davenport
fc0ea0b22e Update changelog a bit. 2020-07-05 11:41:04 +02:00
Dave Davenport
4821320833 [Listview] Try to fix sizing of barview.
Issue: #1137
2020-06-02 09:17:06 +02:00
Dave Davenport
1342b733af [Script] Add 'info' row option, that gets passed to ROFI_INFO environment. 2020-05-24 19:10:49 +02:00
Dave Davenport
191f49dbea [LISTVIEW] Support more customization in element. 2020-05-13 17:17:15 +02:00
Dave Davenport
f2b6cf6b3c [Widget] Propaget set_state to children. 2020-05-13 16:25:12 +02:00
Dave Davenport
9a3d4b1d2e [Test] Fix compiler warning, theme test (bug in lexer) and more. 2020-04-26 11:43:14 +02:00
Dave Davenport
3e64e4422d [DMenu] Implement -keep-right
Fixes: #1089
2020-04-16 23:31:43 +02:00
Dave Davenport
c6a405e840 Fix hack for height calc. 2020-03-30 00:09:28 +02:00
Dave Davenport
ca067234ff [Textbox|Listview] Fix sizing of textbox.
- don't get height of layout, but calculate height using metrics.
- listview, set string with right number of lines.

Issue: #925, #1069
2020-03-29 16:31:47 +02:00
Dave Davenport
b169289996 Indent all the code. 2020-02-02 13:56:37 +01:00
Dave Davenport
7650ed5d7a [Listview] Small fix when distributing remaining space whith scrollbar. 2020-01-01 15:44:01 +01:00
Dave Davenport
b03edc5cf3 Update copyright dates. 2020-01-01 12:23:12 +01:00
Dave Davenport
f1a90c5d0c [Listview] Add more debug output for debugging. 2019-12-29 21:26:41 +01:00
Dave Davenport
de89be5c95 [Listview] Make str code more explicit. 2019-12-29 21:23:26 +01:00
Dave Davenport
cd4607c77c [Listview] Fix wrong flag set on index 2019-12-29 21:19:31 +01:00